Red Hat Summit과 AnsibleFest 2023에서 Red Hat은 Ansible을 위한 새로운 생성형 AI 서비스인 IBM Watson Code Assistant가 통합된 Red Hat Ansible Lightspeed를 발표했습니다. 이에 이어서 2023년 6월에는 기능에 대한 기술 프리뷰를 공개했습니다. 오늘, IBM watsonx Code Assistant가 통합된 Red Hat Ansible Lightspeed를 이제 Red Hat Ansible Automation Platform의 구성 요소 서비스로 사용 가능하게 된 것을 발표하게 되어 매우 기쁩니다. 

watsonx Code Assistant가 통합된 Red Hat Ansible Lightspeed는 자동화 팀이 Ansible 콘텐츠를 더 효율적으로 생성, 채택, 유지 관리할 수 있도록 설계되었습니다. 

이 블로그에서는 조직에서 IBM watsonx Code Assistant가 통합된 Red Hat Ansible Lightspeed를 시작하고 실행하기 위한 단계를 살펴보겠습니다. 최종 사용자가 VS Code(Visual Studio Code) 환경에서 서비스를 설정하는 방법을 소개하고, 투명성, 정확성, 다양한 선택 옵션을 기반으로 구축된 생성형 AI 기능으로 Ansible 크리에이터 여정을 가속화하는 데 사용할 수 있는 보조 툴과 경험에 대해서도 자세히 살펴보겠습니다. 

Ansible Automation Platform 경험에 대한 흥미로운 추가 정보입니다. 이제 시작하겠습니다.

상용 기능: Red Hat과 IBM 간의 협업을 통해 Ansible 콘텐츠 생성에 AI 도입

watsonx Code Assistant가 통합된 Red Hat Ansible Lightspeed는 Red Hat과 IBM 팀이 힘을 합쳐 Ansible 콘텐츠 생성을 위한 통합된 AI 경험을 구축한 결과입니다. 자동화에 특화된 IBM watsonx 기반 모델을 활용하여 텍스트 프롬프트를 Ansible 콘텐츠 스니펫으로 변환해 Ansible 콘텐츠를 생성합니다. 생성된 콘텐츠는 승인된 Ansible 모범 사례를 준수하며, Ansible 코드 봇 기능과 결합하면 팀은 자동화 코드 베이스에 대한 신뢰도를 높일 수 있습니다.

Red Hat Ansible Lightspeed with IBM watsonx Code Assistant

서비스는 다음 세 가지 구성 요소로 이루어집니다.

  1. 개발자 인터페이스 - Ansible 확장을 통해 VS Code 확장에 기본적으로 구축됩니다. 이를 통해 Ansible 콘텐츠 크리에이터는 자연어 프롬프트를 사용하여 Ansible 플레이북 또는 태스크 파일에서 Ansible Lightspeed 단일 및 다중 태스크 제안을 생성할 수 있습니다.
  2. 통합 서비스 - 개발자 인터페이스와 watsonx.ai 서비스를 연결 또는 중개하는 역할을 합니다. Ansible Automation Platform에 AI의 기능을 도입하고 포스트 프로세싱 기능을 통해 AI의 대응 속도를 개선합니다.
  3. AI - IBM watsonx Code Assistant는 Ansible 콘텐츠 권장 사항을 생성하는 Ansible에 특화된 watsonx.ai 기반 모델에 대한 액세스를 제공합니다. 이것이 바로 이 솔루션의 "AI 핵심 부분"입니다.

다음 단계에서는 watsonx Code Assistant가 통합된 Ansible Lightspeed를 설정하고 사용하는 방법을 설명하겠습니다.

Red Hat Ansible Lightspeed에 로그인하고 IBM watsonx Code Assistant에 연결하도록 구성

참고: 이 섹션은 조직의 Red Hat Customer Portal 계정에 대해 조직 관리자 권한을 가진 사람만 대상으로 합니다. 해당되지 않는 경우 Ansible용 VS Code 확장에 연결하는 방법에 대한 다음 섹션으로 이동하세요. 

Red Hat Customer Portal 관리자는 Red Hat Ansible Lightspeed를 IBM watsonx Code Assistant 인스턴스에 연결하도록 구성해야 합니다. 그러면 Red Hat Ansible Lightspeed는 IBM watsonx Code Assistant 인스턴스와 통신할 수 있습니다.

