현대화

완료됨

클라우드 현대화는 비즈니스 요구 사항을 더 잘 충족하기 위해 기존 클라우드 기반 워크로드를 개선하는 방법입니다. 새 기능을 추가하지 않고 워크로드를 클라우드 모범 사례에 맞춥니다.

클라우드 현대화를 위한 조직 준비

  1. 조직에 대한 현대화를 정의합니다. 클라우드 내에서 변경, 리팩터링 및 다시 설계를 통해 기존 워크로드를 개선하는 데 중점을 둔 공통 정의를 수립합니다. 이 정의는 새로운 기능이나 완전한 재작성을 제외합니다. 잘못된 정렬을 방지하기 위해 모든 팀과 관련자 간에 이 정의를 전달합니다. 명확한 역할과 팀 간 조정을 통해 개발, 운영, 보안 및 아키텍처 팀 간에 공동 책임을 만듭니다.

  2. 현대화 준비 상태 및 기술을 평가합니다. 클라우드 서비스 지식, DevOps/CI/CD 완성도, 최신 아키텍처 패턴 및 모니터링/자동화 도구에서 팀의 기능을 평가합니다. 원활한 현대화 실행을 보장하기 위해 기술 격차를 파악하고 Microsoft 또는 파트너의 교육, 인증, 신입 사원 또는 외부 전문 지식을 통해 이를 해결하기 위한 계획을 수립합니다.

  3. 현대화할 워크로드의 우선 순위를 지정합니다. 수익, 고객 경험, 규정 준수 및 내부 종속성에 대한 중요도에 따라 워크로드를 평가하여 비즈니스 가치를 평가합니다. 기술 부채, 오래된 기술, 유지 관리 노력, 성능 문제 및 확장성 제한을 검토하여 기술 위험을 평가합니다. 이러한 평가를 우선 순위 매트릭스로 결합하여 먼저 현대화할 워크로드를 결정합니다.

  4. 현대화하는 방법을 이해합니다. Azure Well-Architected Framework를 사용하여 격차를 식별하고 안정성, 보안, 비용 최적화, 운영 효율성 및 성능 효율성의 다섯 가지 핵심 요소에 걸쳐 현대화 로드맵을 생성하는 검토를 수행합니다. 워크로드 팀이 조직 맞춤을 위한 정기적인 체크 인을 유지하면서 정의된 경계 내에서 비즈니스 컨텍스트 및 의사 결정 권한을 제공하여 현대화 결정을 내릴 수 있도록 합니다.

클라우드 현대화 계획

  1. 현대화 전략을 선택합니다. 특정 요구 사항에 따라 세 가지 기본 방법 중에서 선택합니다. 최소 코드 변경(IaaS에서 PaaS로)을 사용하여 빠른 승리를 위해 다시 배치하거나, 기능을 유지하면서 구조 및 클라우드 최적화를 개선하기 위해 기존 코드를 수정하도록 리팩터링하거나, 마이크로 서비스 및 서버리스와 같은 클라우드 네이티브 패턴을 사용하여 애플리케이션 아키텍처를 다시 디자인하도록 다시 설계합니다. 목표, 타임라인 및 리소스를 고려하여 각 구성 요소의 요구 사항에 전략을 일치합니다. 비즈니스 가치의 모든 결정을 접지하여 지나치게 현대화하지 않도록 합니다.

  2. 단계별 현대화를 계획합니다. 복잡한 워크로드를 논리적 단계로 분할하여 증분 가치를 제공하고 관리 가능한 청크를 처리하여 위험을 줄입니다. 작업을 구성 요소/계층, 우선 순위/복잡성 또는 비즈니스 기능으로 나눕니다. 초기 우선 순위에 대한 위험 수준이 낮은 고부가가치 변경부터 시작합니다. 값 및 종속성별 나머지 단계 시퀀스입니다. 기술 목표 및 품질 게이트를 포함하여 각 단계에 대한 명확한 성공 기준을 정의하고 완료된 단계에서 학습된 결과 및 교훈을 기반으로 계획을 조정합니다.

  3. 현대화 거버넌스를 계획합니다. 기존 변경 자문 위원회와 통합된 공식 변경 승인 워크플로를 설정하거나 전용 현대화 검토 보드를 만듭니다. 환경을 안정화하기 위해 주요 배포 전후에 변경 사항을 구현합니다. 제안된 변경 내용에 대한 평가 및 승인을 요구하면서 지연된 좋은 아이디어의 백로그를 유지 관리하여 범위 크리핑을 제어합니다.

  4. 배포 전략을 정의합니다. 유지 관리 기간 동안 구현할 수 있는 위험 수준이 낮은 가역적 변경에 대한 현재 위치 배포 또는 기존 워크로드와 함께 새 환경을 실행하여 가동 중지 시간을 최소화해야 하는 복잡한 고위험 변경에 대한 병렬 배포 중에서 선택합니다. 가능한 경우 카나리아 릴리스와 같은 점진적 배포 기술을 사용하여 작은 사용자 백분율로 시작하고 모니터링 결과에 따라 점진적으로 증가합니다.

  5. 현대화 위험을 완화할 계획입니다. 단계별 지침, 책임 있는 당사자 및 기간을 사용하여 모든 주요 변경에 대한 자세한 롤백 절차를 만듭니다. 코드 기반 인프라 도구 및 청록색 배포를 사용하여 가능한 경우 롤백을 자동화합니다. 모니터링을 위해 확장된 하이퍼케어 기간이 있는 배포 중 및 이후에 지원 팀이 대기 상태인지 확인합니다.

  6. 관련자 승인을 보호합니다. 다양한 대상 그룹에 가치 제안을 조정하고(기술 팀의 운영 효율성, 리더를 위한 비즈니스 결과) 명확한 중요 시점 및 타임라인을 사용하여 구조화된 계획을 문서화합니다. 20-40% 비용 절감 및 50-80% 생산성 향상과 같은 특정 메트릭을 사용하여 현대화 가치를 정량화합니다. 완화 전략을 사용하여 프로젝트 위험을 투명하게 해결하고 정기적으로 통신하여 진행 상황을 보고하고 피드백을 수집합니다.

