WHAT IS SERVERLESS ?

  • 오늘은 서버리스 개념에 대해 공부한 내용을 정리해봤다.
  • 서버리스는 서버가 없이 돌아가는 것을 말할까?

결론부터 말하면 서버리스는 서버가 없는 것을 의미하지 않는다.


  • 과거에는 서버실에 서버컴퓨터를 위치시켜서 직접 서버를 운영 관리하는 온프레미스 방식,
  • 그리고 현재는 대부분 클라우드 서버를 구매해서 우리가 직접적으로 관리를 하지않는 서버를 임대하고
  • 그 안에 백엔드를 구축하여 서버를 사용한다.
  • 더 나아가서 서버리스는 백엔드를 작은 함수단위로 쪼개서 서버에 올리는 것을 말한다. EX> AWS Lamda

서버리스의 핵심 장점


  • 서버리스가 아닌 경우 24/7 항상 응답을 준비하고 있지만 서버리스는 sleep 상태로 대기하고
    wake up 하며 동작하기 때문에 함수가 동작한 만큼 비용을 지불하게 된다.
    따라서 비용 또한 상대적으로 매우 저렴하다.
  • 그리고 순간적으로 많은 트래픽이 몰렸다고 가정했을 때 AWS는 그 많은 트래픽에 대응하는 수의 함수(Function)을 만들고
    동작이 끝나면 잠든다. 이는 퍼포먼스도 뛰어난 장점이 있다.

서버리스의 단점


  • COLD START 아무래도 sleep상태에서 wakeup하며 동작하기 때문에 시작이 느린 단점이 있다. 작은 수치라고하지만 이는 큰 단점으로 다가올 수 있다.
  • AWS는 위 문제를 방지하기 위해 사용빈도가 높은 함수는 잠들지 않고 Request 빠르게 대응하기 위해서 대기한다고 한다.
  • 서버리스는 서버 제공자와의 결속이 강해지고 의지하게 되는 단점이 있다. 이는 예를 들어 aws에서 ms의 azure로 이동하거나 구글 클라우드로 이동하기는 매우 어렵다고한다.

어떠한 경우에 사용할까?


  • 빠르고 쉽게 서버를 활용하여 서비스를 하고 싶을때
  • 서버를 관리하는 시간을 절약하고 싶다.
  • 비용을 절약하고 싶다.

추천 사이트


  • serverless.com