오늘도 알차게 즐겁게 ~ !!
자세히보기

IT/SW Dev.

AWS Serverless (Lambda, Api Gateway, DynamoDB, S3, SQS)

부티형 2024. 6. 15. 13:40
728x90
반응형

서버 구축 없이 rest api 개발, 운영 

 

참고)

 

AWS Serverless 기능, 장단점 및 비교

AWS Serverless서버 인프라를 직접 관리하지 않고 애플리케이션을 구축, 실행할 수 있는 클라우드 서비스입니다. AWS에서 자동으로 리소스를 할당, 확장, 관리 하므로 개발자는 코드 작성과 비즈니스 로직에 집중할 수 있습니다.


✅ AWS Serverless 주요 기능

1️⃣ 컴퓨팅 서비스 (AWS Lambda)

  • 서버 없이 이벤트 기반 함수 실행 가능
  • 요청량에 따라 자동 확장 (Auto Scaling)
  • 코드가 실행된 시간만큼만 비용 부과 (Pay-as-you-go)

2️⃣ 데이터베이스 서비스 (Amazon DynamoDB, Aurora Serverless)

  • DynamoDB: 서버리스 NoSQL DB, 자동 확장 지원
  • Aurora Serverless: MySQL/PostgreSQL 호환 가능, 요청에 따라 확장/축소

3️⃣ API 관리 (Amazon API Gateway)

  • RESTful API 및 WebSocket API 를 구축할 수 있음
  • Lambda, DynamoDB, S3 등과 연동 가능
  • 요청 수에 따라 비용 청구 (사용한 만큼만 결제)

4️⃣ 스토리지 (Amazon S3, AWS Fargate)

  • S3: 서버리스 오브젝트 스토리지 (정적 웹사이트 호스팅 가능)
  • Fargate: 서버리스 컨테이너 실행 서비스 (ECS, EKS 지원)

5️⃣ 이벤트 기반 서비스 (Amazon EventBridge, SNS, SQS)

  • EventBridge: AWS 서비스 간 이벤트 처리
  • SNS/SQS: 메시지 큐, 알림 시스템

👍 AWS Serverless 장점

서버 관리 불필요 → 서버 설정, 패치, 유지보수 없이 애플리케이션 실행 가능

자동 확장 (Auto Scaling) → 요청량 증가 시 서버 자동 확장

비용 절감 → 사용한 만큼만 비용 지불 (특히 Lambda는 코드 실행 시간 단위로 청구)

빠른 배포 및 개발 속도 → DevOps 부담 감소, CI/CD 적용 용이

고가용성 및 내구성 → AWS 인프라의 강력한 보안과 안정성 제공


👎 AWS Serverless 단점

콜드 스타트 (Cold Start) → Lambda 같은 서비스는 처음 실행 시 지연 시간이 발생할 수 있음

벤더 락인 (Vendor Lock-in) → AWS에 종속될 가능성이 큼 (멀티 클라우드 적용 어려움)

디버깅 및 모니터링 어려움 → 서버 없는 환경에서는 로그 분석 및 트러블슈팅이 복잡함

복잡한 설정 → IAM 권한, API Gateway 설정 등이 복잡할 수 있음


🔄 AWS Serverless vs. 유사 서비스 비교

기능 AWS Serverless Google Cloud Functions Azure Functions

기능 AWS Serverless  Google Cloud Functions  Azure Functions
컴퓨팅 서비스 AWS Lambda Cloud Functions Azure Functions
데이터베이스 DynamoDB, Aurora Serverless Firestore, BigQuery Cosmos DB
API 관리 API Gateway Cloud Endpoints API Management
스토리지 S3 Cloud Storage Azure Blob Storage
자동 확장 ✅ 지원 ✅ 지원 ✅ 지원
콜드 스타트 문제 있음 (최적화 필요) 있음 있음 (Premium Plan 해결 가능)
비용 효율성 사용량 기반 과금 사용량 기반 과금 사용량 기반 과금
멀티 클라우드 호환성 낮음 (AWS 종속) 낮음 (Google 종속) 낮음 (Azure 종속)

📌 결론

AWS Serverless는 서버 관리 없이 애플리케이션을 개발하고 확장할 수 있는 강력한 솔루션입니다.
비용 절감 및 자동 확장 기능이 뛰어나지만, 벤더 락인과 디버깅 난이도가 단점입니다.
Google Cloud Functions, Azure Functions와 비교하여 AWS는 가장 강력한 생태계를 제공하지만, 특정 프로젝트 환경에 따라 적절한 선택이 필요합니다.

🔥 서버리스 환경을 고려하는 개발자라면 AWS Serverless는 필수적으로 검토해야 할 솔루션! 🚀

 

1. 로컬에서 lambda 개발(python, java 등)

https://aws.amazon.com/ko/lambda/

 

클라우드 컴퓨팅 PaaS | Amazon Web Services

AWS Lambda를 사용하여 1만 8,000개 이상의 vCPU로 즉시 스케일 아웃하여 리소스 집약적이고 예측할 수 없는 수요를 충족하세요. 기타 서버리스 제품 및 서비스와 이벤트 트리거 모음을 사용하여 처리

aws.amazon.com

 

2. Serverless f/w 으로 aws 에 배포

 - lambda, api gateway, stack 등 resource 생성 및 삭제 , 관리

https://www.serverless.com/

 

Serverless: Zero-Friction Serverless Apps On AWS Lambda & Beyond.

Easily build auto-scaling, low-overhead applications on AWS Lambda, API Gateway, DynamoDB, and other managed services with the Serverless Framework.

www.serverless.com

 

 

 

 

728x90
반응형