Red Hat Ansible Lightspeed를 연결하려면 다음과 같은 IBM watsonx Code Assistant 정보가 필요합니다.

  • IBM watsonx Code Assistant(WxCA) API 키 
    • WxCA API 키는 Red Hat Ansible Lightspeed에서 IBM watsonx Code Assistant로 보내는 모든 요청을 인증합니다. 유효한 Ansible Automation Platform 서브스크립션이 있는 각 Red Hat 조직에는 구성된 WxCA API 키가 있어야 합니다. 인증된 Red Hat SSO(Single Sign-On) 사용자가 Red Hat Ansible Lightspeed에 제안을 쿼리하면 사용자의 Red Hat 조직과 연결된 WxCA API 키를 사용하여 IBM watsonx Code Assistant에 대한 요청이 인증됩니다. 
  • 모델 ID
    • 고유한 WxCA 모델 ID는 IBM Cloud 계정에서 IBM watsonx Code Assistant 모델을 식별합니다. Red Hat Ansible Lightspeed 관리자 포털에서 구성한 모델 ID는 기본 모델로 사용됩니다. 따라서 조직에서 해당하는 권한을 가진 모든 사용자에 대한 Ansible Lightspeed 제안을 가져오는 데 이 모델 ID가 사용됩니다. 이 단일 테넌트 IBM watsonx Granite 모델은 귀사에만 고유하게 적용되며 데이터 프라이버시, 컴플라이언스, 보안을 지원합니다. 이러한 모델은 IBM에서 제공, 관리, 유지 관리합니다.

중요: Red Hat Ansible Lightspeed를 처음 구성할 때 WxCA API 키와 모델 ID를 모두 구성해야 합니다.

전제 조건

  • 유효한 Ansible Automation Platform 서브스크립션이 있는 Red Hat Customer Portal 조직에 대한 조직 관리자 권한이 있어야 합니다.
  • Red Hat Ansible Lightspeed에서 사용하려는 IBM watsonx Code Assistant의 WxCA API 키와 모델 ID를 획득해야 합니다. 

IBM watsonx Code Assistant에서 WxCA API 키와 모델 ID를 가져오는 방법에 대한 자세한 내용은 IBM watsonx Code Assistant 도큐멘테이션을 참조하세요. 

절차

  1. Red Hat Ansible Lightspeed 포털에 조직 관리자로 로그인합니다.
  2. 로그인 > Red Hat 계정으로 로그인을 클릭합니다. 
  3. Red Hat 계정 사용자 이름과 비밀번호를 입력합니다. 
    • Red Hat Ansible Lightspeed 서비스는 Red Hat SSO(Single Sign-On)를 사용하여 인증합니다. 
    • 인증 프로세스의 일환으로 Red Hat Ansible Lightspeed 서비스는 사용자가 조직 관리자인지 여부와 조직에 유효한 Ansible Automation Platform 서브스크립션이 있는지 여부를 확인합니다. 인증되면 로그인 화면이 사용자 이름 및 할당된 사용자 역할과 함께 표시됩니다. 
  4. 로그인 화면에서 관리 포털을 클릭합니다. 
    • Red Hat Ansible Lightspeed를 IBM watsonx Code Assistant 인스턴스에 연결할 수 있는 Ansible Lightspeed with watsonx Code Assistant 관리자 포털로 리디렉션됩니다.
  5. IBM watsonx Code Assistant 인스턴스의 API 키를 지정하고 저장을 클릭합니다.
    • 선택 사항: 테스트를 클릭하여 API 키의 유효성을 검사합니다.
  6. 사용할 모델의 모델 ID를 지정하고 저장을 클릭합니다.
    • 선택 사항: 테스트를 클릭하여 모델 ID의 유효성을 검사합니다.
  7. WxCA API 키와 모델 ID가 성공적으로 검증되면 Red Hat Ansible Lightspeed가 IBM watsonx Code Assistant 인스턴스에 연결됩니다.

시트(seat) 라이센스 할당 및 제거

참고: 이 섹션은 조직의 Red Hat Customer Portal 계정에 대해 조직 관리자 권한을 가진 사람만 대상으로 합니다. 해당되지 않는 경우 Ansible용 VS Code 확장에 연결하는 방법에 대한 다음 섹션으로 이동하세요.

