課題

課題

現代のソフトウェア開発においては、継続的インテグレーションと継続的デリバリー(CI/CD)を実践することで、新しいソフトウェアや新機能をさらに早く市場に投入できるようになります。このようなデリバリー方法のイノベーションは、高度に仮想化され、自動化に対応したクラウド プラットフォームやコンテナ プラットフォームの進化とともに、一般的な企業におけるアプリケーションの数と機能の急速な増加に貢献してきました。

しかし、アプリケーションがどのように、あるいはどこにデプロイされていても、トラフィック管理、コンテンツ ルーティング、ボット対策、APIセキュリティなどのアプリケーション サービスからのサポートが必要です。円滑に機能しているほとんどのCI/CDパイプラインでは、人の介入を最小限に抑えてアプリケーション コードの統合とデプロイを処理します。それでも多数の組織では、手動でネットワークとセキュリティ ポリシーを構成することが依然として多く、時間のかかるチケット駆動型プロセスでアプリケーション サービスとポリシーを管理しています。

これでは、企業のセキュリティ ポリシー、ネットワーク運用、およびその他の制限を無視して、コードの迅速なリリースを優先する事態を引き起こしかねません。では、リリース サイクルを遅らせることなく、基幹アプリケーションが必要とするサービスを確実に受けられるようにするにはどうすればよいのでしょうか?

関連資料
その詳細についてソリューション ガイドをダウンロードしてください
ガイドを見る
ソリューション

ソリューション

実行可能な唯一のソリューションは、アプリケーション サービスの構成とデプロイを、残りのソフトウェア スタックのデプロイに使用されているものと同じツールチェーンに挿入することです。コードとアーティファクトを統合して、アプリケーションを構築、テスト、デプロイするワークフローにアプリケーション サービスを挿入することには、2つの大きな利点があります。

  • 製品版アプリケーション サービスが導入されている状態でアプリケーション コードをテストできます。セキュリティ ポリシーと新しいソフトウェア機能の間に相互運用性の問題があれば、テスト プロセス中に検出され、ソフトウェアのビルドを中止することができます。
  • 手動で追加する追加コンポーネントとは異なり、本番環境にデプロイされたアプリケーションは、必要な時に必要なセキュリティとアプリケーション デリバリー サービスを利用できます。
仕組み

仕組み

一般的なデプロイメント ワークフローには、多くのサービスが含まれています。

ソース コード マネージャ(SCM)>

ソース コード マネージャ(SCM)

ここには、アプリケーション コード、インフラストラクチャ コード、およびアプリケーションの構築とデプロイに必要なその他のテキストベースのアーティファクトが保管されています。通常、SCMは「信頼できるソース」です。なぜなら、理想的には、実行されるアプリケーションやインフラストラクチャへの変更は、ソースを変更してワークフローを実行することによってのみ行うことができるからです。

オーケストレーター>

オーケストレーター

オーケストレーション ツールは、ソフトウェアのビルド、テスト、および統合パイプラインに加え、テスト インフラストラクチャと構成を作るためのジョブを作成します。アプリケーション サービスはオーケストレーターによって作成される必要があり、アプリケーション サービス プラットフォームに直接統合されることもあれば、二次的な自動化ツールを介して作成されることもあります。

自動化ツール>

自動化ツール

サーバー インスタンス、ネットワーク コンポーネント、アプリケーション サービスなどのインフラストラクチャ コンポーネントをオーケストレーターで作成または変更する必要がある場合、何らかの自動化ツールが使用されることがよくあります。これは、Ansibleのようなローカルにインストールされ管理されるサービスの場合もあれば、Amazon Web Services CloudFormationのようなクラウド サービスの場合もあります。

エレメント マネージャ>

エレメント マネージャ

