*본 포스팅은 24년 1월 18일 열린 AWS Builder Online Conference 내용을 개인적인 학습을 목적으로 정리한 내용입니다. 사실과 다르거나, 생략된 내용이 있을 수 있으므로 자세한 내용은 AWS Builder녹화영상(https://builders-apj.virtual.awsevents.com/?lang=ko 을 참고해주세요. 녹화영상은 컨퍼런스 종료 이후 한달 간 제공됩니다.
또한 본 포스팅에 사용된 이미지는 컨퍼런스 영상에서 캡쳐한 내용으로, 모든 저작권은 AWS에 있습니다.
목차
서버리스 개념
먼저, 컴퓨팅 운영 모델이 어떻게 변해왔는가?
최초에는 물리머신에서 워크로드를 운영(소프트 웨어를 보유한 서버에 직접 설치)
-> 서버를 구매/배송 하는데 시간이 오래 걸리고 운영하는데에도 시간이 오래걸림
+ 트래픽에 즉각대응이 어려움.
EC2와 같은 클라우드/가상머신을 통해 운영함.
하드웨어를 직접 관리하지 않고 인스턴스를 확장/축소하는 스케일링이 가능
서비스를 컨테이너화 시켜 결합도를 낮추고 컴퓨팅 환경에 대한 종속성을 낮출 수 있음.
쉽고 빠르게 배포할 수 있으며, 인프라 구성시 운영체제 업데이트 또는 패치를 적용해야함
서버리스
서버관리 / 패치 / 스케일링 / 가용성을 고민하지 않고 코드작성에만 시간을 몰두할 수 있도록 도와줌
인프라 운영작업을 AWS에 맡길 수 있음.
규모의 경제를 통해 절감된 비용과 높은 안정성을 제공함.
서버리스를 써야하는 이유?
1.관리 편의성: 인프라 관리작업을 하지 않아도 됨. 그만큼 코드 작업에 집중 할 수 있음
2.수요에 따라 자동으로 확장/축소
3.종량제 결제방식 : 사용한 만큼만 지불. 리소스 최적화 및 오버프로비저닝 발생 X
4,내장된 안정성과 내결함성 활용 : AWS가 관리해줌.
이러한 특징들은 빠른 민첩성과 혁신이 필수적인 스타트업에서 매우 중요하다!
서버리스 서비스
컴퓨팅 서비스만 있는것이 아니라 다양한 서버리스 서비스를 제공하고 있다.
목표 아키텍처
위의 서비스는 모두 서버리스 서비스.
AWS Amplify : html/css/JS등 정적 웹 리소스를 호스팅
API Gateway : 백엔드의 데이터, 비즈니스 로직,또는 기능에 액세스 할 수 있는 관문역할을 수행
AWS Lambda : 서버리스 컴퓨팅 서비스
Amazon DynamoDB : NoSQL 데이터 서비스 => 데이터 저장
주요 AWS 서버리스 서비스 소개
AWS Amplify
인증/데이터/스토리지 및 기타 기능이 포함된 웹, iOs, AOS앱용 백엔드를 몇분안에 생성 rksmd능
설계/코드에 이르는 Figma통합으로 FE구축 가능
간편하게 UI를 백엔드에 연결하고 CDN에 호스팅 할 수 있다.
즉, 앱을 호스팅/ UI개발 / 백엔드 API연동 / AWS서비스를 연동할 수 있다.
AWS Amplify
완전관리형 CI/CI 호스팅 서비스.
React, Angular, Vue등의 프레임워크도 지원함.
Repo와 연결 -> 커밋 하면 자동으로 앱이 배포.
AWS Lambda
서버를 프로비저닝하거나 관리하지 않고도 코드를 실행할 수 있음.
이벤트 소스가 발생한 경우(아래의 조건) 지원하는 언어의 함수가 실행되고,
데이터저장 / 서비스를 호출하거나/ 기타 백엔드 작업을 수행하게 된다.
람다의 사용 사례는 아래와 같다.
기계학습 / 웹앱/ 백엔드/ 데이터처리/ 챗봇 등 다양한 사용 사례가 있다.
Amazon API Gateway
개발자가 APi를 손쉽게 생성하고 게시, 유지관리, 모니터링할 수 있는 완전관리형 서비스.(API서비스)
API는 애플리케이션에서 BE의 서비스, 데이터, 비즈니스 로직, 기능에 액세스할 수 있는 정문역할을 함.
람다호출을 하거나, EC2 엔드포인트, 연결, 외부 APi호출, AWS서비스 연결 등 다양한 기능을 지원한다.
기타 관리작업도 APi GateWay가 처리함.
요청/응답 기반의 Restful API, 양방향 통신 WebSocket도 지원한다.
RESTful은 REST / HTTP 프로토콜 모두 지원한다.
HTTP는 가벼워 비용절감,
REST API는 다양한 기능을 제공한다.
WebSocket은 양방향이 가능. 채팅, 협업, 금융거래 플랫폼과 같은 실시간 애플리케이션 구축 가능.
Amazon DynamoDB
NoSQL(비관계형)기반 DB서비스
최종 아키텍처
'Back-End > Cloud' 카테고리의 다른 글
[기록] AWS Builder (24.1.18) 정리(4) : Amazon RDS 구성하기 (0) | 2024.01.18 |
---|---|
[기록] AWS Builder (24.1.18) 정리(3) : EC2로 첫 워크로드 시작하기 (0) | 2024.01.18 |
[기록] AWS Builder (24.1.18) 정리(2) : Amazon VPC와 온프레미스 네트워크 연결하기 (0) | 2024.01.18 |
[기록] AWS Builder (24.1.18) 정리(1) : AWS 신(新)서비스 소개 (0) | 2024.01.18 |