Red Hat 리소스
인프라 자동화를 위한 웹후크
웹후크는 두 애플리케이션 간 통신을 간소화하는 데 가장 흔히 사용되지만 코드형 인프라(IaC) 워크플로우를 자동화하고 GitOps 사례를 지원하는 데도 사용될 수 있습니다.
코드형 인프라(IaC)란?
코드형 인프라(IaC)는 수동 프로세스가 아닌 코드를 통해 인프라를 관리하고 프로비저닝하는 것을 말합니다. 버전 제어는 IaC의 중요한 부분입니다. 다른 소프트웨어 소스 코드 파일과 마찬가지로 구성 파일도 소스 제어가 필요합니다. 코드로 인프라를 배포한다는 것은 인프라를 모듈식 구성 요소로 분할하고 자동화를 통해 다양한 방식으로 결합할 수 있다는 뜻이기도 합니다.
IaC로 인프라 프로비저닝을 자동화하면 애플리케이션을 개발하거나 배포할 때마다 개발자가 직접 서버, 운영 체제, 스토리지, 기타 인프라 구성 요소를 수동으로 프로비저닝하고 관리할 필요가 없어집니다. 인프라 코드화는 프로비저닝을 위해 따라야 할 템플릿을 제공합니다. 수작업으로 할 수도 있지만 이 프로세스는 Red Hat® Ansible® Automation Platform과 같이 엔터프라이즈급의 원하는 상태 엔진으로 자동화할 수 있습니다.
GitOps란?
종종 IaC가 진화한 형태로 간주되는 GitOps는 제어 시스템의 오픈소스 버전인 Git를 사용해 인프라와 애플리케이션 구성을 관리하는 전략적 접근 방식입니다. 개발자는 GitOps 사례에 따라 Git를 선언적 인프라와 애플리케이션을 위한 단일 정보 소스로 사용하며, Git 풀 요청을 사용해 인프라 프로비저닝과 배포를 자동으로 관리합니다. Git 리포지토리에는 시스템의 전체 상태가 포함되어 있어 변경 기록을 확인하고 감사할 수 있습니다.
웹후크는 어떤 상황에서 유용할까요?
웹후크는 Git 중심 배포 파이프라인을 구현하고 관리하는 데 필요한 단계를 줄여줍니다. 또한 웹후크를 사용해 전체 IaC 워크플로우를 자동으로 시작할 수 있습니다. 정보 소스가 Git 리포지토리인 GitOps 환경에서는 웹후크가 두 애플리케이션 사이에서 하는 역할을 그대로 수행합니다. 즉, 지정된 이벤트에 의해 트리거되면 한 API가 다른 API로 페이로드를 전송합니다. 단, 웹후크를 트리거하는 이벤트의 유형과 수신자가 페이로드로 수행하는 작업에는 차이가 있습니다.
이러한 맥락에서 Git 리포지토리는 서버 애플리케이션의 역할을 수행하는 반면, 인프라의 상태를 관리하는 원하는 상태 엔진은 클라이언트 애플리케이션의 역할을 합니다. 웹후크를 사용하면 Git 리포지토리가 변경될 때마다 원하는 상태 엔진에 알릴 수 있습니다. 일부 코드가 업데이트되어 리포지토리로 푸시되면 이 이벤트가 웹후크를 트리거합니다. 그러면 리포지토리는 원하는 상태 엔진의 웹후크 주소로 페이로드를 자동 전송하여 코드가 변경되었음을 알립니다.
원하는 상태 엔진에서 자동화를 지원하는 경우 이러한 웹후크는 IaC 워크플로우를 시작하여 코드 변경을 자동화된 작업으로 전환할 수도 있습니다. 예를 들어, 시스템 관리자는 웹후크 페이로드를 수신할 때마다 실행되는 자동화를 설정하여 관리형 호스트에서 새 코드 변경 사항을 자동으로 적용하고 기본 상태로 복원할 수 있습니다. 웹후크를 사용하여 자동화를 트리거하는 이 방법은 이벤트 기반 자동화라는 프로세스를 활성화하여 사람이 개입하지 않고 기타 IT 작업을 수행하도록 확장할 수 있습니다.
유일한 차이점은 정보 소스로, 원하는 상태 엔진을 Git 리포지토리에 연결하기 위해 사람이 코드 업데이트를 푸시해야 하는 대신, 웹후크를 사용하면 특정 이벤트에 대한 소스를 모니터링하는 제3사 툴에 연결할 수 있다는 점입니다. 이러한 이벤트 소스에서 대상 이벤트를 감지하고 웹후크를 실행하면 IT 직원이 버튼을 누를 필요 없이 페이로드에서 하루 중 언제든지 즉시 이벤트를 해결하는 자동화 작업을 시작할 수 있습니다.
이벤트 기반 자동화를 위한 웹후크
이벤트 기반 자동화는 IT 환경의 변화하는 조건에 자동으로 대응하여 문제를 더 빠르게 해결하고 일상적이고 반복적인 태스크를 줄이는 프로세스입니다. 이벤트 기반 자동화를 사용하는 IT 팀은 하드웨어 문제, 분산 서비스 거부(DDoS) 공격, 메모리 부족 또는 애플리케이션 오류와 같은 모든 이벤트에 대한 대응을 체계화하여 이벤트 발생 시 필요한 작업이 자동으로 실행되도록 할 수 있습니다.
이벤트 기반 솔루션은 제3사 툴이나 플러그인(예: ServiceNow, Kafka, Prometheus, Sensu, Dynatrace, Appdynamics)을 사용하여 이벤트 소스를 모니터링합니다. 소스에서 이벤트를 감지할 때 웹후크에서 적절한 자동 대응을 트리거하도록 웹후크는 이러한 이벤트 소스를 자동화 플랫폼에 연결하는 데 사용할 수 있습니다.
IT 팀은 이벤트 기반 자동화를 단계적으로 도입하여 평균 문제 해결 시간(MTTR)을 단축하고, 아직 사람의 개입이 필요한 기능(예: 티켓 자동 생성)을 수행하고, 완전 자동화된 문제 해결을 위해 점진적으로 노력함으로써 특정 문제가 발생했을 때 자동으로 적절한 작업이 수행되도록 할 수 있습니다.
Red Hat의 지원 방식
Red Hat Ansible Automation Platform은 IT 팀이 전사적 자동화를 생성, 관리, 확장할 수 있도록 설계된 엔드 투 엔드 자동화 플랫폼입니다. 웹후크를 사용하면 GitHub 또는 GitLab과 같은 서비스를 통해 Ansible Automation Platform을 Git 리포지토리와 통합하여 IaC 및 GitOps 사례를 지원할 수 있습니다. 리포지토리 링크가 설정되면 Ansible Automation Platform은 Git 시스템에서 Git 커밋을 포착하고, 이 이벤트를 사용해 자동화 작업을 트리거함으로써 프로젝트를 업데이트하고, 인벤토리를 관리하고, 배포를 수행합니다.
웹후크를 사용하면 소스 제어 시스템에 이벤트가 발생했을 때 자동화를 자동으로 활성화할 수 있습니다. 따라서 변경 사항 발생 시 리포지토리를 모니터링하고 자동화 작업을 시작하기 위한 추가 CI/CD 툴(예: Jenkins)이 필요 없으므로 GitOps 워크플로우가 단순화되고 운영이 간소화됩니다. Ansible Automation Platform은 광범위한 개발 및 배포 툴과 연동되므로 GitOps 워크플로우를 선호하는 툴 및 프로세스에 맞춰 조정할 수 있습니다.
Event-Driven Ansible을 통한 미션 크리티컬 자동화
Ansible Automation Platform에 포함된 Event-Driven Ansible은 시간이 오래 걸리는 태스크를 자동화하고 모든 IT 도메인에서 상황 변화에 대응하는 데 필요한 이벤트 처리 기능을 제공합니다. Event-Driven Ansible은 IT 환경의 상태에 대한 개별 인텔리전스가 포함된 이벤트를 처리하고, 해당 이벤트에 대한 적절한 대응을 결정한 다음, 이벤트를 처리하거나 해결하기 위한 자동화된 작업을 실행할 수 있습니다.
Event-Driven Ansible은 티켓 향상, 문제 해결, 사용자 관리와 같은 IT 서비스 관리 태스크와 기타 다양한 IT 프로세스를 자동화하는 데 사용할 수 있습니다. 룰을 통해 이벤트 소스를 해당 작업과 연결하기 때문입니다. Ansible Rulebook은 이벤트 소스를 정의하고 이벤트가 발생할 때 수행할 작업을 조건부 IFTTT(IF This Then That) 명령의 형태로 설명합니다. 설계한 Rulebook을 기반으로 Event-Driven Ansible은 지정된 이벤트를 인식하여 적절한 작업과 일치시키고 자동으로 실행합니다.
전체 지원되는 일반 웹후크를 사용하여 Event-Driven Ansible을 이벤트 소스에 연결할 수 있지만, Event-Driven Ansible은 파트너가 특정 기술을 위해 구축한 소스 플러그인 에코시스템 라이브러리도 제공합니다. 이러한 전체 지원 플러그인을 사용하면 새로운 이벤트가 발생할 때마다 코드 또는 프로그램 웹후크를 작성하지 않고도 이벤트 기반 자동화를 구축할 수 있습니다. 어떤 이벤트에 관심이 있고 어떤 작업을 수행하고 싶은지 확인한 다음 이러한 명령을 Ansible Rulebook에 작성하기만 하면 됩니다. 그러면 모든 이벤트에서 기존의 Ansible Playbook 또는 원하는 자동화 워크플로우를 자동으로 실행할 수 있습니다.
전문가 의견 듣기
레드햇 공식 블로그
레드햇 공식 블로그에서 고객, 파트너, 커뮤니티 에코시스템 등 현재 화제가 되는 최신 정보를 살펴 보세요.