애플리케이션을 리호스팅하는 방법

​​애플리케이션을 리호스팅하려면, 일반적으로 온프레미스에서 클라우드로, 또는 특수한 워크로드를 위해 클라우드에서 다시 온프레미스로 환경 간 마이그레이션을 진행하되, 핵심 아키텍처나 코드를 변경하지 않아야 합니다.

학습 목표

이 글을 읽은 후에 다음을 할 수 있습니다:

  • 애플리케이션을 클라우드로 리호스팅하기에 적합한 시나리오 파악
  • 리호스팅 계획 및 실행 모범 사례 알아보기
  • 리호스팅 중 컴퓨팅 외 인프라 요구 사항 이해하기

관련 콘텐츠


계속 알아보시겠어요?

인터넷에서 가장 인기 있는 인사이트를 한 달에 한 번 정리하는 Cloudflare의 월간 요약본 theNET를 구독하세요!

Cloudflare가 개인 데이터를 수집하고 처리하는 방법은 Cloudflare의 개인정보 취급방침을 참조하세요.

글 링크 복사

애플리케이션 리호스팅이란?

“리프트 앤 시프트”라고도 하는 애플리케이션 리호스팅은 기본 아키텍처를 거의 또는 전혀 수정하지 않고 애플리케이션을 온프레미스 환경에서 클라우드로 이전하는 프로세스입니다. 이러한 접근 방식을 통해 조직은 애플리케이션을 다시 설계하거나 심층적으로 수정하지 않고도 워크로드를 신속하게 마이그레이션할 수 있습니다.

기업에서는 애플리케이션을 클라우드 플랫폼으로 이전함으로써 물리적 하드웨어에 대한 의존도를 줄이고, 운영 비용을 절감하며, 확장성과 복원력을 개선할 수 있습니다.

조직이 애플리케이션을 클라우드로 마이그레이션하는 이유

조직이 클라우드 환경으로 전환하는 데는 몇 가지 핵심 동인이 있습니다.

  • 확장성: 클라우드 플랫폼은 수요에 따라 조정되는 탄력적인 리소스를 제공합니다
  • 비용 효율성: 클라우드로 전환하면 간접비가 감소하고, 지출을 더 유연한 종량제 모델로 전환할 수 있습니다
  • 복원력 및 가용성: 클라우드 인프라는 이중화 및 재해 복구 기능을 기본 제공하는 경우가 많습니다
  • 보안 및 규제 준수: 주요 클라우드 공급자는 규제 준수 요구 사항을 지원하는 보안 기능 및 인증을 갖추고 있습니다
  • 혁신: 클라우드 마이그레이션을 통해 개발 주기가 빨라지고, 통합이 쉬워지며, AI, 분석, 서버리스 컴퓨팅 등의 서비스에 액세스할 수 있습니다

대부분의 조직이 이러한 이점을 활용하기 위해 클라우드로 마이그레이션하는 반면, 특수 워크로드를 가진 대기업과 같은 상당수의 소수 조직은 고유한 성능, 규제 준수, 또는 비용 고려사항을 충족하기 위해 특정 애플리케이션을 다시 온프레미스 환경으로 리호스팅합니다.

리호스팅이 애플리케이션 최신화를 지원하는 방법

애플리케이션 최신화는 조직의 보안, 성능, 확장성 요구 사항을 효과적으로 지원하기 위해 기존 소프트웨어 애플리케이션과 해당 기반 인프라를 업데이트하고 마이그레이션하는 프로세스를 의미합니다. 이러한 광범위한 노력 중 일반적인 접근 방식 중 하나는 리호스팅입니다.

리호스팅은 애플리케이션 자체를 크게 변경하지 않으면서도 클라우드의 이점을 활용하여 컨테이너화, 마이크로서비스 도입, 아키텍처 재설계 등 추가적인 최신화 작업을 지원하는 데 도움이 됩니다.