Red Hat Ansible Lightspeed를 IBM watsonx Code Assistant 인스턴스에 연결한 후 Red Hat Customer Portal 조직 관리자는 조직의 Ansible Automation Platform 사용자에게 시트 라이센스를 할당할 수 있습니다. 시트 할당 기능을 사용하면 조직 내에서 선별된 Ansible Automation Platform 사용자가 Red Hat Ansible Lightspeed에 액세스하고 사용할 수 있습니다. 

Ansible Automation Platform 서브스크립션에는 조직이 구매한 서브스크립션 수에 따라 특정한 수의 Red Hat Ansible Lightspeed 지정 시트가 포함됩니다. Red Hat Ansible Lightspeed는 Red Hat SSO(Single Sign-On)를 사용하여 사용자를 인증하고 할당된 시트 라이센스가 있는지 확인합니다.

시트 라이센스 할당

조직 내 일부 사용자에게 Red Hat Ansible Lightspeed 시트 라이센스를 부여할 수 있습니다.  

전제 조건

절차

  1. Red Hat Hybrid Cloud Console에서 Ansible Automation Platform으로 이동합니다.
  2. 탐색 패널에서 Ansible Lightspeed with IBM watsonx Code Assistant > 시트 관리를 선택합니다. 
  3. 사용자 할당을 클릭합니다.
  4. 시트 라이센스를 할당할 사용자의 사용자 이름을 입력합니다.
  5. 할당을 클릭하고 확인 메시지에서 확인을 클릭하여 확인합니다.

이제 할당된 시트 사용자는 watsonx Code Assistant 서비스가 통합된 Red Hat Ansible Lightspeed에 액세스할 수 있습니다.

연결하기: 설치 및 구성

전제 조건

  • 워크스테이션에 Visual Studio Code 및 Ansible이 설치되어 있어야 합니다.
  • 조직에 연결되어 있는 Red Hat Customer Portal 계정을 보유해야 합니다.
  • Red Hat Ansible Lightspeed 서비스에 액세스할 수 있도록 조직의 Red Hat 포털 조직 관리자로부터 사용자 계정에 시트를 할당받아야 합니다.

절차

  • Visual Studio Code Marketplace에서 "ansible"을 검색하고 Red Hat에서 게시한 확장을 선택하여 Ansible VS Code 확장을 설치합니다. Ansible Lightspeed 서비스와 함께 작동하는 Ansible 확장의 최소 버전은 2.8.108입니다. 여기에서 버전 내역을 확인하세요.
  • 톱니바퀴 아이콘을 통해 "확장 설정"에 액세스하여 확장 프로그램 내에서 Red Hat Ansible Lightspeed 서비스를 활성화합니다.
  • 설정에서 "Ansible Lightspeed 활성화됨" 및 "Watson Code Assistant가 통합된 Ansible Lightspeed 인라인 제안 사용" 확인란을 모두 활성화합니다.

참고: 기본 설정에 따라 "사용자" 또는 "작업 공간" 설정에서 Red Hat Ansible Lightspeed를 활성화할 수 있습니다. VS Code 사용자 및 작업 공간 설정에 대한 자세한 내용은 도큐멘테이션에서 확인할 수 있습니다.

Installing the Ansible Visual Studio Code extension

Ansible Visual Studio Code 확장 설치

  • 편집기 왼쪽에 있는 VS Code 활동 표시줄에서 Ansible "A"를 클릭하여 확장 프로그램을 엽니다.
  • "연결"을 클릭하고 프롬프트에 따라 자격 증명을 사용하여 Red Hat 계정에 로그인합니다.
  • 그런 다음 "인증"을 클릭하여 Ansible Lightspeed for VS Code를 인증합니다.
  • 브라우저 프롬프트에 따라 VS Code로 다시 리디렉션하고, 마지막으로 VS Code 확인 대화 상자에서 "열기"를 클릭합니다.
Log in using your Red Hat credentials

Red Hat 자격 증명을 사용하여 로그인

축하합니다! VS Code에서 watsonx Code Assistant가 통합된 Ansible Lightspeed를 구성했습니다.

편집기 창의 맨 아래에 있는 VS Code 상태 표시줄을 확인하면 Red Hat Ansible Lightspeed가 활성화되었는지 확인할 수 있습니다.

