본문 바로가기
개발/BACK

서버리스(serverless) 이해하기

by 잠킴98 2024. 1. 13.
반응형


서버리스는 영어로 serverless입니다. server(서버)+less(없는)지만, 사실 서버가 없는 것은 아닙니다. 

 

서버를 클라우드 서비스가 대신 관리해줘서 개발자나 운영자가 서버를 관리하는 데 드는 부담이 줄어든다는 의미입니다.

즉, 개발자는 자신의 서비스 로직 작성에만 집중할 수 있게 되는 것입니다. 


서버리스 컴퓨팅을 할 때는 이전 장의 AWS EC2나 Google Compute Engine과는 다르게 VM 인스턴스를 미리 구매해야 합니다. 단순히 코드를 업로드한 뒤, 사용량에 따라 요금을 지불하면 됩니다. 24시간 작동할 필요가 없는 서버인 경우, 서버리스 컴퓨팅을 사용하면 필요한 경우에만 실행되어 요금을 절약할 수도 있습니다.


AWS와 GCP는 클라우드 서비스의 대표주자답게 다양한 서버리스 서비스를 제공합니다. AWS에서는 Lambda나 API Gateway, S3 등의 서비스가 유명하고, GCP에서는 App Engine, Firebase, Cloud Functions, Cloud Storage 등의 서비스가 유명합니다.


Lambda와 Cloud Functions는 특정한 동작을 수행한 로직을 저장하고, 요청이 들어올 때 로직을 실행하는 서비스입니다. 함수처럼 호출할 때 실행되므로 FaaS(Function as a Service)라고 불립니다. 이미지 리사이징 같이 노드가 하기 버거운 작업을 함수로 만들어 클라우드에 올리고, 리사이징이 필요할 때마다 FaaS 서비스를 호출하면 됩니다. 

 

클라우드 서비스의 컴퓨팅 자원이 대신 리사이징을 해주는 것이므로 마음껏 사용할 수 있습니다. 

사용한 만큼만 요금을 내면 됩니다.


S3와 Cloud Storage는 클라우드 데이터 저장소라고 생각하면 됩니다. 이미지 같은 데이터를 저장하고, 다른 사람에게 보여줄 수 있습니다. 노드가 다른 서버에 비해 정적 파일 제공에 딱히 이점이 있지 않으므로 클라우드 데이터 저장소가 대신 정적 파일을 제공하도록 위임하기도 합니다.

반응형

'개발 > BACK' 카테고리의 다른 글

Kubernetes Architecture  (0) 2024.01.03
java List 첫 번째 요소만 실행시키기  (0) 2023.12.30