로그인 / 등록 Account

자동화

Red Hat Ansible Automation Platform으로 마이그레이션을 자동화하는 방법

   

Jump to section

Red Hat® Ansible® Automation Platform을 사용하면 IT 부서의 업무에서 가장 번거롭고 시간이 많이 걸리는 프로세스 중 하나인 마이그레이션을 자동화할 수 있습니다.

마이그레이션은 사용 중인 하드웨어 또는 소프트웨어에서 다른 제품으로 옮겨가는 IT 인프라 업그레이드 프로세스입니다. 이 프로세스는 물리 인프라에서 가상으로, 가상에서 클라우드로, 클라우드에서 컨테이너로의 이동 또는 이러한 이동의 조합을 포함할 수 있습니다. 또한 한 가지 운영 체제에서 다른 운영체제로의 이동이나 소프트웨어 프로그램 간 이동을 뜻할 수 있습니다. 

이 문서의 목적상 여기서는 애플리케이션 마이그레이션에 대해 알아보고, Red Hat Ansible Automation Platform을 사용하여 이러한 마이그레이션을 자동화하는 것이 마이그레이션에 일반적으로 수반되는 시간과 비용, 어려움을 어떻게 줄여 주는지 알아보겠습니다. 

 

마이그레이션: 수동 방식

일반적으로 애플리케이션 또는 서비스의 수동 마이그레이션은 복잡하고 오류가 발생하기 쉬우며, 일관되게 반복하기 어려우므로 대개 다음과 같은 목록을 만들어 작업을 진행하게 됩니다.

  • 환경에 서버 배포
  • 배포 체크리스트 및 가이드에 따라 운영 체제 구성
  • 모든 것이 제대로 작동할 때까지 필요에 따라 구성을 적절히 수정
  • 모든 환경, 애플리케이션, 배포 등에서 이 프로세스를 반복

복제란 위의 단계를 반복적으로 수행한다는 것이고, 아울러 수동 방식임을 의미하므로 결국 오류가 훨씬 더 쉽게 발생하기 마련입니다. 다양한 시스템 관리자는 다양한 방식과 툴을 보유하고 있어 마이그레이션 과정에서 애플리케이션 간에 더 많은 불일치가 발생하게 됩니다.   

결국 한참 뒤에는 이러한 마이그레이션 접근 방식이 효율적으로 작동하지 않게 됩니다. 각 배포는 서로 다르고 개별적으로 취급되어야 하며 "한 번 빌드하여 한 번 실행"합니다. 따라서 반복할 수 없습니다.

또한 각 수동 반복은 이미 한 작업과 매우 유사하여 혼동과 오류가 발생하기 쉽습니다. 따라서 다시 돌아가 문제를 찾아내 해결하고, 다른 곳에서 발생한 문제도 모두 찾아 해결해야 합니다. 

마이그레이션 프로세스는 미묘한 차이가 있고 수동 작업이 개입되기 때문에, 기술을 업그레이드하거나 '최신 유행' 기술(예: 컨테이너 또는 엣지 컴퓨팅)을 이용하는 것은 너무나 어렵고 엄두가 나지 않는 일입니다.  

실제로 운영 팀과 대화하다 보면 큰 문제가 아닌 이상은 관심을 받기가 어렵다는 것을 느낄 것입니다.  모든 요청은 선제적이기보다는 사후 대응적이기 때문에 팀의 업무가 더 많이 지연됩니다.

정의, 배포, 확인

다행스럽게도 자동화된 마이그레이션을 구현하면 마이그레이션 프로세스가 대폭 간소화되고, 작업 속도가 더 빨라지고, 업무 부담이 완화되어 직원이 더 중요한 문제에 집중할 수 있습니다.

뿐만 아니라 Red Hat Ansible Automation Platform 기반의 자동화는 정의, 배포, 확인의 3단계 권장 프로세스를 통해 마이그레이션을 자동화하는 과정을 안내합니다.

이러한 접근 방식은 가장 작은 것부터 자동화하고, 프로세스에 익숙해진 다음(즉, 작동하는 것과 수정이 필요한 것을 직접 확인), 자신감과 함께 시스템 또는 프로세스의 미묘한 차이에 대한 지식을 얻어, 매번 처음부터 다시 시작하거나 불필요하게 변경하는 일 없이 학습한 것을 반복해서 적용하는 것에 기반을 두고 있습니다.

  • 정의: 자동화할 각 구성 요소를 개별적으로 결정하고 그에 따라 주문/프로세스를 처리합니다. 그런 다음, 구성 요소를 Ansible Playbook에 한데 모읍니다(플레이북에 관해서는 다음 섹션에서 자세히 설명).
  • 배포: 구성 요소 정의/자동화를 사용해 배포를 진행하고 테스트해 봅니다.
  • 확인: 자동화를 적용할 때마다 배포된 애플리케이션이나 소프트웨어를 테스트하여 어떤 차이가 있는지 확인합니다. 그런 다음, 되돌아가 특정 측면을 다시 정의하고 3단계 사이클을 반복합니다. 이 사이클은 작동하는 것과 작동하지 않는 것을 식별하고 각 문제를 해결하는 방법을 학습하면서 갈수록 더 빨라집니다.

