1) 기존 Architecture (3Tier)
외부 Client에 의해서 request가 들어오면, 외부 ELB를 통해서 EC2서버로 로드밸런싱되고,(web 레이어단)
또 내부ELB를 통해서 또 다른 EC2서버로 로드밸런싱됨(app 레이어단)
그리고 데이터베이스에 접근해서 비즈니스 로직을처리하는 방식
그래서 클라이언트 역할 : request를 전송
서버역할 : 클라이언트의 요청을 처리하고, 데이터를 전송
그래서 클라이언트와 서버가 request와 response 데이터를 주고 받는 구조
2) 서버리스 Architecture
서버리스는 서버가 존재하지 않음, 즉 EC2가 없음
그리고 트래픽의 분산처리를 해주는 ELB가 없음
대신 EC2 서버의 역할을 Lambda 가 대신하고 ,
그리고 requset와 response를 주고받으며 분산처리를 해주는 역할을 api gateway 가 함.
3) 서버리스 Architecture 동작방식
1. Client의 이벤트발생
2. 이벤트의 엔드포인트인 API Gateway로 request 들어옴
3. API Gateway는 REST API 구현되어 있음 (Request를 어떻게 보낼지 get/post 메소드 구현)
4. 해당 메소드에 따라서 request를 람다로 전달 --> 즉, 람다의 트리거 발생
5. 람다는 api gateway를 트리거로 가지고 있음, 람다 핸들러 실행
람다에서 데이터를 받고, 데이터를 가공(Response를 어떻게 보낼지 lambda function 구현)
6. 람다가 가공한 데이터 Response를 API Gateway로 보냄
7. API Gateway가 받은 response를 다시 클라이언트한테 전달
참고
https://aws.amazon.com/ko/blogs/korea/serverless-architecture-by-korean-developers/
'🌴 DevOps > Architecture' 카테고리의 다른 글
Serverless아키텍쳐 구성5 - 챗봇 애플리케이션구축 (0) | 2020.03.26 |
---|---|
Serverless아키텍쳐 구성4 - Lambda(람다) 특징 및 한계 (0) | 2020.03.25 |
Serverless아키텍쳐 구성3 - Lambda(람다)& API Gateway (0) | 2020.03.24 |
Serverless아키텍쳐 구성1 - 서버리스 배경(Iaas/Paas/Saas/Faas) (0) | 2020.03.22 |
3tier아키텍쳐 구성9 - 전체 요약 및 총정리 (0) | 2020.02.24 |
3tier아키텍쳐 구성8 - 미들웨어 구성 및 테스트(4.WAS-DB연동) (1) | 2020.02.16 |