배포 전략 계획

작업 로드를 정의하고 배치하는 방법을 결정합니다. Oracle Cloud Infrastructure는 코드 내에서 워크로드 인프라를 정의할 수 있는 기능을 제공합니다. 다양한 도구를 사용하여 작업 로드를 구성하고 배치 효율성을 유지 관리할 수 있습니다.

고객 및 데이터를 기반으로 지역 선택

네트워크 아키텍트 클라우드 설계자

지역을 선택할 때는 누가 귀하의 자원에 액세스할지 그리고 해당 국가나 세계의 어느 지역에서 액세스할지 알아야 합니다. 선택 시 개인 정보 보호 및 규정 요구사항을 고려합니다.

인프라를 코드 방법론으로 도입

DevOps Architect, Infrastructure Architect, Cloud Architect

Oracle Cloud Infrastructure(OCI)에서 인프라를 코드 방법론으로 채택하면, 전체 애플리케이션 인프라를 코드 형식으로 정의할 수 있습니다. 작업 프로시저를 코드로 수행하고 이벤트 기반 통지에 대한 응답으로 구현할 수 있습니다.

다음 서비스를 사용하면 코드를 사용하여 인프라를 정의하고 관리할 수 있습니다.

  • Oracle Cloud Infrastructure Resource Manager

    Resource Manager는 Terraform을 사용하여 코드 서비스형 모델을 통해 리소스를 설치, 구성 및 관리하는 과정을 자동화함으로써 OCI 리소스를 프로비저닝하는 프로세스를 자동화합니다.

  • Oracle Cloud Infrastructure Events입니다.

    이벤트는 테넌시의 리소스 변경사항에 대한 응답을 자동화합니다. OCI 서비스는 리소스 변경을 나타내는 구조화된 메시지인 이벤트 메시지를 내보냅니다. 테넌시 내 리소스의 상태 변경을 기반으로 자동화를 생성하고, 리소스가 해당 상태를 변경할 때 개발 팀이 자동으로 응답하도록 허용할 수 있습니다.

  • Oracle Cloud Infrastructure Functions

    Functions는 확장성이 뛰어난 완전 관리형 서버리스 플랫폼을 제공합니다. 코드를 배치한 후 이벤트를 사용하여 함수로 코딩된 작업 프로시저를 트리거할 수 있습니다.

Terraform을 채택하여 반복 가능한 워크플로우 구현

DevOps 애플리케이션 설계자

Terraform은 코드 서비스형 모델을 통해 인프라를 프로그래밍 방식으로 관리, 버전 관리 및 유지할 수 있는 오픈 소스 도구입니다. Terraform 구성은 인프라를 정의하고 상태를 유지하는 선언형 파일로 인프라를 코딩합니다.
팀 멤버 간에 이러한 파일을 공유하고 코드로 처리하며 편집, 검토 및 버전을 지정할 수 있습니다.

OCI(Oracle Cloud Infrastructure) Terraform 제공업체를 사용하여 Terraform Cloud 및 Oracle Cloud Infrastructure Resource Manager를 비롯한 Terraform 배포를 사용하는 모든 위치에서 OCI 리소스를 관리할 수 있습니다. Oracle Cloud는 자체적인 Terraform 제공업체를 보유하고 있습니다.

OCI에서 Terraform을 사용하는 경우 다음을 고려하십시오.

  • Oracle Cloud Infrastructure Resource Manager에서 파일을 배포하여 소스 코드와 같은 Terraform을 다룹니다. 파일을 안전한 위치에 저장하고 요구 사항에 따라 액세스를 제한하며 정기적으로 변경 사항을 감사할 수 있습니다.
  • OCI의 VM 컴퓨트 인스턴스에서 실행 중인 경우 OCI 제공자에 대한 인증으로 인스턴스 주체를 사용하는 것이 좋습니다.
  • Oracle Cloud Infrastructure Object Storage 또는 Oracle Cloud Infrastructure Resource Manager를 사용하여 중앙 공유 위치에서 Terraform 상태 파일을 유지합니다.

OKIT(OCI Designer Toolkit) 채택

DevOps 인프라 설계자

