메뉴

이 페이지에는 기계 번역이 사용되었습니다. 일부 콘텐츠는 완벽하지 않을 수 있습니다. 개선할 수 있는 방법을 알려주십시오.

피드백 공유

리팩토링

목차

이 페이지 공유하기

리팩토링이란?

리팩토링은 애플리케이션을 클라우드로 이동하는 동시에 새로운 환경에 더 잘 맞도록 아키텍처를 재구성하는 클라우드 마이그레이션 전략입니다. 이 프로세스에서는 클라우드 네이티브 기능, 유연성 및 탄력성을 최대한 활용할 수 있도록 애플리케이션의 기존 코드 베이스를 수정해야 합니다.

이 접근 방식은 문제를 방지하기 위해 신중하게 테스트해야 하는 중요한 코드 변경을 포함하기 때문에 다른 마이그레이션 방법보다 더 복잡합니다. 리팩토링은 종종 대규모 모놀리식 애플리케이션을 마이크로서비스라고 하는 더 작고 독립적인 컴포넌트로 분할하는 것을 의미합니다. 이 구조는 가용성을 향상시키고 더 많은 자동화를 허용하며 클라우드에서 더 나은 리소스 사용으로 이어집니다.

리팩토링은 상당한 시간과 리소스를 미리 투자해야 하지만, 가장 높은 장기적 투자 수익률을 제공하는 가장 미래 지향적인 마이그레이션 전략으로 널리 알려져 있습니다.

리팩토링의 장점

리팩토링 전략을 채택하면 클라우드로 이전된 애플리케이션에 몇 가지 주요 이점을 제공합니다.

  • 장기적인 비용 절감: 리팩토링을 통해 애플리케이션의 리소스 요구 사항을 클라우드 인프라에 맞게 조정할 수 있습니다. 필요에 따라 리소스를 확장하거나 축소하는 기능은 소비를 줄이고 리팩토링 노력에 대한 지속적인 수익을 제공합니다.
  • 적응성: 클라우드 네이티브 및 마이크로서비스 아키텍처를 통해 애플리케이션을 빠르게 발전시킬 수 있습니다. 서버리스 컴퓨팅, 자동 크기 조정, 분산 로드 밸런싱과 같은 도구를 사용해 변화하는 고객 요구사항을 충족하기 위해 새로운 기능을 추가하거나 기능을 수정할 수 있습니다.
  • 복원력 향상: 애플리케이션 구성 요소를 분리하고 고가용성을 위해 설계된 관리형 솔루션과 통합함으로써 애플리케이션은 클라우드 플랫폼의 내구성과 안정성을 상속합니다.

리팩토링의 단점

장기적인 이점에도 불구하고 리팩토링은 조직이 고려해야 할 몇 가지 과제를 제시합니다.

  • 벤더 종속: 애플리케이션이 공급업체의 클라우드 네이티브 기능을 많이 사용할수록 특정 퍼블릭 클라우드와 더욱 긴밀하게 결합됩니다. 이로 인해 나중에 다른 공급업체로 전환하기가 어렵고 비용이 많이 들 수 있습니다.
  • 시간 투입: 리팩토링은 리소스 집약적인 프로세스이며 단순한 "리프트 앤 시프트" 마이그레이션보다 훨씬 더 복잡합니다. 그 결과, 프로젝트에서 비즈니스 가치를 제공하는 데 훨씬 더 많은 시간이 걸립니다.
  • 기술 요구 사항: 이 전략은 초보자를 위한 것이 아닙니다. 성공적인 리팩토링 프로젝트를 위해서는 코딩, 자동화 및 DevOps 사례에 대한 고급 기술을 갖춘 팀이 필요합니다.
  • 오류 위험: 리팩터링에는 애플리케이션의 여러 측면을 변경하는 작업이 포함되므로 코드, 구성 또는 인프라 수준에서 오류가 발생할 위험이 높습니다. 어떤 실수라도 프로젝트 지연, 비용 증가 및 잠재적인 서비스 중단으로 이어질 수 있습니다.

올바른 클라우드 스토리지 선택의 중요성

각 애플리케이션 구성 요소에 적합한 클라우드 스토리지를 선택하는 것은 리팩토링에서 기대하는 성능, 확장성 및 비용 효율성을 달성하는 데 필수적입니다. 스토리지 옵션을 평가할 때는 다음 요소를 고려하십시오:

  • 스토리지 유형: 애플리케이션의 요구 사항에 가장 적합한 스토리지를 결정합니다. 파일, 블록 또는 오브젝트 스토리지가 필요한지 여부는 성능, 용량 또는 둘 다의 균형에 대한 요구 사항에 따라 달라집니다.
  • 확장성: 스토리지 솔루션은 성능에 영향을 주지 않으면서 데이터 증가 및 트래픽 피크를 수용할 수 있도록 원활하게 확장할 수 있어야 합니다.
  • 데이터 계층화: 모든 데이터에 동일한 수준의 액세스가 필요한 것은 아닙니다. 자주 사용하는 데이터는 고성능 계층으로, 덜 사용하는 데이터는 저비용 계층으로 자동으로 이동하여 비용 절감을 최적화하는 스토리지를 찾으십시오.
  • 데이터 이동성: 데이터는 필요한 곳이면 어디든 안전하고 효율적으로 이동할 수 있어야 합니다. 빠르고 안전한 데이터 복사를 제공하는 스토리지 솔루션은 클라우드 간 또는 온프레미스에서 클라우드로의 이동을 단순화하여 복잡성과 위험을 줄일 수 있습니다.
  • 데이터 보호: 클라우드 데이터 및 애플리케이션 보호는 스토리지에서 시작됩니다. 스냅샷 및 복제 기능이 있는 솔루션을 찾아보십시오. 증분 스냅샷은 상당한 스토리지 공간을 소비하지 않으면서 더 빠르고 완전한 백업을 제공합니다.
  • 데이터 보안: 클라우드 스토리지는 저장 및 전송 중인 데이터에 대한 암호화, 액세스 제어, 자동 랜섬웨어 보호 등 강력한 보안 기능을 제공해야 합니다. 지울 수 없는 백업을 사용하고 거의 즉각적인 복구 기능을 보장하면 데이터 손실 및 다운타임에 대한 방어를 강화하는 데 도움이 됩니다.

