차세대 서버리스: 기업에 도움을 주는 3가지 방법
Aparna Sinha
Director of Product Management
* 본 아티클의 원문은 2021년 5월 14일 Google Cloud 블로그(영문)에 게재되었습니다.
지난해만큼 '삶에서 유일하게 변하지 않는 것은 변화이다'라는 헤라클레이토스의 명언이 와닿은 적은 없었습니다. 팬데믹으로 인해 기업들은 때로는 불과 몇 주 만에 운영 방식을 전환하고 새로운 제품을 출시하고 극단적인 수요 패턴에 적응해야만 했습니다.
고객 니즈에 보다 빠르고 효율적으로 대응하기 위해 많은 기업이 서버리스 기술로 전환하여 실시간 신호와 인텔리전스가 기본 제공되는 애플리케이션을 설계했습니다. 진료 예약 및 백신 접종, 공공 부문 실업 급여, 접촉자 추적, 소매업 물류, 매장 밖 수령 및 배달, 호텔 및 여행 예약 등 많은 앱과 사이트가 서버리스 방식으로 구축되었습니다.
서버리스의 재정의
세상이 바뀌고 시장이 변했으며 우리의 삶이 달라졌습니다. 그에 발맞춰 Google Cloud도 변화하여 고객 니즈를 충족시키고 고객과 함께 성장하기 위한 새로운 제품을 도입했습니다.
특히 서버리스 기술이 처음 도입된 이후 대대적인 변화를 겪었습니다. Google은 2008년에 처음으로 서버리스 컴퓨팅 제품인 App Engine을 출시하여 고객이 애플리케이션을 보다 빠르고 원활하게 확장할 수 있도록 지원했습니다. 이후 Cloud Functions에서 서비스로서의 기능을 실행할 수 있는 기능을 추가하여 고객에게 통합 원격 분석과 관측 가능성 기능을 갖춘 간편한 개발자 환경을 제공했습니다. 이와 동시에 Google Cloud는 Kubernetes로 컨테이너 시장에 혁신을 가져왔습니다. 그러자 얼마 지나지 않아 고객들이 서버리스의 자동 확장 및 개발자 경험이라는 특성과 컨테이너의 유연성을 결합할 수 있는지 문의하기 시작했습니다.
이에 부응하여 차세대 서버리스 제품인 Cloud Run을 출시했습니다. 이제 서버리스는 더 이상 이벤트 기반 프로그래밍이나 마이크로서비스에 국한되지 않습니다. 서버리스는 복잡한 워크로드를 규모에 맞게 실행하는 한편 만족도 높은 개발자 환경을 그대로 유지하는 데에도 유용합니다. 실제로 Cloud Run의 서버리스는 언어, 라이브러리, 바이너리에 상관없이 실행할 수 있는 유연성을 갖춘 진정한 개발자 플랫폼을 의미합니다.
Cloud Run을 다른 '서버리스' 제품과 차별화된 차세대 서버리스 제품으로 만들어 주는 3가지 기능을 소개합니다.
- 우수한 개발자 중심 환경
- 다기능성: 컨테이너화된 광범위한 앱 집합으로 확장
- DevOps 및 보안 기본 제공
각 특성을 자세히 살펴보겠습니다.
우수한 개발자 환경
개발자가 중심이 되기 위해서는 완전 관리형 자체 운영 인프라와 우수한 개발자 환경이 마련되어야 합니다. Google Cloud는 모두가 스마트한 애플리케이션을 개발할 수 있기를 바라기에 손쉽게 사용할 수 있도록 만들었습니다. 또한 기술 인재가 비즈니스 가치가 창출되는 영역에 더 집중할 수 있도록 지원하고자 합니다.
지난해에는 사용 편의성을 높이기 위해 소스 코드에서 바로 컨테이너 이미지를 만들 수 있는 Buildpack을 도입했습니다. Docker나 컨테이너를 학습할 필요가 없습니다. 컨테이너를 기반으로 하지만 개발자에게 투명하게 노출됩니다.
더욱 간단하게 사용할 수 있도록 코드를 빌드하여 Cloud Run에 배포하는 단일 'gcloud run deploy' 명령어도 도입했습니다. 이러한 기능들 덕분에 Cloud Run 사용자의 98%가 애플리케이션 배포를 처음 시도할 때 5분 내에 성공합니다.
실제로 지난해에만 25개가 넘는 새 기능과 서비스를 서버리스 스택에 추가하여 복잡한 앱 개발을 더욱 쉽게 만들었습니다. 출시된 주요 제품 중에는 Cloud Run을 원하는 Google Cloud 제품 또는 HTTP 기반 API 서비스와 결합할 수 있는 Workflows도 있습니다. 이 제품은 개발자가 복잡한 프로세스를 자동화하거나 다양한 시스템에 GCP 분석 서비스를 통합할 때 매우 유용합니다.
User Research International의 최근 보고서에 따르면 이러한 모든 새로운 기능 덕분에 Cloud Run 개발자 환경은 경쟁업체 제품보다 사용이 훨씬 쉽습니다.
다기능성
차세대 서버리스라면 다기능성도 갖추어야 합니다. Google Cloud 서버리스는 다양한 애플리케이션을 지원하고 기업 요구사항을 충족합니다. 함수와 웹 앱은 물론 고강도 애플리케이션, 시의적절성, 브라운필드, 컨테이너화된 타사 앱까지도 지원됩니다. 이 같은 다기능성은 언어, 런타임, 하드웨어의 제약을 없애주는 컨테이너가 기반이 되기에 가능한 것입니다.
서버리스 스택에서 다양한 애플리케이션을 실행할 수 있다는 사실은 예측 가능한 사용량에 맞춰 최적화할 수 있음을 의미합니다. 오늘 Google Cloud는 새로운 지출 기반의 Cloud Run 약정 사용 할인을 발표했습니다. 사용량이 안정적이고 꾸준하며 예측 가능한 기업은 이제 결제 UI에서 직접 약정 사용 계약을 구매할 수 있습니다. 선불 결제가 없기 때문에 할인으로 지출을 최대 17% 절감할 수 있습니다.
다기능성을 제공하는 또 다른 방법은 Cloud Run의 WebSocket 및 gRPC 지원입니다. 새롭게 추가된 지원을 통해 서버리스 인프라를 활용하여 반응성이 향상된 고성능 애플리케이션을 빌드할 수 있습니다. Cloud Run에 최소 인스턴스 수 사용도 추가했습니다. 이 기능으로 Cloud Run에서 콜드 스타트 시간을 단축하고 지연 시간에 민감한 애플리케이션을 실행할 수 있습니다. 또한 브라운필드 자바 애플리케이션 등을 실행하는 경우에 사용 가능한 컴퓨팅 용량을 0으로 축소하거나 최소한으로 유지할 수 있습니다.
DevOps 기본 제공
서버리스에서는 개발자가 앱을 보다 빠르게 설정할 수 있음은 물론 애플리케이션을 준비하여 실행한 후에는 운영팀의 과도한 관리 부담을 덜어줄 수도 있습니다. 특히 서버리스 시스템에서 애플리케이션의 '확장' 또는 '축소'를 관리합니다. 즉, 애플리케이션에서 트래픽 처리량이 급증하기 시작하면 서버리스 플랫폼이 부하를 처리하기 위해 자동으로 더 많은 리소스를 가동합니다. 덕분에 과도한 시간 초과, 지연, 로딩 또는 운영팀 업무가 발생하지 않습니다. 마찬가지로 수요가 감소하는 즉시 플랫폼에서 리소스를 해제, 즉 축소하여 더 이상 필요 없는 리소스에 대한 요금이 청구되지 않습니다. 운영팀 및 좌초 비용 없이 짧은 지연 시간으로 전 세계에서 서비스를 실행하고 싶으신가요? Cloud Run이 모든 Google Cloud 리전에서 글로벌 부하 분산과 0까지 축소되는 자동 확장을 처리해 드립니다.
또한 점진적 출시 및 롤백 지원 등의 기능으로 Cloud Run에서 개발자가 아이디어를 빠르게 실험하고 테스트할 수 있을 뿐만 아니라 정교한 트래픽 관리도 가능합니다. Cloud Run에서는 설정 또는 구성 없이도 분산 추적을 이용할 수 있어 개발자가 프로덕션의 성능 병목 현상을 발견할 수 있습니다.
다음 단계: 서버리스 보안
DevOps 권장사항의 일부로 배포 시간, 런타임, 네트워킹 등 모든 레이어에 서버리스 애플리케이션 보안을 구축했습니다. 예를 들어 기본 제공되는 취약점 스캔을 사용하면 신뢰하는 아티팩트만 배포할 수 있습니다.
오늘 Google Cloud는 쉽게 저장 데이터를 보호하고 민감한 정보를 저장할 수 있도록 지원하는 Google Secret Manager 및 고객 관리 암호화 키(CMEK)를 선보입니다. 또한 Cloud Run과 Binary Authorization을 통합하여 사용자가 특정한 정책을 시행할 수 있게 되면서 확인된 이미지만 프로덕션에 적용할 수 있습니다. 마지막으로, 새로운 IAP(Identity-Aware Proxy) 통합, VPC-SC 지원, 보안 경계를 적용하는 데 사용할 수 있는 이그레스 제어, 서비스가 프로덕션에서 실행될 때 특정 서비스에 액세스할 수 있는 사용자와 액세스할 수 있는 리소스를 제한할 수 있는 기능도 추가했습니다. 향상된 보안 기능에 대한 자세한 내용은 여기에서 확인할 수 있습니다.
요약하면, 차세대 서버리스는 최고의 서버리스와 컨테이너를 결합하여 언어, 네트워킹 또는 리전별 제한사항에 구애받지 않고 광범위한 앱에서 실행됩니다. 차세대 서버리스는 개발자가 미래형 최신 애플리케이션을 빌드할 수 있도록 도와줍니다. 변화에 맞춰 쉽게 조정되고, 필요에 따라 확장되며, 고객 요구에 보다 빠르고 효율적으로 반응하는 애플리케이션을 빌드하면서도 최고의 개발자 환경을 누릴 수 있습니다. 자세한 내용은 서버리스의 강점에 참여하여 알아 보세요. 2시간 동안 진행되는 이 가상 이벤트에서는 서버리스 컴퓨팅에 대한 Google Cloud의 비전을 제시하고 서버리스 분야 전문가들이 서버리스 개발을 주제로 심도 있는 발표를 진행합니다. 이벤트에서 뵙겠습니다.
서버리스 및 클라우드 기반 애플리케이션 개발에 대한 자세한 내용이 궁금하신가요? 예정된 최신 앱 개발 및 배포 워크숍과 전문가 문의 라운드테이블을 확인하세요.