OCI(Oracle Cloud Infrastructure) 디자이너 및 시각화 toolKIT(OKIT)는 그래픽 웹 기반 인터페이스를 통해 OCI 환경을 설계, 배포 및 시각화할 수 있는 브라우저 기반 도구입니다.

설계자와 디자이너는 웹 기반 인터페이스를 사용하여 인프라스트럭처를 시각적으로 표현한 다음 이를 다양한 형식으로 내보낼 수 있습니다. 완료되면 설계를 향상하여 주요 속성 정보를 추가할 수 있습니다. 이를 통해 설계 인프라를 여러 DevOps 프레임워크로 익스포트할 수 있습니다.

OKIT를 사용하여 웹 인터페이스 내에 포함된 간단한 질의 기능을 통해 기존 OCI 환경을 검토함으로써 이식 가능한 일반 JSON 파일을 제공할 수 있습니다. JSON 파일을 사용하여 기존 시스템을 시각화하거나 설계된 OCI 인프라를 zip 파일로 구축하는 데 사용할 수 있는 일련의 Terraform 또는 Ansible 스크립트를 생성할 수 있습니다.

OKIT 모델은 클라우드 Init 스크립트 사용을 지원하여 컴퓨트 리소스 배포를 추가로 자동화합니다. OKIT는 테넌시에 대해 인증하기 위해 사용자의 개인 키를 사용하고 있으므로 본질적으로 로컬 실행에 가장 적합한 단일 사용자 도구입니다. Oracle Cloud Infrastructure Resource Manager를 사용하면 설계를 공유할 수 있습니다. OKIT 설계를 JSON 형식으로 익스포트할 수 있으며 이에 따라 버전 제어가 가능합니다.

단순하고 반복 가능한 작업 자동화

DevOps 설계자

반복 가능한 작업을 스크립팅하고 여러 작업을 통합관리하려면 OCI(Oracle Cloud Infrastructure) CLI(명령행 인터페이스)를 사용하는 것이 좋습니다. OCI CLI를 사용하면 자동화를 통해 간소화된 작업을 수행할 수 있습니다.
CLI는 콘솔과 동일한 핵심 기능과 추가 명령들을 제공합니다. 스크립트 실행 기능과 같은 일부 기능은 OCI 콘솔 기능을 확장합니다. CLI는 MacOS, Windows 또는 지원되는 Linux 배포판에서 실행되는 Python 버전 3.6 이상을 지원합니다. 또한 정적 자격 증명을 사용하지 않고 통합 ID를 활용하도록 구성할 수 있습니다.

구성 관리 도구 채택

DevOps 인프라 설계자

프로비저닝, 조정 및 구성 관리에 도움이 되도록 Ansible 모듈과 같은 관리 툴을 채택하는 것이 좋습니다.
Ansible 모듈을 사용하면 클라우드 인프라 구성 및 프로비전, 소프트웨어 자산 배치 및 업데이트, 복잡한 운영 프로세스 통합관리를 통해 위험을 줄이고 작업 로드 배치 및 구성을 통해 민첩성을 달성할 수 있습니다. Ansible playbooks은 구성, 배포, 통합관리 작업을 자동화합니다.

OCI(Oracle Cloud Infrastructure)는 Ansible 모듈을 사용하여 클라우드 인프라 프로비저닝 및 구성, 복잡한 운영 프로세스 통합관리, 소프트웨어 자산 배포 및 업데이트를 자동화합니다. OCI Ansible 컬렉션은 Ansible Tower 및 AWX를 지원합니다.

구축 및 배포 관리 시스템 도입

DevOps 설계자

Ansible Tower 또는 Jenkins와 같은 구축 및 배포 관리 시스템을 사용하여 효율성을 향상합니다. 이러한 시스템은 수동 프로세스로 인한 오류를 줄이고 변경 사항을 배포하기 위한 노력의 수준을 줄입니다.

변경사항 테스트 및 검증

DevOps 설계자

오류를 감지하려면 변경 사항을 항상 추적, 테스트 및 검증합니다.

버전 제어 시스템을 사용하여 코드의 변경 사항을 추적할 수 있습니다. 테스트 프로세스를 자동화하려면 배치 관리 시스템을 사용하는 것이 좋습니다.