본문 바로가기
이론/IT

컨테이너화

by 프로그래밍 공부 2023. 11. 9.

 MSA에 대해 공부하면서 언급했던 컨테이너화에 대해 알아보자.

이전에 설명했듯이 컨테이너화는 어플리케이션의 코드를 모든 인프라에서 실행하는 데 필요한 모든 파일과 라이브러리를 함께 번들로 제공하는 소프트웨어 배포 프로세스이다. 예를 들면 이전에는 일일이 현재 컴퓨터의 프로그램 버전과 운영체제 버전을 맞춰 실행하였다면, 이제는 모든 유형의 디바이스와 운영 체제에서 실행되는 단일 소프트웨어 패키지 또는 컨테이너를 통해 그런 수고를 덜게 된 것이다.

이렇게 컨테이너화를 하게 되면 가질 수 있는 이점은 무엇일까?

1. 이동성

 개발자들은 컨테이너화를 통해서 프로그램 코드를 다시 작성하지 않고 다양한 환경에서 어플리케이션을 배포할 수 있다. 

2. 확장성

컨테이너는 효율적으로 실행되는 경량 소프트웨어 구성 요소이다. 따라서 개발자는 단일 시스템에서 서로 다른 어플리케이션에 대해 여러 컨테이너를 쉽게 추가할 수 있다. 이때 컨테이너 클러스터는 동일한 공유 운영 체제의 컴퓨팅 리소스를 사용하지만, 한 컨테이너는 다른 컨테이너의 작업을 방해하지는 않는다.

3. 내결함성

소프트웨어를 개발할 때, 컨테이너를 사용해서 내결함성이 있는 어플리케이션을 빌드할 수 있다. 여러 컨테이너를 사용하여 클라우드에서 마이크로 서비스를 실행하는 것이 바로 그 것이다. 마이크로 서비스는 격리된 사용자 공간에서 작동하기 때문에 단일 컨테이너가 다른 컨테이너에 영향을 주지 않기에 어플리케이션의 복원력과 가용성이 향상된다. 

4. 민첩성

컨테이너식 어플리케이션은 격리된 컴퓨팅 환경에서 실행된다. 개발자는 운영 체제, 하드웨어, 또는 기타 어플리케이션 서비스를 방해하지 않고 어플리케이션 코드를 변경하고, 문제를 해결할 수 있다. 또한 이로 인해 소프트웨어 릴리즈 주기를 단축하고, 신속하게 업데이트 작업을 수행할 수도 있다. 

 

이러한 특성을 가진 컨테이너화를 사용한 사례로는 이전에 설명했던 MSA 어플리케이션, 클라우드 마이그레이션, IoT 디바이스 등이 있다.

클라우드 마이그레이션 또는 리프트 앤 시프트 방식은 기존 어플리케이션을 컨테이너에 캡슐화하고 클라우드 컴퓨팅 환경에 배포하는 소프트웨어 전략이다. 

IoT 디바이스 또한 컨테이너화를 적용한다. 사물 인터넷 디바이스에는 컴퓨팅 리소스가 제한되어 있기 때문에 소프트웨어 업데이트 프로세스가 보다 복잡하다. 이를 컨테이너화를 통해서 IoT 디아비에스 어플리케이션을 보다 쉽게 배포하고 업데이트할 수 있다. 

컨테이너화란 무엇인가요? - 컨테이너화 설명 - AWS (amazon.com)

 

컨테이너화란 무엇인가요? - 컨테이너화 설명 - AWS

서버리스 컴퓨팅은 클라우드 공급업체가 애플리케이션을 구동하는 서버 인프라를 완전히 관리하는 클라우드 컴퓨팅 기술을 말합니다. 즉, 개발자와 조직은 클라우드 서버에서 리소스를 구성,

aws.amazon.com

실제 프로젝트를 진행하다보면 Docker를 통해 컨테이너화한 서비스, DB 등을 사용할 수 있는데, 이를 통해 컨테이너화의 편리함을 직간접적으로 확인할 수 있을 것이다.

 

'이론 > IT' 카테고리의 다른 글

프로비저닝  (0) 2023.11.11
IT 거버넌스  (0) 2023.11.11
클라우드의 장점과 고려 사항  (0) 2023.11.11
클라우드란?  (0) 2023.11.11
마이크로 서비스 아키텍처 (MSA)  (0) 2023.11.09