Azure Logic AppsはBizTalk Serverの後継です。 Azure Logic Apps Standardは、クラウドおよびハイブリッドソリューション向けのワークフローオーケストレーション、エンタープライズ統合、拡張性を提供します。 この記事では、移行の理由、利用可能なホスティングオプション、そして評価すべきBizTalkの機能をまとめています。
移行戦略、計画上の考慮事項、納品ガイダンスについては、「Azure Logic Apps Migration AgentでBizTalk Serverを移行する」をご覧ください。
BizTalk Serverのライフサイクル
BizTalk Server 2020はBizTalk Serverの最終リリースです。 MicrosoftはBizTalk Server 2020の販売が2027年3月31日に終了すると見込んでいます。 主流のサポートは2028年4月12日まで続き、その後も製品はMicrosoftの固定ライフサイクルポリシーの対象となります。
Microsoftはまた、対象顧客に対して2028年4月13日から2030年4月10日まで、オプションで有料の拡張メインストリームサポートを提供する計画です。 この提供は一時的な移行補償を意図しており、一部のBizTalk機能は除外される予定で、最終的な適格性、補償内容、価格設定、購入条件の対象となります。
特に、ビジネスアクティビティモニタリング(BAM)、Enterprise Service Bus(ESB)ツールキット、業界アクセラレーター、レガシーエンタープライズアダプター、BizTalk専用のアプリケーションライフサイクル管理ツール、またはVisual Studio 2022以降のVisual Studioバージョンに依存している場合は、移行計画を早めに始めましょう。 これらの機能は有料の拡張メインストリームサポートから除外されるか、再設計が必要になる可能性があります。
最新の日付と用語については、以下をご覧ください:
なぜLogic Apps StandardがBizTalkのワークロードに適合するのか
BizTalkアプリケーションは、耐久性のあるオーケストレーション、メッセージング、変換、B2B(企業間)処理、カスタムコード、プライベートシステムへのアクセスを組み合わせていることが多いです。 Azure Logic Apps Standardは、これらの統合機能をシングルテナントのランタイムで提供し、ステートフルおよびステートレスの両方のワークフローをサポートします。 消費ロジックアプリとは異なり、標準ロジックアプリは複数のワークフローを含み、計算、ストレージ、ネットワーク、設定を共有することができます。
以下の機能により、StandardはほとんどのBizTalk近代化プロジェクトで推奨されるLogic Appsリソースタイプとなっています:
| BizTalkの要件 | Logic Apps Standardの機能 |
|---|---|
| 耐久性があり長期的なビジネスプロセス | ステートフルなワークフローは実行状態を永続化し、割り込んだ実行を回復できます。 ステートレスワークフローは、永続性が不要な場合、低遅延のメモリ内処理をサポートします。 |
| 関連する統合プロセス | 複数のワークフローが1つのStandard Logicアプリ内で実行され、リソース、設定、デプロイ境界を共有します。 |
| エンタープライズメッセージングおよびデータフォーマット | 組み込みのコネクターやアクションは、Azure Service Bus、Event Hubs、SQL Server、XML、フラットファイル、変換、B2Bシナリオなどのサービスをサポートします。 |
| カスタム実装ロジック | .NETローカル関数は、同じプロジェクトおよびアプリケーション境界内のワークフローと並んでワークフロースコープ化されたコードを実行します。 インラインスクリプト、カスタム内蔵コネクタ、外部サービスも他の拡張性オプションを提供します。 |
| 民間および地域接続 | 専用のシングルテナント実行は仮想ネットワーク統合とプライベートエンドポイントをサポートします。 ハイブリッド展開は、ローカル処理が必要な場合に顧客管理インフラ上でワークフローを実行します。 |
| アプリケーション ライフサイクル管理 | Visual Studio Codeの開発、ローカルテスト、インフラストラクチャアズコード、CI/CDはワークフローアプリケーションの展開とインフラプロビジョニングを分離しています。 |
| デプロイの選択 | マネージドAzureホスティングにはWorkflow Service Planを、孤立したAzureホスティングにはApp Service Environment v3、または顧客管理のKubernetes環境にはHybridを使いましょう。 |
Logic Apps Standardは、BizTalkソリューションの近代化に必要なほとんどのコア機能を提供し、Azure上でホストされる場合でもハイブリッド環境で展開される場合でも、ターゲットアーキテクチャの主要なオーケストレーションおよび統合プラットフォームとして機能します。 他のサービスはデフォルトで必須ではありません。 Azureホスティング型ソリューションの場合、リファクタリングされたソリューションが独立したメッセージブローカー、APIライフサイクル管理、イベント配信を必要とする場合にのみ、Azure Service Bus、Azure API Management、Azure Event GridなどのAzureサービスを追加してください。 ハイブリッド展開では、Logic Apps Standard以外の機能やアーキテクチャの境界に対して、互換性のある顧客管理サービスを使用してください。
移住の理由
| 長所 | 説明 |
|---|---|
| モダンな統合プラットフォーム | マネージドオーケストレーション、エンタープライズコネクター、B2B機能、API統合、クラウドネイティブのセキュリティと監視を備えたワークフローを構築しましょう。 支援されているAI支援およびエージェント型自動化を評価すること。 |
| 選定された投資を保全する | すべてのアーティファクトを作り直すのではなく、多くのBizTalkスキーマ、マップ、ルール、アセンブリ、カスタム.NETコンポーネントを再利用または適応してください。 |
| 柔軟なホスティング | Azureで標準ワークフローを実行するか、ローカル処理、ネットワークアクセス、データレジデンシー、または規制要件のためにハイブリッド展開を活用してください。 |
| ローコードおよびプロコード開発 | ビジュアルワークフローデザイナーをソース制御ワークフロー定義、インラインスクリプト、.NETローカル関数、カスタムコネクタ、外部サービスと組み合わせましょう。 |
| 最新の操作 | Azure のロールベースのアクセス制御 (Azure RBAC)、Infrastructure as Code (IaC)、および自動化されたパイプラインを使用します。 Azureホスト型ワークフローはAzure MonitorやApplication Insightsと統合されますが、ハイブリッド展開はOpenTelemetryを使用し、機能制限も異なります。 |
| コスト管理 | 関連するワークフロー間で容量を共有し、ワークロード需要に合ったホスティングモデルを選択し、組み込みの操作やローカル機能をできるだけ活用しましょう。 |
コスト効率の良いターゲットアーキテクチャを構築する
コスト効率は作業量、必要な隔離、既存インフラ、コネクタの使用状況、運用上の責任によって異なります。 Logic Appsのホスティング料金だけでなく、総所有コストを比較してください。 BizTalkのベースラインには、BizTalk Server、Windows Server、SQL Serverライセンス、計算およびストレージ、高可用性および災害復旧、パッチ適用、監視、展開ツール、専門的な運用サポートが含まれます。
目標コストモデルを作成する際には以下の実践を用いてください:
- 互換性のあるセキュリティ、ライフサイクル、スケーリング要件を持つ関連ワークフローを同一のStandardロジックアプリにまとめ、予約済みの計算資源やサポートリソースを共有できるようにします。 独立したスケーリング、分離、デプロイ、または所有が必要なワークロードは、それぞれ分けておきましょう。
- 要件に合う内蔵コネクタ操作を好むのが良いでしょう。 標準モデルは無制限の組み込み操作実行を含み、管理されたコネクタ操作は通話ごとに請求されます。
- 適切な場合はワークフロースコープの.NETコードをローカル関数に残してください。 ローカル関数はLogic Apps Standardのアプリケーション境界を使用し、別途関数アプリ、エンドポイント、認証フロー、デプロイメントパイプライン、監視境界を必要としません。 標準プランでもコードは容量を消費しています。
- Workflow Service Plan の容量を適正化し、移行ウェーブが本番環境へ移行するに従って利用状況を確認します。 ワークフローが休止中でも、プランは予約容量に対して請求されます。
- 隔離、専用ネットワーク、コンプライアンス、統合の要件がアイソレーテッドv2 App Service Planを正当化する場合は、App Service Environment v3を使用してください。 ASE v3が小規模な作業負荷にとって最も低コストな選択肢だとは思わないでください。
- ローカル実行、データレジデンシー、または既存インフラが十分な価値を提供する場合にハイブリッドを活用しましょう。 計算にはAzure Arc対応のKubernetes環境、SQL Serverライセンス、SMBストレージ、ネットワーク、運用、Logic Apps vCPUの使用状況を含めてください。
- ストレージ運用、統合アカウント、ネットワーク、監視、そして移行中のBizTalkとLogic Appsを並行して実行する一時的なコストを考慮します。
価格の詳細については、Azure Logic Appsの価格設定および請求モデルおよびAzure Logic Appsの価格ページをご覧ください。
ホスティング オプションを選択する
Azure Logic AppsはConsumptionリソースタイプとStandardリソースタイプを別々に持っています。 BizTalkの移行には、Azure Logic Apps Standardの機能を使い、要件に応じてAzureホストかハイブリッドホスティングのどちらかを選択してください。
Important
現在Azure Logic Apps Consumptionを使用していて、BizTalk Serverのワークロードを移行する予定がある場合は、Azure Logic Apps Standardへの移行が必要です。 BizTalkの移行機能はConsumer ワークフローにはサポートされていません。
| ホスティング オプション | 最適 | コストと所有権 | 主な考慮事項 |
|---|---|---|---|
| ワークフロー サービス プラン | 専用の標準容量と管理されたAzure機能が必要なAzureホストのBizTalk移行のデフォルト選択肢です。 | Microsoft管理環境において、WS1、WS2、またはWS3の容量を予約しています。 | ロジックアプリごとに複数のワークフロー、仮想ネットワーク統合、プライベートエンドポイント、Azure監視機能へのアクセスをサポートします。 |
| App Service Environment v3 | Azure での分離されたホスティング、専用ネットワーク、コンプライアンス境界、または他の App Service ワークロードとの集約を必要とするワークロード。 | 専用環境内の分離型 v2 App Service Plan インスタンス。 | 既存または新規のASE v3が必要であり、分離、規模、または統合の要件によって正当化されるべきです。 |
| ハイブリッド | ローカル処理、低遅延アクセス、データレジデンシー、エッジ配置、または顧客管理インフラを必要とするワークロード。 | Logic Apps の vCPU 使用量、および顧客が管理する Kubernetes、SQL Server、SMB ストレージ、ネットワーク、運用。 | Azure Arc対応のKubernetesとAzure Container Apps拡張を使用し、アウトバウンドのAzure接続が必要です。 一部のクラウド機能はサポートされていません。 |
ハイブリッド展開の考慮事項
ハイブリッド展開は部分的に接続されており、エアギャップされていません。 この環境はAzure ArcおよびAzure管理運用のためにアウトバウンド接続を必要とします。 クラウドホストのマネージドコネクタもAzureへの接続が必要です。 一時的な接続中断は必ずしもローカルのワークフロー処理を停止させるわけではありませんが、管理、テレメトリ、クラウド依存の運用に影響を与える可能性があります。
必要なインフラストラクチャ、対応設定、価格設定、現在の制限については、「 ハイブリッド展開を使った標準ロジックアプリの自前のインフラを設定する」をご覧ください。
BizTalkの機能をロジックアプリにマッピング
BizTalk ServerとAzure Logic Appsは異なるアーキテクチャを使用しています。 Migration Agentを使って各BizTalkアプリケーションをインベントリ化し、そのアーティファクトや統合パターンをLogic Appsの機能にマッピングし、再利用、リファクタリング、置き換え、再設計が必要なコンポーネントを特定しましょう。
| BizTalkの機能 | Logic Apps の最新化パス | 典型的な評価 | 関連するガイダンス |
|---|---|---|---|
| オーケストレーション | ステートフルまたはステートレスの標準ワークフロー | ビジネスプロセスのロジックをワークフローにリファクタリングします。 | 標準ワークフローを作成する |
| パイプラインとヘルパーコード | ワークフローアクション、.NETローカル関数、インラインコード、カスタムコネクタ、または外部サービス | 必要なライフサイクルやスケール境界に応じて再利用またはリファクタリングを行ってください。 | .NETローカル関数を作成・実行 |
| メッセージボックスルーティング | Azure Service Bus トピックとサブスクリプション、RabbitMQ 交換、Apache Kafka トピック、またはワークフロールーティング | ワークフローの実行時間とは独立してメッセージングを再設計しましょう。 | Service Bus キュー、トピック、サブスクリプション |
| スキーマとマップ | Projectアーティファクト、XSLTマップ、Liquidテンプレート、データマッパー | 互換性のあるアーティファクトを再利用し、変換を検証します。 | スキーマ と 地図 |
| ビジネス ルール | Azure Logic Apps ルール エンジン | サポートされているBizTalkビジネスルールエンジンのポリシーを再利用するか、サポートされていない事実をリファクタリングします。 | Azure Logic Apps Rules Engine overview |
| EDIとB2B | 標準ワークフロー、コネクター、統合アカウント | パートナー、契約、証明書、スキーマ、プロトコル要件を評価してください。 | B2Bエンタープライズ統合ワークフロー |
| アダプター | 組み込み、マネージド、またはカスタムのコネクタとAPI | コネクタの利用可能性、認証、スループット、ホスティングサポートを確認しましょう。 | コネクタの概要 |
| BAM | サポートされたAzureホストソリューションや外部オブザーバビリティ設計のためのAzure ビジネス プロセス追跡 | Azure ビジネス プロセス追跡がサポートされていないハイブリッド展開のためのリデザイン。 | Azure ビジネス プロセス追跡 overview |
| 追跡と監視 | 実行履歴、追跡対象プロパティ、Azure Monitor、Application Insights、OpenTelemetry | 運用モデルとサポートモデルを再構築しましょう。 | ロジックアプリやワークフローを監視する |
以下の図は、一般的なBizTalk Serverの機能とAzureホストのモダナイゼーション経路の別の視点を示しています:
詳細な機能の利用可能性については、Azure Logic Appsコネクター、エンタープライズ統合の概要、Azure Logic Appsの制限と設定を参照してください。
主な移住の考慮点
アーキテクチャと信頼性
- まずはAzure Logic Apps Standardをターゲットアプリケーションとして始めましょう。 適切な場合はネイティブワークフロー機能、組み込みコネクタ、ローカル機能を使い、特定のアーキテクチャ要件が正当化される場合にのみ他のAzure統合サービスを追加してください。
- 公開・購読パターンでは、ワークフロー内でBizTalkメッセージボックスを再現するのではなく、Azure Service Bus、RabbitMQ、Apache Kafkaなどのメッセージブローカーを使用してください。
- 再試行と少なくとも一度の処理を設計する。 冪等性、重複除去、セーフ書き込みを用いて、操作の再試行や実行の再提出時に重複効果を防ぎます。
- メッセージとコネクタの制限を確認してください。 大規模なペイロードの場合は、サポートされている場合はコネクタチャンクを使用するか、 クレームチェックパターンを実装してください。
- オンプレミスネットワークをAzureに接続するには、VPN Gateway、ExpressRoute、またはその他のハイブリッド接続設計を使用してください。 仮想ネットワークピアリングはAzureの仮想ネットワークを接続しますが、オンプレミスのネットワークをAzureに単独で接続するわけではありません。
カスタム コード
BizTalkソリューションにカスタムコードがあるからといって、ターゲットアーキテクチャに別途Azure Functionsリソースが必要になるわけではありません。 統合ワークフローに属するコードには.NETローカル関数を使いましょう。 ローカル機能はワークフローと同じプロジェクト内にあり、Logic Apps Standardのアプリケーション境界内で動作します。 ワークフロー、コネクター、設定、コードは一体化、展開、拡張、運用可能です。
ローカル関数はワークフロースコープに基づくメッセージ検証、強化、計算、カスタム解析、フォーマット作成、ビジネス固有の処理に適しています。 また、特定の統合アプリケーションに属するコードであれば、BizTalkのヘルパーアセンブリ、オーケストレーションユーティリティ、パイプラインに隣接するロジックの近代化も支援できます。 このアプローチは、ワークフロー固有のコードを実行するために、別途エンドポイント、認証フロー、ホスティングリソース、デプロイメントパイプライン、監視境界を導入するのを避けられます。
適切なコードホスティングモデルを選択するには、以下のガイダンスに従ってください:
| 局所関数を用いるとき | 次の場合は、別の Azure Functions リソースを使用します |
|---|---|
| このコードは、あるLogic Apps Standardアプリケーションに特化しています。 | コードは複数のアプリケーション、ワークフロー、またはチームで共有されます。 |
| このコードはワークフロー内でデータを検証、強化、解析、フォーマット、または計算します。 | このコードは、独立して管理されるAPI、サービス、またはイベント駆動型の計算能力を提供します。 |
| ワークフローとコードは、展開し、スケールし、同時に運用すべきです。 | このコードは独立したスケーリング、バージョン管理、デプロイ、または運用所有権を必要とします。 |
| コードは別のネットワークエンドポイントや認証境界を必要としません。 | コードは自身のエンドポイントやアイデンティティ境界を公開し、保護しなければなりません。 |
| BizTalkヘルパーまたはパイプラインに隣接するロジックは、移行された統合フローに属します。 | コードが主要な計算ワークロードであり、Logic Appsのワークフローは一つのコンシューマーに過ぎません。 |
ローカル関数は標準論理アプリに割り当てられた計算容量を消費し、すべての独立した機能やサービスの代替ではありません。 コストと運用上の優位性は、コードがワークフローの一部である場合に不要なリソースの境界を回避することにあります。 標準ワークフローは、短時間のコードのためにインラインJavaScript、C#、PowerShellをサポートし、カスタムコネクタや外部APIへの呼び出しも可能です。 アーキテクチャの指針については、「 Coding with Logic Apps Standard: Local Functions」を参照してください。
セキュリティと ID
Microsoft Entra ID、Azure RBAC、Azure Key Vault、プライベートネットワーキング、安全な入出力を使ってワークフローとデータを保護しましょう。 OAuth接続はトークンベースの認可を使用し、インタラクティブなサインインと同意が必要な場合があります。 OAuthをワークフローにユーザーのメールアドレスやパスワードを保存しているものとして扱わないでください。
Azureホスト型標準ワークフローでサポートされているコネクタでは、マネージドIDによって認証情報やアクセストークンの保存が不要になります。 ローカル開発中、Azure Logic Apps Standard拡張機能はサインインした開発者IDをAzure Identityの認証チェーンを通じて使用でき、展開されたワークフローはシステム割り当てまたはユーザー割り当てのマネージデンティティIDを使用します。 両方のアイデンティティはターゲットリソースに対して適切な権限を必要とします。 このVisual Studio Code機能は、コネクタ操作における管理ID認証の現在のハイブリッド制限を変えません。 詳細については、 Logic Apps Standard拡張機能の「Use connectors with managed identity(管理型識別元)」をご覧ください。
デプロイと運用
ワークフローの定義、設定、アーティファクトをソース管理に保存し、自動化されたビルドおよびデプロイパイプラインを使用します。 BicepはAzure Resource Managerテンプレートにコンパイルします。 TerraformとPulumiは、それぞれのプロバイダーを通じてAzureリソースを管理する代替インフラストラクチャ・アズ・コードツールです。
最初の本番移行の波に備えて、モニタリング、アクセス制御、環境設定、災害復旧、所有権のサポートを計画しましょう。 敏感なアクションの入力と出力を保護し、ラン履歴やテレメトリに表示されないようにしましょう。
次のステップ
インベントリ依存関係の反復的移行アプローチを用い、ワークロードの優先順位付け、ターゲット設計の検証、管理可能な段階でのリリース。 Azure Logic Apps Migration Agentは、アーキテクチャや実装の決定権を保持しながら、発見、分析、計画、変換、検証、展開を支援します。