특정 상황에서 리호스팅은 광범위한 업그레이드가 필요하지 않은 레거시 애플리케이션의 마지막 단계가 될 수 있습니다. 다른 상황에서는 더 심층적인 변환이 발생하기 전 과도기적 단계 역할을 합니다.

리호스팅 vs. 리플랫폼 vs. 리팩토링 비교

애플리케이션 최신화에 접근하는 방법에는 다음과 같이 여러 가지가 있습니다.

  • 리호스팅: 애플리케이션을 클라우드로 이전하되, 변경 사항은 최소화합니다
  • 플랫폼 변경: 핵심 애플리케이션 코드를 변경하지 않고, 자체 관리형 데이터베이스를 클라우드 관리형 서비스로 이전하는 등 클라우드 최적화를 위한 소폭의 변경 사항을 적용합니다
  • 리팩터링: 컨테이너 또는 서버리스 컴퓨팅과 같은 클라우드 네이티브 기능을 활용하기 위해 애플리케이션 재설계하거나 재작성합니다

각 접근 방식에는 시간, 비용, 복잡성 측면에서 장단점이 있습니다. 리호스팅은 속도와 단순성을 제공하므로, 위험을 줄이면서 클라우드 도입을 가속화하려는 조직에 실용적인 선택이 될 수 있습니다.

리호스팅을 위한 모범 사례에는 어떤 것이 있을까요?

리호스팅은 단순히 데이터 센터의 서버에서 클라우드의 가상 머신으로 애플리케이션 코드를 이전하는 것을 의미하지 않습니다. 이는 컴퓨팅 리소스뿐만 아니라 전체 애플리케이션 인프라의 계획, 자동화, 테스트, 확장을 포함하는 구조화된 프로세스입니다.

평가 및 계획

클라우드 인프라로 애플리케이션을 리호스팅하기 전에, 무엇을 이전해야 하며 해당 요소들이 다른 시스템과 어떻게 상호작용하는지에 대한 충분한 이해가 필요합니다.

애플리케이션 종속성 식별

검색 단계에서는 핵심 애플리케이션 구성 요소와 종속성을 매핑합니다. 예를 들어, 단일 배포 단위(JAR, WAR, EXE 등)로 모든 로직을 포함하는 모놀리식 애플리케이션 바이너리, 서버 렌더링 방식의 표시 계층(JSP, ASP.NET 등), 애플리케이션 내에 직접 내장된 비즈니스 로직, 관계형 데이터베이스(Oracle, SQL Server, MySQL 등의 단일 RDBMS 등)가 이에 해당합니다.

또한 애플리케이션 서버(예: Tomcat, WebLogic, IIS), 외부 API, 인증 시스템, 네트워킹 규칙, 하드코딩된 IP 또는 엔드포인트, 기타 연결된 서비스를 비롯한 일반적인 종속성도 고려해야 합니다. 이 목록이 모든 항목을 포괄하는 것은 아니지만, 기존 애플리케이션 아키텍처에서 흔히 볼 수 있는 많은 일반적인 요소가 포함되어 있습니다.

이 단계를 거치면 마이그레이션 중 예기치 못한 문제가 발생하는 것을 방지하고, 모든 구성 요소를 빠짐없이 고려할 수 있습니다.

클라우드 인프라 요구 사항 평가

핵심 종속성을 매핑한 후, 새로운 환경에서 애플리케이션이 필요로 하는 다음과 같은 요소들을 평가합니다.

  • 컴퓨팅 및 스토리지 요구 사항
  • 대기 시간 민감도
  • 백업 및 복구 목표
  • 지역 가용 영역
  • 최대 부하 시 대역폭 기대치

이 시점에서는 DNS, CDN, DDoS 방어, 관찰 가능성 등 지원 스택도 함께 평가해야 합니다. 리호스팅은 이러한 계층을 최신화할 수 있는 기회이기도 합니다.

적합한 클라우드 공급자 선택

