목차

 

컨테이너가 IT 세상을 점령한 이유

 

깃 허브에 있는 소스코드를 다운받아서 소스코드에 사용되는 환경에 맞추기 위해서 버전에 맞는 도구를 설치해야한다.

 

만약 이것이 큰 프로젝트라면 새로운 개발팀과 운영팀이 인계 받을 때 소스코드를 빌드하고 실행하기위해서 여러가지 도구를 버전에 맞게 설치해야 한다. 

 

하지만, 컨테이너를 이용하면 소스코드를 내려받고 나서 명령 한 줄로 배포 및 실행이 가능하다.

 

레거시 애플리케이션 현대화 하기

 

컨테이너를 활용하면 거의 모든 애플리케이션을 클라우드에서 실행할 수 있다.

그러나, 기존 애플리케이션의 구조를 낡은 모놀리식(monolithic) 설계로 방치한다면 도커 혹은 클라우드 플랫폼의 진가가 발휘되기 어렵다.

 

이유는 기민성에 제약이 따르기 때문이다. 모놀리식에서 새 기능을 추가하여 출시하려면 기존의 기능이 망가지지 않았늦니 확인하는 회구 테스트에만 적어도 2주가 걸릴 것이다.

 

도커로 이주하는 과정을 애플리케이션의 낡은 설계를 탈바꿈하는 첫걸음이다. 애플리케이션을 전면적으로 재구현하지 않고도 새로운 패턴을 도입할 수 있다.

 

이 그림은 통짜 애플리케이션을 분할해 기능별로 별도의 컨테이너에 배치하여 여러 개의 컨테이너로 분할된 분산 애플리케이션을 만드는 과정을 나타낸것이다.

그림 1-3 모놀리식 설계를 가진 통짜 애플리케이션을 재구현 없이 분산 애플리케이션으로 재편하는 과정. 각 컴포넌트는 도커 컨테이너에서 실행되며, 라우팅 컴포넌트가 요청 처리를 기존 통짜 애플리케이션에 맡길지 아니면 새로운 마이크로서비스 설계를 따르는 컴포넌트에 맡길지 결정한다.

 

이렇게 설계를 하면 변경내용에 해당되는 컨테이너만이용하여 빠르게 테스트할 수 있다.

 

클라우드 환경에 적합한 새로운 애플리케이션 개발하기

 

도커는 기존 애플리케이션을 클라우드로 이주하는데 유용하다.

 

통짜 애플리케이션이라면 도커를 통해 컴포넌트를 분할하고 새로운 설계를 적용해 클라우드나 데이터센터 어디든 원하는 곳에서 애플리케이션을 운영할 수 있다.

 

클라우드 환경을 고려한 완전히 새로운 애플리케이션 개발이라면 도커를 통해 더 빠른 개발이 가능하다.

 

아래 그림은 전형적인 마이크로 서비스 아키텍처의 애플리 케이션을 나타낸 것이다.

그림 1- 4 클라우드 애플리케이션은 각 컴포넌트가 컨테이너에서 동작하는 마이크로서비스 아키텍처로 설계된다.



  • 각 컴포넌트는 자신만의 데이터를 가지며 API를 통해서 이 데이터를 외부에 제공한다.
  • 프런트 앤드는 이 API를 이용하는 웹 애플리케이션 형태
  • 도커는 여러가지 프로그래밍 언어로 구현하거나 서드 파티 소프웨어를 도입하여 애플리케이션을 구현하는데 유용하다.

기술 혁신: 서버리스와 그 너머

 

현대 IT 기술을 주도하는 요소 중 하는 일관성이다.

 

특히, 개발 팀은 모든 프로젝트에서 같은 도구, 같은 프로세스, 동일한 런타임을 사용하기를 원한다.

 

도커를 이용하면 어떠한 형태의 애플리케이션이라도 모든 제품의 빌드, 배포, 운영을 같은 도구와 같은 방법으로 수행할 수 있다.

즉, 아키텍쳐나 기술 기반과 무관하게 이들 애플리케이션의 빌드, 배포, 관리를 일원화 할수 있다.

 

*서버리스 기술은 곧 컨테이너 기술이다. 서버리스 기술의 목표는 모든 일이 플랫폼이 처리하도록 하는 것이다.

 

데브옵스 도입하기

 

데브옵스(DevOps)는  개발과 운영을 합친 이름으로, 애플리케이션의 전체 생애주기를 담당하는 전담 팀을 둔다.

 

운영자와 개발자는 다른 도구를 다루는데 이 사람들끼리 하나의 팀을 이룰수 있도록 도와주는 것이 도커이다.

Dockerfile 과 도커 컴포드 스크립트를 사용하면 같은 기술과 도구로 팀을 통일할 수 있다.

 

CALMS 라는 데브옵스를 위한 프레임워크가 있다.

  • cluture (문화)
  • automation (자동)
  • lean (린)
  • metric(측정)
  • sharing(공유)

의 머리 글자를 딴 것이다. 도커는 이들 개념 모두와 밀접한 관련이 있다.

 

자동화는 컨테이너 환경의 핵심,

분산 애플리케이션은 린 원칙에 따라 만들어진다.

배포 프로세스와 운영 로그로부터 얻은 측정치를 쉽게 사용할 수 있다.

도커 허브는 이미 있는 것을 공유의 장이다.

 

 

 

' > 도커 교과서' 카테고리의 다른 글

[ 책 ] 도커교과서 3장 도커 이미지 만들기  (0) 2024.12.08

+ Recent posts