12월 중순, 아마존 웹 서비스(AWS)는 Red Hat Enterprise Linux 기반의 자체 커스텀 운영체제인 Amazon Linux 2의 릴리스 후보(Release Candidate) 버전 공개를 발표했습니다. 이 OS는 5년간의 지원과 함께, 사용자들이 AWS 컴퓨팅 기술을 직접 테스트하고 더 큰 관심을 가질 수 있도록 돕는 여러 현대적인 기능을 갖추고 있습니다.
흥미롭게도 AWS는 AL2를 가상 머신 어플라이언스 형태로도 배포하여, AWS 환경 밖에서도 테스트할 수 있도록 했습니다. 바로 이 지점이 이 글의 출발점입니다. 저는 VirtualBox용 VDI 이미지를 내려받아 가상 머신을 구성한 뒤, 무엇을 어떻게 확인할 수 있는지 하나씩 살펴보았습니다. 그럼 시작해 보겠습니다.
첫인상
VDI를 내려받아 Red Hat 계열 머신으로 설정하고 일반적인 옵션들을 구성한 후 부팅했습니다. 약 30초간 빠르게 흘러가는 텍스트가 지나간 뒤 로그인 프롬프트가 나타났습니다. 물론 텍스트 모드이며 GUI는 없습니다. AWS에서는 EC2 AMI에 SSH 자격 증명으로 로그인하면 되지만, 여기서는 조금 다른 방식이 필요합니다. 절차가 다소 번거로워서 별도로 다루겠습니다. 일단 로그인할 방법이 있다고 가정합시다. 온라인에서 바로 쓸 수 있는 root나 ec2-user의 아이디/비밀번호 조합은 찾을 수 없었고, 약간의 삽질(?)을 거쳐야 했습니다.


이제 시스템은 여러분이 자유롭게 사용하고 제어할 수 있습니다. 시스템 업데이트, 패키지 설치 등 모든 작업이 가능합니다. AWS 환경의 일부가 아니라는 점에서 다소 밋밋할 수 있지만, 커널, systemd, 그리고 몇 가지 커스텀 패키지를 클라우드 호스팅 비용 없이 설치하고 실험할 수 있으므로 상당히 매력적인 테스트베드입니다.


기본적으로 /opt/aws 디렉터리 아래에는 소수의 Amazon 도구만 포함되어 있습니다. aws-apitools-ec2, aws-apitools-elb 같은 추가 패키지는 직접 설치해야 합니다. 그래도 일단 동작은 하므로, 이 구성이 허용하는 범위 안에서 자유롭게 만져보고 튜닝을 시작할 수 있습니다.



