애플리케이션 개발 및 배포
애플리케이션 개발의 패턴 및 사례를 검토하고, Azure Pipelines를 구성하고, SRE(사이트 안정성 엔지니어링) 모범 사례를 구현합니다. SRE는 애플리케이션 개발 및 배포, 변경 관리, 모니터링 및 긴급 대응에 대한 소프트웨어 엔지니어링 접근 방식입니다.
계획, 학습 및 증명
다음 검사 목록 및 애플리케이션 개발 리소스를 사용하여 애플리케이션 개발 및 배포를 계획합니다. 다음 질문에 대답할 수 있어야 합니다.
- 애플리케이션 개발 환경 및 설정 워크플로를 준비했나요?
- 프로젝트 폴더를 Kubernetes 애플리케이션 개발을 지원하기 위해 어떻게 구성할 건가요?
- 애플리케이션의 상태, 구성 및 스토리지 요구 사항을 확인했나요?
SRE 검사list
개발 환경을 준비합니다. 도구를 사용하여 환경을 구성하여 컨테이너를 만들고 개발 워크플로를 설정합니다.
자세한 내용은 다음을 참조하세요.
애플리케이션을 컨테이너화합니다. 애플리케이션 스캐폴딩, 내부 루프 워크플로, 애플리케이션 관리 프레임워크, CI/CD 파이프라인, 로그 집계, 모니터링 및 애플리케이션 메트릭을 비롯한 엔드투엔드 Kubernetes 개발 환경을 숙지합니다.
자세한 내용은 다음을 참조하세요.
일반적인 Kubernetes 시나리오를 검토합니다. Kubernetes는 마이크로 서비스를 제공하는 플랫폼으로 생각되는 경우가 많지만 더 광범위한 플랫폼이 되고 있습니다. 일괄 처리 분석 및 워크플로와 같은 일반적인 Kubernetes 시나리오에 대한 자세한 내용은 일반적인 Kubernetes 시나리오 개요(비디오)를 참조하세요.
Kubernetes를 위한 애플리케이션을 준비합니다. Kubernetes를 위한 애플리케이션 파일 시스템 레이아웃을 준비하고 매주 또는 매일 릴리스를 구성합니다. Kubernetes 배포 프로세스를 통해 가동 중지 시간 없이 안정적으로 업그레이드할 수 있는 방법을 알아봅니다.
자세한 내용은 다음을 참조하세요.
애플리케이션 스토리지 관리. 적절한 스토리지 옵션을 제공하기 위해 Pod의 성능 요구 및 액세스 방법을 이해합니다. 연결된 스토리지에 대한 복원 프로세스를 백업하고 테스트하는 방법을 계획합니다.
자세한 내용은 다음을 참조하세요.
애플리케이션 비밀 관리. 키 자격 증명 모음을 사용하여 키와 자격 증명을 저장하고 검색합니다. 애플리케이션 코드에 자격 증명을 저장하지 마세요.
자세한 내용은 다음을 참조하세요.
프로덕션에 배포 및 모범 사례 적용
프로덕션용 애플리케이션을 준비할 때 다음 검사 목록을 사용합니다. 다음 질문에 대답할 수 있어야 합니다.
- 애플리케이션의 모든 측면을 모니터링할 수 있나요?
- 애플리케이션에 대한 리소스 요구 사항을 정의했나요? 크기 조정 요구 사항은 어떠한가요?
- 프로덕션 시스템에 영향을 주지 않고 새 버전의 애플리케이션을 배포할 수 있나요?
SRE 모범 사례 검사 목록
준비 상태 및 활동성 상태 검사를 구성합니다. Kubernetes는 준비 상태 및 활동성 검사를 사용하여 애플리케이션이 트래픽을 받을 준비가 된 시기와 다시 시작해야 하는 시기를 파악합니다. 검사 정의하지 않으면 Kubernetes에서 애플리케이션이 실행 중인지 확인할 수 없습니다. 자세한 내용은 활동성 및 준비 검사를 참조하세요.
로깅, 애플리케이션 모니터링 및 경고를 구성합니다. 컨테이너 모니터링은 특히 여러 애플리케이션을 사용하여 대규모로 프로덕션 클러스터를 실행하는 경우에 중요합니다. 컨테이너화된 애플리케이션에 권장되는 로깅 방법은 표준 출력(
stdout
) 및 표준 오류(stderr
) 스트림에 쓰는 것입니다.자세한 내용은 다음을 참조하세요.
애플리케이션에 대한 리소스 요구 사항을 정의합니다. Kubernetes 클러스터 내에서 컴퓨팅 리소스를 관리하는 기본 방법은 Pod 요청 및 제한을 사용하는 것입니다. 이러한 요청 및 제한은 Kubernetes 스케줄러에 Pod에 할당할 컴퓨팅 리소스를 알려줍니다. 자세한 내용은 Pod 리소스 요청 및 제한 정의를 참조하세요.
애플리케이션 크기 조정 요구 사항을 구성합니다. Kubernetes는 CPU 사용률 또는 기타 선택 메트릭에 따라 배포의 Pod 수를 조정하도록 가로 Pod 자동 크기 조정을 지원합니다. 자동 크기 조정기를 사용하려면 Pod의 모든 컨테이너에 CPU 요청 및 제한이 정의되어 있어야 합니다. 자세한 내용은 수평적 Pod 자동 크기 조정 구성을 참조하세요.
자동화된 파이프라인 및 DevOps를 사용하여 애플리케이션을 배포합니다. 프로덕션 배포에 대한 코드 커밋 간의 모든 단계를 완전히 자동화하면 팀에서 코드를 빌드하는 데 집중할 수 있으며 수동 단계의 오버헤드 및 잠재적인 사용자 오류를 제거할 수 있습니다. 새 코드를 배포하는 것은 더 빠르고 덜 위험하므로 팀이 실행 중인 코드에 대해 더 민첩하고 생산성을 높이며 자신감을 가질 수 있습니다.
자세한 내용은 다음을 참조하세요.
최적화 및 크기 조정
이제 애플리케이션이 프로덕션 환경에 있으므로 애플리케이션 배포 검사 목록을 사용하여 워크플로를 최적화하고 확장할 애플리케이션 및 팀을 준비합니다. 다음 질문에 대답할 수 있어야 합니다.
- 복합적인 애플리케이션 문제가 애플리케이션에서 추상화되었나요?
- 새 기능과 버전을 반복하면서 시스템 및 애플리케이션 안정성을 유지할 수 있나요?
애플리케이션 배포 검사 목록
API 게이트웨이를 배포합니다. API 게이트웨이는 마이크로 서비스에 대한 진입점 역할을 하며, 마이크로 서비스에서 클라이언트를 분리하고, 다른 보안 레이어를 더하고, 복잡한 문제를 처리하는 부담을 없애 마이크로 서비스의 복잡성을 줄입니다. 자세한 내용은 Azure Kubernetes Service에 배포된 마이크로 서비스와 함께 Azure API Management 사용을 참조하세요.
서비스 메시를 배포합니다. 서비스 메시는 트래픽 관리, 복원력, 정책, 보안, 강력한 ID 및 관찰 가능성과 같은 워크로드에 기능을 제공합니다. 애플리케이션이 이러한 운영 기능에서 분리되고 서비스 메시가 애플리케이션 계층에서 인프라 계층으로 이동합니다.
자세한 내용은 다음을 참조하세요.
SRE 사례를 구현합니다. SRE는 중요한 시스템 및 애플리케이션 안정성을 기본 마켓플레이스가 요구하는 속도로 반복하는 검증된 접근 방식입니다.
자세한 내용은 다음을 참조하세요.