@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 에 따라 돈을 낸다
댓글