IT 업계에서 서버리스라는 키워드는 계속해서 주목받고 있습니다. Grand View Research의 조사에 따르면, 전세계적으로 서버리스 컴퓨팅 시장 규모 추정치는 270억 달러로, 2030년에는 520억 달러 수준까지 확대될 것으로 전망한다고 하는데요.

(출처: https://www.grandviewresearch.com/industry-analysis/serverless-computing-market-report)

이렇게 나날이 인기를 얻고있는 서버리스는 어떻게 등장하게 되었을까요? 또 지금의 서버리스는 어떤 흐름으로 나아가고 있을까요? 이번 아티클에선 서버리스의 등장과 발전, 현재 트렌드를 알아보겠습니다.


개발자에게 너무나도 두려웠던 존재 - 서버 구축과 운영

서버 구축과 운영은 서비스를 개발하는 과정에서 꼭 필요하지만 개발자들에게 부담이 되는 작업 중 하나였습니다.

웹 서비스를 예로 들어보면, 먼저 비즈니스 로직이 돌아가는 애플리케이션 서버가 필요합니다. 데이터를 처리하고 저장하는 경우가 대부분이 때문에 DB 서버 환경도 구축해야겠죠. 각 서버가 내외부로 통신하기 위해 네트워크 설정을 해주는 건 물론이고요.

게다가 구축만으로 끝나지 않습니다. 서버가 잘 동작하도록 운영도 해야 하죠. 갑자기 예상치 못하게 트래픽이 몰려 서버에 과부하가 발생하면 서비스가 정상 동작할 수 있게 리소스를 늘려줘야 합니다.

그렇다고 예상치 못한 트래픽 몰림에 대비해 서버 리소스를 대폭 늘려서 운영하면 어떻게 될까요? 평상시에는 지불하지 않아도 되는 비용을 계속해서 낭비하는 문제가 생기겠죠.

즉, 안정적인 운영과 비용은 전통적인 서버 구축에 있어 골치아픈 문제였습니다. 그리고 이런 문제를 해결하기 위해 등장한 것이 바로, 서버리스라는 개념입니다. 그래서 서버리스는 ‘서버가 없다’는 뜻이 아닌 ‘서버를 관리할 필요가 없다’는 뜻으로 봐야 합니다.


서버리스 아키텍처를 지원하는 AWS 서비스

AWS Lambda

서버리스라는 개념이 생긴 뒤 등장한 가장 대표적인 서비스는 AWS의 Lambda입니다. 2014년 개최된 AWS re:Invent 행사에서 Lambda가 처음 소개되었는데요. 그러고나서 1년 뒤 정식 공개되었습니다.

(출처: https://aws.amazon.com/ko/blogs/compute/operating-lambda-understanding-event-driven-architecture-part-1/)

웹 애플리케이션, 모바일 백엔드 등으로 활용 가능한 Lambda는 주어진 코드를 자동으로 스케일 업/다운 되는 컴퓨팅 환경에서 실행해주는 서비스입니다.

Labmda는 외부로부터 이벤트를 받거나 다른 AWS 서비스의 트리거를 받으면 코드를 실행하는 방식으로 동작하는데요. 그래서 서버리스와 Event-driven(이벤트 기반) 아키텍처에 자주 쓰이게 되었습니다.

AWS API Gateway

2015년 공개된 AWS API Gateway는 HTTP API를 생성, 배포, 관리, 모니터링, 암호화할 수 있는 서비스입니다. HTTP 기반으로 REST API를 한곳에서 관리할 수 있는 것이 특징인데요.

(출처: https://aws.amazon.com/ko/blogs/compute/introducing-amazon-api-gateway-private-endpoints/)

Lambda에 등록된 함수를 간접 호출하는 HTTP 엔드포인트를 제공해주기 때문에, API Gateway는 서버리스 아키텍처에서 외부 인터넷과 통하는 대문 역할을 수행합니다.

AWS DynamoDB

AWS Lambda와 함께 자주 거론되는 AWS DynamoDB는 사실 Lambda보다 먼저 등장한 서비스입니다.

밀리세컨드 수준의 높은 성능을 자랑하는 NoSQL 데이터베이스인 DynamoDB는 관계형 데이터베이스보다 스케일링과 운영이 복잡하지 않다는 것이 장점인데요.

별도의 서버를 구축할 필요가 없는 관리형 서비스이기 때문에 서버리스 아키텍처에 자주 사용되는 DB로 거듭났습니다.

(출처: https://docs.aws.amazon.com/ko_kr/lambda/latest/dg/services-apigateway-tutorial.html)

Lambda와 DynamoDB는 서버 구축이 필요없는 서버리스 서비스이고, API Gateway는 Lambda의 대문 역할로서 트래픽을 받을 수 있죠. 그래서 이 3가지 서비스는 서버리스 아키텍처를 구성할 때 자주 사용되는 조합입니다.


서버리스의 트렌드

서버 구축과 운영이라는 부담을 덜어주는 서버리스 서비스는 점차 인기를 얻었습니다. 그리고 항상 그렇듯, 사람들은 새로운 고민거리가 생겼죠. 서버리스 아키텍처로 애플리케이션을 구성할 때마다 서버리스 서비스를 일일이 설정하는 것이 불편해진 것입니다.

그래서 AWS에서 오픈소스 프레임워크를 새로 선보였습니다. 바로 Serverless Application Model(SAM)인데요. AWS의 IaC 툴인 CloudFormation을 활용하여 서버리스 애플케이션을 빠르게 구축하도록 도와주는 것이 목적이었죠.

(다람쥐 SAM은 도토리(Lambda, API Gateway, DynamoDB)를 모아 애플리케이션을 구축해줍니다. AWS 공식 이미지입니다. 귀엽네요!)

SAM의 CLI를 통해 명령어 몇 줄만으로 서버리스 애플리케이션을 구성하거나 테스트할 수 있다는 것이 특징이며, 이때 애플리케이션의 주요 구성요소는 (아마 눈치채셨겠지만) AWS Lambda, API Gateway API, DynamoDB입니다.

서버리스 아키텍처를 지원하는 클라우드 공급사는 AWS뿐만이 아닙니다. Google의 Cloud Run은 서버리스 아키텍처를 지원하기 위해 2019년 공개되었으며, AWS Lambda에 대응하는 후발 주자로 등장했죠.

(출처: https://cloud.google.com/run/docs/overview/what-is-cloud-run)

기본적으로 Cloud Run은 컨테이너 이미지 동작시키는 관리형 컴퓨팅 서비스입니다. 하지만 Go, Node.js, Python, Java와 같이 지원 대상 언어로 작성된 코드라면 Cloud Run 내에서 컨테이너 이미지로 빌드해주는 기능도 제공되기 때문에, AWS Lambda와 유사한 사용자 경험을 제공하려는 의도를 확인할 수 있습니다.

클라우드 공급자들이 서버리스 아키텍처를 지원하는 서비스를 다양하게 선보임과 동시에, 벤더 락인을 경계하는 움직임 역시 뚜렷해졌는데요. 이런 추세로 인해 Kubernetes에서 서버리스 아키텍처를 구현하는 툴이 점차 관심을 얻고 있습니다.

벤더 락인(Vendor Lock-In)이란?

AWS나 GCP와 같은 특정 클라우드 공급자(벤더)에서 제공하는 서비스만을 활용하다보면 거기에만 과하게 의존하고 종속되는 경우가 있습니다. 이런 현상을 벤더 락인이라고 하는데요. 벤더 락인을 경계한다는 것은 특정 공급자가 제공하는 기능만 사용하지 않고, 다양한 공급자의 플랫폼을 활용(멀티 클라우드)하거나 오픈소스 툴(특히 Kubernetes 환경)을 활용하는 등 다른 대안을 찾는 걸 의미합니다.

특히 2025년 9월 CNCF로부터 졸업(Graduated) 인증을 받은 Knative를 주목할만한데요.

300

우리가 Kubernetes 환경에서 전통적인 방식으로 애플리케이션을 배포하려면 Pod와 Serivce, Deployment, Ingress와 같은 다양한 리소스를 이해하고 있어야 합니다. 물론 쉬운 일은 아니죠.

Knative는 이런 리소스 배포를 간략히 추상화해서 애플리케이션 배포를 더욱 쉽게 만들어주는 것을 목표로 삼고 있습니다.

Knative의 Service라는 리소스를 배포하는 것만으로도 비즈니스 로직(Deployment)과 네트워크(Service) 관련 Kubernetes 리소스가 자동으로 배포되고 관리되는 것인데요.

여기에 오토 스케일링과 트래픽 라우팅과 같은 편의 기능도 제공하고 있습니다.


마무리

서버리스는 현재 퍼블릭 클라우드와 Kubernetes 모두에서 큰 관심을 받고 있는 아키텍처입니다.

누군가들의 고통(Pain Point)을 해결하기 위해 등장한 솔루션은 오랫동안 사람들의 사랑을 받는다는 것을 서버리스를 통해서도 알 수 있었는데요.

제품과 서비스를 만드는 우리에게 서버리스 아키텍처의 등장과 발전은 중요한 시사점을 주고 있습니다.

결국 긴 시간 동안 살아남는 제품과 서비스는 누군가의 고통과 불편함을 줄여주는 것이라는 걸요.

이번 아티클을 통해 여러분들은 어떤 걸 느끼셨나요?

그럼 저는 다음에 더 흥미롭고 유익한 주제로 찾아오겠습니다.

감사합니다.😸


참고 자료


이번 아티클은 어떠셨나요?

이번 글의 주제에 대해 어떻게 생각하는지 알려주세요! 더 나은 아티클을 전달해드리기 위해 아래 폼에서 짧은 피드백을 받고 있어요.

👉 피드백 보내기 (1~2분 소요)

여러분들의 소중한 의견은 Aiden’s Lab에 큰 힘이 됩니다!