[reinvent 2024] AWS의 Backstage를 통해 개발자 경험 향상
Summary
개발자 생산성과 협업이 중요한 시대에는 Backstage 무대 뒤에서 게임 체인저입니다. 오픈 소스 프레임 워크를 사용하여 Backstage 뒤에서 클라우드 및 온 프레미스 인프라 도구 및 서비스에 통합 인터페이스를 제공하여 개발자 경험을 간소화합니다. Toyota가 플랫폼 엔지니어링 전략의 구성 요소로 Backstage 뒤에서 어떻게 활용하는지, 개발 워크 플로우를 변환하여 뛰어난 개발자 경험을 창출하는 방법을 알아봅니다.
리인벤트 2024 테크 블로그의 더 많은 글이 보고 싶다면?
Overview
들어가며
여러 도구와 복잡한 절차를 간소화 하여 개발자 들이 더 효율적으로 작업할 수 있도록 돕는 것이 핵심입니다.
그러기 위해 플랫폼 엔지니어링의 중요성을 인식하고, 개발자 포털 구축의 중요성을 이야기 합니다.
목차
목차는 아래와 같습니다.
- Backstage 소개
- Toyota의 플랫폼에 대한 생각
- Chofer 포털
- Backstage에서 생성형 AI
개발자 인지적 부담
개발환경이 필요 시 티켓을 등록하고 데이터베이스 인프라를 구축하는데, 몇달, 몇주의 시간이 걸리고 있습니다. 그러기 때문에 개발자들이 신속하고 셀프 서비스 인프라를 구축할 수 있어야 합니다.
DevOps 환경은 매우 복잡하며 대규모로 DEV 작업을 수행하는 환경에서 다들 이런 흐름을 따르고 있다고 합니다. 그래서 개발자 포털과 플랫폼으로 복잡함을 해결하고자 합니다.플랫폼을 추상화 하고 Self-service Interface를 제공해서 여러 작업을 간소화 하고 인지적 부담을 줄이려는 목표를 가집니다.
개발환경의 복잡성은 여러 가지 앱 배포 방법과 개발 프로세스 등을 통해 나타나며, 이로 인해 시간과 자원이 많이 소모가 됩니다.
Backstage
Backstage는 오픈 소스 프로젝트로서 플랫폼 위에 셀프 서비스 인터페이스를 구축하는데 탁월한 방법을 제공합니다. Backstage는 하나의 통합 환경을 제공함으로 써 복잡성을 줄이고, 모든 가시성 데이터를 한눈에 볼수 있게 하고, 중요한 정보도 즉시 확인 가능합니다.
Backstage 의 주요 플러그인은 4가지가 존재합니다.
- Software catalog
- Software template
- TechDocs
- Search
소프트웨어 카탈로그는 카탈로그 내에 있을 수 있는 모든 항목을 중앙 집중식으로 관리할 수 있는 좋은 방법입니다.
또 각 컴포넌트에 대한 구성요소에 대해서 소유권을 가지고 있으며, 각 구성요소와 시스템 간에 모델 종속성 관계를 가집니다.
소프트웨어 템플릿을 이용하여 셀프 서비스 인프라를 모범 사례로 구축할 수 있습니다.
백스테이지에서 제일 좋은 점을 좋은 검색이라고 이야기 하고 있습니다.정보도 검색할 수 있으며, OpenSearch 와 같은 자신만의 검색엔진을 구축할 수 도 있고 Wiki 같은 다른 소스의 컨텐츠가 연동할 수 있다고 합니다.
문서도 Markdown 형태로 작성하여 Git Repository에 올라가기 때문에 누가 문서를 작성하는지 추적이 가능하다고 합니다. 또 검색과 연동이 됩니다.
Backstage 아키텍처
플랫폼 팀에서 IAC 기반으로 Backstage를 운영하며, 각 개발팀과 빌더, 데이터 과학자들이 실제 플랫폼의 다양한 아이디를 추가할 수 있는 셀프 서비스 양식을 볼수 있습니다.
Toyota
Toyota 의 “최고인 것은 없고, 단지 더 나은 것은 없다” 라는 철학을 이야기 합니다.
Toyota의 학습 기회 4가지를 이야기 합니다.
- 유기적 성장
- 특정 요구에 맞게 구축
- 지역적으로 최적화된 수명 주기
- 수천 개의 애플리케이션
Toyota는 플랫폼을 위한 조직의 요소로 기술, 사람, 프로세스 3가지 꼽고 있습니다.
- 먼저 기술 관점에서, 개발자 포털, 골든 패스, 파이프라인, 생성형 AI 4가지를 이야기 합니다.
- 사람 관점은 계속적으로 기술을 따라 잡아야 하기 때문에 모범 사례를 사용하고, 빨리 배우고, 빨리 실패하면서, 의사소통도 잘되어야 한다고 이야기 합니다.
- 프로세스는 기획 및 시작, 관찰 가능성, 재무 운영, 규정 준수 및 감사 4가지를 이야기 합니다.
아래 사진과 같이 Chofer Portal 아키텍처를 보여줍니다.
결론
갈수록 개발은 복잡해지면 DevOps의 요구사항도 복잡해지고 있습니다. 그런 요구 사항에 발빠르게 대응하기 위해서는 백스테이지 같은 플랫폼이 필요로 하며, 그 플랫폼을 운영하기 위한 플랫폼 엔지니어링도 필요로 하다고 생각합니다.
국내에 아직 백스테이지를 적용한 사례가 많지는 않은 것으로 알고 있지만, 조만간 백스테이지를 도입하고자 하는 기업들이 점점 늘어날 것으로 보이므로, 우리도 이 흐름의 파도에 올라 탈 수 있게 준비해야 한다고 생각합니다.