서버리스(Serverless) 환경은 개발자에게 축복입니다. 인프라 구성과 운영의 부담에서 벗어나 코드만 신경 쓰면 되는 그런 세상을 약속하죠. 하지만 개발 언어, 라이브러리 등에 대한 제약이 있다 보니 아직 널리 쓰이지 않고 있죠. 이런 걸림돌을 제거하는 일은 또 구글이 맡았습니다. 네, 이번 Next ’19 행사에서 화제를 모았던 Cloud Run이 그 주인공입니다.
Cloud Run의 개념과 특징은 다음 영상에 잘 설명되어 있습니다. 개발자가 인프라에 1도 신경 쓰지 않아도 되는 관리형 서버리스 환경에서 원하는 언어를 통해 앱, 웹 서비스 등을 자유롭게 만들어 배포할 수 있다는 게 핵심 내용입니다.
다음은 간단한 실행 과정을 보여주는 화면입니다. 관리형 환경에서 스테이스리스(Stateless) 앱을 개발해 이를 컨테이너 환경에 올려 운영하는 것이 정말 간편합니다.
Cloud Run을 개발자가 주목해야 하는 이유를 몇 가지 추려 봤습니다.
첫 번째는 제대로 된 관리형 서비스라는 것입니다. 개발자는 인프라 프로비져닝과 관리를 정말 잊어도 됩니다. 관리형 환경이다 보니 개발자가 배포한 앱이나 웹 서비스로 트래픽이 몰리면 자원이 필요한 만큼 늘고, 연결 요청이 없으면 자원을 제로 수준으로 떨어뜨려 놓습니다.
두 번째는 사용한 만큼 지불할 수 있다는 것인데, 너무 식상한 표현 아니냐? 이런 생각이 들 것입니다. 하지만 Cloud Run의 경우 100밀리초 단위로 사용한 만큼 비용을 낸다는 것을 알면 ‘~ 아’ 이런 느낌이 들 것입니다.
세 번째는 보안성을 보장하는 가운데 Pub/Sub 이벤트를 Cloud Run 상에서 운영하는 마이크로서비스와 연계할 수 있다는 것입니다.
네 번째는 개발 언어 선택의 폭입니다. Cloud Run을 이용하면 다양한 자바, 파이썬, PHP 등 원하는 언어와 프레임워크를 이용해 서비리스의 혜택을 누릴 수 있습니다.
다섯 번째는 Knative를 통해 서버리스 워크로드를 쿠버네티스 환경에 자유롭게 배포할 수 있는 것입니다. 자원 요구량이 많은 서버리스 워크로드를 개발해 운영할 경우 관리형 서비스가 아니라 GKE 클러스터를 이용해야 하는데, 이 역시 간편하게 할 수 있습니다.
이상으로 Cloud Run에 대해 간단히 살펴보았습니다. 더 자세한 내용이 궁금하면 메가존으로 문의하거나 다음 영상을 보시기 바랍니다.