쿠버네티스는 플랫폼 구축을 위한 플랫폼입니다. 그러나 Kubernetes 플랫폼 엔지니어링 이니셔티브가 항상 성공을 보장하는 것은 아닙니다. 또한 초기 예산을 초과할 가능성도 높습니다. 왜 그럴까요? Kubernetes 기반 플랫폼을 구축하는 것은 쉬운 일이 아니기 때문입니다!
플랫폼 엔지니어링에는 다양한 도구와 기술이 포함되며, 이를 설정하고 유지 관리하는 데 많은 시간과 노력이 소요될 수 있습니다. 이로 인해 플랫폼 팀은 플랫폼의 기술적 측면에만 집중하여 플랫폼이 제공해야 할 가치(개발자의 인지 부하 감소 및 섀도 플랫폼화 방지)를 놓치는 경우가 종종 있습니다.
설계(0일차) 단계와 구축(1일차) 단계를 건너뛰고, Kubernetes 기반 플랫폼의 유지 관리(2일차) 시간을 단축하는 대신 20분 이내에 바로 사용할 수 있는 플랫폼을 제공할 수 있다면 어떨까요? 혁신이 시작되었습니다. Akamai App Platform in GA를 사용하면 20분 이내에 LKE 클러스터를 프로비저닝하고 컨테이너화된 애플리케이션의 구축, 배포, 보안, 관측, 관리를 시작할 수 있습니다. 추가 비용이 들지 않습니다!
Akamai 앱 플랫폼이란?
Akamai App Platform은 버튼 클릭 한 번으로 활성화할 수 있는 고도로 통합되고 사전 구성된 오픈 소스 Kubernetes 프로젝트 스택으로, Kubernetes 사용 시 가장 일반적인 작업에 대한 간편한 개발자 셀프서비스 기능과 결합되어 있습니다.
이 두 가지 측면에 대해 좀 더 자세히 살펴보겠습니다.
통합되고 사전 구성된 오픈 소스 Kubernetes 프로젝트 스택
Kubernetes만으로는 빈 데이터 센터와 같습니다. 모든 애플리케이션을 배포하기 위해 Kubernetes 클러스터를 스핀업하고 kubectl apply 명령을 실행하는 것만큼 간단하다면 말입니다. 아니요, 통합 가시성, 네트워크 암호화, 정책 시행, 스토리지, 네트워크 정책, 네트워크 게이트웨이, 비밀 관리, GitOps, 자동화, 심지어는 자체 운영자 구축 등 수많은 추가 기능이 필요합니다.
업무에 적합한 도구를 선택하고, 이러한 도구를 익히고, 제 역할을 하도록 구성하는 것은 시간이 많이 걸리는 작업입니다. 그리고 이러한 도구에 종속성이 있고 함께 작동해야 하는 경우에는 더욱 복잡해집니다. 그렇기 때문에 초기 설정에 최소 6개월 이상의 시간이 소요되는 기업도 있습니다.
Akamai App Platform의 경우, Kubernetes 플랫폼에 필요한 거의 모든 기능을 위한 툴(오픈 소스 소프트웨어)을 선택하고 통합 프레임워크를 사용하여 이를 결합했습니다. 프레임워크에 추가된 툴은 다른 툴과 결합할 수 있습니다. 연결된 도구는 지속적 배포 파이프라인, 맞춤형 K8s 런타임 및 GitOps 배포 패턴을 제공합니다. 모든 도구는 가장 일반적인 사용 사례를 지원하고 원활한 사용자 경험을 제공하도록 사전 구성됩니다. 사용되는 도구는 거의 모든 CNCF 졸업 및 인큐베이팅 프로젝트에서 안정적이고 프로덕션 환경에서 성공적으로 사용되고 있는 것으로 간주됩니다. 가장 일반적으로 알려진 도구는 컨테이너 레지스트리 서비스 제공을 위한 Harbor, 컨테이너 레지스트리 서비스 제공을 위한 Argo CD, GitOps를 위한 Gitea입니다, Prometheus (메트릭스용), Kyverno (보안 정책용) 등이 있습니다.
간편한 개발자 셀프 서비스
필요한 모든 기능이 설정되면 플랫폼 관리자는 Akamai 앱 플랫폼에서 '팀'이라는 것을 만들 수 있습니다. 팀은 플랫폼에서 격리된 테넌트입니다. 팀의 구성원은 소스 코드 리포지토리 등록, 컨테이너 이미지 구축, 이미지 배포, 시크릿 생성, 애플리케이션 공개 노출, 네트워크 정책 생성, 로그, 지표, 추적을 확인할 수 있는 공유 플랫폼 기능에 액세스할 수 있는 셀프서비스 포털에 액세스할 수 있습니다. 셀프 서비스 양식은 플랫폼 엔지니어링에 경험이 적은 개발자도 쉽게 시작할 수 있는 낮은 진입 수준을 제공합니다.
하지만 셀프 서비스 포털의 가장 강력한 기능 중 하나는 아마도 카탈로그일 것입니다. 카탈로그는 개발자가 애플리케이션을 배포하는 데 사용할 수 있는 Golden Path 템플릿 모음입니다. App Platform을 처음 설치하는 동안 카탈로그에는 배포를 생성하기 위한 시작하기 템플릿 세트가 미리 채워져 있습니다. Redis 클러스터, PostgreSQL 클러스터 및 RabbitMQ 클러스터를 배포할 수 있습니다. 미리 채워진 템플릿은 사용자 지정하거나 조직별 템플릿으로 대체할 수도 있습니다. 이를 통해 모범 사례를 공유하고 애플리케이션 배포 방식을 표준화할 수 있습니다.
아키텍처
Akamai 앱 플랫폼은 GitOps와 CaC(구성 코드) 원칙의 조합을 기반으로 합니다. GitOps는 인프라 및 애플리케이션 배포를 위한 단일 소스인 Git 리포지토리를 사용하여 지속적인 전송 및 배포를 가능하게 합니다. 반면 CaC는 애플리케이션 및 환경 구성을 코드로 정의하고 버전 제어에 저장하는 방식입니다. 플랫폼의 핵심은 플랫폼 API입니다. API는 Git 리포지토리에 저장된 CaC를 관리합니다. Kubernetes 운영자는 주기적으로 Git 리포지토리에서 변경 사항을 가져오고, 모든 파일을 하나의 데이터 블롭으로 컴파일하고, Argo CD 애플리케이션 매니페스트를 렌더링한 다음, 이를 Kubernetes 클러스터에 배포합니다. 업데이트된 Argo CD 애플리케이션은 Argo CD 컨트롤러에 의해 선택되고 해당 값과 함께 요청된 헬름 차트를 배포합니다.
코드 구성 Git 리포지토리에는 인프라(클러스터에 배포된) 및 플랫폼 애플리케이션의 특정 구성에 대한 구성이 모두 포함되어 있습니다. Keycloak (ID 및 액세스 관리용), Harbor (자체 호스팅 컨테이너 레지스트리 서비스), Gitea (자체 호스팅 Git 서비스)와 같은 플랫폼 애플리케이션의 구성 변경은 애플리케이션 API를 활용하여 사용자 정의 구축된 Kubernetes 운영자에 의해 배포됩니다.
예를 들어 보겠습니다: 플랫폼의 팀이 비공개 컨테이너 레지스트리를 사용하기를 원하기 때문에 플랫폼 관리자가 셀프 서비스 포털을 사용하여 Harbor를 사용 설정합니다. 플랫폼 API는 먼저 CaC Git 리포지토리에서 필요한 변경을 수행합니다. Harbor가 활성화되면 새로운 Argo CD 애플리케이션 매니페스트가 렌더링되고 배포되어 Harbor, (CloudNativePG) PostgreSQL 데이터베이스 및 플랫폼 Harbor 운영자를 설치합니다. 플랫폼 Harbor 운영자가 실행 중이면 Harbor를 구성하기 위한 구성 지침을 받습니다. 이 경우 운영자는 플랫폼의 모든 팀에 대한 프로젝트를 만들고, OIDC를 구성하고, 로봇 계정을 만들고, 팀의 네임스페이스에 푸시 및 풀 시크릿을 만듭니다. 몇 분만 지나면 모든 팀이 Harbor에서 프로젝트에 액세스할 수 있으며 셀프 서비스 포털을 사용하여 Harbor에 자동으로 저장되는 컨테이너 이미지를 만들 수 있습니다.
Akamai 앱 플랫폼은 누구를 위한 플랫폼인가요?
솔직히 말씀드리겠습니다. 위의 예시는 Akamai 앱 플랫폼을 통해 단 몇 분 만에 완전 자동화된 컨테이너 레지스트리 서비스를 구축하는 방법을 보여줍니다. 이 작업을 수동으로 수행하려면 엄청난 작업이 필요합니다. 내부 플랫폼을 구축하는 대신 고객 가치 제공에 더 중점을 두는 기업이라면 Akamai App Platform이 적합합니다. 좀 더 구체적으로 말씀드리자면, 중소규모 SaaS 기업과 같이 빠르게 변화하는 소프트웨어 기업에 가장 적합한 솔루션이 바로 Akamai App Platform입니다.
Akamai 앱 플랫폼을 사용해야 하는 이유
Akamai 앱 플랫폼은 Kubernetes 플랫폼에 필요한 모든 기능을 제공합니다. 또한 모든 기능이 사전 구성되고 완전히 자동화된 방식으로 제공됩니다. 따라서 App Platform은 운영 환경에서 컨테이너화된 마이크로서비스 아키텍처를 구축, 배포, 모니터링, 보호하는 데 이상적인 플랫폼입니다.
하지만 Akamai 앱 플랫폼은 그 이상의 용도로도 사용할 수 있습니다. LKE에 플랫폼을 자동으로 설치할 수 있기 때문에 약 10분 이내에 플랫폼 사용을 시작할 수 있습니다. 또한 이 플랫폼은 포괄적인 CNCF 졸업 및 인큐베이팅 프로젝트와 함께 제공되므로 교육 목적에 이상적입니다.
여기서 다루지 않은 한 가지 주제는 멀티 테넌시입니다. 플랫폼의 Teams 기능을 사용하여 동일한 클러스터에 무제한(여기서는 필수 클러스터 리소스를 고려하지 않음) 테넌트를 온보딩할 수 있습니다. 각 팀은 플랫폼에서 자체 격리된 공간을 확보하고 공유 애플리케이션에 자동으로 온보딩됩니다(앞서 예로 든 Harbor와 같은).
개발자가 Kubernetes를 사용하고 싶지만 어디서부터 시작해야 할지 모르겠다면 Akamai App Platform을 사용해 보세요. 원하는 기능을 활성화하고 개별 개발자, 프로젝트 또는 전체 개발자 팀을 위한 팀을 만들어 보세요. 경우에 따라서는 Akamai 앱 플랫폼이 이상적인 플랫폼이 아닐 수도 있습니다. 하지만 그런 경우에도 참조 아키텍처로 사용할 수 있습니다.
다음 단계는 무엇인가요?
이제 Akamai App Platform이 정식 버전으로 출시되었다고 해서 모든 것이 끝난 것은 아닙니다. Kubernetes 관련 기술이 빠른 속도로 발전하고 있을 뿐만 아니라 더 나은 사용자 경험을 위해 개선해야 할 사항이 여전히 많이 남아 있습니다. 앞으로 몇 차례에 걸쳐 셀프 서비스 포털의 일부 업데이트를 시작으로 몇 가지 업데이트를 출시할 예정입니다. 이미 Akamai App Platform을 실행 중인 경우 포털의 플랫폼 대시보드에 업데이트가 자동으로 공지됩니다.
또 다른 흥미로운 작업은 AI 추론 및 검색 증강 생성(RAG)과 같은 몇 가지 핵심 AI 기능을 통합하는 것입니다. 이러한 기능은 대규모 언어 모델(LLM) 실행과 같은 AI 셀프 서비스 기능을 강화하고, 플랫폼에 배포된 LLM을 사용할 수 있는 Teams 액세스 권한을 제공하며, 벡터 데이터베이스를 배포하고, 문서, 데이터 및 기타 정보 모음을 기반으로 벡터 데이터베이스에 임베딩을 만들어 대규모 언어 모델(LLM)이 응답을 향상하는 데 사용할 수 있는 지식 기반(RAG)을 만드는 데도 사용될 것입니다.
앱 플랫폼을 시작할 준비가 되셨나요? 설명서를 읽어보세요.

내용