AIがDevOpsに与える影響
DevOpsは、過去10年間で最も人気のあるソフトウェア開発用語(英文)の一つとなっています。
DevOpsとは、開発チームと運用チームが一体となって、お互いに助け合いながら、より早く、より少ない問題で製品をリリースすることです。そして、高品質なソフトウェアを提供するためには、開発プロセスの1つのフェーズだけではなく、要件から始まり、リリース、本番モニタリングまでのすべてのフェーズが重要であることに企業は気づきました。
企業は人工知能(AI)に着目し、DevOpsがもたらすメリット(英文)に気づいた開発チームは、AIをDevOpsに適用して、そのメリットをすぐに利用できるようにするにはどうすればよいかを考え始めました。
今回は、AIが近い将来DevOpsに影響を与えるであろう4つの事象について紹介します。
1. 製品開発の高速化
開発者は、指数関数的に増加する顧客の要求に応えるために、以前よりも速くコードを書く必要に迫られています。新人や若手の開発者がシステムを学び始めたばかりだと、それが大きなボトルネックになってしまいます。
AIの助けを借りれば、開発者は開発プロセスをより賢くすることができ、コーディングスタイルを検知・学習し、それに応じた提案を行うプログラムを使用することができます。Microsoft Intellicode、Kite、Codotaのように、開発者を支援するさまざまなツールがあります。
2. 客観的なコードレビュー
コードレビューは、不具合がテストフェーズに漏れる前に早期に発見するための、開発プロセスにおける重要な要素です。コードレビューをおこなうことで、開発チーム全体が全員の作業内容や生産性のレベルを把握することができ、透明性を高めることができます。また、レビューに参加した開発者以外の人たちは、その機能がどのように開発されているのか、プログラミング言語の知識などを得ることができます。人がコードレビューを行うことのデメリットは、主観性が高いことです。
2018年に発表された調査(英文)によると、技術的な理由でプルリクエストが却下されるのは、わずか13%に過ぎません。若手の開発者が書いたコードは、経験豊富な開発者が書いたコードに比べて採用されにくい傾向にあります。これは企業の問題ですが、数十年前から開発チームの間ではよくあることでもあります。
コードレビューにAIを適用すると、このような主観的な問題を最小限に抑えることができます。また、AIは分析されたコードの一つ一つに対して独自のコード提案を自動的におこなうことができるため、開発チームの時間を大幅に節約することができます。Amazon Code Guruは、そのようなツールの優れた例です。
3. 障害に対する積極的なフィードバック
DevOps環境には、プロセスを自動化するためのツールやフレームワークが数多く存在します。このような状況を考えると、パイプラインが複雑になるにつれて、チームが問題を特定するのは難しくなります。ここで役立つのがAIです。
インテリジェンス・オートメーションを用いることで、問題が発生する前から積極的に問題を特定することができます。障害が発生した場合には、AIが障害の原因を素早く突き止め、迅速なトラブルシューティングを支援します。
4. 情報に基づいた意思決定をおこなうためのより良い洞察力
DevOpsのパイプラインには、何百万ビットものデータが流れています。このようなデータをすべて理解し、その中からパターンを見つけ出すことは、人では不可能に近いです。
企業は、AIを使って何兆ものデータセットを解析することによって、開発プロセスをよりスリムに、リリースサイクルをより速くするようになりました。最も重要なことは、顧客に出荷する機能について、関係者が十分な情報に基づいて判断できるようにすることです。
AIは、DevOpsのプラクティスに新たな進化をもたらしています。AIの力を借りれば、企業はパイプラインをより速く、よりスリムに、よりスマートにすることができます。人の介入をある程度排除することができ、思いもよらないようなパターンをデータから見つけることができます。
AIとDevOpsの組み合わせは、ソフトウェア開発の新しい未来です。
作者について:
Raj Subrameyerは、国際的な基調講演者、ライター、およびキャリアコーチであり、技術的なバックグラウンドを豊富に持っています。 彼のBlog(rajsubra.com/blog/)では、読者の生活に役立ち、インスピレーションを与えるニュース、リソースを投稿しています。
(この記事は、開発元 Ranorex 社 Blog 「How AI Will Impact DevOps」2021年5月12日の翻訳記事です。)