IT 관리 / 개발자

“데브옵스의 최종진화” 플랫폼 엔지니어링의 이해

Matthew Tyson | InfoWorld 2023.04.20
플랫폼 엔지니어링(Platform engineering)은 실제 데브옵스에서 얻은 경험적 지식을 더 구체적이고 재현 가능한 형식으로 적용하는 것을 목표로 하는 비교적 새로운 개념으로, 품질, 개발자 경험, 고객의 가치 창출 시간을 개선한다. 기술과 프로세스의 세부 사항을 다루는 플랫폼 엔지니어링은 데브옵스의 구체적인 표현이며 중앙집중식 제어와 팀 자율성 간의 상충하는 요구사항을 조율하는 데도 도움이 된다.
 
ⓒ Getty Image Bank


가트너는 플랫폼 엔지니어링을 2023년 개발 분야의 핵심 추세 중 하나로 꼽았다. 플랫폼 엔지니어링이 무엇이고, 어떻게 활용하는지 알아보자.
 

데브옵스와 플랫폼 엔지니어링의 차이

데브옵스는 소프트웨어 개발 수명 주기를 더 잘 이해하고 관리하기 위한 전체적인 시야에 집중한다. 데브옵스는 개발과 운영을 같은 프로세스의 두 부분으로 취급하도록 촉구한다. 빌드에 관여하는 사람들이 배포에 관여하도록 해 피드백 루프를 닫고 전체 소프트웨어 개발 프로세스를 개선한다.

플랫폼 엔지니어링은 데브옵스 이상의 현실적 발전으로 보면 된다. 플랫폼 엔지니어링은 개발 수명 주기의 복잡성을 관리하기 위한 중앙화된 툴과 지원을 제공하는 데 집중하는 소프트웨어 엔지니어링 영역이다. 물론 새로운 개념이므로 정의는 다소 불분명하고 앞으로 바뀔 가능성도 있다.

업계에는 플랫폼 엔지니어링이 데브옵스를 대체한다는 분위기가 있지만 엄밀히 말하자면 그렇지는 않다. Masterpoint.io의 CEO 맷 고위는 다음과 같이 말했다.
 

사람들은 “데브옵스는 죽었다”고 비명을 지르지만, 나는 데브옵스를 실제로 구현하는 방법이 재구성되고 있을 뿐이며, 이 새로운 사고방식이 대다수 사람에게 잘 받아들여지고 있다고 생각한다. 플랫폼 팀의 핵심은 개발자가 운영 관련 작업을 할 수 있도록 하되 추상화, 또는 사람들이 즐겨 말하는 '황금 경로(golden paths)'를 통하도록 하는 것이다. 이렇게 하면 개발자는 어떤 작업을 완료하기 위해 티켓을 끊어 기다릴 필요 없이 “내가 구축하고 내가 실행한다”는 개념을 실행에 옮길 수 있으므로 개발자 경험이 개선된다.


“내가 구축하고 내가 실행한다(You build it, you run it)”는 데브옵스의 슬로건이다. 핵심 개념은 어떤 방법이 효과적인가에 대한 통찰력과 이를 구현할 수단을 가진 사람들이 프로세스를 관리할 수 있도록 하자는 것이다. 실제 환경에서 데브옵스의 문제는 이 개념을 효과적으로 구현하는 방법에 있다. 매우 잘 짜여 있고 자금도 충분한 기업만 독립적인 데브옵스 팀에 충분한 리소스와 관심을 투자할 수 있기 때문이다. 결과적으로 데브옵스라는 용어는 개발자에게 개발과 운영을 모두 맡기는 것을 의미하게 됐다. 이는 목적에 맞게 개발자의 의미를 바꾸는 것이기도 하다.

이 같은 형태의 데브옵스 실행 방법에서는 개발자의 역할이 수명 주기 전체로 확장된다. 플랫폼 엔지니어링은 여기서 더 나아가 개발자의 혼합적 역할을 더 명확하게 하는 데 초점을 두는 데브옵스의 발전형이다.
 

개발자 포털의 부상

개발자 포털은 플랫폼 엔지니어링의 주된 메커니즘이자 표현이다. 주 목적은 개발자의 툴, 문서, 상호작용을 한 곳에 모으는 것이다. 조직의 개발자 인프라에 대한 일종의 프론트 엔드라고 볼 수 있다. 개발자 포털(또는 다른 말로 내부 개발자 플랫폼)은 여러가지 요구와 추세에 따라 발전해왔다. 개발자 포털은 범용 서비스 카탈로그, API 게이트웨이에 연결된 API 카탈로그, 그리고 마이크로서비스 카탈로그 등 3가지 유형으로 구분하기도 한다.

API는 플랫폼 엔지니어링에서 비중이 크다. 마이크로서비스 아키텍처가 부상하면서 오늘날 소프트웨어 팀이 직면한 복잡성이 크게 증가했기 때문이다. 실제로 대기업에서는 마이크로서비스 오케스트레이션이 매우 까다롭다. 특정 사용 사례에서 어떤 마이크로서비스가 관여하는지를 파악하기도 어려울 수 있다. 이때 개발자 포털은 전체적인 마이크로서비스 구조에 대한 통합된 시야를 제공한다.

개발자 포털의 또 다른 역할은 기업에서 사용하는 툴을 결합하는 표준 프레임워크를 제공한다는 점이다. 이를 통해 팀은 툴 채택을 자체적으로, 조직에서 재현 및 추적 가능한 방식으로 관리할 수 있다. 마지막으로, 개발자 포털을 사용해 일종의 범용 개발자 위키에 문서를 호스팅할 수 있다. 포털에 포함되는 경우가 많은 전체 텍스트 검색은 정보에 대한 범조직적인 액세스를 가능하게 해준다. 또한 경보 및 티켓 시스템 역할도 할 수 있다.

