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

+ Recent posts