본문 바로가기
컴퓨터 지식/클라우드 & AWS

[AWS] AWS 람다(AWS lambda) 란? / 서버리스 모델

by 서상혁 2020. 10. 15.

Serverless Model

클라우드 환경이 널리 퍼지고 흔하게 사용됩니다. 하지만 Iaas 환경을 이용하다보면, 일일이 인스턴스를 관리해야한다는 단점이 있습니다. 🤔 (운영체제 패치, 버전 관리 등등 신경 쓸게 많죠.) 그렇기에 이러한 관리의 불편함의 솔루션으로 서버리스 모델의 개념이 등장하게 됩니다. 서버리스는 말 그대로 Server + less => 서버가 없다는 뜻이 아니라, 사용자가 직접 관리해야 하는 서버가 없다 라는 뜻.

다시 말하자면, 보이지 않는 곳에서 관리형 서버 (추상화된 서버) 가 따로 존재하고, 필요에 따라 자동으로 Scale up 되거나 Scale down 됩니다. 따라서 개발자가 직접 서버의 구성과 유지관리를 고려할 필요가 없다는 것을 의미합니다.

서버리스 모델은 다음과 같은 구조로 동작합니다. 미리 함수의 형태로 구현해 둔 뒤, 특정한 요청(이벤트)의 트리거(trigger) 가 발생했을 때, 함수를 호출합니다. 다시 말하자면, 특정한 작업에 따라 실행할 코드나 함수를 미리 구현한 뒤에, 특정 상황에 이벤트를 불러일으키는 방식으로 코드를 실행할 수 있다는 뜻입니다.

예) DB에 무언가가 추가됨 -> 서버리스를 위한 함수가 해당 DB의 형식에 맞게 입력을 바꾼 뒤, DB에 저장한다.

 

특징

1. 서버를 직접 관리할 필요가 없다.

2. 빠른 실행 시간을 가진다. (코드 시작부터 종료)

3. 비용이 적다.

4. 다양한 프로그래밍 언어를 지원한다.

5. 대기 시간이 길다. (Cold Start)

  - 이벤트 중심의 서비스이기 때문에, 항상 실행되고 있지는 않다. (초기 지연 시간 발생)

 


AWS Lambda

AWS Lambda 는 AWS에서 제공하는 서버리스 컴퓨팅 서비스중 하나입니다!

AWS Lambda는 특정 이벤트의 응답으로 서버를 실행하는 컴퓨팅 서비스이며,  100ms 당 요금을 계산해서 정확히 딱 사용한 만큼만 비용이 발생합니다.

 

간단한 사용 예시

웹을 이용해서 아주 간단한 사용 예시를 해봅시다.

* 자세한 과정은 생략하였습니다.

 

1. 특정 상황에서 발생시킬 타겟이 되는 함수를 만들어줍니다.

 

2. 트리거를 구성해줍니다. (어떠한 방식으로 트리거가 될 것인지, 보안 등등을 설정해줍니다.)

 

3. 트리거가 완료되면, 이 게이트웨이가 생성되고 엔드포인트가 제공됩니다.

api 엔드포인트에 접속한 결과

- 엔드포인트에 접속하면, 아까 설정해뒀던 이벤트 함수가 발생하는 것을 확인할 수 있습니다.

 

 

 

 

*출처 : 고려대 클라우드컴퓨팅(유헌창교수님) 강의

728x90

댓글