RSS 피드 구독하기

워크플로우는 Red Hat Ansible Automation Platform의 기본 요소로, 워크플로우를 사용하여 작업 시퀀스를 구성하면 복잡한 자동화 태스크를 오케스트레이션할 수 있습니다. 워크플로우는 작업 템플릿, 인벤토리 업데이트, 프로젝트 업데이트, 관리 작업과 같은 다양한 유형의 노드로 구성됩니다. 그러나 워크플로우의 규모와 복잡성이 증가함에 따라 워크플로우 관리가 까다로워질 수 있습니다.

확장에 따르는 과제: 워크플로우 규모의 과도한 증가

수백 개의 노드, 수십 개의 작업 템플릿, 수많은 인벤토리가 포함된 Ansible Automation Platform 워크플로우는 드물지 않습니다. 85개의 노드, 81개의 작업 템플릿, 41개의 인벤토리, 48개의 호스트가 모두 하나의 프로젝트에 연결되어 있는 단일 워크플로우가 있다고 가정하겠습니다. 이러한 수준의 복잡성으로 인해 다음과 같은 중요한 과제가 발생합니다.

  • 문제 해결이 용이하지 않음: 대규모 워크플로우에서 오류의 근본 원인을 파악하는 것은 모래사장에서 바늘을 찾는 것과 같습니다. 실행 경로를 추적하고 종속성을 파악하기가 어려워집니다.
  • 유지 관리 오버헤드: 상호 연결된 대규모 워크플로우를 수정하는 것은 위험한 일입니다. 작은 부분을 변경해도 의도치 않은 결과를 초래할 수 있으므로, 광범위한 테스트와 검증이 필요합니다.
  • 성능 장애: 대규모 워크플로우에서 엄청난 수의 노드와 종속성으로 인해 실행 시간에 영향을 미치고 자동화 프로세스가 느려질 수 있습니다.
  • 재사용 가능성의 장애: 모놀리식 워크플로우에서 구성 요소를 추출하고 재사용하는 것은 복잡한 작업이며, 이로 인해 작업이 중복되고 코드가 중복되는 경우가 많습니다.
  • 시각적 부담: 대규모 워크플로우의 실행 흐름을 시각화하는 것은 어려울 수 있으므로, 전체 프로세스를 이해하고 잠재적인 장애물을 식별하기 어렵습니다.

워크플로우 간소화 전략: 복잡성 제어

이러한 과제를 해결하려면 다음 전략을 구현하는 것이 좋습니다.

1. 중첩된 워크플로우: 모듈화 수용

중첩된 워크플로우는 복잡한 대규모 워크플로우를 더 관리하기 쉬운 소규모 단위로 세분화하는 데 핵심적인 역할을 합니다. 모듈식 프로그래밍이라고 생각하면 됩니다. 특정 태스크를 처리하는 독립형 워크플로우를 생성한 다음, 이러한 워크플로우를 결합하여 더 복잡한 대규모 프로세스를 구축합니다. 

작동 방식: 관련 노드와 태스크를 개별적인 중첩 워크플로우로 그룹화합니다. 예를 들어 데이터베이스 배포를 위한 중첩 워크플로우, 애플리케이션 서버 구성을 위한 중첩 워크플로우, 모니터링 설정을 위한 중첩 워크플로우가 있을 수 있습니다.

  • 장점:
    • 가독성 및 이해도 향상: 워크플로우가 작을수록 더 쉽게 이해하고 시각화할 수 있으므로, 전체 자동화 프로세스를 더 쉽게 파악할 수 있습니다.
    • 간소화된 유지 관리: 소규모의 집중적인 워크플로우를 업데이트하거나 수정하는 것이 상호 연결된 대규모 워크플로우를 변경하는 것보다 훨씬 덜 위험합니다.
    • 재사용 가능성 개선: 중첩된 워크플로우를 다른 자동화 태스크에서 재사용할 수 있으므로, 중복이 줄어들고 일관성이 증진됩니다.
    • 손쉬운 디버깅: 더 관리하기 쉬운 소규모 자동화 단위를 처리하면 문제를 격리하고 해결하는 것이 훨씬 더 간단합니다.
    • 확장성 향상: 자동화 요구 사항이 증가함에 따라 전체 시스템에 영향을 주지 않고 중첩된 워크플로우를 쉽게 추가하거나 수정할 수 있습니다.

2. 구성된 인벤토리: 동적 호스트 그룹화

정적 인벤토리는 다수의 호스트를 관리할 때 부담이 될 수 있습니다. 구성된 인벤토리는 동적 대안을 제공하므로 속성에 따라 호스트를 그룹화할 수 있습니다.

작동 방식: 환경(프로덕션, 스테이징, 개발), 위치(US-East, EU-West) 또는 기능(웹 서버, 데이터베이스 서버)과 같은 기준에 따라 호스트를 그룹화하는 규칙을 정의합니다. 그러면 Ansible Automation Platform은 이러한 규칙에 따라 인벤토리를 동적으로 생성합니다.

  • 장점:
    • 인벤토리 관리 오버헤드 감소: 수많은 정적 인벤토리 파일을 유지 관리할 필요가 없습니다.
    • 유연성 향상: 속성을 기반으로 특정 호스트 그룹을 손쉽게 타겟팅할 수 있으므로, 워크플로우의 적응성이 향상됩니다.
    • 간소화된 워크플로우 실행: 워크플로는 이러한 동적 그룹을 타겟팅하여 적절한 호스트에서 올바른 작업이 수행되도록 설계할 수 있습니다.

