마이크로서비스 작성

CHLEE·2023년 5월 17일
0

DevOps

목록 보기
17/24
post-custom-banner

AWS Lambda

AWS가 제공하는 서버리스 Faas 솔루션으로, 함수의 인스턴스를 실행하여 처리한다

  • 서버를 프로비저닝하거나 관리할 필요 없이 작성한 코드를 백엔드 서비스로서 배포할 수 있게 해준다.

  • Lambda 함수를 실행하려면 애플리케이션 또는 백엔드 서비스의 코드를 작성한 뒤 이벤트 트리거만 정의하면 된다.

  • 이벤트 주도 아키텍처를 구성할 수 있고 이벤트 트리거의 대표적인 예로는 S3 업로드 API 게이트웨이 요청 등이 있다.

  • 높은 가용성을 제공한다.

  • 요청이 있을 때만 작동하는 컴퓨트 서비스이다. (컴퓨팅 유닛의 성능, 요청 수, 실행시간에 따라 과금)

FaaS

Function as a Servicefh 자체 서버 시스템이나 수명이 긴 서버 애플리케이션을 관리하지 않고 백엔드 코드를 실행하는 것으로 런타임에 대한 사전 준비가 필요하지 않다.

API Gateway

API Gateway는 경로와 엔드포인트로 구성되어 정의된 HTTP 서버를 말한다. 각 경로는 해당 경로를 처리하는 리소스와 연결되며, 서버리스 아키텍처에서 이러한 핸들러는 FaaS 기능을 사용한다. 즉 API Gateway는 각 API 요청의 관문 역할을 한다.

역할

  • 인증/인가, 접근 제어
  • URI를 이용한 라우팅 - API 요청 한도 설정, 블루/그린 배포, 헬스 체크 등 가능
  • 트래픽 모니터링

장점

  • API Gateway를 통해 일괄 정책 수립 가능
  • API Gateway 뒤의 백엔드를 추상화해서 관리 가능
  • 아키텍처 복잡도 감소

SAM

AWS에서는 서버리스 애플리케이션을 쉽게 테스트하고 배포할 수 있는 서버리스 애플리케이션 모델(Serverless Application Model)을 제공한다.

  • 한 번에 배포 - Lambda 함수, API Gateway 등의 리소스를 CLI 명령어 한 번으로 배포가 가능하게 만들 수 있다.
  • 로컬에서의 테스트- 꼭 배포하지 않아도 로컬 환경에서 테스트가 가능하다.
  • AWS CloudFormation 기능을 이용한 단일 작업을 통한 리소스(인프라) 관리 (IaC 환경 제공)

설치 - https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/install-sam-cli.html
실습 - https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/serverless-getting-started-hello-world.html

profile
🤗
post-custom-banner

0개의 댓글