1. API Gateway 패턴

API Gateway 를 각 서비스의 앞단에 두어 각각의 EndPoint 로 연결된 모습

API Gateway 를 각 서비스의 앞단에 두어 각각의 EndPoint 로 연결된 모습

패턴 생성 배경 및 기존의 문제점

클라우드 기반 애플리케이션의 공통된 관심사인 보안,캐싱, 모니터링, 로깅 등을 Cross-Cutting-Concern 이라고 하는데 각 비즈니스 마다 이런 부분을 모두 한 데 작성을 한다고 생각 해보자, 인증, 로깅, 보안, 에러 처리, 비즈니스 로직이 한데 엉켜 서비스의 안정성과 유효성이 떨어질 것이다.

문제점 해결을 위한 AWS Service

AWS API Gateway

AWS API Gateway

위 같은 문제점 때문에 AWS 에서는 API Gateway 서비스를 이용해 서비스의 안정성과 관리를 수월 하게 해준다.

  1. 로직 분리: API Gateway를 비즈니스 앞단에 레이어를 둠으로써 비즈니스 로직과 분리함으로써 코드의 재사용과 유지 보수성을 높인다.
  2. CORS 설정 : 다른 도메인에서의 요청을 관리하고 보안을 유지 하게 해준다.
  3. 캐싱 설정 : 요청 결과를 캐싱 하여 응답 시간을 단축하고 네트워크 부하를 줄인다.
  4. API 스테이지 관리 : 다양한 환경( 개발, 테스트, 프로덕션 ) 에 대한 API 버전을 호스팅 할 수 있다.
  5. 로깅 : AWS Cloud Watch 와 통합되어 요청을 모니터링 하고 문제를 식별할 수있다.

패턴의 사용함으로써 얻는 효과 및 성과

앞서 말했듯이 비즈니스 로직과 분리함으로 써 코드의 안정성과 유지 보수성을 높이고 , 캐싱, CORS 설정 등 네트워크 부하, 보안을 위한 설정 들을 분리할 수있어서 서비스의 관리와 질을 높인다.

2. Backend For Frontends 패턴

모바일에 Push Notification 을 위한 독립된 백엔드 서비스 예시

모바일에 Push Notification 을 위한 독립된 백엔드 서비스 예시