엔터프라이즈 애플리케이션을 퍼블릭 클라우드로 이전하는 것을 고려하는 조직은 애플리케이션이 의존하는 애플리케이션 전송 서비스도 데이터 센터로 이전해야 합니다. 또한, 클라우드 마이그레이션은 보안과 액세스를 체계화하고 합리화하고, 클라우드 기반 애플리케이션 트래픽에 대한 가시성을 확보하고, 강력한 재해 복구 계획을 설계할 수 있는 기회를 제공합니다.
많은 조직의 경우, 엔터프라이즈 애플리케이션을 퍼블릭 클라우드로 옮기는 것은 매우 매력적인 제안이 될 수 있습니다. 이를 통해 여러 세대 및 지원 수준의 장비로 구성된 값비싼 데이터 센터를 포함하여 대규모 IT 인프라를 운영하는 데 필요한 고정 비용과 자산을 처분할 수 있습니다. 이러한 서버는 기업을 운영하는 동시에 전력을 소모하고 열을 발생시키며 값비싼 지원 계약을 요구합니다. IT 인프라의 수명 주기, 유지 관리 및 물리적 보관을 관리하려면 많은 기술, 시간 및 예산이 필요한데, 이는 IT 조직의 전반적인 사명, 즉 비즈니스를 운영하는 애플리케이션을 제공하는 데 방해가 될 수 있습니다.
오래된 서버나 애플리케이션을 간단한 API 호출로 폐기할 수 있는 새로운 세상을 위해 운영상의 골치 아픈 일과 재정적 부담을 없애는 것은 재정적으로나 운영적으로 합리적입니다. 더 이상 IT를 운영하는 기본 인프라를 관리할 필요가 없게 되면 기업에 IT가 가져다주는 진정한 가치를 나타내는 애플리케이션의 보안, 성능, 가용성에 더 집중할 수 있습니다.
하지만 가상화되고 유지 관리가 필요 없는 인프라의 이상향에 도달하기 전에 애플리케이션을 새로운 집으로 옮기는 가장 좋은 방법을 찾아야 합니다. 애플리케이션을 퍼블릭 클라우드로 마이그레이션하려면 몇 가지 선택이 필요합니다. 클라우드 환경에 맞게 애플리케이션을 완전히 재구성하여 세련되고 간소화된 사용자 경험을 제공할 수 있지만 시간과 노동력이 많이 소요되는 프로세스가 될 수 있습니다. 혹은 대규모적인 디자인이나 플랫폼 변경 없이 데이터 센터에서 실행되는 애플리케이션을 간단히 선택하여 퍼블릭 클라우드에 배포할 수도 있습니다.
이 "리프트 앤 시프트" 모델을 탐색하는 데는 여러 가지 좋은 이유가 있습니다. 약 10배 정도 저렴할 것으로 추산됩니다.1 거의 항상 훨씬 빠르며, 어떤 경우에는 수명이 제한된 애플리케이션을 다시 작성하는 것이 가치가 없는 경우도 있습니다. 하지만 성공적인 "리프트 앤 시프트" 마이그레이션을 위해서는 따라야 할 몇 가지 규칙이 있으며, 그 중 하나는 반드시 어겨야 할 규칙입니다.
우선 깨야 할 것부터 시작해 볼까요. 서버를 가축처럼 취급하는 개념은 종종 클라우드 아키텍처의 본질적인 특징으로 간주됩니다. 서버 인스턴스가 제대로 작동하지 않는 경우, 이를 수정하는 데 시간을 낭비하지 말고, 바로 종료하고 다시 배포하세요. 운영 체제나 소프트웨어를 업그레이드하지 마세요. 새로운 인스턴스를 배포하고 이전 인스턴스를 종료하세요. 이는 확실한 조언입니다. 하지만 데이터 센터의 호사스러운 환경에서 태어나고 자란 애플리케이션을 차갑고 혹독한 퍼블릭 클라우드 세상으로 옮기려고 하면 오히려 역효과가 날 수 있습니다.
대부분의 엔터프라이즈 애플리케이션은 클라우드 아키텍처와 방법론을 염두에 두고 설계되지 않았습니다. 이들은 상태를 로컬에 유지하고, 기본 서버가 부팅된 후 온라인 상태가 되는 데 시간이 걸리며, 갑작스러운 종료로 인해 데이터가 일관되지 않을 가능성이 높습니다. 당신은 그들을 가축이 아닌, 애완동물처럼 대해야 합니다.
클라우드 환경으로 이식된 엔터프라이즈 애플리케이션에는 데이터 센터에서 제공하는 것과 동일한 수준의 관리, 관리 및 애플리케이션 제공 서비스(보안, 가용성 및 성능)가 필요합니다. 이러한 애플리케이션에 필요한 기본적인 부하 분산 서비스조차도 클라우드에서 설계되고 탄생한 애플리케이션에 필요한 서비스보다 더 복잡할 것입니다. 클라우드에서 애플리케이션을 성공적으로 실행하려면 지원 인프라도 함께 옮겨야 합니다. 다행히도 대부분의 인프라 구성 요소는 이제 귀하가 선택한 퍼블릭 클라우드에서 사용할 수 있으며 조직의 지식, 기술, 심지어 정책까지도 클라우드에서 재사용할 수 있습니다.
대부분 기업 IT의 발전 과정은 패치 패널 배선 랙과 유사한 경로를 따릅니다. 당신은 그것을 알고 있죠. 처음에는 아름답고, 잘 디자인되었으며, 완벽하게 실행되었습니다. (정말 감동적인 구성을 보려면 reddit.com/r/cableporn을 방문하세요.) 그러나 1년도 지나지 않아 시간의 필요성과 긴박함으로 인해 여기는 지름길이고 저기는 잘못된 색깔이 사용되었습니다("빨간색은 DMZ를 뜻한다고요, 젠장!"). 단 3년 만에 캐비닛은 라벨이 없고 다채로운 이더넷 케이블로 이루어진 고르디우스 매듭으로 전락하여 뜯어내고 재구성하기만 하면 됩니다.
클라우드로 전환하면 혼란스러운 패치 패널을 없애고 보안 및 액세스 관리에 대한 통제권을 되찾을 수 있는 기회입니다. 애플리케이션과 함께 일부 인프라 서비스를 옮겨야 하지만, 이 기회를 활용해 애플리케이션 및 네트워크 액세스 전략을 합리화하고, 시각화하고, 정리해야 합니다.
아마도 가장 중요한 제어 수단은 클라우드 환경에서 사용자 신원을 관리하는 것일 것입니다. 일부 애플리케이션을 클라우드로 옮기거나, 일부 애플리케이션을 SaaS(Software as a Service)로 전환하거나, 일부 애플리케이션을 완전히 다시 작성하는 경우 사용자 ID 관리에 대한 몇 가지 주요 결정을 내려야 합니다.
여러 개의 ID 서비스를 운영하는 것은 힘들고 위험하며 비효율적일 수 있으며, 제거하려고 노력해야 하는 복잡성 중 일부가 다시 발생할 수 있습니다. ID 관리를 중앙화해야 하지만, 액세스는 필요한 모든 위치에서 통합되어야 합니다. SAML 및 OAuth와 같은 프로토콜을 사용하여 ID 서비스(일반적으로 Microsoft Active Directory)와 통합하고 클라우드 및 SaaS 서비스로 확장하는 기술을 사용하면 애플리케이션이 로컬 ID에 의존하지 않고도 단일 소스로 사용자를 인증할 수 있습니다.
하지만 애플리케이션이 더 분산된 것처럼 사용자도 더 분산되었습니다. 사용자의 위치와 장치를 식별하는 제어 기능을 추가하고 2단계 인증 및 일회용 비밀번호 옵션을 결합하면 소셜 엔지니어링 및 이와 유사한 방법으로 조직의 정보 보안을 손상시키려는 시도를 방어할 수 있습니다.
클라우드 환경은 사용자의 직접적인 관심에서 벗어나 여러 계층의 인프라를 추상화합니다. 이는 물리적 인프라에 대한 서비스 및 지원이 더 이상 필요하지 않으므로 좋은 일입니다. 그러나 책임을 외부에 위탁하는 것에는 직접적인 통제력의 양도도 수반됩니다.
이를 방지하기 위해 해야 할 일 중 하나는 애플리케이션 성능을 더욱 주의 깊게 모니터링하는 것입니다. 관련성 있고 실행 가능한 정보를 제공하는 더 나은 모니터링을 추가하면 문제 해결과 용량 계획이 더 쉬워질 수 있습니다.
또 다른 이점은 회사 내에서 일부 우려 사항이 해소될 수 있다는 것입니다. 클라우드의 보안 및 성능에 대한 의문은 부분적으로 퍼블릭 클라우드의 멀티 테넌트와 공개적으로 연결된 측면에서 발생하지만, 통제력 상실에 대한 인식에서도 발생합니다. 엔터프라이즈 애플리케이션과 동작에 대한 더 나은 모니터링을 추가하면 이러한 마이그레이션을 촉진하는 데 큰 도움이 될 수 있으며 클라우드 도입에 대한 감정적 장벽을 제거할 수 있습니다.
재해 복구와 비즈니스 연속성(DR/BC)은 우수한 데이터 센터 인프라와 애플리케이션 설계의 핵심입니다. 퍼블릭 클라우드를 사용한다고 해서 애플리케이션을 실행하고 보안을 유지할 책임이 없어지는 것은 아닙니다. 하지만 이로 인해 DR/BC 서비스 진입 장벽이 낮아지는 효과가 있습니다.
퍼블릭 클라우드 서비스가 출시되기 전에는 물리적인 재해 복구 위치를 만드는 데 상당한 비용과 시간이 소요되었을 수 있습니다. 이제 몇 분 만에 다른 기반 기술을 사용하여 별도의 공급업체에서 다른 대륙의 인프라에 액세스할 수 있습니다. 하지만 인프라가 훨씬 더 쉽게 이용 가능하더라도 가용성이 높은 애플리케이션을 만들려면 여전히 상당한 계획과 구성이 필요합니다.
재해 복구와 클라우드 인프라 주제에 대한 광범위한 문서가 있지만 DR/BC를 계획하고 설계하기 위한 좋은 프레임워크는 몇 가지 주요 결정과 고려사항으로 요약될 수 있습니다.
먼저, 위험과 투자 수익률(ROI)에 대해 생각해 보아야 합니다. 궁극적으로 다중 지역, 다중 공급업체 솔루션을 도입하는 데 시간과 비용을 투자할 가치가 있을까요? 클라우드 서비스를 이용하면 인수 비용을 낮출 수 있지만, 견고한 DR/BC 서비스를 유지하는 데 드는 운영 비용은 여전히 발생합니다.
두 번째로, 거래 데이터를 어떻게 저장하고 배포하고 일관성을 유지할지 생각해야 합니다. 이는 잘 알려진 문제이지만, 지리적으로 분산되어 있고 가용성이 높은 애플리케이션을 구축하는 데 있어 아마도 가장 어려운 부분일 것입니다. 많은 솔루션에는 위치 간에 높은 대역폭, 낮은 지연 시간의 연결이 필요하거나, 엔터프라이즈 애플리케이션에서 거의 사용하지 않는 최종 일관성 모델과 같은 보다 난해한 설계가 필요합니다. 대부분 기업은 서로 다른 클라우드 제공업체 간에 저지연 연결을 구축할 수 없지만, 일부 옵션을 이용할 수 있게 되었습니다.
세 번째 주요 과제는 애플리케이션에 대한 액세스를 관리하는 것입니다. 대부분의 액티브-액티브 또는 액티브-DR 설계의 경우, 가용성, 근접성 또는 성능에 따라 최적의 데이터 센터로 트래픽을 유도하기 위해 DNS를 사용하는 것이 단순성과 기능성의 가장 적절한 균형을 나타냅니다. 이는 애플리케이션에 다양한 클라우드 공급업체를 사용하는 멀티 클라우드 모델을 고려할 때 특히 그렇습니다. BGP와 같은 네트워크 프로토콜을 사용하는 것도 한 가지 방법이지만, 일반적으로 복잡성과 위험이 증가합니다. 또 다른 옵션은 클라우드 외부이지만 클라우드 근처에 있는 장비나 서비스를 사용하여 클라우드 간에 네트워크 트래픽을 간단히 로드 밸런싱하거나 전환하는 것입니다. 여기서 마지막 규칙을 살펴보겠습니다.
기업용 애플리케이션을 클라우드로 마이그레이션하는 대부분의 중소 규모 조직에서는 클라우드 인프라에 대한 안전한 개인 액세스를 구축하고자 할 것입니다. 일부 조직에는 공용 인터넷을 통해 VPN 솔루션을 실행하는 것이 적합할 수 있지만, 많은 조직에서는 클라우드 공급자에 대한 보다 직접적인 전용 연결을 사용합니다. 서비스 제공업체가 제공하는 이러한 전용 링크는 개인 정보 보호, 보장된 대역폭, 공용 인터넷 연결보다 낮은 지연 시간을 제공하지만 비용이 많이 듭니다.
그리고 두 개 이상의 클라우드에 탄력적인 연결이 필요한 경우 여러 개의 링크를 프로비저닝해야 합니다. 또는 클라우드를 일부 인프라 구성 요소에 연결해야 하지만 기존 데이터 센터가 지리적으로나 논리적으로 클라우드 네트워크 피어링 지점과 너무 멀리 떨어져 있는 경우는 어떻게 할까요?
점점 더 많은 기업이 여러 클라우드 공급자에 고속 연결을 제공하는 클라우드 연결 환경(일반적으로 클라우드 교환이라고 함)에 장비를 공동 배치하는 것을 고려하고 있습니다. 이를 통해 일부 IT 자산을 클라우드 가상 인프라와 매우 가깝게 호스팅할 수 있으며, 클라우드에서 실행되는 애플리케이션과 콜로케이션 센터에 있는 스토리지 또는 보안 어플라이언스와 같은 인프라 구성 요소 간에 비공개적이고 지연 시간이 짧은 연결이 제공됩니다. 또한, 이러한 방식을 통해 기존 IT 장비를 활용하고 네트워크 및 보안 제어를 클라우드 인프라로 확장할 수 있습니다.
마지막으로, 클라우드 거래소에 공동 배치하면 기업 데이터 센터, 클라우드 인프라, 공용 인터넷이 만나는 지점에 제어권을 둘 수 있습니다. 기업에 필요한 보안 정책을 확장하거나 생성하여 애플리케이션 데이터 흐름에 대한 제어력과 가시성을 높여 전반적인 보안 태세를 개선하고 액세스 및 보안 서비스를 합리화하고 표준화하는 데 도움이 됩니다.
기업용 애플리케이션을 퍼블릭 클라우드로 이전하면 조직에서 비용을 절감하고, 유연성을 높이며, 클라우드 환경으로 신속하게 전환할 수 있습니다. 그러나 성공적인 마이그레이션을 위해서는 엔터프라이즈 애플리케이션에도 여전히 주변 인프라가 필요하다는 점을 인식하는 것이 중요합니다.
보안, 성능, 가용성을 위해 애플리케이션에 필요한 서비스가 클라우드에 있는지 확인하면 기존 엔터프라이즈 애플리케이션을 계속 실행하고 사용자를 만족시킬 수 있습니다. 모니터링을 구축하면 문제가 있는 영역을 신속하게 파악하고, 서비스가 클라우드로 이전됨에 따라 애플리케이션 소유자가 느낄 수 있는 불안감을 완화하는 데 도움이 됩니다.
들어올려 옮기는 작업은 견고한 통제를 재확립하고, 접근성을 합리화하고, 비즈니스 연속성을 개선하는 촉매 역할을 할 수도 있는데, 이는 마이그레이션의 전반적인 ROI를 높이는 데 도움이 됩니다. 마지막으로, 여러 퍼블릭 클라우드를 활용하는 경우 클라우드 거래소에 공동 배치하는 이점을 고려하세요. 이를 통해 성능을 개선하고 단일 제어 지점에서 보안 및 액세스 정책을 표준화할 수 있습니다.
1 Knapp, Kristin, "목적을 위한 수단", Modern Infrastructure, 2015년 7/8월, http://docs.media.bitpipe.com/io_12x/io_125304/item_1181222/MI_JULY.pdf .