서버리스

  • 서버가 없다?

  • 백엔드에 서버가 없다??

  • 백엔드인데 직접 서버를 관리하지 않음

 

옛날의 어플리케이션 배포 방법

  • 직접 서버를 구매하여 전원을 꼽고

  • 즉 서버의 하드웨어와 소프트웨어 2개를 모두 관리해야 했다.

 

새롭게 등장한 EC2

  • 이제는 거실에 서버를 설치하는게 아니라, EC2에서 서버(하드웨어)를 빌려서 관리

  • 구글, 아마존, MS에서 서버의 하드웨어 부분을 책임지고 관리해준다.

  • 서버의 소프트웨어 부분은 직접 관리해줘야 한다.

 

하지만 소프트웨어 관리도 힘들다

  • 업데이트

  • 보안

  • 데이터백업 등등 해야 할 것이 많음

 

서버리스를 활용하면

  • 백엔드를 서버에 올리는게 아니다.

  • 백엔드를 작은 함수단으로 쪼개서, 직접 관리하지 않는 서버로 올린다. AWS 람다

  • 서버리스가 아닌 경우 서버는 24시간 돌아가고 있다. 언제나 요청에 응답할 준비를 하고 있음

  • 서버리스는 업로드해 놓고 잠을 자고 있다가, 요청이 오면 잠을 깨워서 실행

 

서버리스의 장점

  • 매번 실행하여 대기하고 있지 않아도 된다.

  • 호출한 만큼만 비용을 내개 되면서 급격하게 저렴해짐

  • 유저가 많아지면 함수를 더 많이 만들어서 실행하여 버림으로서 포퍼먼스에도 영향이 없음

  • 제품을 빠르게 출시가능하다.

  • EC2처럼 코드를 올린다고 해서 돈을 내는 것이 아니다.(적은 비용으로 유지 가능)

 

서버리스의 단점

  • cold start 함수가 잠들어 있어서 깨우는데 시간이 걸린다.

    • aws 람다에서는 많이 쓰는 함수는 대기 하고 있음

  • 서버 제공자에 너무 의지하게 된다.

    • 서버리스에서 다른 쪽으로 서버를 옴기는 것이 쉽지 않다.

    • 어플리케이션의 구조자체가 바뀌게 된다.

 

누가 써야 하나?

  • 사이드 프로젝트를 진행 중이면 추천

  • 코드에만 집중하면 된다. 서버 관리 및 설정에 시간을 쓰지 않아도 된다.

 

출처 : www.youtube.com/watch?v=ufLmReluPww

+ Recent posts