전반적으로 이 개념은 개발 팀의 작업을 포털로 최대한 집중하는 것이다. 이렇게 하면 필요한 부분이 생길 때 포털이 그 해결책을 찾기 위한 첫 번째이자 주된 장소가 될 수 있다. 문서화되지 않은 암묵적 지식으로 흐르기 쉬운 비공식적인 대화가 아닌 포털에 정보와 툴이 집결된다. 선임급 엔지니어와 경영진은 개발자 포털을 사용해 가이드를 제공할 수 있다. 개발자 포털은 조직이 개발자 자율성을 최대한 저해하지 않으면서 정책과 모범 사례를 수집하고 전파하기 위한 허브 역할을 한다.

정리하면 플랫폼 엔지니어링을 위해서는 내부 개발자 포털 및 이와 관련된 툴체인과 워크플로우를 구축해야 한다. 따라서 플랫폼 엔지니어는 개발자가 중앙집중식 지원 기능 및 경영진과 상호작용하기 위한 중앙 위치를 제공하는 동시에 개발자 자율성도 지원해야 한다.
 

플랫폼 엔지니어링 사례 : Backstage.io

백스테이지(Backstage.io)는 스포티파이(Spotify)의 오픈소스 개발자 플랫폼이다. 플랫폼 엔지니어링이 무엇인지 실제적으로 이해하는 데 유용하다. 백스테이지는 개발에 사용되는 다양한 툴, API 및 서비스를 위한 플러그 및 확장 가능한 프레임워크를 제공하는 웹 애플리케이션이다.

백스테이지 측은 “스포티파이는 항상 자율적인 개발 팀을 통해 속도와 독창성을 얻을 수 있다고 믿어왔다. 그러나 성장 속도가 빠를수록 소프트웨어 생태계는 더 단편화되고 복잡해진다는 사실을 경험을 통해 알게 됐다. 그런 다음 모든 것이 다시 느려진다”고 말했다. 그 대안인 백스테이지는 CI/CD 분야의 젠킨스(Jenkins)와 비슷한, 직접 구축 솔루션이다. 이 영역으로 진출하는 업체가 증가함에 따라 비슷한 기능을 가진 서비스형 소프트웨어(SaaS) 플랫폼도 더 많이 등장하게 될 것이다.

플랫폼 엔지니어링의 목표를 달성하기 위한 백스테이지의 4가지 주요 특징은 다음과 같다.
 
  • 중앙 위치에서 마이크로서비스, 라이브러리, 데이터 파이프라인, 웹사이트 등의 툴을 제어하기 위한 소프트웨어 카탈로그
  • 새 프로젝트를 위한 모범 사례와 템플릿을 정의 및 시행하기 위한 소프트웨어 템플릿
  • 중앙의 표준화된 문서 저장소인 테크독(TechDocs). (백스테이지는 이를 “코드 같은 문서(docs like code)” 접근 방법이라고 함)
  • 핵심 플랫폼의 기능을 확장하기 위한 플러그인

라이브 데모를 살펴보면 백스테이지에 대한 감을 잡을 수 있다.

백스테이지를 비롯한 개발자 포털의 중심에는 소프트웨어 카탈로그가 있다. 여기서 내부와 외부의 마이크로서비스를 구성하기 위해 사용되는 API를 일관된 형식으로 찾고 관리하고 활용할 수 있다. API는 조직의 모든 서비스, 서비스를 소유한 팀, 이 팀들 간의 상호작용에 대한 대시보드 시야를 손쉽게 얻기 위해 종속성의 망으로 모델링된다.

API 외에, 다양한 툴을 포털로 가져와서 각 툴이 지원하는 API와 관련해 오케스트레이션할 수 있다. 서클CI(CircleCI)와 같은 CI/CD 플랫폼, 깃허브와 같은 코드 저장소를 관련 프로젝트와 연결할 수 있다. 조직의 기술 환경을 포털로 가져와서 셀프 서비스 방식으로 포털을 사용하는 팀, 그리고 팀을 관리해야 하는 리더가 모두 액세스할 수 있도록 한다는 개념이다.

개발자 포털은  쿠버네티스와 서버리스, 가상 머신의 혼합 등 동종 스택과 여러 클라우드 제공업체에 걸쳐 배포되는 경우에도 무질서하게 확산한 복잡하고 마이크로서비스 아키텍처의 상태에 대한 시야를 제공한다.
 

플랫폼 엔지니어링의 미래

플랫폼 엔지니어링의 핵심 개념, 즉 전체 개발 수명 주기를 중앙화하고 관리하기 위한 표준화된 방법이 가진 중요성은 앞으로 계속 커질 수밖에 없다. 아직 초기 단계지만 플랫폼 엔지니어링은 많은 기업에서 데브옵스의 비전을 현실로 달성하는 데 실제 도움이 되고 있다.
editor@itworld.co.kr

회사명 : 한국IDG | 제호: ITWorld | 주소 : 서울시 중구 세종대로 23, 4층 우)04512
| 등록번호 : 서울 아00743 등록발행일자 : 2009년 01월 19일

발행인 : 박형미 | 편집인 : 박재곤 | 청소년보호책임자 : 한정규
| 사업자 등록번호 : 214-87-22467 Tel : 02-558-6950

Copyright © 2024 International Data Group. All rights reserved.