2017.04.18

소프트웨어 정의 애플리케이션 딜리버리 기술이 기업에 주는 가치

Ranga Rajagopalan | Avi Networks CTO | Network World
클라우드의 유연성을 경험하며 IT는 이런 민첩성을 자사 인프라스트럭처, 운영 방식에도 이식할 방법이 없을지 고민하기 시작했다. 자동화 계획은 컴퓨팅 스택의 많은 부분에서 최적화하는 성과를 거두고 있다. 하지만, 애플리케이션 딜리버리 서비스의 경우 레거시 아키텍처의 유연성 부족 문제로 인해 발전이 저해받는, 네트워크 팀의 마지막 도전 과제로 남아있는 상황이다.

로드 밸런싱용 버추얼 어플라이언스(virtual appliances)는 가상화의 등장 이후부터 오랜 기간 소프트웨어 주도형 인프라스트럭처(software-driven infrastructure)의 해답으로 여겨져 오며 존재해 왔지만, 동시에 확장성의 제약, 중앙 관리/조정 기능의 부재, 성능 제약 등 레거시 솔루션의 고질적인 구조적 문제 역시 물려받았다.

이것의 대안으로 부상하고 있는 것이 바로 소프트웨어-정의(software-defined) 기반의 애플리케이션 딜리버리 아키텍처다. 이 아키텍처 유형은 애플리케이션 서비스를 전달하는 데이터 영역으로부터 제어 영역을 논리적으로 분리하며 가치를 전달한다.

이 모델은 데이터센터, 나아가 복수의 클라우드 환경 전반에 퍼져있는 소프트웨어 로드 밸런서들의 분산형 풀을 관리하는 중앙 컨트롤러와 함께 다음과 같은 여러 장점을 전달한다.

- 상용 인텔 아키텍처 서버 상에서 제어 영역 및 데이터 영역 모두의 구동이 가능해지며 네트워크 서비스의 비용 효율성이 증진된다.

- 물리적 서버, VM, 컨테이너 상의 데이터 영역 배치가 가능해지며 복수 클라우드 환경 전반에 걸친 안정적인 애플리케이션 배치가 가능해진다.

- 가상 서비스들을 하나의 어플라이언스에만 국한하지 않아도 됨에 따라 이 서비스들을 개별 애플리케이션과 가까운 데이터 영역 로드 밸런서 상에 분산하는 것이 가능해지고, 그로써 격리 및 수평 확장이 보다 용이해진다.

- 데이터 영역의 연속적인 애플리케이션 검침 수집 역시 가능해지며 분석을 위한 컨트롤러로의 전송 및 애플리케이션 성능 및 최종 사용자 경험에 대한 실시간의 시각 확보가 실현되고, (애플리케이션 트래픽 경로 내) 로드 밸런서들의 전략적 위치의 효율적 이용을 통한 애플리케이션에 대한 의미있는 시각 확보가 가능해진다.

애플리케이션 팀에 있어 데이터 주도형 개발의 중요성, 그리고 운영 팀에게 있어 네트워크 이슈의 빠른 해결의 중요성을 고려할 때, 이와 같은 애플리케이션에 대한 세분화된 시각이 IT 의사 결정권자들의 서비스 생성, 개선 과정에 미치는 영향은 상당하다고 할 수 있다.

온라인 소매업을 예로 들어보자면, 이 시스템을 활용해 CIO는 블랙 프라이데이, 사이버 먼데이 등 주요 매출 기간 후 평균/최고 거래량, 평균 거래 처리량, 쇼핑 카트 리셋 횟수, 가장 많은 고객 접속이 이뤄진 기기 유형, 지역별 최종 사용자 규모 등 주요 지표들을 담은 비즈니스 대시보드를 확보할 수 있을 것이다.

이런 방식을 통해 아키텍처는 애플리케이션 서비스 스위트 완성에 요구되는 규모 이상으로 로드 밸런싱을 처리하며 가능한 서비스를 확장하게 된다. 이러한 애플리케이션들이 지니는 의미를 현대 애플리케이션의 관점에서 살펴보자.

새로운 애플리케이션 딜리버리 아키텍처
기업 환경이 앱 중심적으로 변화해감에 따라, 마이크로서비스와 같은 아키텍처를 활용해 애플리케이션 배포 및 업그레이드 사이클을 가속화하는 등의 전략들이 고안되고 있다.

