DC/OS(Data Center Operating System)는 하이브리드 및 에지 클라우드 인프라 및 플랫폼 구축이 가능하고, 이를 토대로 MSA(Micro Service Architecture), 인공지능, 빅데이터와 같은 서비스 어플리케이션을 위한 자원관리 환경 제공 및 구글의 쿠버네티스(Kubernetes)를 서비스로 제공하여 다양한 클라우드 환경을 지원하는 최고의 에지 컴퓨팅 분산처리 및 도커 오케스트레이션(Docker Orchestration) 솔루션이다.
현대 웹개발은 모노리틱(Monolithic) 방식 대신 마이크로서비스(Microservice)를 지향하는 방식을 지향하고 있음
- 단일 웹 어플리케이션이 아닌 여러가지의 서비스가 조합된, 어떻게 보면 더
복잡한 아키텍처일 수 있지만 이러한 문제점을 단순화하기 위함
- 다수의 장비 및 다수의 솔루션들이 복잡하고 다양한 커뮤니케이션에 의해 서비스되는 웹서비스의
아키텍처는 기존의 시스템 아키텍처로 커버하기는 어려운 점이 많은 상황
모노리틱 어플리케이션 특징
- 하나의 ear 또는 war안에 모든 내용이 들어가
있음.
- 재사용 가능한 부분은 sharing.jar와 같이
jar영역에 대해서만 재사용 가능
- 일년에 한두번 대규모 push 를 통한 업데이트
(못하는 경우도 많음)
- 500k 라인 이상의 코드
- heavyweight infrastructure
- 수없이 많은 테스트 케이스
- 대규모의 팀 규모
- 많은 버그 목록
이러한 모노리틱 어플리케이션을 H/W 장비마다 서비스를 구성하고, 여러 사용자를 대응하기
위하여 다수의 장비를 구성하는 경우는 대응이 가능할지라도
-> 그 이상의 서버를 설정하는 것은 매우 노동집약적 힘든 중노동이 될 수 있다.
-> 또한 이러한 환경의 가용성(HA)을 높이기 위하여 수많은 안정성 테스트 및 소스
개발.배포 등도 매우 복잡해 질 수 있다.
[
빅데이터 처리를 위한 장비 아키텍처 발전사]
이러한 문제점을 해결하기 위해
-> Amazon이나 Google Cloud와 같은
인프라를 이용하거나,
-> 관리 용이성을 위하여 Docker와 같은 container 기반의 인프라를
통한 Modern Web Application 을 개발
요구하는 기능
- 수많은 서버장비에 자신이 원하는 서비스 및 기능을 손쉽게 설치하고,
관리하고,
- 특정 서버가 죽으면, 자동으로 해당 서비스를 다른 서버로
이동해주고,
관련 솔루션
- Apache 오픈소스 진영에서 개발되어 가장 많은 사용자 지원을
받고 있는 Mesos 및 DCOS
STATIC PARTITIONING to ELASTIC SHARING
- DC/OS는 Data Center OS 즉 Data Center와 같이 대규모 서버 환경을 하나의
OS처럼 관리 목적으로 개발.
- 여러 서버 환경을 하나의 자원처럼 관리하기 위해서는 기존의 정적 파티션 개념에 의한 고정된 자원
분배개념이 아닌 유연한 공유(Elastic sharing)에 의한 각 서버 자원의 자유로 효율적인 사용이 주요 이슈이며 이를 OS처럼 손쉽게
처리하기 위한 목적
대부분 기업 인프라는
기존(일반적인 방법) : 정해진 하드웨어 장비에 정해진 솔루션만 설치하여 이용하는 방법을 사용
정적파티션 큰 단점
즉 하나의 하드웨어나 솔루션에 문제가 생기면 전체시스템의 문제로 발생되고
시스템 자원이 효과적으로 이용하기 어렵기 때문에
자원낭비가 발생합니다.
이러한 문제점을 해결하기 위하여 동적 공유를 통해 자원을 자동적으로 분배하는 기술이
필요
즉 여러 물리적 하드웨어 장비를 커널 레벨에서 하나의 자원처럼 관리하는 클러스터링 관리자가 필요했고 이러한 역할을 하는
것이 Apache Mesos 로 개발 및 발전
[아키텍처별
자원 파티셔닝 구조도]
Apache Mesos 특징
l 어플리케이션
리소스 관리 및 스케줄링
l분산시스템
커널
l10000개
노드까지 확장가능
l기본
Docker 지원
l multi-tenancy
l fault-tolerance,
HA
l 확장성
DCOS는 커널레벨에서 분산환경을 지원하는 mesos를 좀더 매끄럽고 유연하게
마치 하나의 컴퓨터를 다루듯이 분산 Datacenter의 자원을 손쉽게 관리하고
kafka 및
spark 등 여러 데이터 서비스를 손쉽게 설치 및 관리가 가능하도록 하는
마이크로 서비스 환경에 최적화된
운영체계임
DCOS를 쓰면 기존 장비 효율성을 4배로 향상시켜줄 수 있으며,
자동화된 스케쥴러 및 워크로드 다중 처리는 손쉽게 데이터센터 를 다룰 수 있습니다.
DC/OS 특징
다양한 실행환경
사내 서버들에 적용할 수 있으며, Amazon,Azure등 클라우드 환경에도 적용할 수
있음
강력한 리소스 관리
메모리,CPU,네트워크 자원에 대해 각 서버마다 작업부하를 조정할 수 있으며,
리소스 공유를 통해 자원 활용도를 높임
가상 네트워크 오버레이
가상 IP를 컨테이너 마다 부여하고 동적으로 할당 및 조정이 가능하여 완벽한 가용성을
제공
동적분산 로드밸런싱
트래픽 과부하 상태에 따라 자동 로드 밸런싱
자가 치유 인프라스트럭처
부하 장애시 자동 감지 자동복구
무중단 업그래이드
전체적 서비스 중단없이 서비스 배포 및 업그래이드가 가능
UNIVERSE
DCOS의 강력한 기능으로 스마트폰의 google play 앱스토어처럼
DCOS환경용 어플리케이션을 손쉽게 설치하고 업그레이드 할 수 있음
[DCOS 환경에서 손쉽게 설치할 수 있는 각종 어플리케이션]
활용범위