Google Cloud 잘 설계된 프레임워크의 안정성 요소에서는 Google Cloud에서 안정적인 워크로드를 설계, 배포, 관리하는 데 도움이 되는 원칙과 권장사항을 제공합니다.
이 문서는 클라우드 설계자, 개발자, 플랫폼 엔지니어, 관리자, 사이트 안정성 엔지니어를 대상으로 합니다.
안정성은 정의된 조건 내에서 의도된 기능을 일관되게 실행하고 중단 없는 서비스를 유지하는 시스템의 능력입니다. 안정성을 위한 권장사항에는 중복, 내결함성 설계, 모니터링, 자동 복구 프로세스가 포함됩니다.
신뢰성의 일부인 복원력은 성능을 유지하면서 장애 또는 예기치 않은 중단을 견디고 복구하는 시스템의 능력입니다. 다중 지역 배포, 자동 백업, 재해 복구 솔루션과 같은Google Cloud 기능을 사용하면 시스템의 복원력을 개선할 수 있습니다.
신뢰성은 다음과 같은 여러 이유로 클라우드 전략에 중요합니다.
- 최소한의 다운타임: 다운타임은 수익 손실, 생산성 감소, 평판 손상으로 이어질 수 있습니다. 복원력이 뛰어난 아키텍처는 장애가 발생할 때 시스템이 계속 작동하고 장애로부터 효율적으로 복구할 수 있도록 지원합니다.
- 사용자 환경 개선: 사용자는 기술과의 원활한 상호작용을 기대합니다. 복원력이 있는 시스템은 일관된 성능과 가용성을 유지하는 데 도움이 되며 수요가 많거나 예상치 못한 문제가 발생할 때도 안정적인 서비스를 제공합니다.
- 데이터 무결성: 장애로 인해 데이터가 손실되거나 손상될 수 있습니다. 복원력이 있는 시스템은 백업, 중복, 복제와 같은 메커니즘을 구현하여 데이터를 보호하고 정확하고 액세스 가능한 상태로 유지합니다.
- 비즈니스 연속성: 비즈니스에서 중요한 작업을 수행할 때 기술을 사용합니다. 복원력 있는 아키텍처는 심각한 장애가 발생한 후에도 연속성을 유지하여 비즈니스 기능이 심각한 중단 없이 계속되고 신속한 복구를 지원할 수 있도록 합니다.
- 규정 준수: 많은 업계에는 시스템 가용성 및 데이터 보호에 관한 규제 요구사항이 있습니다. 복원력이 있는 아키텍처는 시스템이 작동하고 안전하게 유지되도록 하여 이러한 표준을 충족하는 데 도움이 됩니다.
- 장기 비용 절감: 복원력이 있는 아키텍처에는 초기 투자가 필요하지만 복원력을 통해 비용이 많이 드는 다운타임을 방지하고, 사후 대응 수정 작업을 피하고, 더 효율적인 리소스 사용을 지원하여 시간이 지남에 따라 비용을 절감할 수 있습니다.
조직적 사고방식
시스템을 안정적으로 만들려면 계획과 수립된 전략이 필요합니다. 이 전략에는 교육과 다른 이니셔티브와 함께 안정성을 우선시할 수 있는 권한이 포함되어야 합니다.
개발, 제품 관리, 운영, 플랫폼 엔지니어링, 사이트 안정성 엔지니어링 (SRE)을 비롯한 전체 조직이 안정성을 책임진다는 명확한 기대치를 설정합니다. 마케팅 및 영업과 같은 비즈니스 중심 그룹도 안정성에 영향을 줄 수 있습니다.
모든 팀은 애플리케이션의 안정성 목표와 위험을 이해해야 합니다. 팀은 이러한 요구사항에 대해 책임을 져야 합니다. 안정성과 일반 제품 기능 개발 간의 충돌에는 우선순위를 지정하고 그에 따라 에스컬레이션해야 합니다.
모든 기능과 팀에서 안정성을 전체적으로 계획하고 관리합니다. 신뢰성 필라를 포함하는 Cloud Centre of Excellence (CCoE)를 설정하는 것이 좋습니다. 자세한 내용은 Cloud Center of Excellence로 조직의 클라우드 여정 최적화를 참고하세요.
신뢰성 중점 분야
신뢰할 수 있는 시스템을 설계, 배포, 관리하기 위해 수행하는 활동은 다음 집중 영역으로 분류할 수 있습니다. 이 필러의 각 안정성 원칙과 권장사항은 이러한 중점 분야 중 하나와 관련이 있습니다.
- 범위 지정: 시스템을 이해하려면 아키텍처를 자세히 분석하세요. 구성요소, 구성요소의 작동 방식 및 상호작용 방식, 시스템을 통해 데이터와 작업이 흐르는 방식, 발생할 수 있는 문제점을 이해해야 합니다. 잠재적인 실패, 병목 현상, 위험을 식별하여 이러한 문제를 완화하기 위한 조치를 취할 수 있습니다.
- 관찰: 시스템 장애를 방지하려면 포괄적이고 지속적인 관찰 및 모니터링을 구현하세요. 이 관찰을 통해 트렌드를 파악하고 잠재적인 문제를 사전에 식별할 수 있습니다.
- 대응: 오류의 영향을 줄이려면 적절하게 대응하고 효율적으로 복구하세요. 자동 응답은 장애의 영향을 줄이는 데도 도움이 됩니다. 계획과 관리에도 불구하고 오류가 발생할 수 있습니다.
- 학습: 실패가 재발하지 않도록 각 경험에서 배우고 적절한 조치를 취합니다.
핵심 원칙
Well-Architected Framework의 안정성 기본 요소에 있는 권장사항은 다음 핵심 원칙에 매핑됩니다.
- 사용자 경험 목표에 따라 안정성 정의
- 안정성에 대한 현실적인 목표 설정
- 리소스 중복을 통해 가용성이 높은 시스템 빌드
- 수평 확장 활용
- 모니터링 가능성을 사용하여 잠재적 장애 감지
- 그레이스풀 디그레이션 설계
- 장애 복구 테스트 실행
- 데이터 손실 복구 테스트 실행
- 철저한 사후 분석 실시
참여자
저자:
- 로라 하이엇 | 엔터프라이즈 클라우드 설계자
- Jose Andrade | 엔터프라이즈 인프라 고객 엔지니어
- 지노 펠리치아 | 수석 설계자
기타 참여자:
- Andrés-Leonardo Martínez-Ortiz | 기술 프로그램 관리자
- 브라이언 쿠드지아 | 엔터프라이즈 인프라 고객 엔지니어
- 다니엘 리 | 클라우드 보안 설계자
- 필리페 그라시오, 박사 | 고객 엔지니어
- 게리 하름슨 | 수석 설계자
- 저자: 쿠마르 다나고팔 | 크로스 프로덕트 솔루션 개발자
- 마르완 알 샤위 | 파트너 고객 엔지니어
- 니콜라스 핀토 | 고객 엔지니어, 애플리케이션 현대화 전문가
- 라디카 카나캄 | 선임 프로그램 관리자, 클라우드 GTM
- 라이언 콕스 | 수석 설계자
- 사만다 헤 | 테크니컬 라이터
- 웨이드 홈즈 | 글로벌 솔루션 디렉터
- 자크 세일 | 네트워킹 전문가