컨테이너 기술의 등장으로 개발자들은 그간 거대한 단일 대상으로 존재해오던 앱을 보다 작은 단위로 쪼갠, 마이크로서비스-기반 애플리케이션들을 보다 손쉽게 생산할 수 있게 됐다. 대형 앱에 귀속된 각 마이크로서비스(카탈로그, 지불, 재고관리, 보안 등)들은 복수의 컨테이너 상에서 구동될 수 있고, 이런 컨테이너 각각은 관리와 배치가 요구되는 하나의 네트워크 종점으로서 효율적으로 존재한다.

컨테이너들은 배치 속도, 민첩성을 새로운 층위로 끌어올리는 역할을 수행하지만, 이에 따르는 복잡성 증대는 앱, 업데이트의 딜리버리 및 프로비져닝과 관련한 네트워크 측면의 과제를 야기하기도 한다.

클라우드 전반의 컨테이너 수천 개를 관리하기 위해서는, 보다 탄력적이며 소프트웨어 정의 접근방식을 받아들여 로드 밸런싱과 프록시 서비스를 마이크로서비스 클러스터 전역에 분산할 수 있어야 한다.

개별 프록시를 각 호스트 혹은 서버에 배치함으로써 마이크로서비스들을 모니터링하고 그들 간의 직접 교류를 구현하는 것이 가능해지며, 이를 통해 애플리케이션 개발자들에겐 애플리케이션 컴포넌트들에 대한 시각 확보, 애플리케이션 디버깅 역량 확보라는 새로운 가치들이 전달될 것이다.

애플리케이션 교류에 대한 세분화된 통제권과 시야는 컴플라이언스 요구 충족을 위해 서비스들을 마이크로 분할(microsegmentation)하는 보안 정책을 수립하는 데에도 도움을 준다.

더불어, 앱(이를테면 신형 결제 시스템 등의)에 새로운 서비스나 업데이트가 적용되면 중앙적으로 관리되는 프록시 서비스는 컨테이너 기반 애플리케이션에 대한 DNS 서비스 제공을 통해 서비스 발굴을 제공할 수 있다. API를 이용한 쿠버네티스(Kubernetes), 메소스(Mesos) 등의 컨테이너 클러스터 관리 프레임워크와 컨트롤러 간 통합이 가능한 덕분이다.

소프트웨어 정의 애플리케이션 전달 아키텍처는 여러 4계층~7계층 서비스들을 통합하고, IPAM, DNS, 애플리케이션 성능 모니터링, 마이크로 분할, 이스트-웨스트 방화벽(East-West firewall)의 취급이 가능하도록 복수의 엔드포인트 솔루션을 보완, 그리고 많은 경우 제거한다.

더 중요한 점은 애플리케이션 및 업데이트 프로비져닝 지연을 야기하는 일반적인 네트워크 관리 과제들의 자동화를 지원하는 프로그램 가능 애플리케이션 서비스 및 설정 지원 도구인 REST API 등 대부분의 가용 네트워크 기능을 이 아키텍처로 취급할 수 있다는 점이다.

유연한 인프라스트럭처 선택권, 그리고 애플리케이션 아키텍처는 현대 기업들의 컴퓨팅 방식에 변화를 가져오고 있다. 기업들이 점점 더 앱 중심적 구조로 변모해감에 따라 IT 팀에겐 보다 적극적으로 애플리케이션 배치를 주도하고, 시장 딜리버리 시간을 보다 철저히 고민해야 한다는 압박이 가해지고 있다.

전통적인 애플리케이션 딜리버리 매커니즘만으론 프라이빗 데이터센터와 클라우드 플랫폼 전반에 퍼져있는 현대 클라우드 애플리케이션들의 요구들을 온전히 충족하는데 한계가 있다.

소프트웨어 정의 애플리케이션 전달 아키텍처는 이런 새로운 현실이 창조한 결과물이다. 이 아키텍처가 보장하는 유연성과 확장성, 성능 모니터링, 정례적 IT 과제의 자동화라는 가치는 기업들에게 새롭게, 그리고 더욱 급격하게 전해지고 있는 과제들을 처리하는데 힘이 되어 줄 것이다. editor@itworld.co.kr
 

