4일 전

IDG 블로그 | 컨테이너에는 좋은 아키텍처가 필요하다

David Linthicum | InfoWorld
가트너는 2023년까지 컨테이너 도입이 계속 증가할 것이라고 예측한다. 가트너의 설문 조사 데이터에 따르면, 애플리케이션과 데이터의 컨테이너화는 폭증하고 있다. 애플리케이션의 절반 이상을 컨테이너화환 기업의 비율도 23%에서 29%로 증가했다. 또한 애플리케이션의 10% 이하만 컨테이너화했다는 기업은 32%에서 21%로 줄었다.
 
ⓒ Getty Images Bank

컨테이너가 클라우드 기반 애플리케이션의 기본 구조가 되고, 이런 리서치 회사의 설문 조사를 인용하는 데도 도움이 될 정도로 확산하고 있다. 이제 기업이 할 일은 단 하나. 클라우드 개발팀은 컨테이너가 클라우드 네이티브로 가는 대중적인 방법이라는 것을 잘 이해하고, 쿠버네티스 같은 컨테이너 오케스트레이션 기술을 사용해 그 이식성과 확장성을 제대로 활용해야 한다.

컨테이너의 문제는 컨테이너 자체나 컨테이너 오케스트레이션을 사용하는 것이 아니라 사용하는 설계 패턴에 있다. 컨테이너는 본질적으로 복잡하고 계층화된 분산 애플리케이션이다. 리프트 앤 시프트 방식으로 기존 애플리케이션을 컨테이너로 이전할 수도 있지만, 이런 식으로는 얻을 수 있는 이점이 매우 적다. 컨테이너를 플랫폼이자 아키텍처로 명확하게 설계하지 않으면, 컨테이너의 역량을 이용할 수 없다. 몇 가지 팁을 소개한다.

첫째, 컨테이너화된 애플리케이션을 기능에 따라 논리적인 그룹으로 조각조각 분해하는 법을 배운다. 완전히 새로운 앱이든 기존 앱이든 관계없다. 이를 통해 몇 가지를 얻을 수 있다. 특수 제작한 코드를 데이터베이스 액세스 같은 도메인에 배치할 수 있고, 트러블슈팅이나 운영도 개선할 수 있다. 또한 컨테이너를 최고의 성능을 제공하는 클러스터에 배치할 수 있다. 

둘째, 보안을 위한 논리적인 그룹을 만든다. 보안은 컨테이너화된 애플리케이션을 구축할 때 흔히 나중에 생각하는 항목이 되곤 한다. 실제로 복잡하고 분산된 애플리케이션, 즉 컨테이너 기반 애플리케이션 대부분은 안전하게 보호하기가 어렵다. 또한 컨테이너가 기본적으로는 플랫폼 상에서 구동하는 플랫폼이라는 점을 고려하면, 훌륭한 보안을 구현하기는 더 어렵다.

특별히 보안과 거버넌스가 필요한 애플리케이션의 여러 부분을 이들만의 도메인으로 배치하자. 즉 단일 컨테이너나 매니지드 클러스터로 배치하는 것이다. 보안이 필요한 애플리케이션의 구성요소에만 보안을 집중하는 방식이다. 애플리케이션은 전반적으로 훨씬 나은 성능을 내면서도 보안 운영은 훨씬 더 효과적이고 쉬워질 것이다.

물론 잘 파악하고 사용해야 할 아키텍처 패턴은 수천 가지에 이른다. 하지만 애플리케이션과 데이터, 그리고 전반적인 시스템의 목적에 따라 아키텍처를 선택해야 한다. 즉 아키텍처에 대한 사전 고민이 많을수록 시스템은 한층 더 좋아질 것이다. editor@itworld.co.kr


4일 전

IDG 블로그 | 컨테이너에는 좋은 아키텍처가 필요하다

David Linthicum | InfoWorld
가트너는 2023년까지 컨테이너 도입이 계속 증가할 것이라고 예측한다. 가트너의 설문 조사 데이터에 따르면, 애플리케이션과 데이터의 컨테이너화는 폭증하고 있다. 애플리케이션의 절반 이상을 컨테이너화환 기업의 비율도 23%에서 29%로 증가했다. 또한 애플리케이션의 10% 이하만 컨테이너화했다는 기업은 32%에서 21%로 줄었다.
 
ⓒ Getty Images Bank

컨테이너가 클라우드 기반 애플리케이션의 기본 구조가 되고, 이런 리서치 회사의 설문 조사를 인용하는 데도 도움이 될 정도로 확산하고 있다. 이제 기업이 할 일은 단 하나. 클라우드 개발팀은 컨테이너가 클라우드 네이티브로 가는 대중적인 방법이라는 것을 잘 이해하고, 쿠버네티스 같은 컨테이너 오케스트레이션 기술을 사용해 그 이식성과 확장성을 제대로 활용해야 한다.

컨테이너의 문제는 컨테이너 자체나 컨테이너 오케스트레이션을 사용하는 것이 아니라 사용하는 설계 패턴에 있다. 컨테이너는 본질적으로 복잡하고 계층화된 분산 애플리케이션이다. 리프트 앤 시프트 방식으로 기존 애플리케이션을 컨테이너로 이전할 수도 있지만, 이런 식으로는 얻을 수 있는 이점이 매우 적다. 컨테이너를 플랫폼이자 아키텍처로 명확하게 설계하지 않으면, 컨테이너의 역량을 이용할 수 없다. 몇 가지 팁을 소개한다.

첫째, 컨테이너화된 애플리케이션을 기능에 따라 논리적인 그룹으로 조각조각 분해하는 법을 배운다. 완전히 새로운 앱이든 기존 앱이든 관계없다. 이를 통해 몇 가지를 얻을 수 있다. 특수 제작한 코드를 데이터베이스 액세스 같은 도메인에 배치할 수 있고, 트러블슈팅이나 운영도 개선할 수 있다. 또한 컨테이너를 최고의 성능을 제공하는 클러스터에 배치할 수 있다. 

둘째, 보안을 위한 논리적인 그룹을 만든다. 보안은 컨테이너화된 애플리케이션을 구축할 때 흔히 나중에 생각하는 항목이 되곤 한다. 실제로 복잡하고 분산된 애플리케이션, 즉 컨테이너 기반 애플리케이션 대부분은 안전하게 보호하기가 어렵다. 또한 컨테이너가 기본적으로는 플랫폼 상에서 구동하는 플랫폼이라는 점을 고려하면, 훌륭한 보안을 구현하기는 더 어렵다.

특별히 보안과 거버넌스가 필요한 애플리케이션의 여러 부분을 이들만의 도메인으로 배치하자. 즉 단일 컨테이너나 매니지드 클러스터로 배치하는 것이다. 보안이 필요한 애플리케이션의 구성요소에만 보안을 집중하는 방식이다. 애플리케이션은 전반적으로 훨씬 나은 성능을 내면서도 보안 운영은 훨씬 더 효과적이고 쉬워질 것이다.

물론 잘 파악하고 사용해야 할 아키텍처 패턴은 수천 가지에 이른다. 하지만 애플리케이션과 데이터, 그리고 전반적인 시스템의 목적에 따라 아키텍처를 선택해야 한다. 즉 아키텍처에 대한 사전 고민이 많을수록 시스템은 한층 더 좋아질 것이다. editor@itworld.co.kr


X