CC

\uACF5\uC2DD AZ-400 \uC2DC\uD5D8 \uAC00\uC774\uB4DC

\uC2DC\uD5D8 \uD615\uC2DD, \uC601\uC5ED \uBC0F \uC900\uBE44 \uD301

AZ-400: Microsoft DevOps 솔루션 설계 및 구현 학습 가이드

시험 개요

  • 인증: Microsoft DevOps Engineer Expert
  • 시험 코드: AZ-400
  • 대상 청중: DevOps 엔지니어, 개발자, 인프라 관리자
  • 필요 경험: Azure 관리 및 개발 경험, GitHub 및 Azure DevOps 경험

전제 조건

  • 다음 중 하나의 준학위 수준 인증:
    • Azure Administrator Associate (AZ-104)
    • Azure Developer Associate (AZ-204)

측정되는 기술 (2024년 7월 26일 기준)

1. 프로세스 및 커뮤니케이션 설계 및 구현 (10-15%)

추적성 및 업무 흐름 설계 및 구현

  • 업무 흐름 구조 설계 및 구현(GitHub Flow)
  • 피드백 주기 전략 설계 및 구현(알림, GitHub 이슈)
  • 업무 추적을 위한 통합 설계 및 구현(GitHub Projects, Azure Boards, 저장소)
  • 소스, 버그, 품질 추적성 설계 및 구현

DevOps를 위한 적절한 지표 및 쿼리 설계 및 구현

  • 대시보드 설계 및 구현(주기 시간, 복구 시간, 리드 시간)
  • 프로젝트 계획을 위한 적절한 지표
  • 개발을 위한 적절한 지표
  • 테스트를 위한 적절한 지표
  • 보안을 위한 적절한 지표
  • 배포를 위한 적절한 지표
  • 운영을 위한 적절한 지표

협업 및 의사소통 구성

  • Markdown과 Mermaid를 사용한 프로젝트 문서화
  • 릴리스 문서화 및 API 문서화 구성
  • Git 히스토리에서 자동화된 문서 생성
  • Webhook 통합 구성
  • Azure Boards와 GitHub 저장소 간 통합 구성
  • Microsoft Teams와의 통합 구성

2. 소스 제어 전략 설계 및 구현 (10-15%)

브랜치 전략 설계 및 구현

  • 브랜치 전략 설계(트렁크 기반, 기능 브랜치, 릴리스 브랜치)
  • 브랜치 정책 및 보호를 사용한 풀 요청 워크플로 구현
  • 브랜치 병합 제한 구현

저장소 구성 및 관리

  • 대용량 파일 관리 전략(Git LFS, git-fat)
  • Git 저장소 확장 및 최적화 전략(Scalar, 다중 저장소 공유)
  • 소스 제어 권한 구성
  • 저장소 구성을 위한 태그
  • Git 명령을 사용한 특정 데이터 복구
  • 소스 제어에서 특정 데이터 제거

3. 빌드 및 릴리스 파이프라인 설계 및 구현 (50-55%)

패키지 관리 전략 설계 및 구현

  • 패키지 관리 도구 권장(GitHub Packages, Azure Artifacts)
  • 로컬 및 상위 패키지를 위한 패키지 피드 및 보기 설계
  • 종속성 버전 관리 전략 구현(SemVer, CalVer)
  • 파이프라인 아티팩트에 대한 버전 관리 전략 구현

파이프라인을 위한 테스트 전략 설계 및 구현

  • 품질 및 릴리스 게이트 설계 및 구현
  • 포괄적인 테스트 전략 설계(로컬, 단위, 통합, 부하 테스트)
  • 파이프라인에 테스트 구현(테스트 작업, 테스트 에이전트, 테스트 결과)
  • 코드 커버리지 분석 구현

