우리가 컴퓨터로 하는 많은 일들이 반복적이다. 우리는 파일을 폴더에 넣고 이메일에 양식 답장을 보내며 파일을 저장하며 애플리케이션을 개발할 때 테스트를 실행한다. 이벤트 이후 이벤트가 있고, 그 연쇄적인 과정은 예상 가능하다.
일상 업무 중 상당 부분은 자동화가 가능하다. 애저 로직 앱스(Azure Logic Apps)와 파워 오토메이트(Power Automate) 같은 도구를 사용하여 기업 애플리케이션과 클라우드 서비스 사이에서 정보를 전달하는 것과 유사하다고 할 수 있다.
실제로 유사한 콘셉트의 RPA 도구가 점차 널리 활용되고 있으며 로우 코드(Low Code)와 노코드(No Code) 도구를 이용한 이벤트 기반 애플리케이션들이 만들어지고 있다.
하지만 우리는 일반적으로 개인용 기기에서 이런 작업을 하지 않는다. 이런 작업이 우리의 흐름을 깨고 생산성을 낮출 때조차도 그렇다. 자동화하기 위해 필요한 도구가 표준 PC 운영 환경에 포함되어 있지 않기 때문이 탓이 크다.
파워 오토메이트 데스크톱 소개
최근 2021년 3월 이그나이트(Ignite)에서 마이크로소프트는 자사의 ‘파워 오토메이트 데스크톱’와 관련해 주목할 만한 내용을 발표했다. 이 도구를 향후 윈도우 릴리즈의 표준 윈도우 설치 구성요소로 만들어(그리고 신속하게 자사의 윈도우 인사이더(Insider) 개발 채널 릴리즈에 포함시켜) 프로세스 자동화와 인박스 앱 세계를 합치겠다는 것이다.
마이크로소프트의 기존 윈도우 레코더(Windows Recorder) 자동화 도구 또는 오픈소스 셀레니움(Selenium) 데스크톱 UI 테스트 도구를 대체하는 것이 목적이다.
파워 오토메이트 데스크톱은 작년 5월 이전에는 윈오토메이트(WinAutomate)라는 이름으로 불렸던 도구다. 본래 소프토모티브(Softomotive)가 개발했으며, 인수 이후 신속하게 브랜드를 변경하여 현재 마이크로소프트의 비즈니스 중심적인 파워 앱스(Power Apps) 플랫폼에 포함되어 있다.
그 결과, 2가지 특성이 결합된 도구가 탄생했다. 클라우드 호스팅 파워 앱스를 위한 데스크톱 종점뿐 아니라 자체 PC상 작업을 자동화하는 환경을 함께 제공하는 것이다.
파워 오토메이트 데스크톱은 가입하는 계정에 따라 다르게 제공된다. 계정에 따라 파워 앱스의 기반이 되는 마이크로소프트 그래프(Microsoft Graph) 및 데이터버스(Dataverse) 공통 데이터 모델과 다양한 수준으로 통합된다. 파워 오토메이트 데스크톱을 제대로 활용하려면 조직의 마이크로소프트 365 또는 파워 앱스 ID와 연동된 프리미엄 계정을 구독해야 한다.
마이크로소프트 계정을 통해 로컬 애플리케이션을 사용하며 자동화하고 해당 도구에 내장된 동작을 사용하여 일반적인 비즈니스 서비스 및 오피스 애플리케이션과 통합하는 도구로 활용할 수 있다.
업무 또는 학교 계정은 더 많은 마이크로소프트 그래프 기능에 액세스할 수 있으며, 프리미엄 계정(15달러/월/사용자부터 시작)이 있으면 로컬 프로세스 플로를 클라우드 파워 오토메이트 서비스에 연결하고 머신 러닝 상호작용 등의 도구 및 기능과 함께 사용할 수 있다.
시작하기
파워 오토메이트 데스크톱을 설치하면 엣지(Edge)에 브라우저 확장기능을 설치하라는 메시지가 표시된다. 그만한 가치가 있다. 엣지에 설치되면 확장기능을 사용하여 브라우저 상호작용을 기록하고 재생하여 웹 애플리케이션 테스트를 자동화할 수 있다.
크롬(Chrome)과 파이어폭스(Firefox)용 익스텐션 버전으로도 제공된다. 마이크로소프트의 파워 플랫폼의 나머지 부분과 통합해야 하는 경우 클라우드와 연결되는 플로우를 실행하는 모든 기기에 데이터 게이트웨이를 설치해야 원격 장치에서 데스크톱 플로우를 실행할 수 있다.
원격 액세스가 많은 시나리오에 필요한 것은 아니지만 데스크톱 플로우를 깃허브 액션스(GitHub Actions)의 웹후크(webhook) 등에 연결하려면 프리미엄 구독이 있고 게이트웨이가 설치되어 있어야 한다. 설치되고 나면 웹 기반 파워 오토메이트 서비스를 사용하여 게이트웨이에 연결하고 액세스를 구성한다. 그리고 두 서비스를 연동할 수 있다.
파워 오토메이트 플로우를 작성해 본 적이 있다면 데스크톱 도구 사용 방법도 쉽게 이해할 수 있을 것이다. 플로우 안에는 다양한 단계를 위한 디자인 캔버스뿐만 아니라 애플리케이션과의 상호작용을 캡처하는 도구도 있다.
UI를 캡처하여 자동화하기
파워 오토메이트 데스크톱에서는 애플리케이션 UI를 자동화하는 것은 가장 유용한 기능이다. 알려진 애플리케이션 요소로 직접 작업하거나 상호작용을 기록한 후 핵심 요소를 사용자 정의할 수 있다.
오늘날 데스크톱 애플리케이션과 도구는 현대적인 분산형 애플리케이션과 같은 API 기반 개발 모델이 없기 때문에 모든 자동화가 양식을 작성하고 버튼을 눌러야 한다. 우선, 애플리케이션을 기록하고 이것을 자동화를 위한 프레임워크로 사용한다.
애플리케이션에서 사용할 상호작용을 캡처하면 콘텐츠를 변수로 대체할 수 있다. 예를 들어, 캡처한 더미 텍스트를 텍스트 변수로 대체하는 것이다. 애플리케이션을 연결할 계획이라면 다른 캡처를 사용하여 콘텐츠를 해당 변수로 보내고 파워 오토메이트 데스크톱 편집 환경을 사용하여 캡처를 올바른 순서로 배치할 수 있다.
동작으로 자동화하기
내장된 캡처 도구만 사용할 수 있는 것은 아니다. 파워 오토메이트 데스크톱에는 애플리케이션 구축에 사용할 수 있는 자체적인 동작(actions) 라이브러리가 있다. 일부는 플로우에 추가적인 복잡성을 더할 수 있으며, 조건법과 루프(Loop)뿐 아니라 하위 플로우를 전환할 수 있는 플로우 제어 규칙을 추가할 수 있다.
플로우 제어 도구는 특히 워크플로에 오류 처리를 추가하고 트래핑(Trapping)하여 오류 로그를 작성하거나 경고 다이알로그를 표시하는 데 사용할 수 있는 하위 플로우로 전달해야 하는 경우에 특히 유용하다.
다른 동작(actions)은 보편적인 윈도우 기능에 대한 직접 액세스를 제공한다. 파일을 열거나 엑셀(Excel) 등의 도구를 사용하기 위해 캡처를 생성할 필요가 없다는 의미다.
내장된 동작(actions)은 지원되는 애플리케이션의 모든 기능을 포함하지 않지만 대부분의 보편적인 작업을 위한 충분한 범위를 제공한다. 더욱 복잡한 작업은 UI 자동화 도구를 사용하여 처리할 수 있다.
지원되는 기능 중 일부는 놀라운 수준이다. 예를 들어, 애저 코그니티브 서비스(Azure Cognitive Services) 호출을 데스크톱 플로우 안에 구축할 수 있다. 이를 통해 스크린샷을 촬영하고 파워 오토메이트 데스크톱의 클립보드 도구를 사용하여 OCR 도구로 전달한 후 결과 텍스트를 파일로 저장할 수 있다. 여기에서 여러 개의 동작을 연동하여 클립보드에 이미지를 캡처한 후에 플로우를 실행하게 된다.
터미널 세션에 연결되어 메인프레임 애플리케이션을 자동화하는 도구도 있다. 게다가 윈도우 명령줄을 자동화하는 옵션이 있기 때문에 여러 개의 스크립트를 단일 동작으로 묶어 특정 출력을 기다렸다가 다음으로 이동한 후 열려 있는 파일에 로그를 작성할 수 있다.
그 결과, 전통적인 스크립트 작성 도구의 수준을 넘어서는 놀랍도록 강력한 일련의 도구를 얻게 된다. 사용자 인터페이스를 직접 구동할 수 있으면 유연성이 높아지며, 익숙한 도구를 직접 지원함에 따라 아이디어를 테스트한 후 자동화된 작업으로 손쉽게 변환할 수 있다.
미래의 업무 방식
아직 완벽하지는 않다. 일부 애플리케이션은 자동화가 어렵고 WSL 등은 아직 지원되지 않는다. 하지만 이 도구를 윈도우에 포함시켰다는 점은 이 도구에 대한 마이크로소프트의 의지를 여실히 드러내고 있다. 향후 이 도구가 지식 및 작업 노동자들뿐 아니라 개발자와 작업 워크플로를 어떻게 업데이트하고 지원할지도 흥미로울 것이다.
파워 오토메이트 데스크톱 플로우를 다른 사용자와 공유할 수 있지만 프리미엄 계정이 있으면 지금 당장 개인용 도구를 개발할 수 있다. 사람마다 개인적인 워크플로우를 중심으로 일하는 방식이 다르다.
가령 개발자들이 하는 일의 핵심은 툴체인(Toolchain), 즉 코드 개발, 관리, 배치에 사용하는 애플리케이션이다. 파워 오토메이트 데스크톱은 이런 애플리케이션을 한 애플리케이션의 결과값이 다른 애플리케이션의 투입값을 유도하는 진정한 체인으로 바꿔준다. 이를 통해 클라우드의 분산된 이벤트 기반 프로그래밍 모델이 데스크톱에 적용되고, 윈도우 UI를 범용 API로 사용할 수 있게 됐다. 지루하고 반복적인 작업을 자동화해보고자 한다면 곧바로 시도해볼 가치가 충분하다.
dl-ciokorea@foundryco.com