본문 바로가기

개발 관련/Docker

1장. 컨테이너 인프라 환경이란?

컨테이너 인프라 환경은 컨테이너를 중심으로 구성된 인프라 환경이다.

여기서 컨테이너(container)란, 하나의 운영 체제 커널에서 다른 프로세스에 영향을 받지 않고 독립적으로 실행되는 프로세스 상태를 의미한다.

 

💡 모놀리식 아키텍처(monolithic architecture) vs. 마이크로서비스 아키텍처(MSA; Microservices Architecture)

모놀리식 아키텍처는 하나의 큰 목적이 있는 서비스 또는 애플리케이션에 여러 기능이 통합돼 있는 구조를 의미한다.

소프트웨어가 하나의 결합된 코드로 구성되기 때문에 초기 단계에서 설게하기 용이하며 개발이 좀 더 단순하고 코드 관리가 간편하다.

하지만 서비스 운영 중 수정이 많은 경우, 어떤 서비스에서 이뤄진 수정이 연관된 다른 서비스에 영향을 미칠 가능성이 커진다.

 

마이크로서비스 아키텍처는 시스템 전체가 하나의 목적을 지향하는 바는 모놀리식 아키텍처가 동일하다.

하지만 개별 기능을 하는 작은 서비스를 각각 개발해  연결하는 데서 그 차이를 보이며, 서비스들이 독립적으로 동작할 수 있는 완결된 구조다.

때문에 서비스 재사용이 쉽고, 향후 서비스가 변경됐을 때 다른 서비스에 영향을 미칠 가능성이 줄어들며 특정 서비스만 확장 가능하다. (IaaS 환경에 적합 - 요구 사항에 따라 가용성 즉각적으로 확보)

모놀리식 아키텍처보다 복잡도가 높다.

출처 - https://www.techtarget.com/whatis/definition/monolithic-architecture

소규모 프로젝트여도 마이크로서비스 아키텍처로 설계하면 기능에 집중한 안정적인 서비스를 구현할 수 있고, 구현된 서비스를 재사용할 수 있으며, 해당 서비스를 다른 서비스와 연결해 구조화하기 때문에 장기적으로 볼 때 유지보수 측면에서 매우 유리하다.

앞으로 공부할 컨테이너 인프라 환경은 특히 마이크로서비스 아키텍처로 구현하기에 적합하다.

그렇다면 컨테이너 인프라 환경은 무엇인가?


⚙️ 컨테이너 인프라 환경이란?

컨테이너 인프라 환경은 크게 컨테이너, 컨테이너 관리, 개발 환경 구성 및 배포 자동화, 모니터링으로 구성된다.

이를 지원하는 도구 가운데 도커, 쿠버네티스, 젠킨스, 프로메테우스와 그라파나에 대해 짧게 알아보자.

 

 

✔️ 도커(docker)

  • 컨테이너 환경에서 독립적으로 애플리케이션을 수행할 수 있도록 컨테이너를 만들고 관리하는 것을 도와주는 컨테이너 도구
  • 도커로 애플리케이션을 실행하면 운영 체제 환경과 관계없이 독립적인 환경에서 일관된 결과 보장

 

✔️ 쿠버네티스(kubernetes)

  • 다수의 컨테이너를 관리하는 데 사용하며, 기능을 통합하고 관리하는 솔루션으로 발전
  • 컨테이너의 자동 배포와 배포된 컨테이너에 대한 동작 보증, 부하에 따른 동적 확장 등의 기능 제공

 

✔️ 젠킨스(jenkins)

  • 지속적 통합(CI; Continuous Integration)과 지속적 배포(CD; Continuous deployment)를 지원 - 개발한 프로그램의 빌드, 테스트, 패키지화, 배포 단계를 모두 자동화해 개발 단계를 표준화함
  • 컨테이너 인프라 환경처럼 단일 기능을 빠르게 개발해 적용해야 하는 환경에 매우 적합

✔️ 프로메테우스(prometheus)와 그라파나(grafana)

  • 모니터링을 위한 도구
  • 프로메테우스는 상태 데이터를 수집하고, 그라파나는 프로메테우스로 수집한 데이터를 관리자가 보기 좋게 시각화함

 


 

컨테이너 인프라 환경 구축을 위한 쿠버네티스/도커 책 1장을 보고 정리한 내용이다.

더 자세한 내용은 다음의 책을 구입하길 바란다.

http://www.yes24.com/Product/Goods/102099414

 

컨테이너 인프라 환경 구축을 위한 쿠버네티스/도커 - YES24

실무에 바로 적용할 수 있는 컨테이너 인프라 환경 기술!IT 자원을 효율적으로 빠르게 사용할 수 있는 방법으로 컨테이너 환경이 거론되었으나 그동안 관리가 어렵고 복잡해서 상용되기 어려웠

www.yes24.com