플랫폼 엔지니어링과 DevOps 비교

회사에서 소프트웨어의 빠른 배포에 대해 이야기할 때 DevOps와 플랫폼 엔지니어링이라는 단어를 자주 듣게 됩니다. 일부에서는 이 두 가지를 경쟁적인 아이디어로 생각할 수 있지만, 실제로는 함께 작동합니다. 

DevOps는 큰 그림의 목표, 즉 팀워크의 문화이자 사고방식입니다. 플랫폼 엔지니어링은 DevOps 작업을 쉽게 수행할 수 있는 도구를 빌드하여 대규모로 이 목표를 달성할 수 있는 방법이 될 수 있습니다.

DevOps, 플랫폼 엔지니어링, IDP 정의

이러한 개념이 서로 어떻게 보완하는지 이해하려면 먼저 명확한 정의를 확립하는 것이 중요합니다. 차이점은 DevOps의 문화적 목표를 전문 분야인 플랫폼 엔지니어링과 플랫폼 엔지니어링이 만드는 구체적인 도구인 내부 개발자 플랫폼(IDP)에서 분리하는 데 있습니다. 

DevOps는 코드를 작성하는 개발팀('Dev')과 코드를 실행하는 운영팀('Ops')을 더 긴밀하게 연결하는 일련의 관행입니다.

주로 팀의 커뮤니케이션을 개선하고, 책임을 공유하며, 모든 것을 자동화하는 데 중점을 두는 문화적 변화입니다. 목표는 사람, 프로세스, 도구를 통합하여 비즈니스 가치를 높임으로써 아이디어 단계의 소프트웨어를 고객이 사용할 수 있는 제품으로 빠르게 전환하는 것입니다.

플랫폼 엔지니어링은 소프트웨어 엔지니어링팀에 최적의 경로를 제공하기 위해 내부 개발자 플랫폼(IDP)을 설계하고 만들고 유지보수하는 관행입니다.

플랫폼 엔지니어링팀은 개발자 도구와 클라우드 인프라를 하나의 제품처럼 취급합니다. 주요 업무는 개발팀에서 어렵고 반복적인 태스크를 제거하는 것입니다. 개발자가 네트워킹, 보안, 컨테이너 조정과 같은 복잡한 클라우드 서비스에 대해 전문가가 아니어도 되도록 간단하고 안정적인 셀프서비스 레이어를 빌드하는 데 도움이 됩니다.

내부 개발자 플랫폼(IDP)은 플랫폼 엔지니어링팀이 빌드하는 실제 도구 및 서비스 모음입니다. 개발자는 컨테이너 조정, 코드형 인프라(IaC) 도구, CI/CD 파이프라인과 같은 리소스를 포함하여 업무에 필요한 모든 것을 이 단일 위치에서 얻을 수 있습니다.

예를 들어 Google Cloud 기반 IDP는 컨테이너를 실행하기 위해 Google Kubernetes Engine(GKE)을 사용할 수 있습니다. 플랫폼의 최적의 경로에 사이트 안정성 엔지니어링(SRE) 및 DevOps 원칙을 포함함으로써 플랫폼 엔지니어링팀은 인적 오류의 가능성을 줄이고 다운타임을 최소화할 수 있습니다. IDP는 어려운 작업을 추상화하고 개발자에게 따라야 할 자동화 및 튜토리얼을 제공하여 처음부터 작업이 안전하고 정확하도록 보장합니다.

대체가 아닌 진화인 플랫폼 엔지니어링

DevOps는 협업하고 자동화해야 하는 '이유'입니다. 플랫폼 엔지니어링은 모두가 자동화를 쉽게 사용할 수 있도록 하는 '방법'입니다.

소규모 회사나 팀은 긴밀한 커뮤니케이션을 통해 프로세스를 관리할 수 있지만, 모든 조직은 DevOps 원칙과 권장사항을 조기에 도입함으로써 이점을 얻을 수 있습니다.

하지만 개발자가 수백 명에 달하는 회사에서는 다음과 같은 문제가 발생합니다.

복잡성 폭증: 모든 개발팀은 Cloud Logging, Cloud Monitoring, 인프라 코드와 같은 수십 개의 도구를 배우고 유지관리해야 합니다. 인지 부하라고 하는 이 부담은 개발자의 속도를 늦춥니다.

복잡성 폭증: 모든 개발팀은 Cloud Logging, Cloud Monitoring, 인프라 코드와 같은 수십 개의 도구를 배우고 유지관리해야 합니다. 인지 부하라고 하는 이 부담은 개발자의 속도를 늦춥니다.

불일치 발생: 팀마다 다양한 보안 관행, 코드 표준 또는 배포 구성을 사용하여 환경을 다르게 설정할 수 있습니다. 이로 인해 운영팀이 모든 사용자를 지원하기가 어려워집니다.

불일치 발생: 팀마다 다양한 보안 관행, 코드 표준 또는 배포 구성을 사용하여 환경을 다르게 설정할 수 있습니다. 이로 인해 운영팀이 모든 사용자를 지원하기가 어려워집니다.

