brunch

You can make anything
by writing

C.S.Lewis

by Master Seo Sep 01. 2022

16탄-3. AWS 서버리스로 서버 없이 간단한 웹

[기초과정] [실습] AWS 서버리스로 서버 없이 간단한 웹 애플리케이션 만들기



<1> 패러다임 변화

<2> 서버리스란?

<3> 다양한 서버리스 서비스  제공 중

<4> 람다

<5> API Gateway 

<6>  다이나모 디비

<7> Web application with Serverless  실습- Workshop




<1> 패러다임 변화


물리 머신

가상 머신

컨테이너화

서버리스화 - 하드웨어, 소프트웨어에 대한 패치, 물리적 장애에 대해 AWS가 관리



<2> 서버리스란?


1

서버 관리 필요 없음 - AWS에서 관리해줌

사용한 만큼만 지불

요청에 맞게 스케일링됨

높은 보안 수준



2

사례?

코카콜라

coca-cola Freestyle  자판기

AWS 서버리스를 사용,

새로운 스마트폰 앱을 만듦

애플리케이션 개발에 집중




<3>  다양한 서버리스 서비스  제공 중


람다

S3

다이나모 디비

 API Gateway




<4> 람다


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




<5> API Gateway 


1

API 기반 아키텍처에 관문 역할을 한다.

API Gateway -----  람다 연결을 많이 사용한다.


2

다양한 API유형 지원?

Restul :   HTTP APIs , REST APIs


HTTP APIs - Jason  웹 토큰을 사용하여  API에 대한 클라이언트 제한 가능,

REST APIs = 일부만 새로운 버전으로 배포 가능한  카나리 배포 사용 가능

웹소켓  APIs 지원 -  양방향으로 통신이 필요시 사용




<6>  다이나모 디비


1

SQL?

모델링을 할 때  데이터 중복성과 종속성을 제거하는데 이를 정규화 과정이라고 한다.

그 결과로 다수의 테이블들이 만들어진다.

각 테이블에 입력된 데이터는 사용자가 원하는 데이터 추출을 위해  조인되어 보인다.



2

NOSQL?

SQL과 달리 정규화 과정이 없고, 액세스 패턴에 따라 스키마가 달라진다.

정해진 스키마가 없고, 테이블 간의 관계도 정의하지 않는다.

데이터를 분산 저장해 처리할 수 있다.



3

읽기 전용인 Select 쿼리는 복제본을 통해 부하 분산이 가능하다.

인서트, 업데이트 , 딜리트는  마스터에서 처리한다.

SQL 은 수직적 확장 , 서버 용량을 증가시킨다.

NOSQL은 수평적 확장을 한다. 수평으로 확장 가능하도록 데이터가 설계되어 있어야 한다. 데이터 설계의 중요성!



4

특징?

규모에 상관없이 빠르고 유연한 완전 관리형 NOSQL  데이터 베이스


서버리스 - 사용자가 패치 등 할 필요 없다. 

높은 성능 - 초당 수백만의 요청 처리 , 수 밀리세컨드의 지연으로 빠르게 응답 가능 , 글로벌 테이블 기능 사용하면 글로벌 가능

보안 - 전송 중 및 저장 시 암호화가 가능하다.   IAM을 통해 세부적인 액세스 제어





<7> Web application with Serverless  실습- Workshop


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



감사합니다.



브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari