서버리스

정희준·2023년 5월 7일
0

서버리스란?

말 그대로 서버가 없다는 뜻으로 백엔드 서버가 존재하지 않는것이다
Cloud Function을 이용하여 함수 단위로 배포를 진행하는 것을 의미합니다.

서버리스 서비스의 로직은
브라우저에서 요청 → Cloud Function을 이용한 함수 요청이 이루어짐 → 해당 함수에서 DB에 접속하여 데이터 등록 및 조회


서버리스 장점

클라우드 서비스를 이용하여 백엔드 서버를 실행 시키면 24시간 내내 서버가 켜져있으므로
24시간 비용이 부과 되었지만
서버리스 서비스는 함수가 실행될 때만 비용이 부과된다
따라서 접속량이 많지 않으면 서버리스 서비스를 사용하면 비용 절감의 장점이 있다!!

서버리스 단점

서버가 켜져있지 않기 때문에 처음 요청이 들어오면 서버가 켜지기 때문에
cold start 문제가 존재합니다.

Cloud Function을 이용한 함수를 실행한다면 함수를 실행시키기 위한 VM이 실행됩니다.
그리고 그 VM 안에서 해당 함수가 실행되게 됩니다.
그 후, 함수 요청이 끝나면 VM이 사라지게 된다

즉 요청이 들어 올때마다 서버가 켜지게 되는 것이므로
서버가 켜지는 데 시간이 걸리며

일정 시간 동안(5s ~ 10s) 해당 서버가 존재하는 컴퓨터가 켜져 있다가 꺼지게 되어서
켜져 있을 동안 또 다른 요청이 들어오면 빠르게 해당 요청에 대한 응답이 이루어지는 반면,
일정 시간 후, 해당 서버가 꺼진 후 또 다른 요청이 들어온다면 서버가 다시 켜지는데 시간이 필요합니다.
이렇게 서버가 켜지는데 시간이 걸려서 요청이 느려지는 것을 cold start 라고 합니다.
cold start 문제를 해결하고자 계속해서 가짜 요청을 보내는 방법이 존재하는데
계속 가짜 요청을 보내게 되면 결국 비용이 계속 발생하게 되므로
서버를 24시간 켜놓는것과 비슷한 비용으로 비용 절감의 효과가 없게 되는 것 입니다.


참조

https://codebootcamp.co.kr/

profile
같이 일하고 싶은 사람이 되어보자! 다시 시작하는 개발 블로그.

0개의 댓글