2017.04.18

소프트웨어 정의 애플리케이션 딜리버리 기술이 기업에 주는 가치

Ranga Rajagopalan | Avi Networks CTO | Network World
클라우드의 유연성을 경험하며 IT는 이런 민첩성을 자사 인프라스트럭처, 운영 방식에도 이식할 방법이 없을지 고민하기 시작했다. 자동화 계획은 컴퓨팅 스택의 많은 부분에서 최적화하는 성과를 거두고 있다. 하지만, 애플리케이션 딜리버리 서비스의 경우 레거시 아키텍처의 유연성 부족 문제로 인해 발전이 저해받는, 네트워크 팀의 마지막 도전 과제로 남아있는 상황이다.

로드 밸런싱용 버추얼 어플라이언스(virtual appliances)는 가상화의 등장 이후부터 오랜 기간 소프트웨어 주도형 인프라스트럭처(software-driven infrastructure)의 해답으로 여겨져 오며 존재해 왔지만, 동시에 확장성의 제약, 중앙 관리/조정 기능의 부재, 성능 제약 등 레거시 솔루션의 고질적인 구조적 문제 역시 물려받았다.

이것의 대안으로 부상하고 있는 것이 바로 소프트웨어-정의(software-defined) 기반의 애플리케이션 딜리버리 아키텍처다. 이 아키텍처 유형은 애플리케이션 서비스를 전달하는 데이터 영역으로부터 제어 영역을 논리적으로 분리하며 가치를 전달한다.

이 모델은 데이터센터, 나아가 복수의 클라우드 환경 전반에 퍼져있는 소프트웨어 로드 밸런서들의 분산형 풀을 관리하는 중앙 컨트롤러와 함께 다음과 같은 여러 장점을 전달한다.

- 상용 인텔 아키텍처 서버 상에서 제어 영역 및 데이터 영역 모두의 구동이 가능해지며 네트워크 서비스의 비용 효율성이 증진된다.

- 물리적 서버, VM, 컨테이너 상의 데이터 영역 배치가 가능해지며 복수 클라우드 환경 전반에 걸친 안정적인 애플리케이션 배치가 가능해진다.

- 가상 서비스들을 하나의 어플라이언스에만 국한하지 않아도 됨에 따라 이 서비스들을 개별 애플리케이션과 가까운 데이터 영역 로드 밸런서 상에 분산하는 것이 가능해지고, 그로써 격리 및 수평 확장이 보다 용이해진다.

- 데이터 영역의 연속적인 애플리케이션 검침 수집 역시 가능해지며 분석을 위한 컨트롤러로의 전송 및 애플리케이션 성능 및 최종 사용자 경험에 대한 실시간의 시각 확보가 실현되고, (애플리케이션 트래픽 경로 내) 로드 밸런서들의 전략적 위치의 효율적 이용을 통한 애플리케이션에 대한 의미있는 시각 확보가 가능해진다.

애플리케이션 팀에 있어 데이터 주도형 개발의 중요성, 그리고 운영 팀에게 있어 네트워크 이슈의 빠른 해결의 중요성을 고려할 때, 이와 같은 애플리케이션에 대한 세분화된 시각이 IT 의사 결정권자들의 서비스 생성, 개선 과정에 미치는 영향은 상당하다고 할 수 있다.

온라인 소매업을 예로 들어보자면, 이 시스템을 활용해 CIO는 블랙 프라이데이, 사이버 먼데이 등 주요 매출 기간 후 평균/최고 거래량, 평균 거래 처리량, 쇼핑 카트 리셋 횟수, 가장 많은 고객 접속이 이뤄진 기기 유형, 지역별 최종 사용자 규모 등 주요 지표들을 담은 비즈니스 대시보드를 확보할 수 있을 것이다.

이런 방식을 통해 아키텍처는 애플리케이션 서비스 스위트 완성에 요구되는 규모 이상으로 로드 밸런싱을 처리하며 가능한 서비스를 확장하게 된다. 이러한 애플리케이션들이 지니는 의미를 현대 애플리케이션의 관점에서 살펴보자.

새로운 애플리케이션 딜리버리 아키텍처
기업 환경이 앱 중심적으로 변화해감에 따라, 마이크로서비스와 같은 아키텍처를 활용해 애플리케이션 배포 및 업그레이드 사이클을 가속화하는 등의 전략들이 고안되고 있다.