파이프라인 설계 및 구현

  • 배포 자동화 솔루션 선택(GitHub Actions, Azure Pipelines)
  • GitHub 러너 또는 Azure DevOps 에이전트 인프라 설계
  • GitHub 저장소를 Azure Pipelines와 통합
  • 파이프라인 트리거 규칙 개발
  • YAML을 사용하여 파이프라인 개발
  • 작업 실행 순서 전략 설계(병렬성, 다단계)
  • 복잡한 파이프라인 시나리오 개발(하이브리드, VM 템플릿, 자체 호스팅 러너)
  • 재사용 가능한 파이프라인 요소 생성(YAML 템플릿, 작업 그룹, 변수)
  • YAML 환경을 사용한 확인 및 승인 설계

배포 설계 및 구현

  • 배포 전략 설계(블루-그린, 캐너리, 링, 점진적 노출, 기능 플래그, A/B 테스트)
  • 종속성 배포가 안정적으로 순서화되도록 보장
  • 다운타임 최소화(VIP 스왑, 부하 분산, 롤링 배포, 배포 슬롯)
  • 핫픽스 경로 계획 설계
  • 배포 복원력 전략 구현
  • Azure App Configuration을 사용하여 기능 플래그 구현
  • 컨테이너, 바이너리, 스크립트를 사용한 애플리케이션 배포 구현
  • 데이터베이스 작업을 사용한 배포 구현

인프라 코드(IaC) 설계 및 구현

  • 구성 관리 기술 권장
  • 구성 관리 전략 구현
  • IaC 전략 정의(소스 제어, 테스트 및 배포 자동화)
  • 원하는 상태 구성 구현(Azure Automation, ARM, Bicep, Automanage)
  • Azure Deployment Environments 구현

파이프라인 유지 관리

  • 파이프라인 상태 모니터링(실패율, 기간, 불안정한 테스트)
  • 비용, 시간, 성능, 신뢰성을 위한 파이프라인 최적화
  • 파이프라인 병행 처리 최적화
  • 아티팩트 및 종속성에 대한 보존 전략 설계
  • 클래식에서 YAML로 파이프라인 마이그레이션

4. 보안 및 규정 준수 계획 개발 (10-15%)

인증 및 권한 부여 설계 및 구현

  • 서비스 주체와 관리 ID 사이 선택
  • GitHub 인증 구현(GitHub Apps, GITHUB_TOKEN, PAT)
  • Azure DevOps 서비스 연결 및 PAT 구현
  • GitHub의 권한 및 역할 설계
  • Azure DevOps의 권한 및 보안 그룹 설계
  • 적절한 액세스 수준 구성
  • Azure DevOps의 프로젝트 및 팀 구성

중요 정보 관리 전략 설계 및 구현

  • Azure Key Vault를 사용한 비밀, 키, 인증서 구현
  • GitHub Actions 및 Azure Pipelines의 비밀 구현
  • 배포 중 중요 파일 관리(보안 파일)
  • 중요 정보 유출을 방지하기 위한 파이프라인 설계

보안 및 규정 준수 검사 자동화

  • 보안 및 규정 준수 검사 전략 설계
  • Microsoft Defender for Cloud DevOps Security 구성
  • GitHub Advanced Security 구성
  • Microsoft Defender와 GitHub Advanced Security 통합
  • 컨테이너 스캔 및 CodeQL 분석 자동화
  • Dependabot 경고를 사용한 분석 자동화

5. 계측 전략 구현 (5-10%)

DevOps 환경 모니터링 구성

  • Azure Monitor 및 Log Analytics 통합 구성
  • 텔레메트리 수집 구성(Application Insights, VM Insights, Container Insights, Storage Insights, Network Insights)
  • GitHub(Insights, Charts)의 모니터링 구성
  • GitHub Actions 및 Azure Pipelines에 대한 경고 구성

계측에서 얻은 지표 분석

  • 인프라 성능 지표 검사(CPU, 메모리, 디스크, 네트워크)
  • 수집된 텔레메트리를 사용하여 지표 분석
  • Application Insights를 사용한 분산 추적 검사
  • KQL 쿼리를 사용하여 로그 조사

