시대가 바뀌고, 기술이 진화해도 개발자의 고민은 제자리 일까요? 비즈니스 로직에 집중하고 싶지만 현실은 그렇지 않다는? 2025년 현재에도 개발자들은 끊임없는 딜레마와 마주합니다. 비즈니스 로직 구현에 몰입하고 싶지만 현실에서는 가상 머신(VM), 클러스터, 컨테이너 설정 같은 복잡한 인프라 관리에 많은 시간을 쏟아야 합니다. 이처럼 코드 에디터와 터미널, 클라우드 콘솔을 오가는 과정에서 창의적인 사고의 흐름, 즉 ‘몰입’ 상태는 쉽게 깨지곤 합니다.
Google Cloud는 이러한 현실적인 고충을 해소하는 데 작은 도움이라도 주기 위해 Cloud Run에 소스 코드에서 배포(Deploy From Source Code)하는 기능을 추가했습니다. 이 기능은 단순히 또 하나의 업데이트가 아닙니다. 개발자의 생산성을 높이고 몰입을 돕겠다는 Google Cloud의 의지가 담긴 소식입니다.
인프라가 아닌, 비즈니스 혁신에 집중합니다
Cloud Run의 Deploy From Source Code 기능은 개발자가 인프라 관리에 에너지와 시간을 허비하지 않고 코드에 집중할 수 있도록 돕기 위해 만든 것입니다. 기존에는 개발자가 Dockerfile 작성, 빌드 파이프라인 구성, 기본 이미지 보안 패치 등 운영에 상당한 시간을 투자해야 했습니다. Deploy From Source Code 기능은 전체 컨테이너화 과정을 자동화해 개발자가 소중한 시간을 비즈니스 문제 해결과 혁신에 더 많이 사용하도록 돕습니다.
또한, Deploy From Source Code 기능은 익숙해지는 데 시간이 필요한 Docker라는 진입 장벽도 허뭅니다. 이 기능은 Dockerfile 문법이나 이미지 최적화 같은 사전 지식을 요구하지 않아 서버리스 기술의 문턱을 낮춥니다. 이제 컨테이너 전문가가 아니어도 누구나 단 몇 분 만에 자신의 코드를 확장 가능한 서버리스 환경에 배포할 수 있습니다.
‘마법’의 실체, Google Cloud 빌드팩
‘gcloud run deploy –source’ 라는 단순한 명령어 뒤에는 정교하고 안전한 자동화 과정이 숨어 있습니다. 그 핵심 기술은 바로 Google Cloud의 빌드팩(Buildpacks)입니다. 이 기술은 마치 숙련된 DevOps 엔지니어처럼 소스 코드를 분석해 최적의 컨테이너 이미지를 만들어 줍니다.
빌드팩은 requirements.txt(Python), package.json(Node.js) 같은 종속성 관리 파일을 검토하여 사용 중인 언어와 프레임워크를 자동으로 식별합니다. 이후, 식별된 정보를 바탕으로 애플리케이션 실행에 필요한 모든 라이브러리와 종속성을 다운로드하여 함께 패키징합니다.
또한, 애플리케이션은 Google Cloud가 직접 관리하는 안전한 기본 이미지 위에서 빌드됩니다. 이는 운영체제 수준의 보안 취약점을 Google Cloud가 지속해서 패치한다는 의미입니다. 따라서 개발자는 애플리케이션 로직의 보안에만 집중할 수 있습니다. 이렇게 만들어진 컨테이너 이미지는 프로덕션 환경에 맞게 최적화되어 별도의 전문 지식 없이도 높은 성능과 안정성을 기본으로 확보합니다.
단 한 줄의 명령어로 시작하는 배포 여정
이제 실제 배포 과정을 살펴보겠습니다. main.py와 requirements.txt 파일로 구성된 간단한 파이썬 플라스크(Python Flask) ‘Hello World’ 웹 애플리케이션을 예시로 알아보겠습니다. 배포 과정은 터미널에서 ‘gcloud run deploy –source’ 명령어를 실행하는 것으로 시작합니다. 이 명령어는 소스 코드를 프로덕션 환경에 배포하는 모든 복잡한 단계를 지휘하는 오케스트라 지휘자와 같습니다. 명령어를 실행하면 배포에 필요한 몇 가지 정보를 묻는 안내가 나타납니다. 먼저 소스 코드 위치를 확인하고 hello-cloud-run 같이 서비스 이름을 지정합니다. 그런 다음 서비스를 호스팅할 Google Clodu 리전을 선택하고 마지막으로 인증되지 않은 외부 호출을 허용할지 결정합니다. 공개 웹사이트라면 ‘y’를 선택하면 됩니다.
마지막 질문에 답하고 엔터 키를 누르면, 보이지 않는 곳에서 고도로 자동화된 파이프라인이 작동하기 시작합니다. 먼저 소스 코드를 압축(zip)하여 Google Cloud 스토리지 버킷에 안전하게 올립니다. 소스 코드가 올라가면 이 이벤트가 Cloud Build 작업을 자동으로 실행시킵니다. 그러면 Cloud Build는 빌드팩을 사용하여 코드를 분석하고, 프로덕션용 컨테이너 이미지를 만듭니다. 빌드가 끝나면 컨테이너 이미지는 아티팩트 레지스트리(Artifact Registry)에 저장됩니다. 이때 cloud-run-source-deploy라는 이름의 저장소가 없다면 자동으로 생성해 줍니다. 마지막으로 Cloud Run은 아티팩트 레지스트리의 새 이미지를 가져와 서비스의 새로운 리비전(revision)을 생성하고 모든 트래픽을 이 새 리비전으로 안전하게 이전하여 무중단 배포를 완료합니다.
배포가 성공적으로 끝나면 터미널에 서비스 URL이 나타납니다. 이 주소로 접속하여 ‘Hello World!’ 메시지가 보이는지 확인하면 됩니다.