서버리스 앱을 만드는 이유

서버리스 앱을 만드는 방법을 배우는 것이 왜 가치 있는지 알아보는 것이 중요합니다. 서버리스 앱이 전통적인 서버 호스팅 앱보다 선호되는 몇 가지 이유가 있습니다:

  1. 유지보수가 적음
  2. 비용이 저렴함
  3. 확장이 쉬움

가장 큰 장점은 여러분이 코드만 신경 쓰면 되고 그 외에는 아무것도 신경 쓸 필요가 없다는 것입니다. 유지보수가 적은 이유는 관리할 서버가 없기 때문입니다. 서버가 제대로 실행되고 있는지, 적절한 보안 업데이트가 적용되었는지 확인할 필요가 없습니다. 여러분은 오직 애플리케이션 코드만 다루면 됩니다.

서버리스 애플리케이션을 실행하는 것이 더 저렴한 주된 이유는 요청당 비용만 지불하면 되기 때문입니다. 따라서 애플리케이션이 사용되지 않을 때는 비용이 발생하지 않습니다. 메모 애플리케이션을 실행하는 데 드는 비용을 간단히 살펴보겠습니다. 하루에 1000명의 활성 사용자가 API에 20번 요청을 보내고, S3에 약 10MB의 파일을 저장한다고 가정하겠습니다. 다음은 비용을 대략적으로 계산한 표입니다.

서비스 요금 비용
Cognito 무료[1] $0.00
API Gateway $3.5/백만 요청 + $0.09/GB 전송 $2.20
Lambda 무료[2] $0.00
DynamoDB $0.0065/시간 10 쓰기 단위, $0.0065/시간 50 읽기 단위[3] $2.80
S3 $0.023/GB 저장, $0.005/천 PUT, $0.004/만 GET, $0.0025/백만 객체[4] $0.24
CloudFront $0.085/GB 전송 + $0.01/만 요청 $0.86
Route53 $0.50 호스팅 존당 + $0.40/백만 쿼리 $0.50
Certificate Manager 무료 $0.00
총계   $6.10

[1] Cognito는 5만 MAU 미만일 경우 무료이며, 이후 $0.00550/MAU입니다.
[2] Lambda는 100만 요청과 40만 GB-초의 컴퓨팅까지 무료입니다.
[3] DynamoDB는 25GB의 무료 저장 공간을 제공합니다.
[4] S3는 1GB의 무료 전송을 제공합니다.

이렇게 계산하면 월 $6.10이 나옵니다. 추가로 .com 도메인은 연간 $12가 들기 때문에 가장 큰 초기 비용이 됩니다. 하지만 이는 매우 대략적인 추정치라는 점을 명심하세요. 실제 사용 패턴은 매우 다를 수 있습니다. 그러나 이 요금은 서버리스 애플리케이션을 실행하는 비용이 어떻게 계산되는지 감을 잡는 데 도움이 될 것입니다.

마지막으로, 확장이 쉬운 이유는 부분적으로 DynamoDB가 거의 무한한 확장성을 제공하고, Lambda가 수요에 맞춰 자동으로 확장되기 때문입니다. 그리고 물론 프론트엔드는 CloudFront 덕분에 항상 즉각적으로 응답할 수 있는 간단한 정적 싱글 페이지 앱입니다.

좋습니다! 이제 서버리스 앱을 만들어야 하는 이유를 이해했으니, 시작해 봅시다.