VS Code status bar showing that Ansible Lightspeed is enabled

Python 환경이 선택되어 있고 Ansible YAML 파일이 Ansible 언어와 연결되어 있는지 확인하세요. VS Code 언어에 대한 자세한 내용은 도큐멘테이션에서 확인할 수 있습니다.

Red Hat Ansible Lightspeed를 사용하여 생성하기

watsonx Code Assistant가 통합된 Ansible Lightspeed에 연결되었으므로 이제 AI로 강화된 콘텐츠 생성을 경험할 차례입니다.

예시 플레이북을 통해 Red Hat Ansible Lightspeed에 AI 생성 태스크 제안을 요청하는 과정을 살펴보고 상용 기능에서 기대할 수 있는 몇 가지 사항을 집중하여 설명하겠습니다. 예시 플레이북은 데이터베이스 호스트 그룹의 모든 머신에 PostgreSQL을 설치하고 구성합니다.

참고: 서비스를 지속적으로 개선하기 위해 Red Hat과 IBM은 권장 사항의 품질을 개선하는 업데이트를 계속해서 제공합니다. 따라서 아래 예시의 Ansible 태스크 제안은 다를 수 있습니다.

Red Hat Ansible Lightspeed 제안을 생성하려면 어떻게 해야 하나요?

configure_postgres.yml 예시 플레이북의 첫 번째 플레이북 태스크를 사용하여 watsonx Code Assistant가 통합된 Ansible Lightspeed에 AI 제안을 요청하는 방법을 살펴보겠습니다.

  • 커서를 “- name: Install postgresql-server” 태스크 설명의 끝으로 이동합니다.
  • "ENTER" 키를 눌러 제안을 생성합니다.
  • "TAB" 키를 눌러 제안을 수락합니다.
Generating an Ansible task

Ansible 태스크 생성

이 제안에서는 서비스에 "postgresql-server" 패키지를 설치하도록 요청했으며, 제안은 FQCN(정규화된 컬렉션 이름)ansible.builtin.package를 사용하여 일반 OS를 관리하는 Ansible 모듈을 참조했습니다.

FQCN 사용은 권장 모범 사례이며 Red Hat Ansible Lightspeed 서비스에 기본 제공되는 여러 고유한 포스트 프로세싱 기능의 예입니다.

다음 태스크로 이동하겠습니다.

여러 태스크 제안을 생성하려면 어떻게 해야 하나요?

이제 서비스에서 "Install postgresql-server"에 대한 제안을 받았으므로 PostgreSQL을 구성하기 위해 서비스에서 다음과 같은 몇 가지 제안을 더 요청해야 합니다.

  • postgresql-setup 명령 실행
  • postgresql 서비스 시작 및 활성화
  • 방화벽을 통해 postgres 트래픽 허용

한 가지 옵션은 위 섹션에서 수행한 것처럼 단일 태스크 메커니즘을 따라 각 태스크에 대한 권장 사항을 가져오는 것입니다.

watsonx Code Assistant가 통합된 Ansible Lightspeed의 흥미롭고 새로운 상용 기능은 다중 태스크 생성입니다. 전체 플레이북 생성을 위한 로드맵의 한 단계인 다중 태스크 생성을 사용하면 태스크 수준에서 YAML 주석에 앰퍼샌드(&) 기호를 사용하여 여러 태스크 설명을 연결함으로써 단일 프롬프트 항목으로 여러 태스크를 생성할 수 있습니다.

동일한 플레이북 예시를 사용하여 서비스에 다중 태스크 제안을 요청하는 방법을 살펴보겠습니다. 이 파일에 YAML 주석을 이미 생성했습니다. 12행을 자세히 살펴보면 PostgreSQL을 구성하기 위해 태스크 수준에서 YAML 주석에 앰퍼샌드(&)를 사용하여 다양한 태스크를 연결한 것을 확인할 수 있습니다.

  • YAML 주석인 “# Run postresql-setup command & Start and enable postgresql service & Allow the traffic” 행의 끝으로 커서를 이동합니다.
  • "ENTER" 키를 눌러 여러 개가 포함된 제안을 생성합니다.
  • "TAB" 키를 눌러 제안을 수락합니다.
