Red Hat Ansible Automation Platform を使用して CI/CD パイプラインを最適化する
デジタルの世界はアプリケーションで動いている
先進的なビジネスにはアプリケーションが必須です。実際、62% の組織はビジネスにとってアプリケーションは必要不可欠であると考えており、さらに 36% はアプリケーションが競争上の優位をもたらすと述べています。2 デジタル世界で成功するためには、迅速で信頼性の高いアプリケーション開発が不可欠です。継続的インテグレーション/継続的デプロイメント (CI/CD) アプローチを導入すると、高品質なアプリケーションの迅速な構築、テスト、提供が可能になります。
CI/CD は、統合およびテスト段階から提供、導入に至るまで、アプリケーションのライフサイクル全体にわたって自動化を適用し、テスト済みおよび検証済みのアプリケーションを迅速に作成します。このアプローチには、関連し合いながらも異なる 2 つの機能が組み込まれます。
- 継続的インテグレーション (CI) は、開発者が機能を迅速に検証し、共有ブランチに各自のコード変更をより頻繁にマージできるようにします。マージされたコード変更については、アプリケーションの自動構築と各種レベルの自動テスト (通常は単体テストと統合テスト) による検証を通して、適切に機能するかどうかが確認されます。 テストの結果、新規コードと既存コードに競合が見つかったとしても、CI ではこのようなバグを容易かつ迅速に修正できます。
- 継続的デプロイメント (CD) は、アプリケーションを本番環境にリリースするプロセスを自動化します。開発パイプラインにおいて、本番環境への移行直前の段階では手動ゲートがほとんどないため、CD は入念に設計されたテスト自動化をフル活用します。そのため、開発者がクラウドアプリケーションに加える変更は、すべての自動テストに合格すると、その作成から数分以内に本番環境に反映されます。CD により、ユーザーからのフィードバックを継続的に受け取り、反映することが簡単になります。
CI と CD を組み合わせることにより、アプリケーションへの変更を小分けにしてリリースできるため、アプリケーションのデプロイメントの信頼性が向上します。CI/CD は、アプリケーション、プラットフォーム、インフラストラクチャ、ネットワーク、自動化コードなど、組織内のさまざまなコンポーネントや資産に適用することができます。
自動化は CI/CD パイプラインの中心的存在
構造上、CI/CD パイプラインには自動化が不可欠です。開発ワークフローの各ステップを手動で実行することも可能ですが、自動化することで CI/CD パイプラインの価値を最大化できます。自動化は開発、テストおよび本番環境と各種プロセス間の一貫性を確保し、より信頼性の高いパイプラインの構築を可能にします。とはいえ、パイプラインの効果は選択する自動化テクノロジーによって左右されます。理想的な自動化テクノロジーには、以下のような特長や機能があります。
- 統合された自動化プラットフォームは、一貫性を促進し、開発、テストおよび本番環境における自動化プロセスとコンテンツを標準化します。
- 操作が簡単でわかりやすいため、より多くのメンバーが参加し、貢献することができます。
- 全体的にシンプルになり、組織全体での自動化の導入が促進されます。
- 他のツールや製品との統合により、より広範なタスクやコンポーネントをより簡単に自動化することができます。
- プラットフォームのスケーラビリティにより、導入の進行に合わせてパイプラインの容量を簡単に拡張できます。
5 人中 3 人 企業の最重要課題として自動化を挙げている、インフラ自動化戦略の意思決定者の数。1
52% アプリケーションの開発とデプロイメントにオープンソース・インフラストラクチャ自動化ソフトウェアを使用していると報告した組織の割合。1
43% DevOps にオープンソース・インフラストラクチャ自動化ソフトウェアを使用していると報告した組織の割合。1
Red Hat Ansible Automation Platform は、組織全体で自動化を構築し、運用するためのエンタープライズグレードのオープンソース基盤です。
Red Hat Ansible Automation Platform で CI/CD パイプラインを自動化
Red Hat® Ansible® Automation Platform は、組織全体で自動化を構築し、運用するための基盤です。このプラットフォームには、CI/CD パイプラインを含む、エンタープライズ全体で自動化を実装するために必要なすべてのツールが含まれています。シンプルで読みやすい自動化言語と、信頼できる構成可能な実行環境、セキュリティを重視した共有およびコラボレーション機能を提供します。プログラミングのスキルは必要ないため、組織内のあらゆる役割の人々が Red Hat Ansible Automation Platform を簡単に使用することができます。
オープンな基盤により、サーバー、ネットワーク、ストレージ、オペレーティングシステムから、アプリケーション、セキュリティプロセス、管理ツールまで、IT 環境のほぼすべてのものを、自動化された完全なワークフローに接続することができます。共通言語と望ましい状態をベースとするアプローチを使用することで、日常のオペレーションだけでなく、CI/CD パイプラインにも同じ自動化ツールとコンテンツを使用できます。また、Red Hat Ansible Automation Platform は IT インフラストラクチャのほぼすべての側面と連携できるため、一貫した開発環境、テスト環境、本番環境をより簡単かつ迅速に展開でき、アプリケーションの信頼性と回復力を高めることができます。
Red Hat Ansible Automation Platform のサブスクリプションには、付加価値として認定済みの Content Collections と Automation Hub へのアクセスが含まれています。Content Collections は自動化コンテンツの管理、配信、消費を効率化します。また、Red Hat と Red Hat 認定パートナーによるテスト済みおよび検証済みの、サポート付き自動化コードにもアクセスできます。Automation Hub は、Content Collections を含む、認定済みの自動化コンテンツの一元的なリポジトリを提供します。これにより、チームメンバーは Content Collections のより安全なポータルや、社内およびサードパーティの自動化コンテンツ用のプライベートネットワークを利用できます。
自動化を単純化
Red Hat Ansible Automation Platform は、望ましい状態を達成するエンジンを使用して IT インフラストラクチャを自動化します。
人間にも理解しやすい自動化言語を使ってターゲットとする望ましい状態を定義すれば、プラットフォームが残りを処理します。
自動化された CI/CD のユースケース
Red Hat Ansible Automation Platform は、CI/CD パイプラインや組織全体で使用することができます。
ユースケース 1:プロビジョニング
インフラストラクチャ・プロビジョニングは、アプリケーションの運用ライフサイクルを自動化するための最初のステップです。Red Hat Ansible Automation Platform は、一般的なクラウドプラットフォーム、仮想化ホストやハイパーバイザー、ネットワークデバイス、ベアメタルサーバーのプロビジョニングを行うことができます。ブートストラップ後はノードをストレージに接続したり、ロードバランサーに追加したり、セキュリティパッチを適用したり、その他さまざまな運用タスクを実行することができます。
プロビジョニングに関するヒント
Red Hat Ansible Automation Platform は、アプリケーションの残りのライフサイクルでも継続して使用できます。
ユースケース 2:構成管理
構成管理は、環境内の一貫性、効率性、およびセキュリティを維持するために不可欠です。Red Hat Ansible Automation Platform では、一連の望ましい状態の説明を定義してインフラストラクチャを管理することができます。システムがどのような状態にあっても、Red Hat Ansible Automation Platform はシステムを望ましい状態に変換する方法を認識しているため、IT インフラストラクチャを確実かつ反復的に構成することができます。
構成管理に関するヒント
Red Hat Ansible Automation Platform は、複雑な環境をよりシンプルに管理することを可能にします。一貫性、安全性、信頼性に優れ、管理者、開発者、IT 管理者が簡単に習得できるようになっています。
ユースケース 3:アプリケーションのデプロイ
アプリケーションは適切に設定され、デプロイされていなければ使用できません。Red Hat Ansible Automation Platform を使用すると、多層アプリケーションを、確実かつシンプルに、一貫してデプロイできます。1 つの共通システムを使って、必要なアプリケーションサービスを設定し、アプリケーションアーティファクトをプッシュすることもできます。
アプリケーションのデプロイに関するヒント
Ansible の人が理解しやすい言語と望ましい状態の説明を使用することで、チームに新たに加わったメンバーでもデプロイメントの自動化を理解し、貢献することができます。
ユースケース 4:継続的デプロイメント
アプリケーション・デプロイメントのサブセットである継続的デプロイメント・パイプラインを活用すれば、ソフトウェアの新機能やアップデートをより頻繁にリリースして、先進的なビジネスの要求に対応できます。Red Hat Ansible Automation Platform は、新機能、バグ修正、コード変更の迅速で信頼性の高いデプロイメントに必要な、多層で多段階のアプリケーション・オーケストレーションを提供し、リリースプロセス全体における人の介入の必要性を軽減します。
継続的デプロイメントに関するヒント
Red Hat Ansible Automation Platform では、特定のホストグループにタスクやロールを割り当てるプレイ (Play) の定義と順序付けを行うことができます。
ユースケース 5:セキュリティの自動化
組織を保護することは重要ですが、多くの場合、これは非常に困難なタスクになります。Red Hat Ansible Automation Platform は、セキュリティチーム、ツール、プロセス間の統合レイヤーとしての機能を果たし、セキュリティ運用の効率化、セキュリティの大規模な拡大、侵害に関するリスクとコストの削減を可能にします。サポート付きの、セキュリティに重点を置いたコンテンツコレクションを使用することで、さまざまなセキュリティ・ソリューションを自動化および統合し、調整および統一された方法で組織全体の脅威を調査し、これに対応することができます。
セキュリティの自動化に関するヒント
共通のフレームワークと言語により、セキュリティチームと IT チームは設計、プロセス、アイデアをチーム内および組織全体でより簡単に共有できるようになります。
ユースケース 6:オーケストレーション
複雑で異種環境を、手動で効果的に管理するのは容易ではありません。Red Hat Ansible Automation Platform を利用する場合、クラスタ化されたアプリケーション、地理的に分散したデータセンター、ネットワークデバイス、クラウドリソース、データベースなど、複雑な IT 環境のすべての側面をシンプルかつ確実に、繰り返しオーケストレーションすることができます。明確な構文とタスクベースのアプローチにより、自動化されたオーケストレーション機能を定義し、これを利用可能にし、再利用することができます。
オーケストレーションに関するヒント
Red Hat Ansible Automation Platform を利用する場合、Content Collections で他のドメイン固有のオーケストレーション・ツールをオーケストレーションすることもできます。
Red Hat は、信頼性が高くスケーラブルなテクノロジーを備えた、最高クラスのオープンソースを提供してくれました。
お客様成功事例:Orange Sonatel
セネガルの大手通信サービスプロバイダーである Orange Sonatel は、競争力を維持するためにサービス提供の迅速化を必要としていました。Red Hat OpenShift と Red Hat Ansible Automation Platform を用いて新たなプラットフォームの Malaw を構築した Orange Sonatel は、コアアプリケーションの移行と構築を迅速に行えるようになりました。同社は現在、アフリカ全土の顧客に対して数週間以内に新しいサービスを提供しています。
主なメリット:
- アプリケーションのデプロイ時間を数日または数週間から数分に短縮
- セルフサービスの IT 環境と自動化により、開発者の生産性を向上
- コンピューティング・リソースの要件を 66% 削減
お客様成功事例:Bilyoner
トルコでライブスポーツベッティングが合法化された際に、Bilyoner Interactive Services はこの新サービスをサポートするために、スケーラブルで可用性の高い、サポート付きの技術基盤を必要としていました。コミュニティのオープンソースから Red Hat OpenShift と Red Hat Ansible Automation Platform に移行することで、Bilyoner はコンテナとマイクロサービスの技術を利用して、新しいライブベッティング・プラットフォームを迅速に構築し、立ち上げることができました。
主なメリット:
- ベッティングサービスのアップタイムを 100% 近くまで向上
- 5 倍のトラフィックに対応するスケーリングが可能になる
- サポート付きのエンタープライズ・オープンソース・テクノロジーによりリスクを低減
- アジャイル手法と CI/CD アプローチにより、わずか 2 週間で新サービスの立ち上げに成功
ユースケース 7:GitOps
GitOps ワークフローは、Git を宣言的インフラストラクチャおよびアプリケーション・デプロイメントの一元的なリポジトリとして使用することで、開発の生産性とデプロイメントのスピードを向上させます。Red Hat Ansible Automation Platform は、GitOps に必要な望ましい状態を達成するエンジンを提供します。また、Kubernetes との統合により、コンテナ内のアプリケーションや、ネットワークやクラウドサービスなどの既存の IT インフラストラクチャ上のアプリケーションを管理することができます。Ansible Automation Webhook を活用すれば、ソース管理システムからのイベントの受け取りや、イベントによる自動化の自動トリガーが可能になります。これにより、リポジトリを監視したり、変更の発生時に自動化ジョブを起動したりするためのツールを追加する必要がなくなり、GitOps のワークフローが単純化され、運用が効率化されます。Red Hat Ansible Automation Platform は、さまざまな開発ツールやデプロイメントツールと連携できるため、使用するツールやプロセスに応じて GitOps のワークフローをカスタマイズすることができます。
GitOps に関するヒント
Red Hat Ansible Automation Platform では、既存のプラットフォームと新しいプラットフォームの両方でアプリケーションの自動化とオーケストレーションを実行できるため、現在のスキルやツールを使ってクラウドネイティブや Kubernetes ベースのテクノロジーに移行することができます。
当社の DevOps アプローチと合わせて Red Hatのテクノロジーを活用することにより、お客様に新しい銀行機能をより早く、より頻繁に提供できるようになりました
CI/CD パイプラインで将来の変化に備える
Red Hat Ansible Automation Platform を導入することで、AzureDevOps、GitHub Actions、UrbanCode、TeamCity、ServiceNow などの一般的に使用されている新しい CI/CD ツールを含め、今後のテクノロジーのトレンドや進歩に適応していくことができます。たとえば、多くの企業はより高い柔軟性、スピードおよびイノベーションを得るために、クラウドネイティブの Kubernetes 環境を採用しています。Red Hat Ansible Automation Platform は Red Hat Advanced Cluster Management for Kubernetes と統合する場合、CI/CD パイプライン内で Kubernetes クラスタのオーケストレーションを行うことができます。また、人が理解しやすい自動化言語を使用して、Red Hat OpenShift® Operator をより簡単に構築し、保守することができます。
さらに詳しく
Red Hat Ansible Automation Platform は、効果的な CI/CD パイプラインの構築と統合、および組織全体での自動化に必要なツールと機能を提供します。理解しやすい自動化言語、コンポーネント間の相互運用性、セキュリティを重視したコラボレーション・ツールにより、アプリケーションの開発と展開を迅速化できます。
詳しくは ansible.com/use-cases をご覧ください。
Red Hat からの委託により Forrester Consulting が実施した調査「エンタープライズ・オープンソース自動化によるイノベーションの推進」、2020 年 7 月。
F5 Networks、「2020 State of Application Services Report」、2020 年。