Azure에서 적절한 통합 및 자동화 서비스 선택

이 문서에서는 다음 Microsoft 클라우드 서비스를 비교합니다.

이 모든 서비스는 통합 문제를 해결하고 비즈니스 프로세스를 자동화할 수 있습니다. 입력, 동작, 조건 및 출력을 모두 정의할 수 있습니다. 각 서비스를 일정이나 트리거에 따라 실행할 수 있습니다. 서비스마다 고유의 장점이 있으며, 이 문서에서는 차이점을 설명합니다.

참고 항목

Azure Functions와 다른 Azure 컴퓨팅 옵션 간의 보다 일반적인 비교를 원하는 경우:

Azure의 자동화 서비스 옵션에 대한 요약 및 비교는 다음과 같습니다.

Microsoft Power Automate와 Azure Logic Apps 비교

Power Automate와 Azure Logic Apps는 모두 워크플로를 만들 수 있는 디자이너 중심 통합 서비스입니다. 두 서비스는 다양한 SaaS 및 엔터프라이즈 애플리케이션과 통합합니다.

Power Automate는 Azure Logic Apps 플랫폼을 기반으로 합니다. 둘 다 유사한 워크플로 디자이너와 커넥터를 제공합니다.

Power Automate는 개발자나 IT를 통하지 않고 사무실 작업자가 간단히 통합할 수 있도록 해줍니다(예: SharePoint 문서 라이브러리에 대한 승인 프로세스). 또한 Logic Apps를 통해 엔터프라이즈 수준의 Azure DevOps 및 보안 사례가 요구되는 고급 통합(예: B2B 프로세스)을 사용할 수 있습니다. 비즈니스 워크플로의 복잡성이 점차 증가하는 것이 일반적입니다.

다음 표를 통해 Power Automate 또는 Logic Apps가 특정 통합에 가장 적합한지 확인할 수 있습니다.

Power Automate Logic Apps
사용자 사무실 직원, 비즈니스 사용자, SharePoint 관리자 전문 통합 업체 및 개발자, IT 전문가
시나리오 셀프 서비스 고급 통합
디자인 도구 브라우저 및 모바일 앱에서 UI만 해당 브라우저, Visual Studio Code 및 코드 보기가 있는 Visual Studio
ALM(애플리케이션 수명 주기 관리) Power Platform은 DevOps 및 GitHub Actions를 통합하여 ALM 주기에서 자동화된 파이프라인을 빌드할 수 있는 도구를 제공합니다. Azure DevOps: Azure Resource Manager의 소스 제어, 테스트, 지원, 자동화 및 관리 효율성
관리자 환경 Power Automate 환경 및 DLP(데이터 손실 방지) 정책 관리, 라이선스 추적: 관리 센터 리소스 그룹, 연결, 액세스 및 로깅 관리: Azure Portal
보안 Microsoft 365 보안 감사 로그, DLP, 중요한 데이터의 저장 데이터 암호화 Azure의 보안 보증: Azure 보안, Microsoft Defender for Cloud, 감사 로그

Azure Functions 및 Azure Logic Apps 비교

Functions 및 Logic Apps는 서버가 없는 워크로드를 활성화하는 Azure 서비스입니다. Azure Functions는 서버리스 컴퓨팅 서비스인 반면 Azure Logic Apps는 서버리스 워크플로 통합 플랫폼입니다. 둘 다 복합 오케스트레이션을 만듭니다. 오케스트레이션은 복잡한 작업을 완료하기 위해 실행할 수 있는 함수 또는 Azure Logic Apps의 작업 모음입니다. 예를 들어 주문의 일괄 처리를 처리하기 위해 많은 함수의 인스턴스를 동시에 실행하고, 모든 인스턴스가 완료되기를 기다린 다음, 집계에 대한 결과를 컴퓨팅하는 함수를 실행할 수 있습니다.

Azure Functions의 경우 코드를 작성하고 지속성 함수 확장을 사용하여 오케스트레이션을 개발합니다. Azure Logic Apps의 경우 GUI를 사용하거나 구성 파일을 편집하여 오케스트레이션을 만듭니다.

오케스트레이션을 빌드할 때 논리 앱 워크플로에서 함수를 호출하고 함수에서 논리 앱 워크플로를 호출하여 서비스를 조합하고 구성할 수 있습니다. 서비스의 기능 또는 개인 기본 설정에 따라 각 오케스트레이션을 빌드하는 방법을 선택합니다. 다음 표에서는 이러한 서비스 간의 몇 가지 주요 차이점을 나열합니다.

지속성 함수 Azure Logic Apps
개발 코드 중심(명령적) 디자이너 중심(선언적)
연결 12가지의 기본 제공 바인딩 형식 정보, 사용자 지정 바인딩에 대한 코드 작성 대규모의 커넥터 컬렉션, B2B 시나리오용 엔터프라이즈 통합 팩, 사용자 지정 커넥터 빌드
actions 각 작업은 Azure 함수입니다. 작업 함수에 대한 코드 작성 즉시 사용 가능한 작업의 대규모 컬렉션
Monitoring Azure Application Insights Azure Portal, Azure Monitor 로그, 클라우드용 Microsoft Defender
관리 REST API, Visual Studio Azure Portal, REST API, PowerShell, Visual Studio
실행 컨텍스트 로컬로 또는 클라우드에서 실행 가능 Azure, 로컬 또는 온-프레미스에서 실행됨. 자세한 내용은 Azure Logic Apps란?을 참조하세요.

