Serverless란?

Yiseul·2022년 1월 1일
0

조각지식

목록 보기
1/20
post-thumbnail

서버가 less한 것은 아니고, 백엔드인데 직접 관리하지 않는 서버를 말한다.
전에는 서버의 하드웨어/소프트 웨어를 직접 관리했다면
(ex.정전이 되면 서버가 다운되기도 하고 트래픽이 많아지면 메모리를 사와서 직접 꽂아야했던 시절)

아마존, 구글, 마이크로 소프트과 같은 기업들이 서버의 하드웨어부분을 직접 관리하고 이들의 최신식 서버를 빌려 사용하는 방식으로 사용이 가능한 시대가 온 것이다.

서버리스는 백엔드를 작은 함수단으로 쪼개서 직접 관리하지 않는 서버로 올린다. 대표적으로 AWS lamda 를 들 수 있다.
일반적으로 서버는 24/7 풀가동된다면 서버리스 방식은 필요할 때만 깨워서 요청을 수행하고 다시 잠드는 방식이라 할 수 있다. 때문에 사용자는 사용한 만큼만 돈을 지불하는 형식으로 비용이 크게 줄어들고 스케일을 조절할 수 있다.

서버리스의 단점으로는 cold start를 꼽을 수 있는데 리퀘스트가 와서 함수를 깨울 때까지의 시간이 항시대기하고 있는 서버보다는 걸릴 수 있다는 점이다. 그래서 AWS lamda의 경우, 자주 쓰이는 함수를 파악해서 해당 함수는 잠들지 않고 항시 대기할 수 있도록 한다고 한다.

또, 서버제공자에게 의지하게 된다는 점이 있다. 서버리스로 작업하면 어플리케이션의 구조 자체가 바뀌게 되기 때문에 마이그레이션하는 것이 쉽지 않게 된다.

그렇다면 누가 서버리스를 써야할까?
설정이나 관리를 신경쓰지 않고 코드에만 집중하고 싶은 경우, 사이드프로젝트 혹은 빠르게 프로토타입을 출시하고 싶은 경우

참고
https://www.serverless.com/
https://aws.amazon.com/ko/lambda/

profile
즐거운 도전중입니다:)

0개의 댓글