자동화에 대한 개요와 클라우드 사용시 자동화 방법
온프레미스(On-premise)또는 클라우드를 운영하다 보면 자동화에 대해 생각을 하게 될 것입니다. 자동화는 기술을 사용해 사람의 개입을 줄이면서 태스크를 수행하는 것을 뜻하며, 반복적인 태스크를 처리하는 모든 업계에서 자동화를 사용할 수 있습니다. [1]

▲ 대량 생산을 위해 단계별로 표준화하고 자동화 시킨 것이 공장과 유사하다고 생각합니다.
IT 자동화는 표준 운영 환경(Standard Operating Environment, SOE)을 사용한 프로비저닝 자동화와 같이, IT 시스템에 대한 수동 작업을 대체하기 위해 반복적인 일련의 프로세스를 수행하는 명령 시스템입니다. [2]
■ 처음 경험했던 운영체제의 스케줄러를 이용한 자동화
클라우드메이트에 합류하기 이전에는 기업 대상으로 Client & Server 형태의 솔루션을 납품하고 유지 보수하는 일을 하였습니다.
매월 고객사로 정기 점검을 위해 방문했을 때, 서버의 스케줄러에 등록된 작업이 정상적으로 동작했었는지 확인했습니다.
오류가 발생했다면 해당 부분을 확인하고 수정하여 정상적인 작업을 할 수 있게 하였습니다.
▼ 아래는 솔루션 서버에서 자동화 관련 작업의 예시 입니다.
예시처럼 특정 시간에 특정 작업을 수행하기 위해서는 해당 환경에 맞는 도구 또는 서비스를 활용하여 구현해야 합니다.
▼ 운영체제의 스케줄러를 이용한 자동화를 3단계

살펴보면 Trigger는 해당 환경에 맞는 도구를 활용하면 되지만 Action과 Target 부분은 프로그램 개발 지식이 조금은 필요합니다. 최소한 스크립트를 작성하여 Target 프로그램에서 제공하는 command로 제어할 수 있다면 자동화를 할 수 있습니다.
■ 클라우드 환경에서의 자동화
On-premises라고 불리는 서버실, IDC에서는 물리 장비를 사람이 작업해야 하는 부분이 있어 자동화가 어려운 부분이 있습니다.
하지만 클라우드에서는 CSP(클라우드 서비스 제공 업체)에서 물리 장비를 관리하고 가상화 기술을 통해 고객에게 서버와 SDK를 제공합니다. 그래서 속도 및 민첩성 향상이라는 클라우드 이점을 가져갈 수 있게 되었습니다.
클라우드에서도 Trigger, Action, Target 항목에 맞춰 분류하면 아래 표와 같습니다.

이미 자동화 관련해서는 “Tutorial: Schedule AWS Lambda functions using EventBridge” [3] 가이드가 제공되고 있습니다.
그러면 “사용자 가이드 있는 것을 활용하지 왜 따로 연구하시나요?”라는 궁금증이 생길 수 있습니다.
아래 예시처럼 일부는 사용자 가이드에서 제공하지 않는 요구사항이 있었기 때문입니다.
■ IT 자동화를 만들기 위해서는 아래와 같이 3단계로 정의해 보았습니다.
1️⃣ 직접 손으로 작업을 해보고 작업내용을 표준화를 시킨다.

생각을 정리하고 절차를 단순화 시킬 수 있으며 누락되는 작업 없이 자동화를 만드는 데 도움이 되는 단계입니다. 전체적인 작업을 단계별로 분류하게 되면 단계마다 어떤 것들이 필요한지 그리고 어떠한 IT서비스를 이용해야 할지 정할 수 있습니다.

【경험담】
2️⃣ 표준화된 내용을 코드를 기반으로 구현하고 테스트 또는 운영해 본다.
직접 스크립트나 코드로 구현해 봅니다. 필요에 따라서는 환경에 맞는 다른 서비스를 활용할 수 있습니다.
실제로 테스트하거나 운영을 해보면서 작업이 전체적으로 잘 작동하는지 확인하는 단계라고 할 수 있습니다.

【경험담】
■ EventBridge에 등록된 시간대로 오차 없이 동작할까?

3️⃣ 앞 과정에서 발생하는 오류는 수정 하거나 개선한다.
구현된 자동화를 테스트 또는 운영하는 과정에서 예측하지 못했던 오류나 불편한 점이 발생할 수 있습니다.

【경험담】
■ 정리
지금까지 “클라우드에서 자동화는 어떻게 할까?”에 대한 글을 읽어주셔서 감사합니다.
지금까지 설명드린 내용을 3줄로 정리하면 아래와 같습니다.
■ 참고