클라우드 공급자는 마이그레이션 작업의 장기적인 성공에 중요한 역할을 합니다. 컴퓨팅 가격이 첫 번째 비교 기준이 되는 경우가 많지만, 그 외에도 여러 요소를 고려해야 합니다.

클라우드 또는 최신화 파트너를 평가할 때는 성능, 보안, 운영 효율성을 지원할 수 있는 포괄적인 기능을 제공하는 공급자를 찾는 것이 중요합니다. 여기에는 예측할 수 없는 비용 급증 없이 수요에 따라 확장 가능한 백엔드 서비스와 웹 애플리케이션 방화벽(WAF), DDoS 방어, 세분화된 액세스 제어와 같은 통합 네트워크 수준의 보안 기능이 포함됩니다.

전 세계 사용자에게 정적 및 동적 자산을 빠르고 일관되게 전달하기 위해서는 글로벌 콘텐츠 전송 네트워크(CDN)도 필수적입니다. 공급자는 빠르고 안정적일 뿐만 아니라 자동화 및 복원력을 지원하도록 프로그래밍 가능한 기본 제공 DNS 서비스를 제공해야 합니다.

끝으로, 애플리케이션이 확장되고 발전하는 과정에서 가시성과 제어 능력을 유지하기 위해서는 네이티브 관찰 가능성 도구 또는 기존 로깅 및 모니터링 스택과의 원활한 통합이 매우 중요합니다.

마이그레이션 이후의 테스트 및 검증

성공적인 마이그레이션이란, 애플리케이션이 올바르고 안전하며 효율적으로 실행되는 것을 의미합니다. 리호스팅 후에는 대기 시간 및 처리량과 같은 핵심 성능 지표를 온프레미스 기준선과 비교하여 애플리케이션이 사용자의 기대를 충족하는지 확인하는 것이 중요합니다. 부하 테스트를 수행하면 실제 환경에서의 수요를 시뮬레이션하고, 정상적인 조건에서는 드러나지 않을 수 있는 문제를 파악하는 데 도움이 됩니다. 로그 및 경고를 검토하는 것 역시 안정성이나 보안에 영향을 미칠 수 있는 이상 징후나 잘못된 구성을 식별하는 데도 중요합니다.

애플리케이션 성능 외에도, 팀은 DNS 확인, CDN 동작, TLS 구성, 방화벽 규칙 등 지원 인프라 구성 요소의 유효성을 검사하여 새로운 환경에서 의도한 대로 작동하는지 확인해야 합니다.

마이그레이션 전환 과정에서 트래픽 스티어링은 고객에게 영향을 미치는 다운타임 없이 원활한 전환을 보장하는 데 핵심적인 역할을 합니다. DNS 기반 트래픽 전환, 가중 부하 분산, 카나리아 배포 등의 기술은 온프레미스 환경에서 클라우드 기반 애플리케이션으로 사용자 마이그레이션을 점진적으로 수행할 수 있도록 지원합니다. 이를 통해 팀은 시스템 동작을 실시간으로 모니터링하고, 문제를 조기에 식별하며, 필요한 경우 변경 사항을 롤백할 수 있습니다. 이 모든 것은 최종 사용자 경험을 방해하지 않고 수행됩니다. 이 중요한 단계에서 서비스 연속성을 유지하기 위해서는 DNS TTL, 상태 점검, 모니터링 범위를 신중하게 조정해야 합니다.

클라우드 리소스 모니터링 및 규모 확장

확장은 선제적으로 이루어져야 합니다. 현재 워크로드에 적합하다면 자동 크기 조정 그룹이나 서버리스 옵션을 고려하세요. 클라우드 지출도 모니터링해야 합니다. 클라우드로 마이그레이션한 후에도 비용 최적화는 계속되어어야 합니다.

마이그레이션 후 지속적인 관찰 가능성은 다음과 같은 점에서 도움이 될 수 있습니다.

  • 성능 문제를 조기에 감지
  • 리소스 사용률 관리
  • 보안 이벤트 식별

