본문 바로가기
카테고리 없음

#5 Lambda

by 중앙정보부장 2020. 12. 19.

@Severless 란 무엇인가?

-New paradigm in which the developers don't have to mange severs anymore.

-Just deploy code

-Just deploy functions

- Severless == FaaS (Function as a Service)

서버리스 라고 해서 서버가 없는것이 아니다. 우리가 (End user)  manage/provision/ 서버를 직접 보는것 을 못할뿐이다. 

 

+

1. 서버리스 컴퓨팅 (Serverless Computing)

 

전통적으로 웹 기반으로 서비스를 만든다고 하면 클라이언트와 서버, 즉 프론트엔드와 백엔드를 각각 다루게 된다. 그 중에서도 서버 쪽을 보면, 물론 서버 사이드 프로그래밍 언어를 이용해 서비스를 만드는 것도 중요하지만 '서버 컴퓨터' 의 환경을 구축하는 것도 일이다. 

 

가장 기본적인 클라이언트-서버 구조로 만들었던 최근 프로젝트를 예시로 들면, 서버로 쓰기 위해 AWS EC2에서 가상 머신을 만들었으며 거기에 접속해서 Apache 웹 서버랑 Tomcat, MySQL을 설치했다. 그리고 이런 서버 소프트웨어들의 설정이라던지 환경 변수라던지... '코드' 이외에도 신경써줘야 할 것들이 많다. 이러한 서버 환경 준비 작업들을 전문용어로 프로비저닝 (Provisioning) 이라 부르기도 한다.

 

서버리스 컴퓨팅이란 이러한 서버 관리 작업들을 직접 할 필요 없이, 코드만 올려서 실행할 수 있다는 컴퓨팅 개념 또는 그러한 서비스를 말한다.

Server-less라는 단어를 그대로 해석하면 '서버가 없다' 는 말인데, 서버 컴퓨터가 없는데 서비스가 동작하는 마법같은 일이 가능하다는 것일까? 사실은 정확히 말하면 서버의 실체가 존재하지 않는다는 말이 아니라 서버가 외부 서비스 -즉, 클라우드 서비스- 에 의해서 자동으로 관리되므로 사용자 (개발자) 가 직접 신경쓸 필요가 없다는 뜻이다. 다시 말하면 사용자 입장에서는 마치 '서버가 없는 것처럼 느끼게' 된다는 것이다.


출처: https://gsmesie692.tistory.com/154 [환상빛 별하늘: Reb∞t]

 

 

 

서버리스의 ex

S3, DynamoDB, Fargate,Lambda

 

#Lambda

 

EC2를 사용하게 될 경우 우리개인 컴퓨터에 주어진 CPU 와 RAM 성능 때문에 한계가 있다. 

Scailing을 할경우 'Intervention to add /  remove servers' -> complicate to implement

 

그러나..

 

#람다는

 

'쉽게 설명하자면 AWS Lambda는 곧 함수를 의미한다. 그리고 이러한 함수를 통해서 별도의 서버를 관리할 필요 없이 서버를 동작시킬 수 있는 것이다'

 

Virtual functions - no servers to manage

Limited by time - short executions

Rund on-demand

Scaling is automated

 

#Benefit of Rambda

-Easy pricing

-Integrated with the whole AWS suite of services

-event-driven (이벤트 중심의): fucntions get invoked by AWS when needed

-다양한 프로그래밍 언어 사용가능 

-Easy monitoring through AWS CloudWatch

-Easy to get more resources per functions

 

도커는 지원안함, 도커는 ECS 나 Fargate를 사용해야 함

 

#prcining

-Pay per call

   First 1M request are free

   0.2$ per 1M request

 

-Pay per duration

 

사용한 메모리 양

how many times

how long 에 따라 돈을 낸다

  

 

 

 

 

 

댓글