Generating multiple Ansible tasks

여러 Ansible 태스크 생성

동일한 플레이북에서 이번에는 "Run postgresql-command", "Start and enable postgresql service", "Allow the traffic"에 대한 여러 제안을 함께 요청했습니다. 제안에서 이번에는 3개의 Ansible 태스크를 반환했습니다.

컨텍스트를 인식하는 정확한 Ansible 콘텐츠 제안을 생성하면 시간을 절약하고 효율적으로 콘텐츠를 생성할 수 있습니다. Red Hat Ansible Lightspeed의 강력한 기능 중 하나는 컨텍스트입니다. 마지막 태스크는 "Allow the traffic(트래픽 허용)"을 요청하는데 이는 AI "요청"으로 직관에 반대되는 것처럼 여겨질 수 있지만, Red Hat Ansible Lightspeed 서비스는 작업 중인 Ansible 플레이북을 인식하고 PostgreSQL의 기본 포트(5432)에 해당하는 포트 제안을 열도록 제안합니다. 

참고: watsonx Code Assistant가 통합된 Ansible Lightspeed의 기능을 보여주기 위한 예시일 뿐입니다. Ansible 콘텐츠를 작성할 때는 태스크 이름을 명시하여 누구나 Ansible 콘텐츠를 쉽게 이해할 수 있도록 하는 것이 좋습니다.

다음 기능으로 이동하겠습니다.

기본적으로 투명성을 갖추어 도입: 콘텐츠 소스 일치

watsonx Code Assistant가 통합된 Ansible Lightspeed의 또 다른 중요한 기능은 콘텐츠 소스 일치를 사용하는 투명성과 개방성입니다. Red Hat은 권장 사항에 사용된 교육 데이터의 잠재적 소스, 작성자, 콘텐츠 라이센스를 투명하게 공유합니다. 커뮤니티에서 신뢰를 구축하고 작성자와 기여자 간의 관계를 지원하는 노력은 Red Hat의 DNA에 새겨져 있습니다.

Ansible Lightspeed Content Source Matching

Ansible Lightspeed 콘텐츠 소스 일치

Ansible 모범 사례와 더 높은 정확성을 바탕으로 도입

Red Hat Ansible Lightspeed는 오로지 자동화에만 초점을 두어 IT 자동화 팀을 위해 맞춤화된 간소화되고 정확한 생성형 AI 경험을 제공합니다. 허용된 모범 사례를 준수하는 포스트 프로세싱 기능을 통해 자동화 팀은 수용하는 콘텐츠에 대해 확신을 가질 수 있습니다.

Red Hat Ansible Lightspeed의 포스트 프로세싱 기능은 IBM watsonx Code Assistant의 Ansible 콘텐츠 권장 사항을 모범 사례에 맞게 향상시킵니다. 예를 들어, FQCN을 사용하여 데이터 익명화 및 변수 대체를 수행할 수 있습니다.

위의 "제안을 생성하는 방법" 섹션에서 다룬 예시에서는 서비스의 포스트 프로세싱 기능 중 하나로 FQCN을 사용하여 생성된 제안을 보여주었습니다.

유지 관리: Ansible 코드 봇(서비스 프리뷰)

고객은 "콘텐츠를 보유하고 있지만 다음 단계는 무엇인가요?"라고 묻는 경우가 많습니다. 사일로화된 자동화에서 벗어나려면 어떻게 해야 할까요? 사례 커뮤니티를 구축하려면 어떻게 해야 할까요?

Red Hat의 답은 문화에서 시작하고, 인프라 워크플로우를 소프트웨어 자산으로 취급하여 엔터프라이즈급 자동화에 필요한 협업적 접근 방식을 촉진하는 것입니다. 

그러나 여기에는 버전 제어, 자동화된 테스트, 코드 검토와 같은 새로운 기술 학습이 포함될 수 있습니다. Ansible 코드 봇을 통한 Red Hat의 목표는 생성을 넘어 전체 워크플로우로 Ansible 콘텐츠 품질 개선의 범위를 확장하는 것입니다.

