Serverless 아키텍처의 세상이 온다

April 17, 2016 | 1 Minute Read

AWS Lambda와 API Gateway가 런칭할 때부터 관심은 가지고 있었지만, 대수롭게 생각하지 않다가, 최근에 몇 가지 개인 프로젝트를 하면서 사용해보게 되었는데, 정말 인상적이었다.

“와, Serverless의 세상이 진짜 오는구나.”

얼마전에 슬랙 명령어와 개인적으로 사용하는 범용 함수를 간단한 API로 만들어서 사용하려고 했는데, 겨우 이것때문에 EC2등의 서버를 추가하는 것이 좀 부담스러웠다. 그래서 문득 생각난 것이 AWS Lambda 여서 사용해보게 되었다.

“와, 정말 편하다.”

아직, 퍼포먼스는 약간 떨어지지만, 관리적인 측면에서 이처럼 편할 수가 없다. 단순히 서버 관리뿐 아니라, 배포나 확장 문제, 또한 보안 측면에서도 거의 신경 쓸 부분이 없다. 물론 이런 것은 Heroku 같은 것을 사용해도 비슷한 효과를 누릴 수 있지만, AWS Lambda는 개별 서버에 배포한다는 개념을 없앴다는 점에서 조금 더 진보한 부분이 있다. “이것이 바로 레알 클라우드 서버야” 라는 느낌이랄까?

또한 작은 기능 단위로 하나씩 만들어서 올려두어야 한다는 점이 개발적인 측면에서도 상당히 좋은 영감을 준다. 반강제적으로 마이크로 아키텍처와 Stateless 개념에 기반하여 만들게 되기 때문에, 의존성을 줄이고 확장성을 쉽게 높일 수 있게 된다. 직접 서버를 운용해야 한다면, 이렇게 작은 기능 기반으로 만드는 것은 서버를 운용하기 까다롭기 때문에 쉽게 접근할 수 없는 방법인데, 서버의 확장에 대한 문제를 고려할 필요가 없으니 쉽게 접근이 가능하다.

이번에 페이스북에서 발표한 메신저 봇 엔진인, wit.ai도 비슷한 면이 있는데, 마치 앱스토어처럼, 개발자는 Lambda에 다양한 함수들을 올려놓고, 사용자는 Lambda에 올려져있는 공개 또는 상용 함수 몇 개와 API Gateway 조합으로 코딩 없이 원하는 기능을 만들어서 사용할 수 있게 되는 날이 멀지 않은 것 같다.