소개
IBM PureApplication System은 사설 클라우드 환경에서 애플리케이션을 개발하여 프로비저닝하고 관리하는 과정을 대폭 단순화하기 위해 설계된, 통합 하드웨어 및 소프트웨어 어플라이언스로 워크로드에 최적화되어 있다. IBM PureApplication System은 탄력적인 애플리케이션과 데이터베이스 및 기타 워크로드의 셀프 서비스 프로비저닝이 가능한 통합 관리 기능을 그 특징으로 한다.
PureApplication System을 사용하게 되면서 IBM에서는 주요 데이터 센터 개념을 일부 재고하게 되었다. 자동화와 성능 및 단순화 수준을 이전보다 더 높이면서 하드웨어와 소프트웨어를 철저하게 통합할 수 있었다. 이러한 기능을 비즈니스에서 잘 활용하려면 이러한 특성을 활용하는 방법의 관점에서 애플리케이션 포트폴리오를 조심스럽게 고려해야 한다. 이 시리즈는 독자가 특정 애플리케이션의 관점에서 조직에서 IBM PureApplication System을 준비하고 그 가치를 극대화하는 방법을 이해할 수 있게 하는 데 그 목적이 있다.
이 시리즈는 다음과 같은 여러 개의 파트로 구성된다.
- Part 1: 애플리케이션 온보드하기 개요(이 기사)
- Part 2: 애플리케이션을 가상화할 준비가 되었나?: 일련의 질문에 대답하다 보면 해당 애플리케이션에 가장 적합한 배치 옵션을 결정할 수 있다.
- Part 3: 데이터베이스 옵션 선택: 사용자에 적합한 데이터베이스 옵션과 몇 가지 권장 우수 사례를 학습할 수 있다.
- Part 4: AMC(Advanced Middleware Configuration) 도구를 사용하여 애플리케이션을 클라우드에 온보드하기: AMC(Advanced Middleware Configuration)를 사용하여 애플리케이션을 온보드한 다음, 한 번에 애플리케이션 인스턴스를 클라우드에 배치한다.
- Part 5: Rational Application Developer를 사용하여 IBM Workload Deployer의 가상 애플리케이션 패턴 개발하기: IBM Workload Deployer의 가상 애플리케이션 패턴 어셈블리와 Rational Application Developer를 사용하여 클라우드 애플리케이션을 개발하는 방법을 학습한다.
PureApplication System에는 사전 정의된 워크로드 패턴이 많이 포함되어 있다. 이러한 패턴에는 기본 시스템 자원 세트와 스크립트, 모니터링 및 관리 작동이 정의되어 있다. 이러한 패턴 중 하나를 사용하여 애플리케이션을 배치하면 PureApplication System이 해당 자원을 자동으로 프로비저닝하고 구성하고 해당 작동을 설정하여 개발자가 실제 애플리케이션에 집중할 수 있게 한다. PureApplication System은 두 가지 워크로드 유형, 즉 가상 애플리케이션과 가상 시스템을 지원한다. 이 두 가지 모델은 모두 애플리케이션을 준비하고 모니터하는 많은 단조로운 작업을 자동화하지만 몇 가지 중요한 차이점이 있다.
가상 애플리케이션을 사용하면 애플리케이션을 프로비저닝하고 관리하는 많은 작업을 PureApplication System이 담당하게 된다. 이렇게 하면 총소유비용을 대폭 줄일 수 있을 뿐만 아니라 애플리케이션을 해당 패턴의 제한조건에 맞출 수 있다. 가상 시스템을 사용하는 경우에는 사용자가 훨씬 더 많은 부분, 즉 다음과 같은 부분을 제어할 수 있다.
- 프로비저닝할 가상 머신 유형
- 가상 머신에 설치할 소프트웨어 컴포넌트 유형
- 실행할 스크립트 유형
- 이러한 것을 모니터하는 방법
PureApplication System은 기본 Java 애플리케이션이나 웹 애플리케이션과 같은 많은 가상 애플리케이션 패턴을 인식한다. 애플리케이션을 가상 애플리케이션 패턴으로서 배치하려면 애플리케이션 모델을 작성해야 한다. 이 모델은 애플리케이션을 구성하는 아티팩트, 연결되어야 할 시스템, 필요한 자원 그리고 애플리케이션을 관리하기 위해 PureApplication System에서 사용할 정책(예: 탄력성 확장 정책)을 포함하여, 애플리케이션을 프로비저닝하고 구성하는 방법과 관련해서 PureApplication System이 알아야 하는 모든 것을 PureApplication System에 알려준다.
PureApplication System은 프로비저닝하는 시점에서 가상 머신, 애플리케이션 서버 등과 같은 필수 시스템 컴포넌트를 자동으로 프로비저닝한다. PureApplication System은 애플리케이션 모델을 기반으로 이러한 컴포넌트를 자동으로 구성한다(데이터 소스 설정, 탄력성을 가능하게 하기 위한 모니터링 및 트리거 제공). 이 제품은 해당 애플리케이션에서 로드를 모니터하기도 하고 애플리케이션의 요구를 기반으로 시스템 자원을 프로비저닝하거나 양도하기도 한다. PureApplication System은 이러한 방식으로 애플리케이션을 관리하고, 관리 비용을 낮추고 사용자 자원의 사용을 최적화하기 때문에 기존의 배치와 비교했을 때 애플리케이션의 밀도가 훨씬 더 증가하게 된다.
각 가상 애플리케이션 패턴은 워크로드를 지원할 인프라와 소프트웨어를 설정 및 구성하고 모니터 및 관리하는 데 필요한 일련의 우수 사례를 구체화하기 위해 설계되었다. 결과적으로 가상 애플리케이션을 사용하면 PureApplication System의 자원을 매우 효과적으로 사용할 수 있게 된다. 이렇게 하기 위해 가상 애플리케이션 패턴에서는 실행할 수 있는 애플리케이션과 관련해서 몇 가지 가정을 한다.
각 가상 애플리케이션 패턴에는 애플리케이션을 평가하여 해당 패턴이 이 애플리케이션을 지원하는지 판별할 수 있는 특정 호환성 기능이 있다. 예를 들면, 애플리케이션이 사용하는 스펙이나 애플리케이션 상태를 처리하는 방식과 같은 기준을 통해 애플리케이션이 가상 애플리케이션으로서 실행될 준비가 되었는지 여부를 판별할 수 있다. 아는 바와 같이 IBM에서는 평가 기준을 제공하여 사용자가 특정 애플리케이션이 가상 애플리케이션 패턴과 호환 가능한지 여부를 용이하게 판별할 수 있게 한다. 특정 애플리케이션에 가장 적합한 배치 옵션에 관한 자세한 정보는 Part 2를 참조한다.
고유한 가상 애플리케이션 패턴을 정의할 수도 있지만, 이 주제는 이 기사 시리즈의 범위를 넘어서는 고급 주제이다.
이와는 대조적으로 가상 시스템 패턴을 사용하면 더 많은 부분을 제어할 수 있다. 가상 머신 이미지, 이 가상 머신에 설치할 소프트웨어 컴포넌트, 이러한 컴포넌트를 구성하기 위해 실행할 스크립트 패키지 및 이러한 스크립트로 삽입할 모든 모니터링 에이전트를 정의할 수 있다. 가상 시스템은 기존 미들웨어 환경에 대한 제어와 유연성을 유지하면서 단순한 미들웨어 구성과 복잡한 미들웨어 구성 모두에 반복성, 일관성 및 신속한 배치 시간을 제공한다.
모델 중심 방식을 사용하여 기존 토폴로지를 설계하는 방법과 비슷하게 PureApplication System Pattern Editor를 사용하여 이러한 패턴을 정의한다. IBM Hypervisor Edition 이미지를 사용하여 가상 시스템 패턴을 작성하는 프로세스는 PureApplication System Pattern Editor를 사용하는 편리한 프로세스이다. 가상 머신 이미지를 캡처하거나 가져오고 소프트웨어 번들을 추가하여 처음부터 고유한 가상 이미지를 작성할 수도 있다.
PureApplication System에는 공통 애플리케이션 토폴로지에 맞게 사전 정의된 가상 이미지 패턴이 많이 있다. 이러한 패턴은 IBM 미들웨어에서 실행하는 애플리케이션을 위한 우수 사례와 "골드 토폴로지"를 나타낸다. 이러한 것을 조직에 있는 애플리케이션을 위한 표준 토폴로지 세트의 시작점으로 생각하자. 이렇게 하는 의도는 추가 소프트웨어, 스크립트 패키지 및 구성 옵션을 추가하여 이러한 패턴을 해당 애플리케이션과 환경에 맞게 조정함으로써 이러한 것들을 사용자 정의하는 데 있다.
이렇게 하는 것이 PureApplication System에서 실행할 수 있는 워크로드 면에서 유연성을 제공한다고 하더라도 어느 정도 대가를 치르지 않으면 안 된다. 특히, 시간이 지나면 호환되는 가상 머신 이미지로 구성된 자체 카탈로그를 관리하는 프로세스가 부담스럽고 비용이 많이 들어가는 프로세스가 될 수도 있다. 필자는 가상 시스템 패턴에 정의된 컨텐츠 전개 세트를 제공하는 과정에서 IBM Hypervisor Edition 이미지와 스크립트 패키지를 사용하여 이미지 카탈로그의 크기를 최소화할 것을 권장한다.
가상 시스템 패턴을 작성할 때는 패턴으로 많은 애플리케이션을 어떻게 지원할 것인지를 생각해 보는 것이 유용하므로 계층적 접근 방식을 취할 필요가 있다. 가상 머신 이미지에 너무 많은 컨텐츠를 삽입하면 패턴을 재사용하기가 어려워진다. 가상 머신 이미지에 운영 체제와 미들웨어를 삽입한 후, 스크립트 패키지를 사용하여 애플리케이션을 규정하고 미들웨어를 구성하는 것이 일반적이다. 이렇게 하면 재사용하기가 훨씬 더 용이해진다.
PureApplication System에는 WebSphere® 애플리케이션에 맞게 이 프로세스를 단순화하는 데 필요한 AMC(Advanced Middleware Configuration) 도구가 포함되어 있다. AMC를 이용하면 반복 가능하고 배치 가능한 가상 시스템 패턴을 용이하게 작성할 수 있다. AMC는 기존 애플리케이션 셀을 조사한 다음, 모든 구성 세부사항을 추출하고 스크립트 패키지로 캡슐화하여 애플리케이션과 구성을 포함했다가 패턴이 배치될 때 구성을 다시 작성한다. 이러한 기능은 모든 PureApplication System 가상 애플리케이션 패턴의 제한조건을 따르지 않으며, 신뢰할 수 있고 재사용 가능한 완전한 배치 및 구성 스크립트 세트가 없는 WebSphere Application Server 애플리케이션에 유용하다. AMC 도구와 IBM Workload Deployer를 사용하여 애플리케이션을 마이그레이션하고 애플리케이션 인스턴스를 클라우드에 새로 배치하는 방법에 관한 자세한 정보는 Part 3을 참조한다.
PureApplication System은 데이터를 호스트할 수 있는 다양한 방식을 지원한다. 애플리케이션 배치 모델과 마찬가지로 DBaaS(Database as a Service)를 사용하여 최적화와 단순성 면에서 더 나은 선택을 하거나, 가상 시스템 패턴의 DB2® 컴포넌트를 사용하여 더 많은 부분을 제어할 수 있다. 물론, 기존 시스템에서 외부적으로 호스트하도록 언제나 선택할 수 있다.
PureApplication System의 가치는 주로 실행 중인 애플리케이션 수의 기능에 있다. PureApplication System에 삽입되는 애플리케이션의 수가 증가할수록 애플리케이션 관리 프로세스를 단순화하는 작업의 가치가 더욱 상승할 뿐만 아니라 애플리케이션 밀도가 증가할 가능성이 더욱 높아지며, 특히, 클라우드에 맞게 최적화할 수 있는 애플리케이션을 선택하는 경우에는 더욱 그러하다. IBM에서는 전체 포트폴리오에서 이러한 프로세스를 분석하고 관리하여 시간이 지나면서 PureApplication System에 대한 투자회수율(ROI)이 극대화되도록 하는 작업의 중요성을 인식하고 있다.
그러므로 애플리케이션을 온보드하기 전에 애플리케이션 포트폴리오를 평가하여 PureApplication System을 채택한다는 비즈니스 목표를 충족시키는 데 가장 적합한 후보가 되는 애플리케이션을 식별해야 한다. 이러한 후보를 식별하고 나면 가상 애플리케이션 패턴과의 애플리케이션 호환성을 평가하거나 애플리케이션이 가상 시스템 패턴으로서 온보드하기에 적합한지를 판별할 수 있다. 그런 다음에는 특정 워크로드 유형에 적합한 기능을 온보드하는 작업을 실행하여 애플리케이션을 PureApplication System으로 가져올 수 있다.
Rational® Focal Point는 웹 기반 애플리케이션 포트폴리오 관리 도구이다. IBM에는 대규모의 애플리케이션 포트폴리오를 광범위하게 평가하여 애플리케이션이 PureApplication System에 온보드하기에 적합한지 여부를 용이하게 판별할 수 있게 하는 사용자 정의된 작업공간 템플리트가 있다. 이 도구는 각각 애플리케이션 포트폴리오 일부를 책임 지고 있는 다수의 이해관계자가 협업적으로 사용하도록 설계되었다.
이들은 각 애플리케이션을 대상으로 애플리케이션이 어떤 기술에 기반을 두고 있는지, 관리하는 데 어려움은 없는지 그리고 비즈니스에 얼마나 중요한지와 같은 주제를 다루는 소수의 상위 레벨 질문에 대답을 한다. 이렇게 하는 이유는 애플리케이션에 대한 합당한 지식을 갖고 있는 사람이 설문조사 질문에 답변을 하도록 하기 위해서이다. 그런 다음에는 이러한 질문을 사용하여 PureApplication System 준비성 점수를 계산한다. 이러한 점수는 초기 온보드 활동과 시간이 경과하여 애플리케이션 온보드 로드맵을 설정할 때 고려할 우수한 후보 애플리케이션 세트를 식별하기 위해 사용된다.
애플리케이션 호환성
애플리케이션이 후보로 식별되면 해당 애플리케이션이 PureApplication System에서 사용 가능한 가상 애플리케이션 패턴 중 하나에 적합한지 여부를 판별해야 한다. 이 시리즈에서는 각 패턴에 대한 자세한 애플리케이션 호환성 테스트를 제공한다. 이러한 테스트에는 애플리케이션과 관련된 훨씬 더 심도 있고 매우 기술적인 일련의 질문이 포함되어 있다. 또한, 애플리케이션이 세션 상태를 어떻게 관리하는지 그리고 원격 EJB에 대한 종속 항목은 어떤 것이 있는지와 같은 질문도 포함되어 있다. 애플리케이션 아키텍처와 구현에 대한 기술적 지식이 풍부한 사람이 이러한 질문에 대답해야 한다. 이러한 질문에 대한 답변을 통해 애플리케이션이 가상 애플리케이션 패턴 중 하나와 호환 가능한지 그리고 가상 시스템 패턴으로서 온보드되어야 하는지를 판별한다.
애플리케이션을 가상 애플리케이션으로서 온보드하는 프로세스는 단순하다. PureApplication System 사용자 인터페이스를 직접 사용하여 "WebApplication Pattern Type"과 같은 특정 패턴 유형을 선택한다. 이렇게 하면 해당 애플리케이션에 맞춰 사용자 정의할 수 있는 직관적인 모델이 작성된다(그림 1 참조).
그림 1. 가상 애플리케이션 패턴 이 경우에는 애플리케이션 WAR 파일과, 데이터 소스로 사용할 JNDI 이름 또는 자원 참조를 제공한다. 필요하면 외부 웹 서비스 제공자 또는 CICS 트랜잭션 게이트웨이에 대한 연결과 같은 컴포넌트를 캔버스에 끌어서 놓을 수 있다. DBaaS를 사용 중인 경우에는 가상 애플리케이션 안에 직접 데이터베이스를 위한 스키마와 워크로드 표준을 정의할 수 있다.
애플리케이션 설계가 완료되면 미들웨어 구성 속성을 다루는 대신 라우팅, 로깅, JVM 설정 및 스케일링 정책을 사용하여 원하는 서비스 레벨을 달성할 수 있다. 예를 들어 스케일링 정책을 이용하면 애플리케이션의 응답 시간에 대응하여 동적으로 배치할 수 있는 인스턴스 범위를 구성할 수 있다(그림 2 참조).
그림 2. 가상 애플리케이션 스케일링 정책
PureApplication System 사용자 인터페이스를 사용하면 애플리케이션을 신속하게 온보드할 수 있을 뿐만 아니라 프로덕션 환경에서 애플리케이션을 배치하고 관리할 정책 세트를 반복 가능하고 직관적인 모델을 사용하여 정의할 수 있다. 가상 애플리케이션의 일부로서 구성되는 컴포넌트를 팔레트에 재사용 가능한 컴포넌트로 저장하여 다른 애플리케이션과 함께 사용할 수 있다.
게다가 애플리케이션 모델이 정의되면 Rational Application Development IDE에서 직접 애플리케이션을 배치할 수 있다. 개발자는 이러한 방식으로 PureApplication System에 테스트용 애플리케이션을 용이하게 배치할 수 있다. 또한, 개발자가 가상 애플리케이션 패턴의 제한조건에 적합한 애플리케이션을 빌드하고 있다고 확신할 수 있다.
가상 애플리케이션과 마찬가지로 가상 시스템은 모델 중심의 사용자 인터페이스를 제공한다. 애플리케이션을 가상 시스템으로서 온보드할 때는 먼저, 기본 가상 시스템 패턴을 정의하거나 적합한 기존 패턴을 식별한다. 다음에는 스크립트 패키지를 사용하여 애플리케이션과 연합 WebSphere 구성을 미들웨어 토폴로지 맨 위에 적용해야 한다. 이러한 스크립트 패키지를 이용하면 모델에서 직접 노출되는 WebSphere 구성 옵션의 범위를 훨씬 넘어서 환경을 완전히 사용자 정의하고 구성할 수 있다. 이렇게 하려면 미들웨어를 구성할 스크립트 패키지를 직접 작성하거나 PureApplication System에 포함되어 있는 AMC(Advanced Middleware Configuration) 기능을 사용해야 한다.
그림 3의 패턴 편집기에는 가상 시스템 패턴을 구성하는 모든 가상 머신(IBM Hypervisor Edition 이미지 포함)과 프로비저닝 시간에 실행하게 될 스크립트 패키지가 표시되어 있다.
그림 3, 가상 시스템 패턴
그림 3에 표시되어 있는 예제에는 패턴에 Deployment Manager와 두 개의 연합 노드가 있는 WebSphere 셀과 데이터베이스가 포함되어 있다. 각 노드에서는 배치 시간에 실행하게 될 스크립트 패키지를 확인할 수 있다. 이 모델 중심 설계 방식을 이용하면 이해하기 쉽고 기존 프로세스 및 투자와 관련이 있는 방식으로 표준 미들웨어 토폴로지를 정의할 수 있다.
스크립트 패키지를 사용하면 가상 시스템을 배치하는 과정에서 기존 wsadmin 스크립트를 포함하거나, 미들웨어를 구성할 기존 자동화 시스템을 호출할 수 있다. 이러한 방식은 애플리케이션 자동화에 투자했으며, 이러한 자동화가 신뢰할 수 있고 재사용 가능할 뿐만 아니라 반복 가능해서 이러한 자동화를 재사용하고자 하는 경우에 유용한 옵션이다.
그러나 이러한 고품질 엔드투엔드 자동화는 빌드하기가 어렵다. IBM에서는 기존 애플리케이션 셀의 구성을 신속하게 캡처하여 자동화를 생성하고 이러한 자동화를 가상 시스템 패턴에 삽입할 수 있는 솔루션인 AMC(Advanced Middleware Configuration)를 제공한다. 이 기술은 PureApplication System 안에서 가상 시스템 패턴으로서 제공된다. 애플리케이션을 설치하고 구성하는 과정을 신속하게 자동화하려면 이 서비스를 배치하고, 제공된 AMC 스크립트 패키지를 가상 시스템 패턴에 첨부하고, 해당 패턴을 배치한 다음, 자동화를 캡처할 수 있도록 원하는 방식으로 자동화를 설치하고 구성하면 된다.
애플리케이션이 준비되면 AMC 서비스에 로그인하여 자동화 프로젝트로서 미들웨어 구성을 캡처한다. 그러면 이러한 자동화 프로젝트가 최적화되고 나중에 가상 시스템을 배치하는 과정에서 이 프로젝트가 호출된다. 이렇게 하면 wsadmin 스크립트를 작성하거나 자동화를 설치하지 않아도 의미 있는 미들웨어 토폴로지로 애플리케이션을 배치하는 과정을 완전히 자동화할 수 있다.
이 기사에서는 IBM PureApplication System을 사용하여 데이터 센터의 효율성을 대폭 개선하고 애플리케이션을 개발하고 관리 및 모니터하는 데 소요되는 비용을 줄이는 방법을 설명했다. PureApplication System에는 조직 안에 있는 다양한 요구에 적합한 배치 모델이 많이 있다. 그러나 PureApplication System의 가치를 인식하려면 이러한 사설 클라우드의 고유한 특성을 활용하는 데 매우 적합한 애플리케이션을 식별한 다음, 이러한 애플리케이션을 클라우드에 온보드해야 한다. IBM에서 제공하는 도구를 사용하여 애플리케이션의 라이프사이클을 관리하고 애플리케이션 포트폴리오와 온보드 프로세스를 관리할 수 있을 뿐만 아니라 이러한 마이그레이션 시나리오를 실행할 수 있다.
감사의 말
이 기사를 검토해준 Mary Yost에 감사드린다.
댓글 없음:
댓글 쓰기