Alpine Linux 배포는 소수의 사용자만 배포하는 작은 프로젝트로 시작되었습니다. 오늘 날, 베어 메탈과 컨테이너 기반 솔루션 모두를 위한 성숙하고 현대적이며 가벼운 솔루션으로 성장했습니다. Docker 컨테이너 인프라에서 가장 많이 사용되는 배포 중 하나입니다.
패키지 매니저와 같은 핵심 도구의 작은 크기와 인상적인 성능 때문에 Carlo Landmeter, Kevin Daudt, 및 Natanael Copa가 이끄는 Alpine Linux Working Group은 다양한 하드웨어 아키텍처(아치)에 대한 요청이 증가하고 있습니다.
Docker Alpine Linux를 "비공식" 기본 리눅스 배포판으로 발표할 즈음에 아치에 대한 요청은 더욱 더 급증했습니다.열정적인 개발자들은 늘어나는 수요를 충족하기 위해 노력해야 했습니다. 이 팀은 처음에는 x86 및 x86_64(amd64)를 지원하는 리소스만 있었지만 이제는 메뉴에서 ppc64le, s390x 및 mips64를 갖춘 ARM 아키텍처(32비트 및 64비트)를 제공합니다.
이러한 성장으로 Alpine Linux 팀은 팀이 손쉽게 관리할 수 있는 것보다 많은 일을 떠맡게 되었습니다. Carlo는 "지난 몇 년 동안 시스템을 제대로 유지하는 것이 점점 더 어려워지고 있다는 것을 알게 되었다"면서 "이러한 아키텍처의 대부분은 자체 컴퓨터가 필요하며 개발자들에게 모든 아키텍처에 대한 액세스를 제공하는 것이 어려울 때가 있습니다. 이러한 아키텍처 중 일부는 일반적이지 않거나 액세스하기가 매우 어렵습니다."라고 했습니다.
현재의 상황은 지속 가능하지 않다는 것을 깨달은 후, 팀은 몇 가지 변경이 필요하다고 결정했습니다. 개발 플랫폼을 전환하고 자체 호스팅 GitLab 인스턴스로 마이그레이션하여 8개의 아키텍처에 대해 CI를 구현하고 DevOps 주기에 하나의 도구를 사용하는 것이 보다 간편해졌습니다. Alpine Linux의 베어 메탈 스폰서가 각 아키텍처에 전용 CI 서버를 배치하는 데 도움을 주어, 코드 품질과 빌드 문제를 크게 차별화시키게 되었습니다.
그 다음 Alpine Linux는 다음 새로운 인프라 아이디어를 호스팅 하기 위해 Alpine Linux를 편리하게 운영체제로 제공하는 몇 안 되는 호스팅 공급자 중 하나인 Linode를 선택하였습니다. Linode를 이용함으로써 Alpine Linux는 다음과 같은 4대 기본 인프라 원칙을 여전히 견지하면서 발전해 나갈 수 있게 되었습니다.
- 내 개밥 먹기(즉, 컨테이너화한 Alpine 기반 GitLab을 Linode 인프라에서 완전하게 실행한다는 뜻).
- 벤더 종속 방지.
- 가능한 독립적일 것.
- 가능한 투명할 것.
앞날을 내다보며 Alpine Linux는 인프라 원칙을 뒷받침하기 위해 Linode를 이용할 수 있는 방법에 대한 보다 많은 아이디어가 있습니다. 그 첫 번째는 코드로서의 인프라입니다. Linode의 API를 연구한 후, Alpine Linux는 GitLab 워크플로우를 구현하고 CI/CD를 사용하여 인프라를 Linode에 위치한 컨테이너로 컨테이너로 푸시하는 완전 자동화 프로세스에 대한 비전을 수립했습니다. 이 프로세스로 Alpine Linux의 개발자들은 현재 인프라의 훨씬 더 투명한 개요에 액세스할 수 있게 되며, 커뮤니티 기여도 훨씬 쉬워질 것입니다.
Linode의 지원 및 호스팅 역량을 갖춤으로써 Alpine Linux는 새로운 지평을 열고 있으며 동시에 그 핵심 원칙에 대한 약속은 꾸준히 지킬 수 있게 되었습니다. Carlo의 말대로 “완벽한 조합”입니다.