프로그래밍/AWS

AWS Lambda 설명

Hwan2 2021. 3. 22. 23:54
반응형

 

 

AWS 에서 Lambda라는 기능이 있습니다.

 

저는 이 Lambda에 대해 알려보려고 AWS 공식 홈페이지에 들어가서 글을 읽어 봤지만....

 

도무~~ 지 무슨 소리인지 전혀 모르겠어서 마구잡이로 자료를 찿고 이해하는데 성공했습니다.

 

AWS 공식 홈페이지에서 Lambda는 다음과 같이 설명하고 있습니다.

 

"AWS Lambda는 서버를 프로비저닝하거나 관리하지 않고도 코드를 실행할 수 있게 해주는 컴퓨팅 서비스입니다."

 

서버를 프로비저닝?

 

코드를 실행? 어디서 무슨 코드를 실행 한다는거지?

 

컴퓨팅 서비스? 뭐가 컴퓨팅 서비스지?

 

이런 것들에 대해 하나하나 짚고 넘어가면서 Lambda가 어떻게 사용되는지 알아보도록 하겠습니다.

 

 

1. AWS Lambda

프로그래밍 공부를 하다보면 Lambda 함수에 익숙하신 분들이 많이 계실 것입니다.

Lambda는 이름 없는 함수로 그 자리에서 즉석으로 함수를 정의하는 것을 말하죠.

 

프로그래밍에서 Lambda의 장점은 간편함, 함수 객채를 전달 하기 때문에 코드 자체가 유연해집니다.

그 밖에 inline화도 있고 장점이 많습니다. 단점은 코드가 좀 난해해 질 수 있다는 점??

 

AWS의 Lambda도 이와 비슷합니다. 단, 코드 관점이아니라 클라우드 관점으로 시각을 바꿔서 봐야합니다.

 

설명에 앞서 Lambda가 어떻게 동작되는지 보겠습니다.

 

AWS에서 Lambda를 생성하는 페이지 입니다.

 

Amazon API Gateway가 보이고, AWS Lambda가 보이고 Amazon DynamoDB가 보입니다.

 

그리고 좌측 최상단에 Serverless API backend라는 글자가 보입니다.

 

이것은 AWS Lambda에서 함수를 생성하는 부분입니다.

지원하는 각 언어들이 보입니다.

 

감이 오시나요?

 

 

기본적으로 Iaas나 Paas는 EC2를 생성하고, VPC로 public, private단을 나누고 로드벨런싱하고, 이러한 작업들을 합니다.

 

하지만 Lambda는 이런 작업 없이 그냥 몽땅 AWS에서 제공해줍니다.

 

다시말해서 Saas환경이 되는 것이죠.

 

사용자 입장에선 Lambda를 생성하면 람다롤 호출할 수 있는 URL이 제공 됩니다.

(Public하게 만들었다면 해당 URL호출로 람다를 Invoke할 수 있습니다.)

앞에 API Gateway를 붙이면 해당 Gateway를 통해 클라이언트가 람다를 간접적으로 호출 할 수 있습니다.

 

다시말해서 Lambda는 API서버가 된 것이죠.

 

하지만 해당 Lambda 관리를 AWS에서 해준다는 것입니다.

 

2. "AWS Lambda는 서버를 프로비저닝하거나 관리하지 않고"

이 부분에 대해 설명하자면 다음과 같습니다.

 

클라우드 구축에 있어서 프로비저닝(서버를 설치하고, 어플리케이션을 깔고, 네트워크를 나누고, DB와 연결하는 등

모든 일련의 구축 작업들)을 할 필요가 없고 관리또한 AWS에서 해주니깐 사용자는 편하게 이용만 하면 된다.

 

라는 뜻입니다.

 

3. 코드를 실행하게 해주는

AWS Lambda부분에서 함수부분이 이에 해당됩니다.

 

함수 부분에 서버로써 동작할 코드를 프로그래머가 작성만 해준다면 Lambda는 알아서 실행해준다는 뜻입니다.

 

 

4. 컴퓨팅 서비스

고로 컴퓨팅 서비스를 제공한다는 말이 일맥상통하게 맞아 떨어지게 됩니다.

 

Lambda는 AWS에서 제공해주는 컴퓨팅 서비스 이니깐요.

 

이해가 되시나요?

 

 

5. 요금 계산

 

AWS Lambda 사용시 함수부분에는 event라는 객체 정보를 받아와 이를 처리하는 구성으로 되어 있습니다.

 

여기서 event 객체는 클라이언트의 요청이 됩니다.

 

요금은 이 event가 몇번 호출 되었는지에 따라 측정되게 됩니다.

 

+ 기간도 포함되지요.

 

위 사진이 Lambda의 사용기간에 따른 요금표입니다.

 

1밀리초당 계산이 됩니다.

 

 

6. 사용처

테스트 서버, 실사용 서버 등 활용도가 굉장히 높습니다. 

 

특히 람다를 사용하면 Auto Scaling이 편하고 1분에 최대 500개 이상 늘어날 수 있습니다.

 

또한 관리를 안해도 된다는 측면, 그만큼 인프라 구축에 복잡성이 떨어지고 굉장히 단순해 진다는 큰 장점이 있는 서비스 입니다.

 

이상입니다.

 

 

 

 

 

반응형