반응형

AWS Lambda!


서버리스 아키텍트(Serverless Architect)

 

서버리스(Serverless)
개발자가 서버를 직접 관리할 필요 없이 애플리케이션을 빌드하고 실행할 수 있도록 하는 클라우드 네이티브 개발 모델
문자 그대로 서버가 진짜 없는 것이 아니라 추상화된 것

 

서버리스 서비스의 경우 클라우드 서비스를 제공하는 기업에서 서버를 관리하기 때문에 사용자는 스케일링 등의 관리를 하지 않고 전적으로 서비스와 어플리케이션 개발에 집중할 수 있습니다.

 

서버리스 아키텍트의 장단점

장점 단점
서버 관리가 불필요
(자동 확장, 장애 방지)
다른 클라우드 컴퓨팅 자원보다 비쌈
(시간당 비용으로 계산했을 경우)
개발한 코드에만 집중 가능 트리거 호출과 동시에 서버가 세팅되어 속도가 느림
사용한 만큼만 과금(BaaS, FaaS) 장기적인 작업에 적합하지 않음
급격한 트래픽 변화에 유연 함수의 처리 결과에 따라 상태를 따로 저장

 

서버리스의 2가지 서비스 형태

서비스 형태 BaaS(Backend as a Service) FaaS(Function as a Service)
개요 백엔드 개발에 필요한 기능들을 API 형태로
제공하는 서비스
기능을 하나의 함수로 구현
커스터마이징 커스터마이징 어려움 로직을 개발자가 작성하므로 커스터마이징 가능
특징 빠른 개발 가능 업로드한 코드를 함수 단위로 쪼개어 대기상태로
두었다가 Request가 있을 때마다 실행시켜 처리
대표 서비스 Google Firebase AWS Lambda, NCP Cloud Functions

 

AWS Lambda

  • AWS 람다는 서버를 프로비저닝하거나 관리하지 않고도 코드를 실행할 수 있게 해주는 컴퓨팅 서비스
  • 함수 실행 시간은 최대 15분으로 짧은 이벤트 기반 워크로드에 적합
  • 코드가 실행되지 않을 때는 요금이 부과되지 않음

간단하게 예제를 통해 살펴봅시다.

 

AWS 콘솔에 접속해서 Lambda를 사용해봅니다.

위의 검색란에서 Lambda를 찾아보세요

 

함수를 생성해봅니다

 

런타임에서 사용할 언어를 선택하고 함수를 생성합니다

 

 

함수를 생성하면 하단의 코드 소스란에 예시가 작성되어 있습니다.

 

정상적으로 작동하는지 테스트란에 들어가서 실제로 실행해봅시다.

Hello from Lambda!

Nodejs나 Python과 같은 언어는 코드 소스란을 통해 바로 수정 및 테스트가 가능하지만 Go lang의 경우 코드 소스 란이 없고 대신 zip파일을 업로드하거나 Amazon S3를 통해 업로드하는 형태로 Lambda를 사용할 수 있습니다.

 

 

 

반응형

+ Recent posts