서버 구축 없이 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 생성 및 삭제 , 관리
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
'IT > SW Dev.' 카테고리의 다른 글
StarUML 과 비슷한 UML 툴들 비교 해봤어요 (0) | 2024.06.16 |
---|---|
VS Code 주요기능 및 유사툴(ATOM 등)과 비교 (0) | 2024.06.15 |
IntelliJ 주요기능 및 라이센스 정책 (0) | 2024.06.15 |
Pycharm 주요기능 및 유사툴(VS Code, Spyder 등)과 비교 (0) | 2024.06.15 |
Testflight - ios 베타 테스트 플랫폼 (0) | 2024.06.15 |