다행인 점은 처음부터 모든 것을 100% 정확하게 할 필요가 없다는 것입니다. 프로세스를 진행하면서 계속 수정하고 개선할수록 프로세스는 더 원활하게 실행되고 미세한 차이를 지니게 되며 더 완벽해집니다.  

자동화는 양자택일의 패러다임이 아닙니다.  한두 명의 자동화 엔지니어가 필요한 모든 지식을 축적하는 것보다는 자동화 단계를 점진적으로 확대하여 팀 전체가 이익을 누리는 것이 훨씬 낫습니다.  자동화는 조직 내 모든 사람이 저마다 기여하고 활용하는 공통 언어여야 합니다. 

이러한 접근 방식은 전체 마이그레이션이 완료되고 자동화될 때까지 프로세스를 진행하면서 학습이 가능한 연속적인 과정입니다. 따라서 다음번에 마이그레이션이 필요할 때 수행할 작업을 크게 줄여줍니다. 훨씬 더 짧은 시간에 새로운 환경으로 이동하여 더 새로운 기술이 제공될 때 이 기술을 이용할 수 있습니다. 점진적 업데이트 및 개선 사항은 개인이 아닌 모든 시스템 관리자가 공유합니다.  

Ansible 플레이북

마이그레이션 프로세스에서 각 구성 요소 및 단계를 정의하면 반복 가능한 플레이북에서 이들을 연결하여 새로운 환경에 적용할 수 있습니다. 

Ansible 플레이북은 구성, 배포 및 오케스트레이션 기능을 기록하고 실행합니다. 또한 반복 및 재사용 가능한 단순 구성 관리 및 다중 머신 배포 시스템을 제공하므로, 마이그레이션 프로세스를 효율적으로 기록하고 필요 시 반복할 수 있습니다. 

Red Hat Ansible Automation Platform을 위와 같은 방식으로 이용해 자동화를 완료하면 빠른 반복이 가능합니다. 그 결과, 있을 수 있는 격차와 문제를 발견하고 여기에 훨씬 더 빠르게 대처할 수 있습니다. 

프로세스 반복

동일한 프로세스를 사용해 인프라, 애플리케이션, 방화벽 구성 등 모든 항목을 정의하면 필요한 것을 따로 빼내 새것으로 교체하기가 더 쉬워집니다(예: Amazon 가상 머신을 배포하는 인프라 요소를 따로 빼내어 Rackspace 가상 머신으로 교체). 

개발 모델에 상관없이 쉽고 빠르게 배포할 수 있게 되며 이는 마이그레이션을 손쉽게 수행하는 데 매우 중요합니다. 결과적으로 프로세스가 훨씬 더 원활해져 시스템 구성 요소를 선택해 원하는 곳으로 자유롭게 이동할 수 있게 됩니다. 

유의 사항

유념해야 할 몇 가지 사항은 다음과 같습니다.

  • 모든 구성 요소 및 프로세스를 파악해야 합니다.
  • 시스템을 수동으로 변경하는 것은 최대한 지양합니다. 대신에 수작업을 자동화하는 것이 좋습니다.
  • 포기하거나 너무 부담을 가지지 않습니다. 작은 것, 즉 가장 빈번하고 일관성 있게 수행하는 한두 가지 일부터 자동화합니다. 그러면 시간 절약 효과가 나타나기 시작합니다. 
  • 마이그레이션은 반복 가능성과 밀접한 관련이 있습니다. 더 많은 반복이 가능할수록 프로세스를 선택해 다른 곳으로 옮기기기 더 쉽습니다.
  • 모든 종속성을 고려합니다. 이동해야 하지만 이동이 어려운 데이터베이스에 의존하는 웹 애플리케이션과 같이 시스템을 로컬에 묶어두는 여러 가지 종속성이 있을 수 있습니다.

교육 정보

Red Hat Ansible Automation Platform은 전사적 자동화 구현에 필요한 모든 툴을 비롯해 자동화를 시작하여 실행하는 데 필요한 교육, 자격증 및 지원을 포함합니다. Red Hat은 다양한 교육 과정 및 자격증뿐만 아니라 Red Hat 교육 서브스크립션(7일간 무료 사용 가능)도 제공합니다. 이 동영상에서 Red Hat Ansible Automation의 작동 방식을 익히거나 제품 페이지에서 자세히 알아보세요.

    자동화를 시작하기 위해 필요한 툴

    세계를 선도하는 엔터프라이즈 Linux 플랫폼 기반의 자동화.

    Red Hat Ansible Automation Platform

    전사적 자동화를 구현하는 데 필요한 모든 툴이 포함되어 있습니다.

    자동화에 관해 더 자세히 알아보세요.