( 참고 : 알면 더 쉬운 도커 쿠버네티스 (곽영호, 황승준) )

1. 인프라 관리 트렌드의 변화

Contents

  • 1-1. 인프라 관리의 변화

  • 1-2. 소프트웨어 아키텍처의 변화

  • 1-3. 새롭게 변화된 상황에서 도커의 장점

1-1. 인프라 관리의 변화

  • (구) 서버 많이 깔린 DT에서 서버를 사거나/임대 + 네트워크 연결 + OS 설치 등…

  • (신) CLOUD의 등장!

    • 더 이상 DT에 가지 않아도, 단 몇분만에 서버 설치 가능!

    • 인프라를 software처럼 사용!

1-2. 소프트웨어 아키텍처의 변화

Monolithic 아키텍처 vs Microservice 아키텍처

figure2

( https://www.redhat.com/ko/topics/microservices/what-are-microservices )


Monolithic 아키텍처의 한계

  • 서비스에 관련된 모든 부분이 1개의 서버에 배치

  • 장/단점

    • 장점 ) 단순한 아키텍처

    • 단점 ) 기능 변경, 장애 발생 시 빠른 대응 어려움 & 자원의 낭비

      ( 대규모 트래픽으로 인해 서버 증설 필요 시, 전체를 증가시켜야! )

Microservice 아키텍처의 등장

  • 기능별로 물리적인 서버의 위치를 다르게 하기

    ( = 기능들을 “여러 서버로 쪼개서” 운영 )

  • 장점)

    • 소스,서버 등의 구성요소를 Monolithic보다 “가볍게 구성” 가능
    • 장애 발생시, 보다 쉽게 찾을 수 있음
    • 특정 기능에 대한 리소스만 늘리면 되기 때문에, 보다 효율적인 자원 사용

Microservice의 한계

  • 기능들이 서버 별로 분산 …. 너무 많은 서버를 유지/보수해야
  • 아키텍처 구성에 소요되는 시간 UP
  • 아키텍처의 복잡도 UP

1-3. 새롭게 변화된 상황에서 도커의 장점

trend

  • 클라우드의 대중화
  • 이에 따른 Microservice 아키텍처의 대중화

\(\rightarrow\) 물리적인 서버 공간을 기능별로 나눠서 운영하므로, 기하급수적으로 늘어나는 서버 관리해야!


기존 Solution : 가상화

  • Hypervisor를 통해 나뉘어진 Guest OS 관리
  • BUT, hypervisor를 거쳐야 하므로 무겁다 ( = 상황에 따라 완전한 속도 보장 X )

figure2

( https://lh3.googleusercontent.com/proxy/sEtc3l40T34CAY6trgwGIGfwSPfhkxMOTs9b4oq9LptkK19qYbFkwsUjFy7iwLGdOqKA6op5XNmyXCLuJErzC8V-TLZlHR8erJe2v5dw0fS_Mo1Rfbemi74-nA9BoDoo )


새로운 Solution : 도커

figure2

( https://www.weave.works/blog/a-practical-guide-to-choosing-between-docker-containers-and-vms )

  • Hypervisor를 거침으로 인해 생기는 성능 저하를 막기 위해!
  • 컨테이너 방식으로 구현
  • Hypervisor를 OS의 컨테이너 기술로 대체
  • 장점
    • 기존의 가상화처럼, Gust OS를 포함 X \(\rightarrow\) 속도 빠르고 용량 작음
    • 배포에 보다 용이
  • 컨테이너 가상화가 기존의 가상화를 빠르게 대체 중!
  • Linux 뿐만 아니라, 윈도우/MAC에서도 사용 가능

figure2