( 참고 : 알면 더 쉬운 도커 쿠버네티스 (곽영호, 황승준) )
1. 인프라 관리 트렌드의 변화
Contents
-
1-1. 인프라 관리의 변화
-
1-2. 소프트웨어 아키텍처의 변화
-
1-3. 새롭게 변화된 상황에서 도커의 장점
1-1. 인프라 관리의 변화
-
(구) 서버 많이 깔린 DT에서 서버를 사거나/임대 + 네트워크 연결 + OS 설치 등…
-
(신) CLOUD의 등장!
-
더 이상 DT에 가지 않아도, 단 몇분만에 서버 설치 가능!
-
인프라를 software처럼 사용!
-
1-2. 소프트웨어 아키텍처의 변화
Monolithic 아키텍처 vs Microservice 아키텍처
( 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 )
( https://lh3.googleusercontent.com/proxy/sEtc3l40T34CAY6trgwGIGfwSPfhkxMOTs9b4oq9LptkK19qYbFkwsUjFy7iwLGdOqKA6op5XNmyXCLuJErzC8V-TLZlHR8erJe2v5dw0fS_Mo1Rfbemi74-nA9BoDoo )
새로운 Solution : 도커
( https://www.weave.works/blog/a-practical-guide-to-choosing-between-docker-containers-and-vms )
- Hypervisor를 거침으로 인해 생기는 성능 저하를 막기 위해!
- 컨테이너 방식으로 구현
- Hypervisor를 OS의 컨테이너 기술로 대체
- 장점
- 기존의 가상화처럼, Gust OS를 포함 X \(\rightarrow\) 속도 빠르고 용량 작음
- 배포에 보다 용이
- 컨테이너 가상화가 기존의 가상화를 빠르게 대체 중!
- Linux 뿐만 아니라, 윈도우/MAC에서도 사용 가능