과연 좋은 선택일까?
흥미로운 질문입니다. 엔터프라이즈 리눅스 시장은 Red Hat이 주도하고 있으며, 그 뒤를 CAD 및 슈퍼컴퓨팅 분야에서 강세를 보이는 SUSE가 따르고 있습니다. Ubuntu가 근소한 차이로 3위를 차지하고 있으며, 그 외에는 대부분 Red Hat 기반의 다양한 엔터프라이즈 배포판들이 존재합니다.
주요 업체들은 엄격한 ABI 보장(Debian처럼 호환성이 깨지는 일이 없음)과 10년, 경우에 따라 그 이상의 지원을 내걸고 시스템을 제공합니다. Amazon 역시 LTS 버전을 약속하고 있으며, 이는 아마 10년에 가까운 긴 지원을 의미할 것입니다. 자세한 내용은 뒤에서 다루겠습니다. 게다가 환경 관리를 쉽게 해주는 다양한 지원 도구들도 함께 제공됩니다. 다만 이는 곧 벤더에 대한 종속성을 높인다는 의미이기도 한데, 이 부분은 별도 글에서 논의하겠습니다. 대부분의 기업은 이미 RHEL과 SLES 위에 오랜 세월 쌓아온 애플리케이션과 인프라를 보유하고 있어서, 변경은 쉽지 않고 즉각적이지도 않습니다. 아니면 아예 불가능할 수도 있습니다.
하지만 Amazon Linux 2는 RHEL 기반이므로 전환이 다소 수월할 수 있고, AWS 환경의 기본 시스템이면서 무료로 제공된다는 점에서 장기적인 관점은 분명 매력적입니다. 전형적인 '닭이 먼저냐, 달걀이 먼저냐'의 문제죠. 향후 6년에 걸쳐 모든 것을 새 운영체제로 포팅하는 비용이 클까요, 아니면 같은 기간 동안 기존 리눅스의 프리미엄 엔터프라이즈 지원 비용을 지불하는 것이 클까요? 거기에 서버 23,000대를 곱한다면요.
AWS 입장에서는 잃을 것이 없습니다. 아무도 이 OS를 채택하지 않더라도 고객들은 여전히 클라우드에서 연산 자원을 사용하며 비용을 지불하고, 그 가격에는 이미 각종 라이선스 오버헤드가 포함되어 있습니다. 반면 사용자들이 이 시스템을 받아들이면, 더 단단한 고객 종속(lock-in)이라는 이익을 얻게 됩니다.
그렇다면 실제 사용자에게 좋을까요? 이것이 진짜 질문입니다. Amazon은 기존 엔터프라이즈 업체들과의 차별화 요소를 제공해야 한다는 것을 잘 알고 있습니다. 그렇지 않으면 문자열 몇 개 바뀐 것 말고는 장점이 없습니다. 그래서 등장한 것이 커널 4.9입니다. 기존 엔터프라이즈 배포판들보다 수년 앞선 기술이지만, 동시에 프로덕션 용도로는 아직 완전히 부적합합니다. 5~6년 후에는 적합해질 텐데, 그 무렵이면 Amazon Linux를 테스트하던 사람들은 이미 이 기술에 익숙해져 있을 것입니다.
두 번째 카드는 성능입니다. Amazon이 자사 리눅스를 최적화해 RHEL(또는 타 배포판)보다 프로세서에서 더 많은 성능을 끌어낼 수 있다면, 성능에 민감한 고객이나 미세한 속도 차이가 곧 수익으로 이어지는 대규모 환경의 고객들을 끌어들일 수 있을 것입니다.
하지만 잠깐...
FAQ 페이지를 읽어보면 LTS 이미지는 단 5년만 지원되며, 커널 스페이스 ABI를 깨뜨릴 것이라고 명시되어 있습니다. 따라서 이 부분은 상당히 까다로울 수 있습니다. 물론 Amazon이 전통적인 엔터프라이즈 계층이 아닌, 전혀 다른 유형의 고객을 겨냥하고 있을 가능성도 충분히 있습니다. 두고 볼 일입니다.
결론
지금까지의 Amazon Linux 2는, 익숙함과 새로움을 소심하게 섞어 놓은 새 운영체제에 대한 비교적 순조롭고 쉬운 입문서라고 할 수 있습니다. 아마 그것이 목표일 것입니다. 너무 급진적인 제품은 처음부터 모두를 겁먹게 만들 테니까요. Amazon Linux 2는 매력적인 개념입니다. Red Hat이 아직 완벽하게 내주지 못한 것, 즉 Fedora류의 최첨단 기술과 메인스트림 엔터프라이즈 제품의 안정성 및 장기 지원을 동시에 제공하니까요. 하지만 동시에 ABI를 깨뜨리는 Debian/Ubuntu식 행보를 보이고 있어, 변화를 즐기는 사람들에게나 어울릴지도 모릅니다.
대규모 HPC 세계에서 오랜 세월 몸담아 온 사람으로서, 이것이 어떻게 발전할지 무척 궁금합니다. 성능, 안정성, 사용 편의성이 저의 주요 관심사입니다. 그리고 원격 가상 머신을 EC2 허브에 연결할 수 있을까요? 이것도 하나의 실험이며, 분산 네트워크를 통한 확장과 배포가 원활하게 작동하는지 확인해 보고 싶습니다. 어느 쪽이든, 결실이 없더라도 Amazon Linux 2는 훌륭한 모험의 시작이 될 수 있는 좋은 출발점입니다. 아니면 우리가 '리눅스'라고 부르는 파편화된 가족의 또 하나의 자식일 뿐일지도 모르죠. 시간이 답을 줄 것입니다. 자, 이제 클라우드로 떠나보시죠.
그럼, 이만.