본문 바로가기
개발공부

서버리스(serverless) 란?

by bzerome240 2022. 10. 21.

 

서버리스라는 용어를 서버가 없이! 운영할 수 있다 라고 생각할 수 있는데

그건 불가능하다~

 

백엔드인데, 직접 서버를 관리하지 않아도 되는 경우를 뜻한다고 한다.

 

일반적인 서버의 구성은 인터넷 망 + 서버 하드웨어 + 서버 운영체제 + 서버 미들웨어 + 서버 어플리케이션이 필요하다.

발전된 형태로

클라우드 서버는 서버 미들웨어 + 서버 어플리케이션 가 필요하다.

더 발전된 형태로

서버리스는 다 필요 없다!

 

 

백엔드를 서버에 올리는 것은 아니고 백엔드를 작은 함수단으로 쪼개서 서버로 올린다. 

대표적인 서버리스: AWS lambda, Azure Functions, Google Cloud Functions

대표적인 서버리스 제공업체

 

장점

일반 서버와 다르게 24시간 풀가동하지않고

리퀘스트가 들어오는 순간 잠자고 있던 함수를 깨우고 요청한 작업을 수행한다.

그래서 딱 리퀘스트만큼 돈을 지불하면 된다. (저렴한 비용)

 

단점

1. Cold Start   리퀘스트가 들어오는순간 함수를 깨우는 그 짧은 시간조차 허용되지 않는 서비스에는 부적합하다.

ex) 주식 매매, 온라인 게임의 실시간 멀티플레이

2. lock-in   서버 제공자에 너무 의존하게 된다. 서버리스 플랫폼을 이전하는것이 쉽지 않다.

 

서버리스에 적합한 작업?

  • 사이드 프로젝트
  • 빠른 프로토타입 출시
  • 반복적인 batch 처리 형태의 기능 ex) 실시간 라이브 동영상 스트리밍에 대한 로그 분석, 음성이나 텍스트 기반 학습 데이터를 제공하는 인공지능 기능 등

 

 

대규모 스트리밍 기업 넷플리스가 서버리스 아키텍처 AWS Lamda를 쓰고 있다고 한다. 

 

 


 

 

쉬운 설명

 

 

728x90
반응형

댓글