다음을 통해 공유


DevOps 고려 사항

이 문서에서는 Azure 랜딩 존의 DevOps에 대한 고려 사항 및 권장 사항을 제공합니다.

DevOps란?

DevOps는 개발(개발) 및 운영(ops)에 지속적인 가치를 제공하는 사람, 프로세스 및 기술의 통합입니다. DevOps 접근 방식은 조직이 효율적이고 대규모로 운영할 수 있도록 반복 가능한 프로세스를 만드는 팀 협업을 장려합니다.

Azure 랜딩 존의 컨텍스트에서 DevOps는 다음과 같은 영역에서 전체 Azure 랜딩 존 수명 주기 관리를 담당하는 팀(또는 팀)을 안내하는 프레임워크가 됩니다.

  • 자율성과 거버넌스 간의 적절한 균형을 달성하기 위해 다른 팀과 경계를 자체 구성하고 정의하는 방법
  • Azure 랜딩 존 아키텍처 디자인을 지속적으로 발전하는 방법 (콘웨이의 법칙)
  • 디자인된 아키텍처의 구현을 계획, 우선 순위 지정 및 반복하는 방법
  • Azure 랜딩 존 코드에 대한 버전 제어, 연속 통합 및 지속적인 배포를 구현하는 방법
  • 소유한 시스템 및 플랫폼에 대한 인시던트 운영 및 대응 방법
  • Azure 랜딩 존 프로비저닝 및 자동 복구에 적용하는 자동화 수준
  • 민첩하고 결과 지향적인 방식으로 조직의 다른 팀과 공동 작업하는 방법
  • 보안, 품질, 사용자 중심 및 지속적인 학습의 생성 문화권을 만드는 방법

클라우드 운영 모델을 검토할 때 내리는 결정은 DevOps 프레임워크를 사용하는 방법에 영향을 줄 수 있습니다.

DevOps 디자인 고려 사항

  • DevOps 프레임워크를 정의하거나 조직의 DevOps 및 클라우드 채택 전략에 맞게 조정합니다. DevOps의 정의와 팀이 따라야 하는 원칙과 사례를 포함합니다. DevOps 전략을 비즈니스 전략에 연결해야 합니다.

  • 팀이 DevOps 성능을 개선할 수 있는 메트릭 을 설정합니다. 고성능 팀은 가설을 사용하여 아이디어를 테스트하고, 가설의 작동 방식을 측정한 다음, 필요에 따라 변경합니다. DevOps의 최종 의도는 배포 빈도, 변경을 적용하는 평균 시간 또는 성능 저하된 서비스를 복원하는 시간과 같은 측면을 개선하는 것입니다. 결국 전체 비즈니스 성능에 영향을 주도록 이러한 모든 메트릭을 디자인해야 합니다.

  • 팀이 현재 기술에 따라 먼저 구현해야 하는 DevOps 사례를 결정하고 팀이 DevOps 메트릭을 개선하는 데 도움이 되는 새로운 사례를 증분적으로 적용하는 로드맵을 디자인합니다. 엔지니어링 기능 및 리소스에 대한 투자는 매우 중요합니다.

  • 팀이 DevOps 사례를 구현하는 데 사용해야 하는 DevOps 도구 체인을 결정합니다. 이질적인 DevOps 에코시스템 시나리오가 Azure 랜딩 존 또는 워크로드 배포의 복잡성을 증가시키는 시나리오를 방지하려면 도구가 전체 DevOps 전략과 일치하는지 확인합니다.

  • 구현된 DevOps 사례 및 DevOps 도구가 Azure 랜딩 존 디자인에 미치는 영향을 평가합니다.

  • 팀의 기술을 지속적으로 성장시키기 위한 준비 계획을 수립합니다. DevOps 모델의 일괄적 적용은 유능한 DevOps 팀을 즉시 구축하지 않습니다.

  • 조직의 DevOps 전략 및 클라우드 운영 모델에 가장 적합한 팀 토폴로지를 결정하고 팀 간에 명확한 경계, 책임 및 종속성을 설정합니다.

  • Azure 랜딩 존을 담당하는 팀이 조직의 다른 팀과 협업하여 디자인 및 구현을 업데이트하고, 인시던트 해결, 종속성을 최소화하고, 비즈니스 우선 순위에 맞게 새 Azure 랜딩 존 요구 사항을 캡처하는 방법을 결정합니다.

DevOps 권장 사항

다음 섹션에는 조직 내에서 DevOps 프레임워크를 구현하는 데 도움이 되는 권장 사항이 포함되어 있습니다.

DevOps 프레임워크 정의

DevOps 프레임워크를 설정하려면 미리 정의된 검증된 사례 집합으로 시작하는 데 이미 사용할 수 있는 프레임워크를 사용하는 것이 좋습니다.

Azure 랜딩 존 관리에 대한 DevOps 사례 정의

Azure 랜딩 존에 대한 다음 DevOps 사례를 고려합니다.

DevOps 구현 경험 계획

DevOps 구현 과정을 정의하고 조직의 클라우드 채택 계획에 맞춥니다.

  • 다음 영역에서 현재 팀이 어디에 있는지 확인합니다.
  • 조직의 클라우드 채택 계획을 사용하여 팀에 원하는 모델을 정의합니다.
  • 조직의 변환 타임라인에 맞는 반복 및 증분 모드에서 원하는 모델을 구현하기 위한 반복 로드맵을 설정합니다.

