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 환경에서 손쉽게 설치할 수 있는 각종 어플리케이션]
활용범위
-
개인화 서비스 기계학습, IoT 신속한 서비스 개발 및 배포
-
마이크로 서비스 아키텍처 웹 개발
-
대규모 사용자 서비스 지원
-
Private/Public Cloud 혼용을 위한 Hybrid Cloud 환경
-
손쉬운 GPU 기반의 AI 환경 구성
-
빅데이터 처리
'정보관리기술사 도전 > 용어 정의' 카테고리의 다른 글
CI/CD(Continuous Integration / Continuous Deployment) (0) | 2018.11.20 |
---|---|
멀티테넌시(Multitenancy) (0) | 2018.11.20 |
깃허브(GitHub) (0) | 2018.11.19 |
Git (0) | 2018.11.19 |
Subversion (0) | 2018.11.19 |