클라우드 마이그레이션 전략 평가

효과적인 클라우드 마이그레이션 전략은 원활한 전환을 위한 명확한 로드맵을 제공합니다. 각 애플리케이션과 데이터 세트의 특정 요구 사항을 충족하면서 클라우드 플랫폼의 운영 효율성을 최적화하는 데 도움이 됩니다.

클라우드 마이그레이션 전략이 중요한 이유

잘 정의된 마이그레이션 전략이 없으면 조직은 여러 위험에 직면하게 됩니다.

  • 비용 증가: 명확한 전략에는 지출 및 절감액을 추적하는 데 도움이 되는 핵심 성과 지표(KPI)가 포함됩니다. 이렇게 하지 않으면 새로운 클라우드 서비스를 도입하고 애플리케이션 사용량이 증가할 때 비용을 관리하기가 어렵습니다.
  • 공급업체 종속: 클라우드 마이그레이션은 시간이 오래 걸리고 비용이 많이 듭니다. 계획 없이 클라우드 서비스를 사용하기 시작하면 초기 선택이 더 이상 요구 사항에 맞지 않을 때 공급업체를 전환하기 어려울 수 있습니다.
  • 보안 및 규정 준수 격차: 클라우드 공급자가 인프라를 보호하는 동안 데이터와 애플리케이션을 보호할 책임은 사용자에게 있습니다. 대량의 데이터를 이동하고 서로 다른 환경에서 액세스 제어를 구성하면 심각한 보안 노출이 발생할 수 있습니다.

7가지 클라우드 마이그레이션 전략(7 R's)

애플리케이션과 데이터를 클라우드로 이동하기 위한 프레임워크를 제공하는 7가지 일반적인 클라우드 마이그레이션 전략이 있습니다. 애플리케이션마다 다른 전략이 필요할 수 있습니다.

전략 설명
리팩토링/재설계 민첩성, 성능 및 확장성 향상을 위해 클라우드 네이티브 기능을 활용하도록 아키텍처를 변경하여 애플리케이션을 혁신합니다.
리플랫포밍 애플리케이션을 클라우드로 이전하는 동시에 새로운 환경의 이점을 활용하기 위해 일부 클라우드 최적화를 통합합니다.
환매 공급업체의 SaaS(Software as a Service) 모델을 채택하여 다른 제품으로 전환하는 경우가 많습니다.
리호스트(Lift and Shift) 새로운 클라우드 기능을 활용하지 않고 최소한의 변경 또는 변경 없이 애플리케이션을 클라우드로 마이그레이션합니다.
재배치 애플리케이션을 재작성하거나 운영을 변경하지 않고 VMware Cloud와 같은 기술을 사용하여 인프라를 클라우드로 이전합니다.
유지 일반적으로 상당한 리팩터링이 필요하여 연기할 수 있거나 마이그레이션에 대한 비즈니스 사례가 없기 때문에 애플리케이션을 소스 환경에 유지합니다.
사용 중지 소스 환경에서 더 이상 필요하지 않은 애플리케이션을 폐기합니다.

클라우드 마이그레이션의 5단계

IT 인프라, 애플리케이션 및 데이터를 클라우드로 이전하는 작업은 일반적으로 5단계로 구성됩니다. 성공적인 마이그레이션을 위해서는 이러한 단계를 이해하는 것이 중요합니다.

  1. 준비: 현재 IT 인프라를 평가하여 마이그레이션의 실현 가능성, 비용 및 이점을 결정합니다. 여기에는 위험 식별, 종속성 분석 및 마이그레이션 전략 선택이 포함됩니다.
  2. 계획: 자세한 마이그레이션 로드맵을 개발합니다. 목표를 정의하고, 클라우드 서비스 제공업체를 선택하고, 필요한 리소스와 도구를 식별합니다.
  3. 마이그레이션: 인프라, 애플리케이션 및 데이터를 클라우드로 전송하는 작업을 실행합니다. 여기에는 클라우드 리소스 배포, 데이터 이동 및 애플리케이션 테스트가 포함됩니다.
  4. 운영: 새로운 클라우드 환경을 관리하고 유지합니다. 여기에는 성능 모니터링, 리소스 업데이트 및 보안 문제 해결이 포함됩니다.
  5. 최적화: 지속적으로 성능을 모니터링하고, 리소스를 미세 조정하고, 비용 절감 조치를 구현하여 클라우드 환경의 이점을 극대화합니다.
Drift chat loading