원하는 DevOps 메트릭 구현

팀의 DevOps 성능을 측정하는 데 사용할 메트릭을 식별합니다. 메트릭을 사용하여 비즈니스 결과와 연결되는 팀에서 원하는 습관을 유도합니다. 팀이 활동에 미치는 영향을 측정할 수 있도록 메트릭을 설정합니다. 투명성은 신뢰를 촉진하고 조직 목표와의 맞춤을 추진하므로 모든 사용자가 주요 메트릭을 볼 수 있도록 합니다.

비즈니스 영향을 개선하기 위해 DevOps 성능을 측정하는 메트릭의 예는 다음과 같습니다.

  • 비즈니스 결과:

    • 목표 및 핵심 결과를 도구로 사용하여 팀을 "출력" 사고방식에서 벗어나 "결과" 사고방식으로 전환할 수 있습니다. 예를 들어 Azure에 배포된 정책 수에 비해 준수 등급을 개선한 워크로드 수를 사용할 수 있습니다.
    • 고객 또는 최종 사용자 만족도. 예로는 NPS(Net 프로모터 점수), 설문 조사, 인터뷰 등이 있습니다.
    • 비즈니스 성장. 예를 들어 수익성 향상, 수익 증가 및 새로운 수익원 획득이 있습니다.
    • 사람 메트릭. 예를 들어 직원 순 추천 지수(eNPS), 사용률, 만족도 및 보존이 있습니다.
    • 비용. 예를 들어 비용 절감을 사용할 수 있습니다.
  • 소프트웨어 전달 성능

    • 변경에 대한 리드 타임, 버그 수정, 새 기능 또는 기타 변경 내용이 아이디어에서 배포, 프로덕션으로 이동하는 데 걸리는 시간입니다.
    • 배포 빈도는 코드 변경 사항이 프로덕션 환경에 하루에 몇 번이나 배포되는지를 나타냅니다.
    • 평균 복원 시간, 인시던트가 발생한 후 프로덕션에서 서비스를 복원하는 데 걸리는 시간입니다.
    • 오류로 이어지는 프로덕션 변경 내용(예: 구성 변경)의 변경 비율인 변경 실패율입니다.
  • 질:

    • 결함 누락율은 최종 사용자가 식별한 결함 수입니다.
    • 계획되지 않은 작업 또는 재작업, 계획되지 않은 작업 또는 재작업을 수행하는 데 소요된 시간의 비율입니다.
    • 활성 버그, 아직 수정되지 않은 버그 수입니다.
    • 코드 상태( 단위 테스트되지 않은 코드의 백분율)입니다.

DevOps 기술 에코시스템 정의

Azure 랜딩 존의 수명 주기를 관리하도록 선택한 DevOps 도구 체인은 다음 사항에 영향을 줍니다.

  • DevOps 원칙 및 사례를 구현하기 위한 전략
  • DevOps 수명 주기에 대한 보안 고려 사항
  • Azure 랜딩 존 수명 주기 관리의 전체 아키텍처 디자인

이전에 정의한 DevOps 프레임워크 를 사용하여 각 DevOps 프로세스에 사용할 도구를 식별합니다. 팀의 요구 사항에 가장 적합한 DevOps 기술을 선택하지만 조직 전체에서 표준화를 달성할 수 있지만 DevOps 에코시스템에서 너무 복잡하거나 이질성을 방지할 수 있는 균형을 찾습니다.

다양한 DevOps 단계에서 DevOps 기술의 예는 다음과 같습니다.

  • 계획: Atlassian Jira, Atlassian Trello, Azure Boards, GitHub
  • CI(연속 통합) 및 테스트: Atlassian Bitbucket, Azure Repos, GitHub Repos, npm, NuGet, Selenium, SmartBear Cucumber, SonarSource SonarQube, Zed Attack Proxy
  • CD(지속적인 업데이트): Atlassian Bamboo, Azure Pipelines, GitHub Actions, Jenkins, Octopus Deploy, Perforce Puppet, RedHat Ansible
    • 코드로서의 인프라: Bicep, Pulumi, Terraform
    • 부트스트랩: ArgoCD GitOps, Flux GitOps, Progress Chef, PowerShell DSC(필요한 상태 구성)
  • 운영: Azure Automation, Azure Monitor, CISCO Splunk, Grafana, Microsoft Power BI
  • 공동 작업 및 피드백: Atlassian Confluence, Azure DevOps Wikis, GitHub 토론, GitHub Wikis, Microsoft Teams, Slack, Stack Overflow

다음 다이어그램에서는 Azure DevOps 도구 체인을 선택한 DevOps 프레임워크 예제를 보여 줍니다.

Azure DevOps 도구 체인이 선택된 DevOps 프레임워크의 다이어그램.

다음 다이어그램에서는 Azure DevOps 및 GitHub 도구 체인을 선택한 DevOps 프레임워크 예제를 보여 줍니다.

Azure DevOps 및 GitHub 도구 체인을 선택한 DevOps 프레임워크의 다이어그램.

다음 단계