다음을 지원하려면 클라우드 네이티브 또는 타사 모니터링을 구현합니다.

  • 애플리케이션 메트릭(CPU, 메모리, 오류)
  • 네트워크 흐름 및 트래픽 이상
  • DNS 성능 및 캐시 적중률
  • CDN 효율성(에지 캐시 vs. 오리진 풀 비교)

애플리케이션 리호스팅 시점

리호스팅은 조직이 빠르게 마이그레이션해야 하거나, 과도한 개발 작업을 피하고자 하거나, 레거시 시스템의 수명을 연장하고자 할 때 적합한 경우가 많습니다. 또한 물리적 인프라 종속성을 줄이면서 더 광범위한 IT 인프라 변환을 시작하려는 조직에도 적합할 수 있습니다.

리호스팅에 이상적인 시나리오

리호스팅은 조직이 안정적이지만 비용이 많이 들고 온프레미스에서 유지 관리하기 부담스러워지는 레거시 애플리케이션을 보유한 경우에 가장 효과적입니다. 또한 데이터 센터에서 빠르게 철수해야 하거나, 기존 애플리케이션 코드베이스에 중단을 최소화하며 클라우드로 이전하는 것이 우선순위인 경우에도 매우 적합합니다.

향후 더 광범위한 최신화를 계획 중인 팀에는 리호스팅이 전략적인 첫걸음이 될 수 있습니다. 현재 기반 변화를 마련하면서 향후 리팩토링에 대한 유연성을 유지할 수 있기 때문입니다. 이 경우, 리호스팅은 즉각적인 재작성 없이 레거시 애플리케이션의 가치를 연장하여 조직이 준비되었을 때 최신화를 추가로 진행할 시간을 효과적으로 벌 수 있습니다.

리호스팅에 영향을 미치는 비즈니스 및 기술적 요인

애플리케이션 최신화 경로로 리호스팅을 평가할 때는 다음을 고려하세요.

  • 클라우드로의 전환 시간: 조직이 애플리케이션을 새로운 환경으로 이전해야 하는 속도
  • 예산 제약: 현재 재정 자원으로 향후 재호스팅 작업을 감당할 수 있는지, 또는 향후 리플랫폼 또는 리팩토링 작업을 위한 기반을 마련할 수 있는지 여부
  • 운영 연속성: 마이그레이션 중 잠재적인 서비스 중단에 대한 조직의 허용 수준
  • 인력: 보다 심화된 최신화 이니스티브를 수행할 수 있는 내부 기술 인력의 이용 가능성

리호스팅은 비교적 마찰이 적은 클라우드로의 경로를 제공함으로써 위험과 자원 제약을 관리하는 데 도움이 될 수 있습니다.

클라우드 마이그레이션 비용 최적화

리호스팅을 이용하면 하드웨어 유지 관리 및 라이선스 비용, 데이터 센터 오버헤드, 인프라 프로비저닝 시간을 줄여 클라우드 마이그레이션 시 단기적인 비용 최적화를 실현할 수 있습니다. 그러나 리호스팅만으로는 장기적인 비용을 완전히 최적화하지 못할 수 있습니다. 리팩토링이나 리플랫폼 없이 애플리케이션은 클라우드 네이티브 효율성(예: 자동 크기 조정, 서버리스, 매니지드 서비스 등)을 활용할 수 없기 때문입니다.

단기적으로 조직은 자본 지출을 제거하고 물리적 인프라 필요성을 없애 빠르게 ROI를 실현할 수 있습니다. 하지만 장기적인 관점에서 진정한 비용 효율성을 실현하기 위해 컴퓨팅 사용량 조정, 인스턴스 크기 조정, 모놀리식 서비스 분리로 확장성과 리소스 할당을 개선하는 등 심화된 최적화가 필요합니다.

마이그레이션 후 클라우드 비용 관리

