ホームページ > 記事 > テクノロジー周辺機器 > インテリジェント オートメーションが継続的インテグレーション (CI)/継続的デリバリー (CD) をどのように変革するか
翻訳者|Li Rui
レビュアー|Sun Shujuan
一部の思想的リーダーは、「すべての企業はソフトウェア会社である」とよく言います。この 10 年間、多くの大企業および中堅企業がデジタル変革イニシアチブを導入してきましたが、これはこれらの企業がビジネス価値を提供するためのソフトウェアを開発および展開する方法に大きな影響を与えてきました。
これまで、アプリケーションはモノリシックであることが多く、オンプレミスのベアメタルまたは仮想マシンにデプロイされ、更新は少なく、頻度が高く、頻度も低かったです。現在、新しいアプリケーション モデルはマイクロサービス、コンテナ化、継続的デリバリーを活用しており、その結果、Kubernetes、仮想マシン、マルチクラウド環境で多数の更新バージョンが作成されています。この進化により、「as-a-service」から完全なオムニチャネル顧客エンゲージメント、リアルタイム IoT データによって駆動されるビジネス プロセスに至るまで、新しいタイプのビジネス プロセスとビジネス モデルが誕生しました。
これらの新しいソフトウェア配信戦略をクラウドネイティブ環境で正常に実装するには、ソフトウェア開発という別のシフトが必要です。企業は、ソフトウェアのセキュリティを犠牲にしたり、規制やビジネスのコンプライアンスのニーズを無視したりすることなく、より多くのソフトウェア リリースを速度、頻度、正確に提供する必要があります。この進化により、さらに複雑さが増しました。
そして、開発、運用、Devop、セキュリティ、コンプライアンスの各チームは、地理的に広範囲に分散している可能性があり、より迅速に、より正確に、より高度な連携をとって作業する必要があります。同様に、ソフトウェア配信チームのメンバーの生産性を向上させながらエラーや遅延を回避するには、複雑な分散ワークフローを高度に調整する必要があります。この進化は、多様な継続的インテグレーション (CI)/継続的デリバリー (CD) ツール チェーン、セキュリティ上の懸念の増大、プライバシー規制の進化、資格のある技術者の不足によってさらに複雑になっています。
これらすべての課題に直面して、企業はどのようにしてソフトウェア配信チームの生産性を向上させ、リリースのビジネス価値を最大化できるでしょうか?まず、企業はツールやプロセスを時間をかけて開発できる内部システムを導入する必要があります。 2 番目に、Devops、セキュリティ、コンプライアンスの管理を一元管理しながら、プロセスとツールに関して開発チームに最大限の柔軟性を与える必要があります。第三に、ソフトウェア配信パイプラインをインテリジェントに自動化する必要があります。
継続的デリバリーとは、ソフトウェアの変更を反復可能かつ持続可能な方法で本番環境に迅速かつ安全に導入することを指します。この規律は新しいものではありませんが、Devops 管理の改善、開発効率の向上、ガバナンスとセキュリティの確保の基礎として機能する継続的デリバリーの新しいモデルが出現しつつあります。この新しいモデルは、オープン プラットフォーム、インテリジェント オートメーション、集中管理された自律チームという 3 つの原則に基づいています。
オープン プラットフォームは、既存の継続的インテグレーション (CI) / 継続的デリバリー (CD) ツールおよびワークフローとの統合をサポートします。シームレス統合。これにより、企業は、既存のツール チェーンやプロセスを中断したり、開発生産性が大幅に低下する危険を冒したりすることなく、開発者やマネージャーをイライラさせることなく開発を行うことができます。たとえば、パブリック継続的インテグレーション (CI)/継続的デリバリー (CD) ツール用のネイティブ API を使用するオープン統合レイヤーにより、開発チームは最高のツールを引き続き使用できます。
生産性と制御を最大限に高めるため、既存の継続的インテグレーション (CI) / 継続的デリバリー (CD) ツールとの緊密な統合により、ソフトウェア配信プロセスのあらゆる段階で外部リリースを提供できます。 可視性と制御により、リスクを特定し、配信プロセス全体を通じてワークフローを制御するシステム。さらに、Argo や Spinnaker などの一般的なオーケストレーション ツールのオープン統合レイヤーとネイティブ API により、継続的デリバリー プラットフォームを破棄したり置き換えたりすることなく、オーケストレーション ツールを変更するための変更を行うことができます。
インテリジェント オートメーションは、ソフトウェア配信を成功させるための主要な要件の多くを満たします。基本的なプロセスの自動化では、コードを通じて日常的な手動タスクを自動化することで、Devops 担当者の生産性を向上させることができます。たとえば、開発者は Jenkins でビルドを実行し、自動タスクをトリガーしてビルドを Artifactory にプッシュし、配信パイプラインを開始できます。ただし、自動化と人工知能を組み合わせることで、プロセスを強化し、ビジネスの成果を向上させることができます。
インテリジェントな自動化により、日常的なタスクを自動化し、リリースが配信ライフサイクルを通過するにつれて自動化された意思決定を継続的に改善できます。リリース プロセスに適用されるインテリジェンス – ディープ ツール統合と組み合わせると、イベントだけでなくすべてのプロセス データにアクセスできるため、ソフトウェア リスクが自動的に検出され、リリース候補が実稼働に入る前に、修復するためのフラグが自動的に付けられます。
インテリジェントな自動化は、開発効率の向上とより迅速かつ正確なソフトウェア リリースに加えて、コンプライアンスとセキュリティに対する一元的な自動制御を実装する方法を提供します。セキュリティ ポリシーと自動化をソフトウェア配信プロセスに実装することで、企業は DevSecOps を実装できるため、セキュリティは開発プロセスの最後のレビュー段階ではなく、開発プロセスの統合された部分になります。
集中管理を確立することは、組織全体の開発、セキュリティ、コンプライアンス チームをサポートし、すべてのソフトウェア リリースのコンプライアンス、一貫性、監査可能性を確保するために重要です。集中管理を成功させるには、企業レベルおよび個々のチーム レベルでセキュリティ、コンプライアンス、およびビジネス ルールを強制できる集中ポリシー エンジンが必要です。ロールベースのアクセス制御 (RBAC) は、制御を損なうことなく、チームや個人にきめ細かいアクセス許可を提供できます。チームが独立して運用できるようにするには、セキュリティ、展開目標、および同様の要素の観点から、チームを他のチームから分離する必要があります。
インテリジェントな自動化とポリシー エンジンの組み合わせにより、セキュリティとコンプライアンス ポリシーの適用が自動化され、継続的に改善され、開発者、セキュリティ、コンプライアンス チームの必要性が軽減されます。ソフトウェア開発パイプラインのパフォーマンスをさらに向上させるには、企業全体のベスト プラクティスと再利用可能な展開パターンを実装して、開発チームの生産性と精度を向上させることができます。
現在、継続的デリバリーのこれらの新しい基本要素が、次の方法で製品に組み込まれ始めています。
オープンソースの継続的インテグレーション (CI) / 継続的デリバリー (CD) プロジェクトは開発を続けています。たとえば、進化するセキュリティ上の懸念に対応するために、オープンソースのクラウドネイティブ継続的配信ソリューション Spinnaker には、複数の認証 (アイデンティティ管理) および認可 (アクセス管理) オプションが含まれるようになりました。集中管理をサポートするために、Spinnaker はこれらの重要なセキュリティ機能に対してインテリジェントなアプローチも採用しています。新しい独自のログイン ソリューションを作成するのではなく、Spinnaker は OAuth 2.0、SAML、LDAP などの最新のセキュリティ プロトコルを活用し、ほとんどの企業がすでに使用している ID およびアクセス管理ソリューションと Spinnaker を統合できます。 Spinnaker は、Google グループ、GitHub Teams、SAML ロール、LDAP グループなどの一般的な認証ソリューションとも統合します。
日常的なプロセスの自動化は、独自のソリューションを含むビジネス ソリューションでますます一般的になり、オープンソースの継続的デリバリー ソリューション用の製品。たとえば、CodeFresh、Armory、OpsMx などの商用ソリューションは、Argo や Spinnaker などのオープンソースの継続的デリバリー プロジェクトに基づいて構築されています。 Digital.ai、Harness、Broadcom などの企業も独自のビジネス ソリューションを提供しています。
人工知能と機械学習は、Harness や OpsMx などのビジネス ソリューションに登場しています。この例としては、以前のデプロイメントから学習して適切なデプロイメントのベースラインを作成し、異常検出を可能にする機械学習主導の継続的検証プロセスが挙げられます。同様に、New Relic、Datadog、Honeycomb、Splunk の継続的インテグレーション (CI)/継続的デリバリー (CD) ツールは、人工知能/機械学習を使用して、ソフトウェアのパフォーマンスと品質についてのより多くの洞察を提供します。
インテリジェント オートメーションは、人工知能とロボティック プロセス オートメーション (RPA) テクノロジーを組み合わせて、組織のプロセス全体を合理化し、拡張します。決断。インテリジェントな自動化は、OpsMx などのいくつかの商用継続的デリバリー ソリューションに導入されており、企業は日常的なプロセスやワークフローの自動化を超えて利用できるようになります。
インテリジェントな自動化により、ソフトウェア バージョンのリスク分析を実行し、本番環境での許容できないリスクを引き起こすことなく、そのバージョンが次のパイプライン ステージに渡す基準を満たしているかどうかを自動的に判断できます。このレベルのインテリジェンスにより、ポリシーのコンプライアンスも自動化でき、すべてのガバナンス ルールとベスト プラクティスへのコンプライアンスを確保できます。業界をリードする企業はさらに進んで、インテリジェントな自動化と、ブルーグリーン テスト、カナリア テスト、プログレッシブ デリバリーなどの高度な導入戦略を組み合わせて、これまでよりも迅速に、より少ないリスクでソフトウェアを導入しています。
ソフトウェア配信プロセスが企業レベルでのデジタル変革の要件に対応することが重要です。これを怠ると、ソフトウェア配信に問題が発生し、リリースの遅れ、リリースのエラー率の高さ、セキュリティとコンプライアンスの失敗、そしてユーザーや顧客の不満を招くことになります。
良いニュースは、Devops 開発者が継続的デリバリー プロセスの新しい基盤を実装して、より高速で高品質なソフトウェア リリースを保証できるようになったということです。インテリジェントな自動化機能がさらに普及するにつれて、Devops 開発者はデジタル変革を加速する主要な推進者としての立場を確立し、新しいソフトウェア機能をより迅速に、より頻繁に、より安全に、より短い期間で提供できるようになります。
元のリンク: https://www.infoworld.com/article/3658209/how-intelligent-automation-changes-cicd.html
以上がインテリジェント オートメーションが継続的インテグレーション (CI)/継続的デリバリー (CD) をどのように変革するかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。