팀 빌드
조직 수준에서 플랫폼 엔지니어링은 반응 문화에서 벗어난 진화입니다. 반응형 문화에서 고독한 개발자는 사일로에서 도구를 빌드합니다. 한 개발자가 떠날 때 해당 도구의 작동 방식에 대한 지식도 남으므로 프로세스와 가동 중지 시간이 끊어질 수 있습니다.
보다 성숙한 문화에서 도구는 플랫폼 엔지니어링 팀에서 사전에 빌드하고 유지 관리합니다. 개발자와 개발자가 새 프로젝트를 빠르게 시작할 수 있는 관리되는 자율성이 있습니다.
플랫폼 엔지니어링 팀이 성공하려면 조직에서 경영진의 구매와 적절한 기술을 갖춘 개발자가 있는 사전 예방적 문화가 있어야 합니다.
문화권의 역할
플랫폼 엔지니어링 완성도를 가진 조직도 강력한 리더십을 가지고 있습니다. 회사 내의 플랫폼 엔지니어링은 지속적인 재평가가 필요한 분산 작업입니다. 조직은 현재 리소스 사용량을 이해하고 경로를 앞으로 매핑하기 위해 플랫폼 엔지니어링 팀을 지원해야 합니다.
플랫폼 엔지니어링 채택의 초기 단계에서 제품 팀은 각각 고유한 도구, 운영 및 배포 프로세스 집합을 가지고 있습니다. 성숙한 플랫폼 엔지니어링 조직에서 중앙 집중식 플랫폼 엔지니어링은 리더십과 개발자가 작업하는 가장 좋은 방법으로 간주됩니다. 성숙한 조직은 제품 팀 문제가 조직의 문제임을 인식합니다.
.. 다양한 경로, 클라우드 비용, 인프라 비용, 엔지니어링 비용, 다양한 측면을 추적할 때 조직의 문제와 20,000명의 개발자 또는 30,000명의 조직 직원의 모든 문제인 것으로 밝혀졌습니다. – 엔터프라이즈 소프트웨어 회사의 선임 엔지니어링 리더
조직 문화권은 플랫폼 엔지니어링에서 지속적인 검색 경로를 지원해야 합니다. 경영진은 플랫폼 엔지니어링 팀이 혁신할 수 있도록 지원하는 데 집중해야 합니다.
조직의 목표는 경영진이 최적화하는 문화를 지향하는 것입니다.
- 팀이 에지 사례를 효과적으로 해결하고 혁신을 추진할 수 있도록 지원합니다.
- 혁신과 실험을 장려하기 위해 팀 내에서 자율성과 책임을 장려합니다.
- 변화하는 비즈니스 요구 사항 및 사용자 요구 사항 속에서 지속적인 관련성과 효율성을 보장합니다.
시간이 지남에 따라 조직은 임시에서 플랫폼 엔지니어링을 사용하여 문화적 변화를 지원하는 수준을 최적화합니다. 각 수준에서 플랫폼 엔지니어링의 비전을 수용하는 데 필요한 문화적 변화를 주도하는 리더십의 역할이 진화합니다.
임시 | 작동 | 확장성 | 최적화 |
---|---|---|---|
데이터 기반 의사 결정 및 적응성의 문화를 주도합니다. | 공동 작업, 지속적인 학습 및 개선의 문화를 홍보합니다. | 공감과 성장의 문화 촉진 | 혁신을 장려하고 팀이 변화와 진보를 주도할 수 있도록 역량을 강화합니다. |
또한 조직 동기는 플랫폼 엔지니어링 문화 변화를 지원하는 각 수준에서 진화합니다.
임시 | 작동 | 확장성 | 최적화 |
---|---|---|---|
|
|
|
|
조직 구조
플랫폼 엔지니어는 개발과 운영 간의 접착제입니다. 특정 조직 구조 측면에서 팀 토폴로지 모델은 수행해야 하는 작업을 생각하는 좋은 방법입니다. 예를 들어 플랫폼의 측면을 마주하는 개발자에 더 중점을 두는 별도의 전문가와 함께 진화된 플랫폼 팀을 선택할 수 있습니다.
성공하려면 다음을 식별합니다.
- 높은 수준의 목표의 우선 순위를 지정하고 더 넓은 조직에서 플랫폼의 사용을 옹호하는 데 도움을 주는 팀(일반적으로 임원)의 스폰서입니다.
- 운영, 보안, 규정 준수 및 아키텍처의 이해 관계자는 플랫폼이 지침과 요구 사항을 수용할 수 있도록 지원합니다.
- 실제 타이틀에 관계없이 제품 관리자 역할을 하여 모든 구성원의 요구 사항을 이해하고 우선 순위를 지정하는 데 도움을 줄 수 있는 사람입니다.
인재 격차 극복: 플랫폼 엔지니어 요구 사항
플랫폼 엔지니어는 제품 사고방식을 갖고 운영을 이해해야 합니다. 개발자로 시작하든 운영 팀에서 시작하든 기술 집합보다 덜 중요합니다. 내부 개발자 플랫폼을 구축하는 팀은 개발, IT 운영, K8s 관리자, SRE(사이트 안정성 엔지니어) 및 IaC(Infrastructure as Code) 전문가 등 다양한 배경을 가진 다양한 팀 구성원을 영입함으로써 힘을 얻을 수 있습니다.
또한 조직의 기존 애플리케이션 팀에서 적합한 개발자를 데려와 도구를 개발하기 위한 팀의 지식과 기술을 강화할 수 있습니다. 이러한 개발자는 투자에 대해 생각할 때 고객의 목소리를 나타내는 데 도움이 됩니다.
플랫폼 엔지니어를 찾는 것은 어려울 수 있습니다.
정말 좋은 인프라와 플랫폼 엔지니어를 고용하는 것은 매우 어렵습니다. 오늘날 우리가 고용하는 많은 사람들은 고객이 직접 직면하고있는 응용 프로그램에 대해 매우 열정적입니다. 그러나 우리는 인프라 엔지니어링에 대한 열정과 항상 도전입니다 전체 기술 산업에서 큰 청중이나 후보가 없습니다 ... 인프라의 경우 이러한 종류의 전문 지식은 드뭅니다. - 중견 영업 회사의 엔지니어링 부사장
플랫폼 엔지니어는 다음을 수행할 수 있어야 합니다.
- 효율성, 안정성 및 보안에 중점을 둔 내부 개발자 제품 빌드 및 크기 조정
- 플랫폼 엔지니어링 제품의 아키텍처 및 디자인에 기여
- 컨테이너 오케스트레이션(예: Kubernetes), 지속적인 통합/연속 배포(예: GitHub Actions, Azure Pipelines) 및 모니터링 및 로깅 도구(예: Prometheus, Grafana, Elasticsearch)를 성공적으로 작업합니다.
- IaC(Infrastructure as Code) 및 관련 도구를 사용하여 템플릿 빌드(예: Terraform, Azure Resource Manager)
- 하나 이상의 스크립팅 언어로 코드 작성(예: Python, PowerShell, Bash)
훌륭한 플랫폼 엔지니어링 팀을 구축하려면 다양한 기술 기술과 제품 중심 접근 방식이 혼합되어 있어야 합니다. 채용 과제에도 불구하고 다양한 배경을 가진 팀을 구축하면 효율성, 안정성 및 보안을 개선하는 더 나은 내부 플랫폼으로 이어집니다. 이 전체적인 접근 방식은 조직의 즉각적인 기술 요구 사항을 해결할 뿐만 아니라 혁신과 지속적인 개선의 문화를 조성합니다.