Functions 및 WebJobs 비교

Azure Functions와 마찬가지로, Azure App Service WebJobs with the WebJobs SDK는 개발자를 위해 설계된 코드 중심 통합 서비스입니다. 둘 다 Azure App Service를 기반으로 빌드되며 소스 제어 통합, 인증, Application Insights를 사용한 모니터링 등의 기능을 지원합니다.

WebJobs 및 WebJobs SDK

App Service의 WebJobs 기능을 사용하여 App Service 웹앱의 컨텍스트에서 스크립트 또는 코드를 실행할 수 있습니다. WebJobs SDK는 WebJobs를 위해 설계된 프레임워크로, 개발자가 Azure 서비스의 이벤트에 응답하기 위해 작성하는 코드를 간소화합니다. 예를 들어 썸네일 이미지를 만들어서 Azure Storage에 이미지 Blob 만들기에 대응할 수 있습니다. WebJobs SDK는 WebJob을 배포할 수 있는 .NET 콘솔 애플리케이션으로 실행됩니다.

WebJobs와 WebJobs SDK는 최고의 호환성을 자랑하지만, WebJobs SDK 없이 WebJobs만 또는 그 반대로 사용할 수도 있습니다. WebJob은 App Service 샌드박스에서 실행되는 모든 프로그램 또는 스크립트를 실행할 수 있습니다. WebJobs SDK 콘솔 애플리케이션은 온-프레미스 서버처럼 콘솔 애플리케이션을 실행하는 모든 위치에서 실행 가능합니다.

비교 표

Azure Functions는 WebJobs SDK 기반이므로 다른 Azure 서비스와 여러 동일한 이벤트 트리거 및 연결을 공유합니다. 다음은 Azure Functions와 WebJobs with the WebJobs SDK 중에서 하나를 선택할 때 고려할 요소입니다.

Functions WebJobs with WebJobs SDK
자동 크기 조정이 가능한 서버리스 애플리케이션 모델
브라우저에서 개발 및 테스트
사용량 기준 과금 가격 책정
Logic Apps와 통합
트리거 이벤트 타이머
Azure Storage 큐 및 BLOB
Azure Service Bus 큐 및 토픽
Azure Cosmos DB
Azure Event Hubs
HTTP/웹후크(GitHub, Slack)
Azure Event Grid
타이머
Azure Storage 큐 및 BLOB
Azure Service Bus 큐 및 토픽
Azure Cosmos DB
Azure Event Hubs
파일 시스템
지원되는 언어 C#
F#
JavaScript
Java
Python
PowerShell
C#1
패키지 관리자 npm 및 NuGet NuGet2

1 WebJobs(WebJobs SDK 제외)는 C#, Java, JavaScript, Bash, .cmd, .bat, PowerShell, PHP, TypeScript, Python 등의 언어를 지원합니다. WebJob은 App Service 샌드박스에서 실행 가능한 모든 프로그램 또는 스크립트를 실행할 수 있습니다.

2 WebJobs(WebJobs SDK 제외)는 npm 및 NuGet을 지원합니다.

요약

Azure Functions는 Azure App Service WebJobs보다 개발자 생산성이 우수합니다. 또한 더 많은 프로그래밍 언어, 개발 환경, Azure 서비스 통합 및 가격 책정 옵션을 제공합니다. 대부분의 시나리오에서 가장 좋은 선택입니다.

다음은 WebJobs가 최선의 선택이 될 수 있는 두 가지 시나리오입니다.

  • 이벤트, JobHost 개체를 수신 대기하는 코드를 보다 정교하게 제어해야 합니다. Functions는 host.json 파일의 JobHost 동작을 사용자 지정하는 제한된 수의 방법을 제공합니다. 경우에 따라 JSON 파일의 문자열로 지정할 수 없는 작업을 수행해야 합니다. 예를 들어 WebJobs SDK를 통해서만 Azure Storage에 대한 사용자 지정 다시 시도 정책을 구성할 수 있습니다.
  • 코드 조각을 실행할 App Service 앱이 있고 동일한 Azure DevOps 환경에서 코드 조각을 함께 관리하려고 합니다.

Azure 또는 타사 서비스를 통합하기 위한 코드 조각을 실행하려는 다른 시나리오의 경우 WebJobs with the WebJobs SDK를 통해 Azure Functions를 선택합니다.

Power Automate, Logic Apps, Functions 및 WebJobs를 함께 사용

이러한 서비스 중 하나만 선택할 필요가 없습니다. 이러한 서비스는 서로 통합되고 외부 서비스와도 통합됩니다.

Power Automate 흐름에서 Azure Logic Apps 워크플로를 호출할 수 있습니다. Azure Logic Apps 워크플로에서 Azure Functions 함수를 호출할 수 있으며 그 반대도 가능합니다. 예를 보려면 Azure Logic Apps와 통합되는 함수 만들기를 참조하세요.

Power Automate, Logic Apps 및 Functions 등 이러한 서비스 간의 통합 환경은 시간이 지남에 따라 계속 개선됩니다. 한 서비스에서 구성 요소를 빌드하고 다른 서비스에서는 빌드한 구성 요소를 사용할 수 있습니다.

다음 링크를 사용하여 통합 서비스에 대해 자세히 알아볼 수 있습니다.

다음 단계

첫 번째 흐름, 논리 앱 워크플로 또는 함수 앱을 만들어 시작합니다. 다음 링크 중 하나를 선택합니다.