서버리스
-
서버가 없다?
-
백엔드에 서버가 없다??
-
백엔드인데 직접 서버를 관리하지 않음
옛날의 어플리케이션 배포 방법
-
직접 서버를 구매하여 전원을 꼽고
-
즉 서버의 하드웨어와 소프트웨어 2개를 모두 관리해야 했다.
새롭게 등장한 EC2
-
이제는 거실에 서버를 설치하는게 아니라, EC2에서 서버(하드웨어)를 빌려서 관리
-
구글, 아마존, MS에서 서버의 하드웨어 부분을 책임지고 관리해준다.
-
서버의 소프트웨어 부분은 직접 관리해줘야 한다.
하지만 소프트웨어 관리도 힘들다
-
업데이트
-
보안
-
데이터백업 등등 해야 할 것이 많음
서버리스를 활용하면
-
백엔드를 서버에 올리는게 아니다.
-
백엔드를 작은 함수단으로 쪼개서, 직접 관리하지 않는 서버로 올린다. AWS 람다
-
서버리스가 아닌 경우 서버는 24시간 돌아가고 있다. 언제나 요청에 응답할 준비를 하고 있음
-
서버리스는 업로드해 놓고 잠을 자고 있다가, 요청이 오면 잠을 깨워서 실행
서버리스의 장점
-
매번 실행하여 대기하고 있지 않아도 된다.
-
호출한 만큼만 비용을 내개 되면서 급격하게 저렴해짐
-
유저가 많아지면 함수를 더 많이 만들어서 실행하여 버림으로서 포퍼먼스에도 영향이 없음
-
제품을 빠르게 출시가능하다.
-
EC2처럼 코드를 올린다고 해서 돈을 내는 것이 아니다.(적은 비용으로 유지 가능)
서버리스의 단점
-
cold start 함수가 잠들어 있어서 깨우는데 시간이 걸린다.
-
-
aws 람다에서는 많이 쓰는 함수는 대기 하고 있음
-
-
서버 제공자에 너무 의지하게 된다.
-
-
서버리스에서 다른 쪽으로 서버를 옴기는 것이 쉽지 않다.
-
어플리케이션의 구조자체가 바뀌게 된다.
-
누가 써야 하나?
-
사이드 프로젝트를 진행 중이면 추천
-
코드에만 집중하면 된다. 서버 관리 및 설정에 시간을 쓰지 않아도 된다.