🚀 AWS 서버리스 컴퓨팅
서버리스 컴퓨팅은 서버가 없다는 뜻이 아닙니다. AWS가 물리 서버와 서버 관련 인프라를 관리하므로 사용자가 서버를 직접 관리할 필요가 없다는 의미입니다. 이를 통해 개발자는 비즈니스 로직에만 집중할 수 있습니다.
📌 주요 서버리스 서비스
1. AWS Lambda
- 개념: 이벤트 기반의 서버리스 컴퓨팅 서비스
- 특징:
- 모든 종류의 애플리케이션 코드 실행 가능
- 사용자는 원하는 코드를 작성하고 실행 가능
- 비유: 레고 블록처럼 필요한 기능을 조립하여 사용
2. AWS Fargate
- 개념: 서버리스 컨테이너 실행 플랫폼
- 특징:
- 컨테이너를 실행하지만 서버 관리 불필요
- ECS나 EKS와 함께 사용
- 비유: 택배 서비스처럼 컨테이너를 원하는 곳에 배달
3. AWS AppSync
- 개념: 클라우드 애플리케이션과 데이터 간 통신을 간소화하는 서비스
- 특징:
- GraphQL을 사용하여 한 번의 요청으로 여러 데이터 소스에서 정보 획득
- 실시간 데이터 동기화 지원
- 비유: 도서관 사서처럼 여러 책장에서 필요한 정보만 빠르게 가져옴
💡 서버리스의 장점
- 비용 최적화: 사용한 만큼만 지불
- 자동 확장: 트래픽에 따라 자동으로 리소스 조정
- 관리 부담 감소: 서버 유지보수에 신경 쓸 필요 없음
- 빠른 개발: 인프라 구성 없이 빠르게 애플리케이션 개발 가능
🌟 실제 사용 사례
- Coca-Cola: Lambda를 사용하여 100일 만에 비접촉식 음료수 자판기용 모바일 앱 개발
- Liberty Mutual: 서버리스 전략으로 비용 절감 및 출시 시간 단축
- Taco Bell: 서버리스로 빠르게 배달 서비스로 전환, 팬데믹 대응
🛠 서버리스 아키텍처 구성 요소
- 컴퓨팅: Lambda, Fargate
- 스토리지: S3, DynamoDB
- API 관리: API Gateway, AppSync
- 통합: EventBridge, SQS, SNS
특성 | SNS (Simple Notification Service) | SQS (Simple Queue Service) |
---|
목적 | 여러 서비스에 메시지를 전달 | 특정 작업을 다음 서비스로 전달 |
모델 | Pub/Sub (발행/구독) 모델 | 메시지 큐 모델 |
메시지 처리 | 여러 구독자가 동시에 처리 가능 | 단일 소비자가 처리 |
사용 사례 | 실시간 알림, 이벤트 기반 아키텍처 | 작업 큐, 비동기 처리 |
메시지 보존 | 즉시 전달, 보존하지 않음 | 최대 14일간 보존 가능 |
확장성 | 대규모 메시지 및 알림 처리에 적합 | 사용량에 따라 유연하게 확장 가능 |
통합 | 이메일, SMS, HTTP, Lambda 등 | 주로 애플리케이션 간 통합 |
내구성 | 메시지 전달 보장, 재시도 기능 | 높은 내구성, 메시지 손실 방지 |
온프레미스와 AWS Outposts: 기업 IT 인프라의 두 가지 접근법
온프레미스 (On-Premises)
온프레미스는 기업이 자체적으로 IT 인프라를 소유하고 관리하는 전통적인 방식입니다.
비유: 자가 주택
- 온프레미스는 자신의 집을 소유하고 관리하는 것과 같습니다.
- 모든 것을 직접 관리하고 통제할 수 있지만, 유지보수와 관리에 많은 비용을 필요로 합니다.
공부한줄평
- 온프레미스와 AWS Outposts의 개념을 이해하기 좀 까다로웠으나 비유를 통해서 최대한 쉽게 이해하려 노력했다.
- 모든 회사들이 서버를 보유하지 않기에 실제 사례를 조금 더 찾아보면서 이해해보려 한다.