[기초과정] [실습] AWS 서버리스로 서버 없이 간단한 웹 애플리케이션 만들기
물리 머신
가상 머신
컨테이너화
서버리스화 - 하드웨어, 소프트웨어에 대한 패치, 물리적 장애에 대해 AWS가 관리
1
서버 관리 필요 없음 - AWS에서 관리해줌
사용한 만큼만 지불
요청에 맞게 스케일링됨
높은 보안 수준
2
사례?
코카콜라
coca-cola Freestyle 자판기
AWS 서버리스를 사용,
새로운 스마트폰 앱을 만듦
애플리케이션 개발에 집중
람다
S3
다이나모 디비
API Gateway
1
람다를 사용하면 불필요한 서버 관리가 없다. OS 패치 등 AWS가 한다.
자동확장 , 트래픽 늘어도 자동 증가함.
고가용성과 보안
사용한 만큼만 지불한다. - 코드가 실행되지 않을 때는 비용이 발생하지 않는다.
개발자는 코드 작성에만 집중
2
람다 함수는 다양한 개발언어를 지원한다.
노드. js , 파이썬, 자바, C# , GO 등
3
구성?
이벤트 소스 ------------ 람다
4
이벤트 소스?
S3의 파일 업로드 등 데이터 상태 변화
APIGW 등 엔드포인트 요청으로 실행
EC2 다운 등 리소스 상태 변화
5
람다 사용 사례?
web apps - 스테틱 웹사이트 등
backends - app & services
data processing
chatbots
amazon alexa
it automation
1
API 기반 아키텍처에 관문 역할을 한다.
API Gateway ----- 람다 연결을 많이 사용한다.
2
다양한 API유형 지원?
Restul : HTTP APIs , REST APIs
HTTP APIs - Jason 웹 토큰을 사용하여 API에 대한 클라이언트 제한 가능,
REST APIs = 일부만 새로운 버전으로 배포 가능한 카나리 배포 사용 가능
웹소켓 APIs 지원 - 양방향으로 통신이 필요시 사용
1
SQL?
모델링을 할 때 데이터 중복성과 종속성을 제거하는데 이를 정규화 과정이라고 한다.
그 결과로 다수의 테이블들이 만들어진다.
각 테이블에 입력된 데이터는 사용자가 원하는 데이터 추출을 위해 조인되어 보인다.
2
NOSQL?
SQL과 달리 정규화 과정이 없고, 액세스 패턴에 따라 스키마가 달라진다.
정해진 스키마가 없고, 테이블 간의 관계도 정의하지 않는다.
데이터를 분산 저장해 처리할 수 있다.
3
읽기 전용인 Select 쿼리는 복제본을 통해 부하 분산이 가능하다.
인서트, 업데이트 , 딜리트는 마스터에서 처리한다.
SQL 은 수직적 확장 , 서버 용량을 증가시킨다.
NOSQL은 수평적 확장을 한다. 수평으로 확장 가능하도록 데이터가 설계되어 있어야 한다. 데이터 설계의 중요성!
4
특징?
규모에 상관없이 빠르고 유연한 완전 관리형 NOSQL 데이터 베이스
서버리스 - 사용자가 패치 등 할 필요 없다.
높은 성능 - 초당 수백만의 요청 처리 , 수 밀리세컨드의 지연으로 빠르게 응답 가능 , 글로벌 테이블 기능 사용하면 글로벌 가능
보안 - 전송 중 및 저장 시 암호화가 가능하다. IAM을 통해 세부적인 액세스 제어
aws-builders-kr (workshops.aws)
1.Hello world 람다 생성
2.웹페이지 람다 생성 – Enable function URL , Auth type : NONE
3.Api 서비스 람다 생성
4.다이나모 디비 생성-name
5.Api gateway생성
6.람다와 연결
7.삭제
다음 과정
https://brunch.co.kr/@topasvga/2684
https://brunch.co.kr/@topasvga/2678
감사합니다.