사진찍는 개발자📸👩‍💻

[SAA] Serverless Architectures 본문

develop/AWS

[SAA] Serverless Architectures

hsleeee 2024. 6. 19. 17:35
반응형
SMALL

1. Mobile Application - MyTodoList

 

2. Serverless Application - MyBlog.com

 

3. Micro Services Architecture

  • 마이크로 서비스 아키텍처로 전환
  • 많은 서비스가 REST API를 통하여 직접적으로 상호작용
  • 마이크로서비스의 아키텍처는 모습과 형태가 달라 원하는 대로 할 수있고,서비스의 개발 수명주기를 줄이고자 마이크로 서비스 아키텍처를 사용한다. 각 서비스가 독립적으로 확장하며 코드 리포지토리를 갖추기를 원한다면 마이크로 서비스 아키텍처를 사용하면 된다.
  • Discussions on Micro Services
    • 각 마이크로 서비스를 원하는 대로 설계할 수 있음
    • 동기적 패턴(Synchronous patterns): API Gateway, Load Balancer
    • 비동기적 패턴(Asynchronous patterns): SQS, Kinesis, SNS, Lambda Trigger(S3)
      • ex) SQS에 메시지를 남기지만 응답을 언제 받을 지 내용이 무엇인지 무슨 일이 일어날지 개의치 않음 (비동기 패턴)
    • 마이크로 서비스의 문제
      • 새로운 마이크로 서비스를 생성할 때 마다 오버헤드 발생
      • 서버 밀도/사용률 최적화에 대한 문제
      • 동시에 여러 버전의 여러 마이크로 서비스를 실행하는 복잡성
      • 여러 개별 서비스와의 통합을 위한 클라이언트 측 코드 요구 사항의 증가
    • 일부 도전 문제는 서버리스 패턴을 통해 해결할 수 있음
      • API Gateway,Lambda는 자동으로 확장되며 사용량에 따라 비용이 청구 -> 서버 사용률 걱정 X
      • API Gateway에서 API를 쉽게 복제하고 환경을 재생성할 수 있음
      • API Gateway를 위한 Swagger 통합으로 클라이언트 SDK 생성 가능

4. Software updates offloading

  • EC2에서 작동하는 애플리케이션이 있고 종종 소프트웨어 업데이트를 배포한다.
  • 소프트웨어가 새로 업데이트 되면 요청을 많이 받게 되고, 콘텐츠는 네트워킹을 통해 다수에게 배포 되는데 이는 비용이 많이 발생한다.
  • 애플리케이션을 전세계로 확장하고 CPU사용량을 줄이며 비용을 절감하는 방법
    • CloudFront를 상위에 두면 된다, 기존 아키텍처에는 변화 X
    • 엣지에서 소프트웨어 파일이 캐시에 저장되기 때문에 업데이트 파일은 변하지 않는다.(정적이기 때문에 절대 바뀌지 않음)
    • EC2 인스턴스는 서버리스가 아니지만 CloudFront는 서버리스이기 때문에 확장
    • ASG가 많이 확장하지 않아 EC2, 네트워크, EFS 비용을 크게 절감 가능
    • 엣지에서 캐싱을 활용하는 정적 콘텐츠가 대부분인 경우 CloudFront가 기존 애플리케이션의 확장성을 높이고 비용을 절감하는 데 용이
반응형
LIST

'develop > AWS' 카테고리의 다른 글

[SAA] Data & Analytics  (0) 2024.06.21
[SAA] Databases  (0) 2024.06.20
[SAA] Serverless  (0) 2024.06.18
[SAA] Container: ECS, Fargate, ECR, EKS  (0) 2024.06.17
[SAA] Advanced Storage on AWS  (1) 2024.05.31