実際にサービスを提供するインフラストラクチャへの自動化インターフェイスとなります。エレメント マネージャはすべてのアーキテクチャに存在するわけではありませんが、ライセンシング、テレメトリ、レポーティング、プラットフォーム ソフトウェア バージョンの管理に加え、サービス作成の認証と認可の追加レイヤーとして機能します。

サービス プラットフォーム>

サービス プラットフォーム

一般的に、サービス プラットフォームは、コンテナのようなサービスを提供するコンポーネントまたはアプリケーション プロキシで構成されています。アプリケーション コードやインフラストラクチャ コード、コンピューティング インスタンス上で実行中のサービス、ロード バランシング プロセス、またはアプリケーション レイヤーのファイアウォール構成にとっての「最終目的地」です。

コンポーネント

コンポーネント

アプリケーション サービスのデプロイメントをCI/CDワークフローに統合するため、いくつかのF5コンポーネントを活用できます。

BIG-IPプラットフォーム>

BIG-IPは、業界をリードするアプリケーション デリバリーおよびセキュリティ サービス プラットフォームです。BIG-IPプラットフォームは、1秒あたり数メガビットから1テラビット超のスループットまでの拡張性、多岐にわたる機能、幅広いコンピューティング環境での可用性(電気通信事業者のPOP向けの堅牢なハードウェアからパブリック クラウドの仮想バージョンまで)を備えており、アプリケーションが必要とするサービスを、必要とするあらゆる場所に配信できます。

BIG-IPプラットフォームの詳細はこちら>

F5 Automation Toolchain>

F5 Automation Toolchain製品ファミリは、基本的な自動化およびオーケストレーションの構成要素から成り、F5 BIG-IPプラットフォームをCI/CDツールチェーンなどの一般的な自動化パターンに統合することができます。

F5 Automation Toolchainには、以下の主要なコンポーネントが含まれています。

  • Declarative Onboarding Extension(DO):ネットワーキング、DNS、高可用性などのBIG-IPプラットフォーム設定を構成します。
  • Application Services 3 Extension(AS3):ロード バランシング、コンテンツ ルーティング、ボット検出などのアプリケーション サービスを構成します。
  • Telemetry Streaming Extension(TS)-Kafka、Splunk、Graphiteなどの分析システムへの自動アプリケーション トラフィック テレメトリ ストリーミングを構成します。

これらのツールは、F5 BIG-IPアプリケーション サービス プラットフォームを構成するための宣言型インターフェイス、アプリケーションが必要とするセキュリティ、最適化、およびスケーリング サービスを提供します。また、自動化ツールやオーケストレーション ツールと統合することもできます。

F5 Automation Toolchainの詳細はこちら›

コードとしてのネットワーク インフラストラクチャ>

コードとしてのネットワーク インフラストラクチャ

技術系ビデオブロガーのNathan Pearce氏によると、Infrastructure as Codeの実装のほとんどは、「サーバー」インフラストラクチャが中心となっています。この動画では、F5のBIG-IPアプリケーション サービス アプライアンスの管理にInfrastructure as Codeを導入する方法を紹介しています。

まとめ

まとめ

継続的インテグレーション、継続的デリバリー、および継続的デプロイメントを実践することで、さらに安全で迅速かつ効率的なソフトウェア開発が約束されます。この約束を実現するために、開発とデプロイのワークフローにアプリケーション デリバリーとセキュリティ サービスを統合することが重要です。

F5は、業界をリードするアプリケーション保護および最適化サービスをワークフローに組み込むためのプラットフォーム、統合、トレーニングをご用意しています。これにより、ソフトウェアの安全性、速度、可用性を高めるために必要なサービスでソフトウェアをビルドし、テストし、デプロイできます。

その詳細についてソリューション ガイドをダウンロードしてください>

リソース

F5 Automation Toolchainの詳細については、こちらをご覧ください。

BIG-IPプラットフォームのプログラムできる機能の使用方法については、こちらをご覧ください。

F5アプリケーション サービスを自動化するための実践ガイドをお読みください。