ブログ

今年のAPI税の支払いを回避する方法

ロリ・マクヴィッティ サムネイル
ロリ・マクヴィッティ
2016 年 4 月 4 日公開

アメリカでは納税の時期ですが、それが何を意味するかご存知ですか? はい、私たちは皆、その負担を軽減する方法を模索しています。

残念ながら、私はかつて税務ソフトウェア会社で開発者として働いていましたが、その点についてアドバイスできる資格はありません。 しかし、今年(または来年)API 税の支払いを回避する方法に関するアドバイスを探しているのであれば、インターネット上で適切なページを見つけたことになります。

API 税は、デプロイメント プロセスの一環として API を使用してインフラストラクチャのプロビジョニングと構成を自動化するときに支払うオーバーヘッドです。 API 税は (他のすべての税金と同様に) 実際には運用面と技術面の 2 つの要素から構成されるため、計算が簡単ではありません。

運用上、API 税は過剰な API 呼び出しによって消費されるリソースと時間という点でコストを発生させます。  負荷分散サービスのように概念的に単純なものであっても、複数のオブジェクトの作成、構成、有効化が必要になります。 監視、プール、アルゴリズム、IP アドレス、ネットワーク属性はすべて構成する必要があり、これらの各オブジェクトを構成するには複数の手順 (API 呼び出し) が必要です。 これらすべてを合計すると、単純な負荷分散サービスでも、開始するには複数の API 呼び出しが必要になります。 実行に時間のかかる呼び出し。 ネットワーク リソースを消費する通話。

これらの API 呼び出しは、一般的なデプロイメント タスクを自動化するためにスクリプト (Python、PowerShell などを使用) を作成するアーキテクトやエンジニアによって使用されます。 これにより、避けられない技術的負債が発生します。 タスクを変更するには、コードを変更して (スクリプトはコードであるため、それを認めるかどうかは関係ありません)、テストする必要があります。これには時間とリソースがかかり、最終的な損益に実際に影響を及ぼします。 

システムとスクリプトの開発、テスト、保守にかかるコストは、その API の使用にかかる技術的負担です。つまり、スクリプトには技術的負債という形で長期的なコストが発生します。これは、それらの API を介して自動化するために必要なコードの保守に関連するコストと、自動化だけでなくインフラストラクチャの変更にかかるコストに関係します。

これらすべてを合わせると、かなりの額の請求となり、「実際の」税金と同様に、実質的には避けられないものとなる。 より流動的で自動化されたデプロイメント プロセスのメリットを享受したい場合は、インフラストラクチャを含める必要があります。つまり、ユーザーとアプリの間に存在し、両者がシームレスかつ安全に通信できるようにするすべての要素を含める必要があります。

さて、ここまでの話で、これらの税金の支払いを回避する方法を説明すると約束したので、始めましょう。

オーケストレーションの分野 (VMware、Cisco、OpenStack などの SDx プレーヤーを含む) に注目していれば、テンプレートの使用がますます重視されていることに気付くでしょう。  テンプレートは、何らかの「もの」を作成および構成するために必要な大量の情報をコード化する点で、構成ファイルによく似ています。 たとえば、その負荷分散サービスのデプロイメントを網羅する単一のテンプレートを作成できる場合、必要な API 呼び出しを、そのサービスが存在する場所にテンプレートをプッシュするための 1 つだけに削減できることになります。

多数の API 呼び出しではなく 1 つの API 呼び出しのみを使用すると、自動化が簡素化され、テンプレートをプッシュするスクリプトまたはシステムを再利用できます。 これは重要です。API を使用する場合、サービスに固有のスクリプトだけでなく、展開されるアプリケーションに固有のスクリプトも記述する必要があるためです。 つまり、デプロイするアプリごとに、負荷分散などの必要なサービスのデプロイを自動化するための別のスクリプトを記述する必要があります。 

ただし、代わりにテンプレートを使用する場合は、同じスクリプトを使用して、別のテンプレートをプッシュするだけです。 つまり、すべてのアプリで新しいスクリプトを待つ時間が短縮され、ボブが 15 回目のコピー アンド ペーストで 33 行目を変更するのを忘れた場合など、追跡するミスも少なくなります。

テンプレートはコードとしてのインフラストラクチャであり、DevOps の聖杯です。 

API は依然として必要ですが、すべてに API を使用する必要はありません。 そして、テンプレートを使用することでそれを回避できれば、それに関連する税金の支払いを回避し、その節約分をどこか他の場所に移すことができます。