핵심 학습 리소스

공식 Microsoft Learn 경로

  • DevOps 시작하기
  • 엔터프라이즈 DevOps를 위한 개발
  • Azure Pipelines 및 GitHub Actions를 사용한 CI 구현
  • 릴리스 전략 설계 및 구현
  • Azure Pipelines를 사용한 안전한 지속적 배포 구현
  • Azure를 사용한 코드형 인프라 관리

도구 및 기술

  • Azure DevOps Services
  • GitHub 및 GitHub Actions
  • Azure Pipelines
  • Azure Artifacts
  • Azure Boards
  • Azure Repos
  • Azure Test Plans

실습 리소스

  • Microsoft Learn의 무료 연습 평가
  • Azure DevOps Labs
  • GitHub Learning Lab
  • 샘플 YAML 파이프라인

시험 세부 정보

  • 합격 점수: 700
  • 문항 형식: 사례 연구, 선다형, 드래그 앤 드롭
  • 시험 시간: 120분(비모국어 사용자 150분)
  • 지원 언어: 영어, 일본어, 중국어, 한국어, 독일어, 프랑스어, 스페인어, 포르투갈어, 이탈리아어 등 다국어
  • 시험 비용: $165 USD(지역별 상이)

주요 기술 마스터하기

버전 제어

  • Git 워크플로 및 전략
  • GitHub Flow
  • 브랜치 정책 및 보호
  • 풀 요청 워크플로
  • 대용량 파일용 Git LFS

CI/CD 플랫폼

  • Azure Pipelines YAML 구문
  • GitHub Actions 워크플로
  • 파이프라인 트리거 및 조건
  • 다단계 파이프라인
  • 행렬 빌드

패키지 관리

  • Azure Artifacts
  • GitHub Packages
  • NuGet, npm, Maven 피드
  • 상위 소스
  • 피드 보기 및 보존

인프라 코드

  • ARM 템플릿
  • Bicep
  • Terraform 기본 사항
  • Azure CLI/PowerShell
  • 원하는 상태 구성

보안 도구

  • Azure Key Vault
  • GitHub 비밀
  • 보안 파일
  • 서비스 연결
  • 관리 ID

모니터링

  • Application Insights
  • Azure Monitor
  • Log Analytics
  • KQL 쿼리
  • 경고 및 대시보드

DevOps 실습

지속적 통합

  • 빌드 자동화
  • 단위 테스트
  • 코드 커버리지
  • 정적 코드 분석
  • 아티팩트 게시

지속적 배포

  • 릴리스 파이프라인
  • 환경 승격
  • 승인 게이트
  • 롤백 전략
  • 기능 토글

테스트 전략

  • 테스트 피라미드
  • 좌측 테스트
  • 테스트 자동화
  • 성능 테스트
  • 보안 테스트

배포 패턴

  • 블루-그린 배포
  • 캐너리 릴리스
  • 링 배포
  • 점진적 롤아웃
  • 기능 플래그

인증 경로

  • 전제 조건: AZ-104 또는 AZ-204 필수
  • 갱신: Microsoft Learn을 통해 12개월마다 필수
  • 관련 인증:
    • Azure Solutions Architect Expert(AZ-305 필요)
    • Azure Security Engineer Associate(AZ-500)
    • GitHub 인증

중요한 개념

DevOps 문화

  • 개발과 운영의 협업
  • 공동의 책임
  • 지속적 개선
  • 빨리 실패하고 빨리 배우기
  • 코드형 인프라

애자일 계획

  • 사용자 스토리 및 에픽
  • 스프린트 계획
  • Burndown 차트
  • 속도 추적
  • 회고

보안(DevSecOps)

  • 좌측 보안
  • 파이프라인의 보안 검사
  • 종속성 검사
  • 컨테이너 보안
  • 규정 준수 코드