아파치 메소스(Apache Mesos)는 클러스터 관리 시스템으로, 대규모 데이터 센터나 클라우드 환경에서 여러 서버 자원을 효율적으로 할당하고 스케줄링하기 위해 Apache Software Foundation에서 개발·유지보수하고 있다.
개요
- 목적: 물리적·가상적 컴퓨팅 자원을 추상화하여 단일 풀(pool)로 관리하고, 다양한 워크로드(예: 빅데이터 처리, 웹 서비스, 컨테이너 오케스트레이션)를 동시에 실행하도록 지원한다.
- 핵심 원리: 마스터‑에이전트(masters‑agents) 구조를 사용한다. 마스터는 전체 클러스터 상태를 파악하고 작업 스케줄링을 담당하며, 각 에이전트는 개별 호스트의 자원(CPU, 메모리, 디스크 등)을 보고한다.
- 주요 기능
- 리소스 격리: Linux cgroups, Docker, 및 Mesos Containerizer 등을 이용해 작업 간 자원 충돌을 방지한다.
- 다중 프레임워크 지원: Marathon, Chronos, Aurora 등 다양한 프레임워크가 Mesos 위에서 실행되며, 프레임워크는 자신이 필요한 자원을 마스터에게 요청한다.
- 고가용성: 다중 마스터 구성(Zookeeper 기반)으로 장애 조치(failover)가 가능하다.
역사
- 최초 버전은 2011년 오픈소스로 공개되었으며, 이후 0.28, 1.0, 1.11 등 여러 주요 릴리즈를 거쳐 현재는 1.x 라인에서 지속적으로 업데이트되고 있다.
- Apache 재단 프로젝트가 되기 전에는 Mesosphere(현재 D2iQ)에서 주도적으로 개발하였다.
어원
- 아파치(Apache): Apache Software Foundation의 이름을 차용한 표기.
- 메소스(Mesos): 그리스어 mesos (μέσος)에서 유래한 단어로 “중간” 또는 “중재자”라는 뜻이며, 클러스터 내 자원을 중재·조정한다는 의미를 반영한다.
활용 사례
- 대규모 데이터 처리 플랫폼(예: Apache Spark, Hadoop)에서 작업 스케줄러로 사용.
- 컨테이너 기반 서비스 인프라에서 Docker와 연동하여 마이크로서비스 배포를 관리.
- 기업 내부의 IT 클러스터에서 다중 워크로드를 동시에 운영하는 경우 자원 효율성을 높이는 데 활용.
관련 기술
- 쿠버네티스(Kubernetes)와 유사한 목적을 가지지만, Mesos는 다중 프레임워크를 동시에 운영하도록 설계된 것이 특징이다.
- Marathon: Mesos 위에서 실행되는 컨테이너 및 애플리케이션 오케스트레이션 프레임워크.
아파치 메소스는 오픈소스 프로젝트로서 Apache License 2.0 하에 배포되며, 전 세계 다양한 기업 및 연구기관에서 채택하고 있다.