리호스팅은 취약하고 오래된 인프라 패치에 대한 의존성과 같은 일부 보안 위험을 줄일 수 있지만, 새로운 위험을 초래하기도 합니다. 온프레미스의 통제된 환경에서는 안전했던 애플리케이션이라도, 클라우드 네이티브 보안 플랫폼을 통해 적절히 보호하지 않으면 상대적으로 통제가 덜한 클라우드 환경에 노출될 수 있습니다.

비용 또한 중요한 고려 사항입니다. 리호스팅된 애플리케이션은 사전 관리하지 않으면 예상보다 높은 클라우드 비용을 초래할 수 있습니다. 예를 들어, 클라우드 공급자의 환경에서 데이터를 외부로 이동시킬 때 발생하는 송신료는 특히 데이터 집약적인 애플리케이션에서 빠르게 증가할 수 있습니다.

클라우드로 마이그레이션한 후 예상치 못한 비용이 발생하지 않도록 하려면 조직은 리소스 및 비용 관리를 선제적으로 수행해야 합니다. 이를 위해서는 사용 동향을 면밀히 모니터링하여 패턴과 이상 징후를 식별하고, 소유권과 책임 주체을 정의하는 명확한 비용 거버넌스 정책을 수립하는 것이 포함됩니다. 적정 크기 조정 및 사용률이 낮은 자원의 스케줄링과 같은 작업을 자동화하면 낭비를 줄이고 지출을 최적화할 수 있습니다. 또한, 클라우드 플랫폼 내에서 예산과 경고를 설정하면 비용이 허용 임계값을 초과하기 전에 조기 경고 신호를 전송하여 환경이 확장되는 상황에서도 팀이 효과적으로 비용을 통제할 수 있도록 지원합니다.

마이그레이션 시 보안 고려 사항

모든 마이그레이션 전략에는 다음을 포함하여 프로세스 전반에 걸쳐 보안을 핵심 고려 사항으로 통합해야 합니다.

리호스팅 전 준비의 중요성

리호스팅을 성공적으로 수행하려면 단순히 애플리케이션을 클라우드로 복사하는 것만으로는 부족합니다. 준비가 부족한 전환은 다음과 같은 문제를 초래할 수 있습니다.

  • 사용자 경험 저하
  • DNS 전파 중 가동 중지 발생
  • 대기 시간 또는 가용성 문제
  • 누락된 종속성 또는 오래된 구성

자주 발생하는 문제 중 하나는 고객이나 파트너가 애플리케이션의 기존 데이터 센터에 연결된 정적 IP 주소에 의존할 수 있다는 점입니다. 해당 IP 주소가 고객 또는 파트너 측에서 업데이트되지 않으면 트래픽이 실패하게 됩니다. 조직은 이러한 종속성을 예측하고 이해관계자와 사전에 조율하여 원활한 전환을 보장해야 합니다.

체계적으로 계획된 리호스팅에는 다음 요소가 포함됩니다.

  • 고객 및 파트너와의 커뮤니케이션 계획
  • 테스트 환경 및 롤백 옵션
  • 엔드포인트 또는 인프라 변경 사항에 대한 명확한 문서화

Cloudflare가 애플리케이션 최신화를 지원하는 방법

Cloudflare는 비디오 및 이미지 변환, 애플리케이션 부하 분산, 글로벌 DNS 해결을 통해 빠르고 안정적인 성능을 제공함으로써 애플리케이션 최신화를 가속화합니다. 자동화된 방어 기능은 봇, DDoS, zero-day 공격으로부터 방어하며, 통합된 관찰 가능성은 클라우드 환경 전반에서 규정 준수를 보장합니다. 이러한 기능을 통해, Cloudflare는 안전하고 성능이 우수하며 미래에 대비한 최신화를 실현하기 위해 애플리케이션 스택의 모든 계층을 강화합니다.

애플리케이션 최신화에 대해 자세히 알아보세요.