ワークフローとAPIの比較

F5エコシステム | 2018年4月16日

今日は、皆さんにお願いがあります。そう、そこの皆さんです。銀行で小切手を入金してきてください。車に乗って銀行まで行き、店内に入って窓口で手続きを済ませたら、自宅に戻ってきてください。

イライラしますよね。モバイルバンキングアプリを使えば、余計な手間をかけずに済むのですから、なおさらです。

これが、ワークフロー(プロセス)とAPIの違いです。

「API税」と呼べる、紛れもなく実在するものがあります(名前は私が付けましたが、現象自体は実在します)。これは、個々のAPI呼び出しを使って複雑なプロセスを実行することで生じる時間的コストと技術的負債です。モバイルアプリで入金する代わりに、実際に銀行まで出向くようなものです。

プロセスが拡大するにつれて、この負担も増大します。10~20種類のAPI呼び出しを必要とする長いプロセスでは、コード(スクリプトもコードです)が次第に複雑になり、トラブルシューティングに支障をきたすだけでなく、将来の変更も難しくなります。個別のAPI呼び出しによってプロセスを硬直化させることは、アジリティとは正反対です。これは、最適化によって効率を高める機会を閉ざす脆弱性にほかなりません。

ワークフローとは、基本的に、頻繁に実行するタスク向けに事前定義されたプロセスです。ビジネスプロセスの大半は、運用プロセスも含めてこのカテゴリーに該当します。たとえば、ログインし、システム内の適切な場所に移動して、ポートのアクセス制御を変更し、その変更を確定するまでに使用する一連のコマンドです。このタスクの手順は、実行するたびに変わりません。頻繁に実行されるため、容易にコード化できるプロセスです。運用にはこのようなプロセスが数多くあります。これらをワークフローとしてまとめることで、APIの負担を解消できるだけでなく、ワークフローを呼び出すスクリプトの品質と保守性も向上できます。

これは、APIの代わりにワークフローを使用することで、コードがシンプルになり、管理や変更が容易になるためです。俊敏性が高まり、壊れにくくなります。

ここでは、完全に架空の例を考えてみましょう。1つ目は、APIベースのアプローチです。このプロセスの各ステップが、それぞれ1回のAPI呼び出しに相当します。つまり、20近くの異なる呼び出しを行うスクリプトを開発、テストし、継続的に保守する必要があります。これが技術的負債です。このスクリプトは、作成時に連携していたシステムのAPIバージョンに依存します。いずれかの呼び出しが変更されれば、スクリプトも変更しなければなりません。

右側は、ワークフローに基づくアプローチです。引き続きAPI呼び出しでプロセスを開始できます(多くの組織では、この方法が望ましいと考えられます)が、実際の処理手順は、最初の呼び出しで送信されたパラメーター(変数)に基づいて実行されます。クリーンアップとコミットが必要になる場合もありますが、それでも必要なコードは2回以下のやり取りで済むまでに削減されています。

だからといって、APIやテンプレートの使用が悪いわけではありません。ただし、特にネットワークの分野では、APIを使用する際に、そのシステム固有の知識やネットワーク全般の知識が必要になることが少なくありません。そのため、DevOps担当者や開発者にとって、APIの利用が難しくなります。ワークフロー方式なら、こうした知識や専門性を前提とする必要がなくなるため、DevOps担当者は安心して利用でき、NetOps担当者の仕事も確保されます。

自動化が定着しつつある(さらには主流になりつつある)環境では、ワークフローベースのアプローチにより、DevOpsは豊富なドメイン固有の知識がなくてもタスクを実行できるようになるため、NetOpsの負担を大幅に軽減できます。

さらに、厄介なAPI税も回避できます。税金を払わずに済むなら、それに越したことはありません。

共有
タグ: 2018

著者について

Lori Mac Vittie
Lori Mac Vittie特別技術者兼チーフエバンジェリスト | F5

Lori MacVittieは、F5のOffice of the CTOに所属するDistinguished Engineer兼Chief Evangelistであり、アプリケーションデリバリ、自動化戦略、インフラストラクチャに関する深い専門知識を有しています。AIエージェントのガードレール策定、脆弱なマルチクラウドアーキテクチャの分析、スケーラブルなシステムの限界の検証など、複雑な事柄を明快にすることで知られています。アプリケーション開発、ITアーキテクチャ、ネットワークおよびシステム運用の分野で、30年以上にわたる業界経験を有しています。F5入社前は、受賞歴のあるテクノロジー編集者として活躍していました。 MacVittieはコンピューターサイエンスの修士号を取得しており、セキュリティ、クラウド、エンタープライズアーキテクチャにわたる分野で多数の著作を発表しています。また、テーブルトークゲームとビデオゲームをこよなく愛し、チーズについては遠慮なく強いこだわりを語ります。

Lori Mac Vittieのその他のブログ記事

関連するブログ記事

F5 Application Study Tool:OpenTelemetryによるF5 BIG-IP環境の監視
F5エコシステム | 2025/04/15

F5 Application Study Tool:OpenTelemetryによるF5 BIG-IP環境の監視

F5の新しいオープンソースツールは、BIG-IP環境を詳細に可視化し、データを追跡するとともに、強力でカスタマイズ可能なインサイトを得るための基盤を提供します。

F5 BIG-IPでAI防御を実現
F5エコシステム | 2024/11/13

F5 BIG-IPでAI防御を実現

F5 BIG-IP Advanced WAF、BIG-IP APM、BIG-IP SSL Orchestratorが、生成AIアプリ向けに包括的なセキュリティソリューションを提供する仕組みをご覧ください。

F5 Advanced WAFによるGraphQL APIの保護
F5エコシステム | 2021/08/31

F5 Advanced WAFによるGraphQL APIの保護

ここ数年、多くの組織がデジタルトランスフォーメーションを進めており、COVID-19のパンデミックによってその動きは加速しています。

アプリケーションサービスの現状 通信業界版:リーダーとしての台頭
F5エコシステム | 2019/02/19

アプリケーションサービスの現状 通信業界版:リーダーとしての台頭

通信ネットワークが進化し、さまざまな業界の幅広いユースケースに対応するなか、通信業界の回答者がテクノロジーリーダーとしての存在感を高めていることがわかります。

デジタルトランスフォーメーションは、単なるペーパーレス化ではない
F5エコシステム | 2017/07/10

デジタルトランスフォーメーションは、単なるペーパーレス化ではない

デジタルトランスフォーメーションは、単なるペーパーレス化ではありません。真のモダナイゼーションにアプリケーションアーキテクチャとセキュリティの再構築が必要な理由を、F5ブログでご覧ください。

やめましょう。もう本当にやめましょう。HTTPSはHTTPより高速ではありません。
F5エコシステム | 2016/09/19

やめましょう。もう本当にやめましょう。HTTPSはHTTPより高速ではありません。

もうやめましょう。HTTPSはHTTPより高速ではありません。プロトコルのパフォーマンスに関する微妙な違いと、暗号化トラフィックを適切に最適化する方法については、F5ブログをご覧ください。