apigw 무중단 작업 방법에 대한 고민도 있는데 같이하면 좋겠군요
AWS에서 정의된 API Gateway
"Amazon API Gateway는 어떤 규모에서든 개발자가 API를 손쉽게 생성, 게시, 유지 관리, 모니터링 및 보안 유지할 수 있도록 하는 완전관리형 서비스입니다. API는 애플리케이션이 백엔드 서비스의 데이터, 비즈니스 로직 또는 기능에 액세스할 수 있는 "정문" 역할을 합니다. API Gateway를 사용하면 실시간 양방향 통신 애플리케이션이 가능하도록 하는 RESTful API 및 WebSocket API를 작성할 수 있습니다. API Gateway는 컨테이너식 서버리스 워크로드 및 웹 애플리케이션을 지원합니다.
API Gateway는 트래픽 관리, CORS 지원, 권한 부여 및 액세스 제어, 제한, 모니터링 및 API 버전 관리 등 최대 수십만 개의 동시 API 호출을 수신 및 처리하는 데 관계된 모든 작업을 처리합니다."
여러 백엔드 서비스를 호출하고 결과를 집계할 수 있음
고객은 각 개별 서비스에 대한 요청을 보내야 하는 대신 API 게이트웨이로 보내 거기에서 해당 요청을 관련 서비스로 전달할 수 있음
고객이 각 마이크로서비스에 대한 액세스를 개별적으로 요청하는 대신 게이트웨이는 요청에 대한 단일 진입 점으로, 해당 요청을 적절한 서비스에 지불하고 결과를 수집하여 요청자에게 다시 전달합니다. => API 게이트웨이를 사용하는 주된 이유인 이 기능 (=개발자의 라우팅)
기존 인프라의 리버스 프록시(로드밸런싱에 사용)와 비슷한 역할의 기술
what is 리버스 프록시?
- 유명한 웹 사이트는 하루에도 수백만명이 방문
- 그리고 그러한 대량의 트래픽을 하나의 싱글 서버로 감당해 내기란 어려움
- 하지만 리버스 프록시 서버를 여러개의 서버 앞에 두면 특정 서버가 과부화 되지 않게 로드밸런싱이 가능
- 또한, 리버스 프록시 서버에는 성능 향상을 위해 캐시 데이터를 저장할 수 있음
- 만약 어떤 한국에 있는 유저가 미국에 웹서버를 두고 있는 사이트에 접속할때, 리버스 프록시 서버가 한국에 있다고 가정 => 그러면 한국에 있는 유저는 한국에 있는 리버스 프록시 서버와 통신 => 따라서 리버스 프록시 서버에 캐싱되어 있는 데이터를 사용할 경우에는 더 빠른 성능을 보여줄수 있음
예를 들어, API 게이트웨이는 회사가 Uber와 같은 모바일 애플리케이션 및 Google 맵과 같은 백엔드 애플리케이션의 호출로 생성된 트래픽을 관리하는 데 도움이 됩니다.
Endpoint를 단일화하고 관리를 맡김으로써 사용자는 핵심 비즈니스 구현에 집중할 수 있도록 도와주는 역할을 하고, 다른 컴퓨팅 서비스들과 유연하게 연동할 수 있음
프로비저닝 : 사용자의 요구에 맞게 시스템 자원을 할당, 배치, 배포해 두었다가 필요 시 시스템을 즉시 사용할 수 있는 상태로 미리 준비해 두는 것을 말함
<참고링크>