개발자는 애플리케이션을 실행하기 전에 얼마나 많은 스토리지와 서버를 배치해야 할지 가늠할 필요가 없다. 서버리스 시스템이 대신 결정하고, 런타임에 필요한 자원을 할당하고, 더 이상 필요없을 때는 배치를 해제한다.
서버리스의 핵심 가치는 자동화이다. 얼마나 많은 자원이 필요할지 파악하느라 애쓸 필요가 없다. 너무 많은 자원을 배치하거나 혹은 사용이 끝난 자원을 회수하는 걸 잊어버리면, 월말에 엄청난 클라우드 비용 고지서를 받게 된다. 너무 적은 자원을 배치하면 서비스를 개설하고 얼마 후 애플리케이션이 제대로 동작하지 못하는 것을 지켜봐야 한다.
필자는 개인적으로 자원이 남는 편이었으며, 그때마다 인간인 필자에게 필요한 자원을 선택하도록 한 클라우드 서비스 업체에 화를 냈다. 사용자가 틀릴 수 있다는 문제가 아니다. 얼마나 틀리느냐의 문제이다.
그래서 필자는 서버리스 컴퓨팅 개념을 좋아한다. 고객사가 필요한 자원을 정확하게 파악하고 있는 것이 아니라면, 필요한 용량을 추정하려 애쓰는 것보다 전혀 새로운 클라우드 네이티브 애플리케이션으로 가는 것이 더 안전하다. 게다가 용량은 계속 늘리고 바꿀 수 있다. 필자는 여기에 서버리스 컴퓨팅의 진정한 가치가 있다고 생각한다.
물론 서버리스가 직접 자원을 할당하는 것보다 비싸다는 반론이 있다. 사실이다. 하지만 이런 비교는 사용자가 최적의 자원 구성을 선택하고, 정확한 시간, 정확한 상황에 자원을 할당하고 회수하는 것을 전제로 한다. 누군가는 이렇게 할 수 있을지 모르지만, 대부분은 그렇지 못하다.
이외에도 서버리스 컴퓨팅에는 직접 사용해 보기 전에는 알 수 없는 몇 가지 단점이 있다. 서버리스는 클라우드 네이티브이다. 즉 단일 퍼블릭 클라우드 서비스 업체의 전문 서비스로, 어떤 업체도 손쉬운 이식을 지원하지는 못한다. 퍼블릭 클라우드 서비스 업체가 제공하는 것을 넘어서는 네이티브 서버리스 시스템용 관리 및 모니터링 툴은 거의 없다.
서버리스는 분명 장단점이 있는 기술이다. 하지만 지난 7년 간의 발전을 통해 서버리스 컴퓨팅은 새로 만드는 클라우드 네이티브 워크로드용으로 명확한 가치를 보여준다. 물론 기업이 무엇을 구축하고 어떤 목적으로 사용하느냐에 따라 가치는 크게 달라진다. 하지만 필자가 아는 많은 환경에서 서버리스 컴퓨팅은 충분히 말이 된다. editor@itworld.co.kr