기본 콘텐츠로 건너뛰기

서버리스란 무엇인가?

서버리스란 무엇인가?

말 그대로 서버가 없는것이 아니라 인프라 엔지니어나 개발자가 관리하는 서버가 없다는 뜻으로 해석을 하면 편함

  1. 사용자는 클라우드 서비스 공급자가 제공한 주소로 요청을 전송
  2. 클라우드 서비스는 메시지를 기반으로 요청에 응답하는 데 사용할 패키지를 찾음
  3. 패키지가 선택되면 패키지를 실행할 도커 컨테이너로 로드한다
  4. 도커 컨테이너가 실행되고 요청이 처리
  5. 생성된 응답을 요청한 사용자에게 전송

클라우드 서버리스 서비스로는 BaaS(Backend as a Service) , FaaS(Function as a Service) 등이 있고 대표적으로 Firebase, AWS Lamda , Azure Functions, Google Cloud Functions 등이 있음

해당 서비스들은 도커 컨테이너가 실행되고 해당 함수 안에 정의된 프로세스를 완료한 시간(초) 만큼 과금이 부여됨

기존 IaaS 등 유휴 서버에 대해서 비용을 지불하는 과금을 서버리스는 유휴 서버에 대해 과금을 지불 하지 않고 실제 함수가 실행된 시간, 리소스 비용만 지불하는 과금 형태

서버리스의 장점

  • 확장성
  • 고가용성
  • 자원의 효율성
  • 비용 절감
  • 관리 서버의 인력 무
  • 지속적인 배포 가능

서버리스의 단점

  • 컨테이너 로드의 대기 시간 ( 기존 아키텍쳐보다 시간이 걸림 )
  • 클라우드 서비스 업체의 제약조건
  • 클라우드 서비스 업체의 종속성
  • 어려운 디버깅
  • 각 함수마다 배포를 실행 ( 공수가 많이듬 )
  • 장시간 실행되는 CPU를 많이 사용하는 작업 불가
  • 실시간 처리에 적합하지 않음
  • 빈번한 서버 함수 호출에 적합하지 않음

참고자료

https://github.com/PacktPublishing/Building-Serverless-Web-Applications
https://www.xenonstack.com/blog/serverless-openfaas-java/
https://velopert.com/3543

댓글

이 블로그의 인기 게시물

블록체인 거래소 모니터링시스템 구축이야기(2/?) - 서버 아키텍처

  코인 거래소 모니터링시스템 구축이야기(2/?) 코인 거래소 모니터링 시스템 구축 (가칭 : 김프멈춰) 서버 구성 사용자가 확인할 서비스 페이지, 데이터 저장소에 대한 서버는 NAS 서버로 운영 일일 Data 크롤링 서버는 Cloud 서버 이용하여 운영 - 서비스페이지 및 데이터 저장소 (Nas 서버) : Docker container ubuntu 20.04 - 일일 크롤링 서버 (Cloud at Cost Cloud 서버) : CentOS 7 서버 아키텍처 서버 아키텍처 레퍼런스 빗썸 : https://apidocs.bithumb.com/ 업비트 : https://docs.upbit.com/ 홍콩 Bitfinex : https://docs.bitfinex.com/docs 몽고 DB 설치 : https://coterie.tistory.com/20 1. 개요 :  https://limdh3325.blogspot.com/2021/04/1.html 2. 서버 아키텍처 :  https://limdh3325.blogspot.com/2021/04/2.html 3. MongoDB 설치 :  https://limdh3325.blogspot.com/2021/04/3.html 4. 데이터 모델링 :  https://limdh3325.blogspot.com/2021/05/4.html 5. MongoDB 저장 :  https://limdh3325.blogspot.com/2021/06/5.html