Azure에서 적절한 통합 및 자동화 서비스 선택
이 문서에서는 다음 Microsoft 클라우드 서비스를 비교합니다.
이 모든 서비스는 통합 문제를 해결하고 비즈니스 프로세스를 자동화할 수 있습니다. 입력, 동작, 조건 및 출력을 모두 정의할 수 있습니다. 각 서비스를 일정이나 트리거에 따라 실행할 수 있습니다. 서비스마다 고유의 장점이 있으며, 이 문서에서는 차이점을 설명합니다.
참고 항목
Azure Functions와 다른 Azure 컴퓨팅 옵션 간의 보다 일반적인 비교를 원하는 경우 다음 문서를 참조하세요.
Azure의 자동화 서비스 옵션에 대한 요약 및 비교는 Azure에서 Automation 서비스 선택을 참조하세요.
Azure Logic Apps 및 Microsoft Power Automate 비교
이러한 서비스는 모두 자동화된 워크플로를 빌드하고 실행할 수 있는 디자이너 우선 통합 플랫폼입니다. 두 플랫폼 모두 다양한 SaaS(Software-as-a-Service) 및 엔터프라이즈 애플리케이션과 통합됩니다. 둘 다 비슷한 워크플로 디자이너를 제공하며 커넥터가 일부 겹치는 것을 공유하지만 각 플랫폼은 고유한 커넥터도 제공합니다.
Power Automate를 사용하면 비즈니스 사용자, 사무실 근로자 및 시민 개발자가 IT 또는 개발자와 작업하거나 코드를 작성하지 않고도 간단한 통합을 빌드할 수 있습니다. 한 가지 예는 SharePoint 문서 라이브러리에 대한 승인 워크플로일 수 있습니다. Azure Logic Apps는 코드가 거의 없는 시나리오부터 고급, 코딩 및 복잡한 워크플로에 이르기까지 다양한 통합을 지원합니다. 예를 들어 Azure DevOps와 엔터프라이즈 수준의 상호 작용이 필요한 B2B 프로세스 또는 시나리오가 있습니다. 비즈니스 워크플로는 시간이 지남에 따라 단순에서 완료로 확장할 수도 있습니다.
특정 통합에 Azure Logic Apps 또는 Power Automate를 사용할지 여부를 결정하는 데 도움이 되도록 기능 비교 테이블을 참조 하세요.
Azure Functions 및 Azure Logic Apps 비교
이러한 Azure 서비스를 사용하면 서버리스 워크로드를 빌드하고 실행할 수 있습니다. Azure Functions는 서버리스 컴퓨팅 서비스이며, Azure Logic Apps는 서버리스 워크플로 통합 플랫폼입니다. 둘 다 복합 오케스트레이션을 만듭니다. 오케스트레이션은 복잡한 작업을 완료하기 위해 실행할 수 있는 Azure Logic Apps의 작업이라고 하는 함수 컬렉션입니다. 예를 들어 주문의 일괄 처리를 처리하기 위해 많은 함수의 인스턴스를 동시에 실행하고, 모든 인스턴스가 완료되기를 기다린 다음, 집계에 대한 결과를 컴퓨팅하는 함수를 실행할 수 있습니다.
Azure Functions의 경우 코드를 작성하고 지속성 함수 확장을 사용하여 오케스트레이션을 개발합니다. Azure Logic Apps의 경우 시각적 디자이너를 사용하거나 Azure Resource Manager 템플릿을 편집하여 오케스트레이션을 만듭니다.
오케스트레이션을 빌드할 때 서비스를 혼합하고 일치시킬 수 있습니다. 예를 들어 논리 앱 워크플로에서 함수를 호출하고 함수에서 논리 앱 워크플로를 호출할 수 있습니다. 서비스의 기능 또는 개인 기본 설정에 따라 각 오케스트레이션을 빌드하는 방법을 선택합니다. 다음 표에서는 이러한 서비스 간의 몇 가지 주요 차이점을 나열합니다.
지속성 함수 | Azure Logic Apps | |
---|---|---|
개발 | 코드 중심(명령적) | 디자이너 중심(선언적) |
연결 |
-
12가지 기본 제공 바인딩 형식 - 사용자 지정 바인딩에 대한 코드 작성 |
-
트리거 및 작업이 있는 1,400개 이상의 미리 빌드된 커넥터 - B2B 시나리오를 위한 엔터프라이즈 통합 팩 - 사용자 지정 커넥터 |
actions | 각 작업은 Azure 함수입니다. 작업 함수에 대한 코드 작성 | 트리거 및 작업이 있는 1,400개 이상의 미리 빌드된 커넥터 |
Monitoring | Azure Application Insights |
-
Azure Portal - Azure Monitor 로그 - Microsoft Defender for Cloud - Azure 애플리케이션 Insights for Standard 워크플로 - 표준 워크플로에 대한 상태 검사 자세한 내용은 Azure Logic Apps에서 워크플로 모니터링을 참조 하세요. |
관리 |
-
REST API - Visual Studio |
-
Azure Portal - Visual Studio Code - REST API - PowerShell - Azure CLI(표준 워크플로) - Azure CLI(소비 워크플로) |
실행 컨텍스트 | 로컬로 또는 클라우드에서 실행 가능 | Azure, Visual Studio Code 또는 부분적으로 연결된 환경에서 로컬로 실행할 수 있습니다. 자세한 내용은 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 SDK를 사용한 WebJobs | |
---|---|---|
자동 크기 조정이 가능한 서버리스 애플리케이션 모델 | ✔ | |
브라우저에서 개발 및 테스트 | ✔ | |
사용량 기준 과금 가격 책정 | ✔ | |
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 SDK와 WebJobs를 통해 Azure Functions를 선택합니다.
Power Automate, Logic Apps, Functions 및 WebJobs를 함께 사용
이러한 서비스 중 하나만 선택할 필요가 없습니다. 이러한 서비스는 서로 통합되고 외부 서비스와도 통합됩니다.
Power Automate 흐름에서 Azure Logic Apps 워크플로를 호출할 수 있습니다. Azure Logic Apps 워크플로에서 Azure Functions 함수를 호출할 수 있으며 그 반대도 가능합니다. 예를 보려면 Azure Logic Apps와 통합되는 함수 만들기를 참조하세요.
Power Automate, Azure Logic Apps 및 Functions 간에 이러한 서비스 간의 통합 환경은 시간이 지남에 따라 계속 개선되고 있습니다. 한 서비스에서 구성 요소를 빌드하고 다른 서비스에서는 빌드한 구성 요소를 사용할 수 있습니다.
통합 서비스에 대한 자세한 내용은 다음 문서를 참조하세요.
- Christopher Anderson의 통합 시나리오에 대한 Azure Functions 및 Azure App Service 활용
- Integrations Made Simple by Charles Lamanna
- Azure Logic Apps Live 웹캐스트
- Power Automate 보고서 질문과 대답
다음 단계
첫 번째 흐름, 논리 앱 워크플로 또는 함수 앱을 만들어 시작합니다. 다음 링크 중 하나를 선택합니다.