클라우드 준비 안티패턴
고객은 클라우드 채택의 준비 단계에서 안티패턴을 경험하는 경우가 많습니다. 이러한 안티패턴으로 인해 예기치 않은 가동 중지 시간, 재해 복구 문제 및 가용성 문제가 발생할 수 있습니다.
안티패턴: 릴리스된 서비스가 프로덕션에 사용할 준비가 되었다고 가정함
클라우드 컴퓨팅이 빠르게 진화하고 있기 때문에 회사에서는 새 서비스의 미리 보기 버전을 릴리스하는 경우가 많습니다. 고객은 프로덕션 환경에서 사용 가능한 모든 클라우드 서비스를 사용할 수 있다고 가정하는 경향이 있습니다. 그러나 다음과 같은 이유로 문제가 발생할 수 있습니다.
- 미리 보기 서비스는 일반적으로 가동 시간 SLA(서비스 수준 계약)를 제공하지 않습니다.
- 새 서비스는 이미 제공된 클라우드 서비스만큼 완성도가 높지 않은 경우가 많습니다.
예제: 프로덕션 환경에서 미리 보기 서비스 사용
연구소는 프로덕션에서 미리 보기 클라우드 서비스를 사용합니다. 이 서비스는 사용 사례에 적합한 것처럼 보이지만 연구소는 서비스에 대한 실사를 수행하지 않습니다. 또한 연구소는 참조 아키텍처의 요구 사항 및 지침을 따르지 않습니다.
미리 보기 서비스에 문제가 발생하여 예기치 않은 가동 중지 시간을 초래합니다. 연구소는 일반적으로 클라우드 서비스가 약속한 것만큼 완성도가 높지 않거나 회복 탄력성이 있지 않다고 판단했습니다.
원하는 결과: 프로덕션에서 사전 승인된 클라우드 서비스 사용
미리 보기 상태인 새 서비스를 평가할 때는 POC(개념 증명) 시나리오에서만 이러한 서비스를 사용합니다. 이러한 서비스에는 SLA가 없으므로 프로덕션 환경에서는 사용하지 마세요. 클라우드 서비스를 승인할 때 기능과 완성도 간의 적절한 균형을 찾습니다. 클라우드 서비스를 신속하게 평가하는 데 사용할 수 있는 수립된 프레임워크는 클라우드 서비스 실사 검사 목록을 참조하세요.
안티패턴: 향상된 복원력 및 가용성 가정
클라우드 컴퓨팅은 종종 온-프레미스 컴퓨팅보다 많은 이점을 제공합니다. 예를 들면 다음과 같습니다.
- 향상된 복원력: 실패 후 복구
- 가용성: 심각한 가동 중지 시간 없이 정상 상태로 실행
대부분의 클라우드 서비스는 이러한 이점을 제공하기 때문에 많은 기업은 모든 클라우드 서비스가 기본적으로 복원력과 고가용성을 제공한다고 가정합니다. 실제로 이러한 기능은 추가 비용 및 추가 기술 작업으로만 사용할 수 있는 경우가 많습니다.
예: 고가용성 가정
스타트업은 IaaS(Infrastructure as a Service) 서비스에서 중요 업무용 애플리케이션을 구현합니다. 스타트업의 개발자는 가동 시간 SLA가 99.9%인 가상 머신(VM)을 조사했습니다. 이들은 비용을 절감하려고 하므로 단일 VM 및 Premium Storage를 사용합니다.
VM이 실패하면 애플리케이션을 복구할 수 없습니다. 예기치 않은 가동 중지 시간이 발생합니다. 개발자들은 클라우드가 기본적으로 고가용성을 제공한다고 가정했습니다. 다음과 같은 항목 간에 성능 보장이 다를 수 있다는 사실을 알지 못했습니다.
- PaaS(Platform as a Service) 및 SaaS(Software as a Service) 등의 서비스 모델
- 부하가 분산된 가용성 집합 및 가용성 영역과 같은 기술 아키텍처
원하는 결과: 복원력 및 비용의 균형을 유지하면서 오류 감소
오류 범위를 줄일 수 있는 아키텍처 모범 사례에 대한 내용은 신뢰할 수 있는 완성도 높은 리소스를 참조하세요.
높은 복원력 및 가용성과 같은 비용과 기능 간의 적절한 균형을 식별합니다. 복원력 및 가용성이 증가하면 일반적으로 비용이 증가합니다. 예를 들면 다음과 같습니다.
- 단일 VM에 가동 시간이 99.9%인 SLA가 있을 수 있습니다.
- 동일한 워크로드를 실행하는 두 VM은 SLA에 99.95%~99.99%의 가동 시간을 제공합니다.
클라우드 기반 솔루션을 설계할 때 요구 사항 엔지니어링의 필수 프로세스에 참여합니다.
안티패턴: 클라우드 공급자 되기
일부 회사에서는 내부 IT 부서를 클라우드 공급자로 만들려고 합니다. 그러면 IT 팀에서 참조 아키텍처를 담당하게 됩니다. 또한 IT 팀은 사업부에 IaaS 및 PaaS를 제공해야 합니다. 이러한 유형의 작업은 일반적으로 IT 팀의 핵심 비즈니스에 속하지 않으므로 서비스 제품에 유용성, 복원력, 효율성 및 보안이 부족할 수 있습니다.
예: 모놀리식 관리형 클라우드 서비스 제공
회사의 IT 부서는 IT 부서와 사업부 간의 브로커 역할을 하는 CCoE(클라우드 센터)를 설립합니다. 회사가 클라우드 규격인지 확인하기 위해 관리 위원회는 CCoE에 모놀리식 엔드투엔드 서비스를 제공하는 작업을 할당합니다. CCoE는 사업부에서 완전 관리형 클라우드 VM을 서비스로 주문하는 데 사용할 수 있는 내부 클라우드 조달 포털을 설정합니다. 그러나 IT 팀은 전체 플랫폼에 액세스하고 사용할 수 있는 사용자를 제어합니다. 따라서 IT 팀은 사업부가 Azure에서 제공하는 모든 서비스를 사용하지 못하도록 적극적으로 금지합니다. 사업부는 클라우드 포털에 액세스할 수 없습니다. SSH(Secure Shell) 및 RDP(원격 데스크톱 프로토콜)를 통해서만 주문하는 서버에 액세스할 수 있습니다.
여러 가지 이유로 CCoE는 클라우드에서 사용할 수 있는 각 서비스를 래핑하는 모놀리식 관리형 서비스를 제공하는 데 문제가 있습니다.
- 클라우드는 여러 솔루션 영역에서 많은 서비스를 제공합니다. IaaS 솔루션을 개발하는 것과 비교할 때 사물 인터넷(IoT) 및 AI 솔루션을 설계하고 엔지니어링하려면 다른 전문 지식과 기술이 필요합니다.
- 클라우드 서비스는 자주 변경됩니다.
- 모놀리식 서비스를 제공하려고 하면 IT 팀이 사업부가 아닌 프로세스를 관리하면서 시장 출시 시간이 크게 늘어나게 됩니다.
원하는 결과: 가드레일 제공
클라우드 기술을 채택할 때 IT 부서는 IT 워크로드부터 시작하여 클라우드에 대한 직접적인 경험을 얻을 수 있습니다. Azure용 Microsoft 클라우드 채택 프레임워크를 사용하여 첫 번째 채택 프로젝트를 식별합니다.
IT 팀이 거버넌스와 같은 플랫폼 가드레일을 정의하도록 하는 중앙 집중식 작업과 같은 완성도 높은 클라우드 운영 모델을 사용합니다. 그러면 사업부는 IT 팀이 정의한 가드레일 내에서 안전하고 일관된 방식으로 클라우드 프로젝트를 채택할 수 있습니다.
모든 주요 플랫폼은 설정, 관리 및 사용 측면에서 크게 다르기 때문에 처음에는 하나의 주요 공용 클라우드 공급자만 채택하는 것이 좋습니다.
다음과 같은 IT 도구에 가능한 한 많은 SaaS 솔루션을 사용합니다.
- 코드 리포지토리
- 연속 통합 및 지속적인 업데이트(CI/CD)
- 협업 시스템
클라우드 워크로드의 경우 IT 팀이 안전하게 대규모로 작동하는 친숙한 절차를 사용하도록 권고합니다.