💫 Facts
✅ EC2로 구성된 기존 아키텍처의 문제점 이해
✅ 서버리스에 대한 개념 이해
✅ Lambda와 (+ VPC + SecretsManager + RDS) 연동해서 인프라 구성
💫 Findings
✔️ Cloud란
물리적인 컴퓨터를 사용하지 않아도, <인터넷>을 통해 <컴퓨터의 리소스>를 사용하는 것
✔️ EC2로 구성된 기존 아키텍처의 문제점
EC2 만으로 백엔드 인프라를 구성해도 관계가 없지만 좀 더 유연한 인프라를 구성하는 데는 분명히 한계가 있다.
왜냐하면, EC2 인스턴스로 백엔드를 구성하면 EC2를 직접 관리해 줘야 한다.
만약 운영하고 있는 서비스에 갑자기 트래픽이 몰린다면? 🤯
EC2를 추가해서 부하를 분산 시켜 줘야한다. 운영 중인 서비스에서는 대응이 힘들 것이다. 😭
확장의 유연성을 위해 어떻게 하면 좋을까? → Serverless
✔️ 서버리스에 대한 개념
Serverless란 클라우드를 사용하여 서버를 빌려쓰는 것이다.
클라우드가 서버를 관리해준다.
백엔드 서버리스는 누가 제공해줄까? → Lambda
✔️ Lambda
Lambda는 백엔드를 서버리스(Serverless)로 운영할 수 있는 서비스다.
Lambda는 Function 단위로 사용한다.
레거시(= 기존 시스템)와 비교한다면, 기존의 개발/배포 방식은 프레임워크에 의존하여 작업을 하고, 모든 기능을 포함하고 있는 전체를 배포하는 과정이었다.
Lambda는 기본적으로 함수 단위로 배포한다.
Lambda도 단점이 있다.
리소스 제한이 있고 오랫만에 실행하게 되면 딜레이가 발생한다.
💫 Feelings
- 클라우드가 서버 역할을 해주는 것은 매우 편리하다.
서버리스 백엔드를 작업하기 위해, lambda를 사용했다.
EC2를 직접 관리할 필요가 없고, 확장의 유연성이 너무 좋다. 👍🏻 - 왜 사람들이 MSA를 외치는지 알게 되었다.
MSA는 가장 간단하게는 프론트, 백엔드를 물리적으로 다른 서버에 배치하는 방법이다.
프론트, 백엔드를 분리함으로 배포를 독립적으로 할 수 있고,
특정 기능이 장애가 나도, 다른 기능에 영향을 주지 않는다. 👍🏻
'Project > TIL, WIL' 카테고리의 다른 글
TIL(31) 21-11-01 : SAM 프레임워크로 서버리스 배포하기 (0) | 2021.11.01 |
---|---|
TIL(30) 21-10-29 : 서버리스 백엔드로 게시판 API 만들기 (0) | 2021.10.29 |
TIL(28) 21-10-27 : 서버리스 프론트엔드 (0) | 2021.10.28 |
TIL(27) 21-10-25 : Brute Force, DP, Greedy (0) | 2021.10.28 |
TIL(26) 21-10-22 : 탐색(힙, 그래프, DFS, BFS) (0) | 2021.10.23 |