3. 전략 결합: 시너지의 힘

이러한 전략의 진정한 힘은 중첩된 워크플로우와 구성된 인벤토리를 결합할 때 나옵니다. 이러한 접근 방식을 통해 고도로 체계화되고 유연하며 확장 가능한 자동화 솔루션을 생성할 수 있습니다.

예: 웹 애플리케이션 배포를 위한 중첩 워크플로우는 구성된 인벤토리를 사용하여 특정 환경을 타겟팅할 수 있습니다(예: environment:production, environment:staging). 이렇게 하면 각 환경의 올바른 서버에서 배포 프로세스를 실행할 수 있습니다.

확장 가능한 워크플로우 모범 사례

이러한 핵심 전략 외에도 다음 모범 사례를 고려하십시오.

  • 표준화된 워크플로우 설계: 워크플로우에 대한 명확한 명명 규칙, 디렉터리 구조, 도큐멘테이션 사례를 확립합니다. 이를 통해 일관성을 높이고 모든 팀원이 자동화를 더 쉽게 이해하고 유지 관리할 수 있습니다.
  • RBAC(역할 기반 액세스 제어): RBAC를 구현하여 워크플로우를 생성, 수정, 실행할 수 있는 사용자를 제어합니다. 이렇게 하면 승인된 담당자만 자동화를 변경할 수 있으므로 우발적이거나 악의적인 변경을 방지할 수 있습니다.
  • 통합 로깅 및 모니터링: 강력한 로깅 및 모니터링을 설정하여 워크플로우 실행을 추적하고 문제를 식별합니다. Ansible Automation Platform은 활용할 수 있는 내장된 로깅 기능을 제공합니다. 실시간 인사이트를 얻기 위해 모니터링 툴과 통합을 고려합니다.
  • 정기적인 워크플로우 검토: 워크플로우를 정기적으로 검토하여 개선이 필요한 영역을 식별합니다. 중복 단계가 있는지, 로직을 간소화할 수 있는지 등을 정기적으로 검토하면 자동화를 최신 상태로 효율적으로 유지하는 데 도움이 됩니다.
  • 태그 및 레이블의 효과적인 사용: 태그와 레이블을 사용하여 워크플로우를 분류하고 구성합니다. 그러면 특정 워크플로우를 검색하고 다수의 워크플로우를 관리하기가 더 수월해집니다.

요약

Ansible Automation Platform 워크플로우 작업 템플릿을 규모에 맞게 관리하려면 전략적 접근 방식이 필요합니다. 조직은 중첩된 워크플로우를 구현하고 템플릿 수를 줄임으로써 가독성, 유지 관리 용이성, 재사용성을 크게 개선할 수 있습니다. 이러한 전략은 더 효율적이고 강력한 자동화 워크플로우로 이어질 뿐만 아니라 자동화 요구 사항 증가에 따른 원활한 확장을 지원합니다. 모범 사례를 도입하면 Ansible Automation Platform 워크플로우를 명확하고 체계적으로 유지하며 시간 경과에 따라 손쉽게 관리할 수 있습니다.

product trial

Red Hat Ansible Automation Platform | Product Trial

시스템 관리 및 예측 분석 소프트웨어에 대한 액세스 권한이 포함된 무료 60일 Red Hat Ansible Automation Platform 체험판을 다운로드하세요.

저자 소개

Neha Chugh is a dedicated Principal Software Maintenance Engineer at Red Hat. With a deep commitment to technical support, she excels in resolving customer issues and ensuring seamless operations. Beyond her support role, Neha is passionate about innovation and automation, constantly exploring new ways to enhance efficiency and drive technological advancements. 

Read full bio

채널별 검색

automation icon

오토메이션

기술, 팀, 인프라를 위한 IT 자동화 최신 동향

AI icon

인공지능

고객이 어디서나 AI 워크로드를 실행할 수 있도록 지원하는 플랫폼 업데이트

open hybrid cloud icon

오픈 하이브리드 클라우드

하이브리드 클라우드로 더욱 유연한 미래를 구축하는 방법을 알아보세요

security icon

보안

환경과 기술 전반에 걸쳐 리스크를 감소하는 방법에 대한 최신 정보

edge icon

엣지 컴퓨팅

엣지에서의 운영을 단순화하는 플랫폼 업데이트

Infrastructure icon

인프라

세계적으로 인정받은 기업용 Linux 플랫폼에 대한 최신 정보

application development icon

애플리케이션

복잡한 애플리케이션에 대한 솔루션 더 보기

Virtualization icon

가상화

온프레미스와 클라우드 환경에서 워크로드를 유연하게 운영하기 위한 엔터프라이즈 가상화의 미래