클라우드에서 현대화 실행

  1. 현대화를 위해 관련자를 준비합니다. 변경 동결 시작 및 라이브 전환 기간과 같은 주요 날짜를 포함하여 영향을 받는 모든 당사자에게 배포 일정을 미리 알릴 수 있습니다. 명확하게 정의된 시작 및 종료 시간을 사용하여 원본 및 종속 워크로드에서 변경 중지를 구현합니다. 새 액세스 URL 및 인증 요구 사항을 포함하여 최종 사용자 작업 및 배포 후 변경 내용을 전달합니다. 연장된 시간 및 에스컬레이션 절차를 사용하여 배포를 위한 지원 인력을 조정합니다. 수동 해결 방법 및 대체 계획을 사용하여 중요한 워크로드에 대한 대체 절차를 정의합니다.

  2. 비프로덕션 환경에서 현대화를 개발합니다. Azure Advisor 권장 사항 및 아키텍처 검토 프로세스를 사용하여 구현하는 동안 Well-Architected Framework 원칙을 따라 디자인 결정의 유효성을 검사합니다. 더 작은 규모 또는 낮은 성능 계층에서 동일한 Azure 서비스를 사용하여 프로덕션을 미러링하는 비프로덕션 환경을 만듭니다. 지속적인 통합 빌드를 사용하는 코드 스크립트로 모든 코드 변경 및 인프라에 대해 Git을 사용하여 소스 제어 및 CI/CD를 사용하여 변경 내용을 증분 방식으로 구현합니다.

  3. 테스트를 통해 현대화 변경 내용의 유효성을 검사합니다. CI 파이프라인 및 회귀 테스트를 사용하여 수정된 모든 구성 요소에서 단위 및 통합 테스트를 실행하여 기존 기능을 중단하지 않도록 합니다. 실제 사용자 워크플로를 시뮬레이션하는 수동 QA 또는 자동화된 UI 테스트를 통해 엔드투엔드 기능 테스트를 수행합니다. 이해 관계자와 함께 사용자 동의 테스트를 수행하여 유용성 및 기능에 대한 피드백을 캡처합니다. 150% 예상 부하에서 Azure Load Testing과 같은 부하 테스트 도구를 사용하여 성능의 유효성을 검사합니다. 취약성 검사 및 클라우드용 Microsoft Defender를 사용하여 보안 유효성 검사 및 규정 준수 검사를 실행합니다. 프로덕션 배포 전에 모든 중요한 문제를 해결합니다.

  4. 재사용 가능한 인프라를 만듭니다. 인프라를 향후 배포 및 환경에 사용할 수 있는 코드 템플릿으로 빌드하여 일관성을 보장하고 여러 배포 시나리오에서 수동 구성 오류를 줄입니다.

  5. 배포 설명서를 만듭니다. 모든 배포 절차, 롤백 단계 및 유효성 검사 프로세스를 문서화하여 일관된 실행을 보장하고 팀 구성원이 안전하고 안정적으로 배포를 수행할 수 있도록 합니다.

  6. 현대화를 배포합니다. 현재 위치 배포의 경우 유지 관리 기간을 예약하고, 일관된 배포를 위해 CI/CD 파이프라인을 사용하고, Azure App Service 슬롯 또는 Container Apps 트래픽 분할을 사용하여 카나리아 배포를 통해 점진적 트래픽 라우팅을 구현합니다. 메트릭을 모니터링하는 동안 전체 트래픽으로 점진적으로 증가하고 배포 중에 데이터 일관성을 유지합니다. 병렬 배포의 경우 IaC 템플릿을 사용하여 병렬 프로덕션 환경을 만들고, 연속 데이터 동기화를 사용하여 데이터베이스 복제를 설정하고, Azure 마이그레이션 도구를 사용하여 구조화되지 않은 데이터 및 파일을 복사하고, 데이터 손실이 없는 최종 데이터 동기화를 완료하고, 가중 라우팅을 사용하여 사용자 트래픽을 점진적으로 줄이고,% 1부터 시작하여 증분 방식으로 증가합니다. DNS 컷오버 또는 부하 분산 장치 구성을 통해 100% 최종 스위치를 수행합니다. 즉시 컷오버 후 기능을 확인하고 이전 환경을 24-72시간 동안 핫 대기 상태로 유지합니다.

  7. 현대화 성공의 유효성을 검사합니다. 초기 마이그레이션 후 기간 동안 액세스 패턴, 성능 메트릭 및 오류 비율을 모니터링하여 성공적인 사용자 액세스 및 워크로드 성능을 확인합니다. 모든 요구 사항이 충족되는지 워크로드 소유자, 테스터 및 비즈니스 이해 관계자로부터 철저한 유효성 검사 및 확인 후에만 마이그레이션 성공을 알릴 수 있습니다.

  8. 안정화 중에 워크로드를 지원합니다. 숙련된 IT 직원이 처음 며칠 또는 몇 주 동안 정상 작업보다 짧은 SLA를 제공하는 안정화 기간 동안 향상된 지원 범위를 설정합니다. Runbook, 지원 문서 및 모니터링 구성을 포함한 운영 설명서 및 도구를 업데이트합니다. 새 절차에 대한 운영 팀을 교육하고 레거시 구성 요소를 제거하면서 자산 인벤토리에 새 인프라가 반영되도록 합니다.