Ansible 코드 봇은 GitHub 리포지토리에서 호스팅되는 기존 Ansible 콘텐츠 컬렉션, 롤, 플레이북을 스캔하고 모범 사례나 품질 개선 권장 사항을 사용 가능할 때마다 사전에 풀 요청을 생성합니다. 봇은 풀 요청을 자동으로 리포지토리에 제출하여 리포지토리 소유자에게 콘텐츠에 대한 권장 변경 사항을 사전에 알립니다. 기존 Git 리포지토리(퍼블릭 및 프라이빗 모두)를 스캔하도록 Ansible 코드 봇을 구성할 수 있습니다.

Ansible 코드 봇은 Ansible lint를 사용하여 Ansible 콘텐츠 품질 개선 사항을 권장합니다. 이는 입증된 사례, 패턴 및 동작을 촉진하는 동시에 쉽게 버그를 유발하거나 콘텐츠 유지 관리를 어렵게 만들 수 있는 일반적인 오류를 방지하기 위한 것입니다. Ansible 코드 봇은 구성된 룰을 기반으로 콘텐츠를 스캔하여 콘텐츠가 Ansible 모범 사례를 준수하는지 확인합니다.

전제 조건

  • 조직에 연결되어 있는 Red Hat Customer Portal 계정을 보유해야 합니다.
  • 조직에 watsonx Code Assistant 서브스크립션이 활성화된 유효한 Ansible Lightspeed가 있어야 합니다.

절차

  1. 조직과 연결된 계정을 사용하여 GitHub에 로그인합니다.
  2. 소속된 조직에 대한 GitHub 앱을 설치합니다. 
  3. Ansible 코드 봇 GitHub 앱
  4. Ansible 코드 봇을 설치할 리포지토리를 선택합니다.
  5. 설치 및 승인을 클릭합니다.
  6. 메시지가 표시되면 Red Hat SSO 계정에 로그인합니다.
Ansible Code bot in action

Ansible 코드 봇 활용 사례

선택한 Git 리포지토리에 Ansible 코드 봇을 설치한 후에는 Git 리포지토리를 정기적으로 스캔하도록 일정을 구성할 수 있습니다. Ansible 코드 봇에 대한 스캔 일정을 설정하지 않았거나 예정된 다음 스캔을 기다리고 싶지 않은 경우에는 리포지토리에 "ansible-code-bot-scan"이라는 토픽을 추가하여 Git 리포지토리를 수동으로 스캔할 수도 있습니다.

참고: 서비스 프리뷰는 Cloud Service에 대한 초기 릴리스 "단계"입니다. 서비스 프리뷰는 서비스에 대한 초기 피드백을 수집하기 위해 일부 내부 및 외부 고객에게 제공되지만 프로덕션용으로는 사용할 수 없습니다. 또한 현장 체험판(Field Trial), 제한된 가용성(Limited Availability) 또는 상용화(General Availability) 단계에 있는 Cloud Service의 개별 기능은 서비스 프리뷰로 문서화할 수 있습니다. 즉, 해당 기능은 프로덕션용으로 사용할 수 없습니다.

요약

축하합니다! 조직에 watsonx Code Assistant가 통합된 Ansible Lightspeed를 성공적으로 구성했습니다. 또한 몇 가지 간단한 단계를 통해 흥미롭고 새로운 생성형 AI 기능도 활용해 보았습니다.

Ansible Lightspeed Matrix 룸에 참여하시면 피드백을 공유하고 최신 뉴스를 확인하고 자동화 관련 동료와 Red Hat 팀으로부터 답변을 받을 수 있습니다.  

다음 단계 + 리소스

다음 단계에 대한 자세한 내용은 Red Hat Ansible Lightspeed 홈페이지에서 확인하세요. 기존 Red Hat 고객과 Ansible Automation Platform 체험에 관심이 있는 분들을 위한 링크가 제공됩니다. 

Ansible 및 생성형 AI를 탐색하는 데 도움이 되는 추가 리소스는 다음과 같습니다.

이 서비스가 진화함에 따라 블로그, 동영상 및 기타 리소스를 지속적으로 제공하여 Ansible 방식으로 생성형 AI를 최대한 활용할 수 있도록 도와드리겠습니다. 

여러분이 성공적으로 자동화를 구현하시기 바랍니다. 감사합니다. 


About the author

Anshul is a Principal Marketing Manager at Red Hat, where he brings his software development and QE experience to increase Ansible Automation Platform's adoption experience for customers by producing technical content on all aspects of the product.

Read full bio