Type 비영리 단체

US 미국 2009 201~1,000명
Apache Mesos

Themes

automationdata analytics

아파치 메소스는 오픈소스 분산 시스템 커널로, 원래 2009년에 캘리포니아 대학교 버클리에서 개발되었으며 이후 아파치 소프트웨어 재단에서 호스팅되었습니다. 메소스는 CPU, 메모리, 스토리지 같은 컴퓨팅 자원을 개별 머신에서 추상화하여, 대규모 클러스터 전반에 걸쳐 장애에 강하고 탄력적인 분산 시스템을 조직이 구축할 수 있도록 했습니다.

이 프로젝트는 대규모에서 데이터 집약적 워크로드를 실행하는 팀을 위해 설계되었고, 하둡, 스파크, 카프카, 엘라스틱서치, 도커를 포함한 주목할 만한 프레임워크들과의 통합을 지원했습니다. 아파치 메소스는 현재 사용이 중단되었지만, 분산 인프라의 자원 관리 계층으로서 활동하던 시기 동안 대기업과 기술 기업들에서 널리 채택되었습니다.

아파치 메소스는 어떻게 동작했나

아파치 메소스는 분산 시스템 커널로서 물리적 또는 가상 머신을 하나의 자원 풀로 추상화했다. CPU, 메모리, 스토리지 및 기타 컴퓨팅 요소를 클러스터 전반에서 공유 가능한 자산으로 취급했다. 이러한 추상화 덕분에 애플리케이션은 특정 하드웨어에 묶이지 않고도 확장할 수 있었다.

아키텍처는 자원 관리와 작업 스케줄링을 분리했다. 메소스는 하둡, 스파크, 카프카 같은 프레임워크에 자원을 할당하되, 그 자원을 어떻게 사용할지는 해당 프레임워크가 결정하도록 했다. 이러한 2단계 스케줄링 모델은 서로 다른 유형의 워크로드가 동일한 인프라에서 공존할 수 있게 해 주었다.

메소스 클러스터의 각 머신에서는 에이전트 프로세스가 실행됐다. 이 에이전트들은 사용 가능한 자원을 마스터 프로세스에 보고했고, 마스터는 이를 등록된 프레임워크에 제공했다. 프레임워크는 필요에 따라 제안을 수락하거나 거부할 수 있었으며, 이를 통해 자원을 동적이고 효율적으로 활용할 수 있었다.

핵심 기술 기능

메소스는 대규모 배포를 위해 설계되었고, 10,000개가 넘는 노드로 구성된 프로덕션 클러스터도 있었다. 병목을 최소화하는 분산형 아키텍처 덕분에 선형 확장성이 가능했다. 고가용성은 아파치 주키퍼를 사용해 조정하는 복제된 마스터와 에이전트를 통해 보장됐다.

자원 격리는 핵심 기능이었다. 메소스는 CPU, 메모리, 디스크, 포트, GPU에 대해 플러그형 격리 모듈을 지원했다. 또한 도커와 AppC 이미지 등 네이티브 컨테이너 지원을 제공하여, 추가 오케스트레이션 계층 없이도 격리된 환경에서 워크로드를 실행할 수 있게 했다.

이 시스템은 클러스터 운영, 모니터링, 애플리케이션 개발을 위한 HTTP API를 제공했다. 내장 웹 UI는 클러스터 상태, 자원 사용량, 작업 실행을 가시화해 주었다. 이러한 인터페이스 덕분에 메소스를 기존 도구와 워크플로에 더 쉽게 통합할 수 있었다.

  • 크로스 플랫폼 호환성 (리눅스, macOS, 윈도우)
  • 무중단 유지보수를 위한 비파괴적 업그레이드
  • 공정 공유 또는 우선순위 기반 스케줄링을 위한 플러그형 할당 정책
  • 클라우드 네이티브와 레거시 애플리케이션 모두 지원

개발과 커뮤니티

메소스는 주로 C++로 작성되었고, 파이썬, 자바 및 기타 언어로 된 더 작은 구성 요소들이 일부 포함됐다. 코드베이스는 GitHub에 호스팅되었으며, 5,300개가 넘는 스타와 1,600개가 넘는 포크가 누적됐다. 개발은 2024년까지 활발히 이어졌고, 해당 연도의 8월에 마지막 커밋이 이루어졌다.

이 프로젝트에는 310명의 기여자가 있었으며, 원래 제작자인 Benjamin Hindman(benh) 같은 핵심 인물과 Benjamin Mahler(bmahler), Vinod Kone(vinodkone) 등 다른 유지보수자도 포함됐다. 이 기여자들은 프로젝트가 학술적 기원에서 출발해 엔터프라이즈 도입으로 이어지는 과정에서 방향을 형성했다.

메소스는 Apache License 2.0을 따르며, 무료로 사용, 수정, 배포할 수 있었다. 프로젝트는 사용자와 개발 논의를 위한 메일링 리스트를 유지했으며, 코드 저장소에는 포괄적인 문서가 함께 제공됐다. 설치 가이드, 구성 세부 정보, 아키텍처 개요는 프로젝트 웹사이트에서 확인할 수 있었다.

레거시와 영향

활동 기간 동안 메소스는 대규모 데이터 처리 워크로드를 운영하는 기업들에 의해 채택됐다. 공유 인프라에서 이질적인 워크로드를 관리할 수 있는 능력은 다양한 애플리케이션 스택을 가진 조직에 적합했다. 아파치 오로라와 마라톤 같은 프레임워크는 메소스에서 실행하도록 특별히 구축되었다.

2024년 프로젝트의 은퇴는 아파치 소프트웨어 재단 산하에서의 공식 개발이 끝났음을 의미했다. 다만 그 개념은 분산 컴퓨팅의 이후 시스템들에 영향을 미쳤다. 클러스터 전반에 걸쳐 자원을 추상화한다는 아이디어는 현대 인프라 관리에서도 여전히 관련성이 높다.

메소스는 분산 시스템 커널이 대규모 운영을 어떻게 단순화할 수 있는지 보여 주었다. 더 이상 유지보수되지는 않지만, 그 설계 원칙과 기술적 기여는 클라우드와 데이터 센터 환경에서의 자원 관리에 관한 논의를 계속해서 이끌고 있다.

신고

연결