플랫폼 엔지니어링은 Google Cloud의 포괄적인 관리형 서비스 제품군을 사용하여 표준화된 IDP를 만들어 이 문제를 해결하는 데 도움이 됩니다. 또한 최적의 경로를 통해 IDP를 쉽게 빌드, 관리, 확장할 수 있습니다. 이를 통해 회사가 확장됨에 따라 속도와 품질이라는 DevOps 목표를 유지할 수 있습니다.

플랫폼 엔지니어링과 DevOps 비교

DevOps와 플랫폼 엔지니어링은 상호 보완적이지만 주요 초점은 다릅니다.

DevOps는 팀워크, 공동 책임, 전체 배포 파이프라인 자동화를 강조하는 문화적 변화를 중심으로 합니다. 목표는 아이디어에서 프로덕션으로 가치를 빠르게 이동시키기 위해 사람과 프로세스를 조정하는 것입니다.

반면 플랫폼 엔지니어링은 개발자 경험에 주로 초점을 맞춥니다. 인프라 복잡성을 추상화하고 셀프 서비스 기능을 만들어 이를 달성합니다. 플랫폼 엔지니어링은 개발자에게 간단하고 안정적인 경로를 제공함으로써 DevOps의 문화적 목표를 대규모로 가속화하는 전문 분야 역할을 합니다.

DevOps를 위한 플랫폼 엔지니어링의 이점

최고 기술 리더에게 플랫폼 엔지니어링은 재정적 이점과 관리적 이점을 제공할 수 있습니다.

위험 관리와 규정 준수

플랫폼 엔지니어링은 보안 및 규정 준수 정책을 플랫폼에 직접 빌드하고 GKE 클러스터와 같은 모든 환경에서 표준을 자동으로 적용하여 불일치를 방지함으로써 위험을 완화하는 데 도움이 됩니다.

개발자 생산성

플랫폼 엔지니어링은 개발자가 인프라 작업에 소비하는 시간을 크게 줄여주는 간단한 셀프서비스 API와 포털을 제공하여 재무 성과를 개선합니다.

시장 출시 기간 단축

Google Cloud의 플랫폼 엔지니어링은 효율적인 워크플로로 팀을 지원하여 조직이 빠르고 쉽게 새로운 서비스를 신속하게 출시할 수 있도록 지원합니다. Google Cloud의 인프라를 통해 효율적인 배포 등을 지원합니다.

내부 개발자 플랫폼 빌드 시기 결정

전담 플랫폼 엔지니어링팀을 만들고 IDP를 빌드하기로 한 결정은 임의의 팀 규모에 기반한 것이 아니라 조직의 요구사항과 마찰 비용에 따라 이루어진 것입니다. 애플리케이션 개발자가 인프라 태스크에 들이는 시간과 노력이 플랫폼 자체를 빌드하고 유지관리하는 데 필요한 투자보다 클 때 플랫폼이 적절해집니다. 플랫폼 엔지니어링에 대한 가이드에서 자세히 알아보세요.

단순한 자동화로 충분할 때

애플리케이션이 간단하고 개발팀이 자체 인프라 요구사항을 쉽게 관리할 수 있는 경우 Cloud Build와 같은 간단한 CI/CD 도구로 충분할 수 있습니다. 이 경우 더 나은 커뮤니케이션, 공동의 목표, 간단한 자동화 등 DevOps의 문화적 측면에 집중하는 것이 가장 효과적인 접근방식입니다.

플랫폼이 명확한 선택이 될 때

플랫폼팀은 일반적으로 복잡성으로 인해 조직 전체의 속도가 느려지기 시작할 때 필요합니다. 이러한 상황은 일반적으로 회사에서 다음 중 하나를 겪고 있는 경우에 발생합니다.

높은 인지 부하: 개발자가 기능 개발에 집중하는 대신 기본 인프라를 설정, 구성, 유지보수하는 데 과도한 시간을 소비하고 있습니다.

높은 인지 부하: 개발자가 기능 개발에 집중하는 대신 기본 인프라를 설정, 구성, 유지보수하는 데 과도한 시간을 소비하고 있습니다.

일관성 없는 관행: 다양한 제품 전반에 걸쳐 보안, 운영, 배포 패턴이 다양하여 지원 및 감사가 어렵습니다.

일관성 없는 관행: 다양한 제품 전반에 걸쳐 보안, 운영, 배포 패턴이 다양하여 지원 및 감사가 어렵습니다.

프로비저닝 속도 저하: 개발자가 새로운 테스트 또는 프로덕션 환경을 가동하는 데 며칠이 걸려 개발 수명 주기에 병목 현상이 발생합니다.

프로비저닝 속도 저하: 개발자가 새로운 테스트 또는 프로덕션 환경을 가동하는 데 며칠이 걸려 개발 수명 주기에 병목 현상이 발생합니다.

이때 일관되고 표준화된 IDP를 빌드하는 플랫폼팀을 구성하면 투자수익을 극대화하고 DevOps가 약속하는 속도와 품질을 유지할 수 있습니다.

Google Cloud로 비즈니스 문제 해결

신규 고객에게는 Google Cloud에서 사용할 수 있는 $300의 무료 크레딧이 제공됩니다.

다음 단계 수행

$300의 무료 크레딧과 20여 개의 항상 무료 제품으로 Google Cloud에서 빌드하세요.

Google Cloud