컨테이너 기술의 등장으로 개발자들은 그간 거대한 단일 대상으로 존재해오던 앱을 보다 작은 단위로 쪼갠, 마이크로서비스-기반 애플리케이션들을 보다 손쉽게 생산할 수 있게 됐다. 대형 앱에 귀속된 각 마이크로서비스(카탈로그, 지불, 재고관리, 보안 등)들은 복수의 컨테이너 상에서 구동될 수 있고, 이런 컨테이너 각각은 관리와 배치가 요구되는 하나의 네트워크 종점으로서 효율적으로 존재한다.

컨테이너들은 배치 속도, 민첩성을 새로운 층위로 끌어올리는 역할을 수행하지만, 이에 따르는 복잡성 증대는 앱, 업데이트의 딜리버리 및 프로비져닝과 관련한 네트워크 측면의 과제를 야기하기도 한다.

클라우드 전반의 컨테이너 수천 개를 관리하기 위해서는, 보다 탄력적이며 소프트웨어 정의 접근방식을 받아들여 로드 밸런싱과 프록시 서비스를 마이크로서비스 클러스터 전역에 분산할 수 있어야 한다.

개별 프록시를 각 호스트 혹은 서버에 배치함으로써 마이크로서비스들을 모니터링하고 그들 간의 직접 교류를 구현하는 것이 가능해지며, 이를 통해 애플리케이션 개발자들에겐 애플리케이션 컴포넌트들에 대한 시각 확보, 애플리케이션 디버깅 역량 확보라는 새로운 가치들이 전달될 것이다.

애플리케이션 교류에 대한 세분화된 통제권과 시야는 컴플라이언스 요구 충족을 위해 서비스들을 마이크로 분할(microsegmentation)하는 보안 정책을 수립하는 데에도 도움을 준다.

더불어, 앱(이를테면 신형 결제 시스템 등의)에 새로운 서비스나 업데이트가 적용되면 중앙적으로 관리되는 프록시 서비스는 컨테이너 기반 애플리케이션에 대한 DNS 서비스 제공을 통해 서비스 발굴을 제공할 수 있다. API를 이용한 쿠버네티스(Kubernetes), 메소스(Mesos) 등의 컨테이너 클러스터 관리 프레임워크와 컨트롤러 간 통합이 가능한 덕분이다.

소프트웨어 정의 애플리케이션 전달 아키텍처는 여러 4계층~7계층 서비스들을 통합하고, IPAM, DNS, 애플리케이션 성능 모니터링, 마이크로 분할, 이스트-웨스트 방화벽(East-West firewall)의 취급이 가능하도록 복수의 엔드포인트 솔루션을 보완, 그리고 많은 경우 제거한다.

더 중요한 점은 애플리케이션 및 업데이트 프로비져닝 지연을 야기하는 일반적인 네트워크 관리 과제들의 자동화를 지원하는 프로그램 가능 애플리케이션 서비스 및 설정 지원 도구인 REST API 등 대부분의 가용 네트워크 기능을 이 아키텍처로 취급할 수 있다는 점이다.

유연한 인프라스트럭처 선택권, 그리고 애플리케이션 아키텍처는 현대 기업들의 컴퓨팅 방식에 변화를 가져오고 있다. 기업들이 점점 더 앱 중심적 구조로 변모해감에 따라 IT 팀에겐 보다 적극적으로 애플리케이션 배치를 주도하고, 시장 딜리버리 시간을 보다 철저히 고민해야 한다는 압박이 가해지고 있다.

전통적인 애플리케이션 딜리버리 매커니즘만으론 프라이빗 데이터센터와 클라우드 플랫폼 전반에 퍼져있는 현대 클라우드 애플리케이션들의 요구들을 온전히 충족하는데 한계가 있다.

소프트웨어 정의 애플리케이션 전달 아키텍처는 이런 새로운 현실이 창조한 결과물이다. 이 아키텍처가 보장하는 유연성과 확장성, 성능 모니터링, 정례적 IT 과제의 자동화라는 가치는 기업들에게 새롭게, 그리고 더욱 급격하게 전해지고 있는 과제들을 처리하는데 힘이 되어 줄 것이다. editor@itworld.co.kr
 

X