클라우드 현대화 후 워크로드 최적화

  1. 클라우드에 대한 구성을 최적화합니다. 매주 검토하고 중요한 변경 내용을 먼저 구현하고 워크로드 또는 리소스 그룹별로 필터링하여 Azure Advisor 권장 사항을 체계적으로 적용합니다. Azure Well-Architected Framework 서비스 가이드를 사용하여 서비스별 설정을 조정하여 구성을 모범 사례에 맞춥니다. 지속적인 평가를 구성하는 동안 48시간 이내에 중요하고 심각도가 높은 결과를 해결하기 위해 클라우드용 Microsoft Defender를 사용하여 보안 구성 격차를 즉시 해결합니다.

  2. 운영 준비 상태의 유효성을 검사합니다. Azure Monitor가 새 구성 요소에 필요한 모든 로그, 메트릭 및 추적을 수집하도록 하여 모니터링 범위 및 정확도를 확인합니다. 비정상 상황 테스트를 통해 경고 규칙을 테스트하고 대시보드를 업데이트하여 새 아키텍처를 반영합니다. Microsoft Cost Management를 사용하여 비용 모니터링 및 제어를 설정하여 지출 패턴을 추적하고, 예산 경고 및 지출 한도를 설정하고, 기회의 권한을 부여하기 위해 매주 리소스 사용률을 검토합니다. Azure Backup 또는 데이터베이스 지정 시간 복원을 사용하여 테스트 복원을 수행하여 백업 및 복구 절차를 테스트합니다. 달성된 RTO 및 RPO 메트릭을 문서화하고 모든 중요한 데이터가 백업 정책에 포함되어 있는지 확인합니다.

  3. 사용자 피드백을 수집하고 결과를 측정합니다. 설문 조사, 피드백 양식 및 지원 티켓 분석을 통해 정기적으로 구조화된 사용자 피드백을 수집합니다. 내부 팀에 대한 회고 모임을 수행합니다. Azure DevOps 또는 GitHub 이슈의 문제를 문서화하고, 심각도 및 비즈니스 값으로 분류하고, 확인 타임라인을 사용하여 소유권을 할당하고, 매월 진행 상황을 전달하여 피드백을 체계적으로 추적하고 해결합니다. 성공 메트릭 및 ROI 프로젝션을 컴파일하여 실제 결과와 목표를 측정합니다. 이해 관계자에게 결과를 전달하여 실현된 가치를 입증하거나 부족을 식별합니다.

  4. 지속적인 현대화 사례를 수립합니다. 클라우드 서비스가 진화하고 사용 패턴이 변경됨에 따라 새로운 최적화 기회를 식별하기 위해 Well-Architected 검토 또는 상태 검사를 사용하여 몇 개월마다 정기적인 워크로드 검토를 예약합니다. Azure Policy를 사용하여 가능한 한 최적화를 자동화하여 모범 사례를 적용하고, 성능 조정을 위한 자동 크기 조정 규칙을 구현하고, Cost Management를 통해 비용 변칙 경고를 설정합니다. 성공적인 최적화 패턴을 문서화하고, 일반적인 시나리오에 대한 플레이북을 만들고, 학습된 교훈의 기술 자료를 유지 관리하고, 조직 클라우드 채택 사례에 대한 인사이트를 제공하여 결과와 모범 사례를 공유합니다.

자세한 클라우드 채택 프레임워크 지침은 클라우드에서 워크로드 현대화를 참조하세요.