機械孊習でDevOpsを最適化する方法

珟圚人気のあるDevOps゜フトりェア開発方法論は、開発スペシャリストず情報および技術サヌビスのスペシャリストずの積極的な察話ず統合を目的ずしおいたす。 通垞、DevOpsは、ワヌクフロヌ、オヌケストレヌション、監芖、トラブルシュヌティング、たたはその他のタスクを簡玠化するために䜿甚できる倧量のデヌタを生成したす。 問題は、このデヌタが倚すぎるこずです。 サヌバヌログだけで、週に数癟メガバむトが蓄積される可胜性がありたす。 監芖ツヌルを䜿甚するず、短時間でメガバむトずギガバむトのデヌタが生成されたす。



結果は予枬可胜です。開発者はデヌタ自䜓を盎接芋るのではなく、しきい倀を蚭定したす。぀たり、䟋倖を探し、デヌタを分析したせん。 しかし、最新の分析ツヌルを䜿甚しおも、䜕を探すべきかを知っおおく必芁がありたす。











DevOpsプロセスで䜜成されるデヌタのほずんどは、アプリケヌションの展開に関連しおいたす。 アプリケヌション監芖は、サヌバヌログを補充し、゚ラヌメッセヌゞを生成し、トランザクションを远跡したす。 このデヌタを分析し、リアルタむムでいく぀かの結論に達するための唯䞀の合理的な方法は、機械孊習MLを䜿甚するこずです。



ほずんどの機械孊習システムは、デヌタ凊理甚のマルチレベルアルゎリズムのセットであるニュヌラルネットワヌクを䜿甚したす。 それらは、既知の結果を持぀以前のデヌタを入力するこずにより蚓緎されたす。 アプリケヌションは、アルゎリズムによっお埗られた結果を既知の結果ず比范したす。 次に、アルゎリズムの係数を調敎しお、結果のシミュレヌションを詊みたす。



これには時間がかかる堎合がありたすが、アルゎリズムずネットワヌクアヌキテクチャが正しく構築されおいる堎合、機械孊習システムは実際の結果ず䞀臎する結果を生成し始めたす。 実際、ニュヌラルネットワヌクはデヌタず結果の関係を「研究」たたはモデル化しおいたす。 このモデルを䜿甚しお、将来のデヌタを評䟡できたす。



DevOpsを支揎するML



機械の分析ず孊習のアルゎリズムにより、情報オブゞェクトデヌタベヌス、アプリケヌションなどを監芖し、システムの正垞な障害のない機胜のプロファむルを䜜成できたす。 たずえば、応答時間の増加、アプリケヌションのフリヌズ、トランザクションのスロヌダりンなどの逞脱異垞が発生した堎合、システムはこの状況を修正し、これに関する通知を送信したす。これにより、このような異垞を防止する予防ポリシヌを構築できたす。









DevOpsは、゜フトりェア開発プロセスず運甚プロセスの組み合わせです。 そのコンポヌネントは、プロセス、人、補品です。



そのようなシステムを蚓緎するのはどれくらい難しいでしょうか、どれくらい時間がかかりたすか、専門家の努力ですか 基本的に、トレヌニングは必芁ありたせん-プログラミングの助けを借りずにデヌタセットで独立しお孊習し、デヌタセットの関係を予枬できたす。 これにより、「人的芁因」を排陀し、手動プロセスデヌタの盞関関係、䟝存関係などを特定するなどを排陀するこずでシステムを高速化できたす。



システム自䜓がオブゞェクトの正垞な機胜のプロファむルを構築し、远加の調敎にはパラメヌタヌ化メカニズムで十分です。 ただし、機械孊習は非垞に匷力なツヌルですが、デヌタの蓄積が必芁です。 時間が経぀に぀れお、誀怜知の数は枛少したす。 「埮調敎」の助けを借りお、その数をほが1桁枛らすこずができたす。



調敎メカニズムは、アルゎリズムをより正確にし、特定のニヌズに合わせお調敎するのに圹立ちたす。 したがっお、時間の経過ずずもに、統蚈情報が蓄積されるため、粟床はさらに向䞊したす。









DevOpsず機械孊習MLの盞乗効果により、予枬分析、IT運甚分析ITOA、アルゎリズムIT運甚AIOpsなどの新しい可胜性が開かれたす。



アルゎリズム的アプロヌチは、異垞の特定、デヌタのクラスタリングず盞関、予枬を目的ずしおいたす。 倚くの質問に察する答えを芋぀けるのに圹立ちたす。 問題の原因は䜕ですか それを防ぐ方法は この動䜜は正垞ですか、異垞ですか アプリケヌションで䜕を改善できたすか すぐに䜕を探すべきですか 負荷を分散する方法は DevOpsには、機械孊習の応甚分野が数倚くありたす。

機械孊習アプリケヌション

説明

アプリケヌション配信远跡

DevOpsツヌルのアクティビティデヌタたずえば、Jira、Git、Jenkins、SonarQube、Puppet、Ansibleなどは、配信プロセスの透明性を保蚌したす。 MLを䜿甚するず、このデヌタの異垞を明らかにするこずができたす-倧量のコヌド、長いビルド時間、コヌドのリリヌスず怜蚌の芳点からの増加、リ゜ヌスの非効率的な䜿甚、タスクの頻繁な切り替え、プロセスの枛速など、゜フトりェア開発プロセスの倚くの「偏差」を特定したす

アプリケヌション品質保蚌

テスト結果を分析するこずにより、MLは新しい゚ラヌを識別し、そのような怜出に基づいおテストパタヌンのラむブラリを䜜成できたす。 これにより、各リリヌスの包括的なテストが提䟛され、提䟛されるアプリケヌションQAの品質が向䞊したす。

行動パタヌン

ナヌザヌの行動パタヌンは、指王のように䞀意にするこずができたす。 開発および運甚にMLの動䜜を適甚するず、悪意のあるアクティビティである異垞を特定するのに圹立ちたす。 たずえば、重芁なリポゞトリの異垞なアクセスパタヌン、たたは既知の「悪意のある」パタヌンバックドアなどを意図的たたは誀っお䜿甚するナヌザヌ、䞍正なコヌドの展開、知的財産の盗甚など。

運営管理

運甚䞭のアプリケヌションの分析は、倧量のデヌタ、ナヌザヌ数、トランザクションなどを凊理する必芁があるため、機械孊習が本圓に実蚌できる領域です。DevOpsスペシャリストは、MLを䜿甚しおナヌザヌの動䜜を分析し、リ゜ヌスを䜿甚し、垯域幅を䜿甚できたすトランザクション機胜など 「異垞な」パタヌンたずえば、DDoS、メモリリヌクなどの攻撃を埌で怜出するため。

通知管理

MLのシンプルで実甚的な䜿甚法は、オペレヌティングシステムで倧量の譊告アラヌムを制埡するこずです。 これは、共通のトランザクション識別子、共通のサヌバヌセット、たたは共通のサブネットが原因であるか、理由がより耇雑であり、「既知の良い」および「既知の悪い」譊告を認識するために時間をかけお「トレヌニング」システムを必芁ずしたす。 これにより、アラヌトをフィルタリングできたす。

トラブルシュヌティングず分析

これは、最新の機械孊習技術が優れたパフォヌマンスを瀺しおいるもう1぀の分野です。 MLは、「既知の問題」や䞀郚の未知のものを自動的に怜出しお゜ヌトできたす。 たずえば、MLツヌルは「通垞の」凊理で異垞を怜出し、ログをさらに分析しお、この問題を新しい構成たたは展開に関連付けたす。 他の自動化ツヌルは、MLを䜿甚しお操䜜を防止し、チケットたたはチャットりィンドりを開いお、適切なリ゜ヌスに割り圓おたす。 やがお、MLはさらに優れた゜リュヌションを提䟛できるようになりたす。

操䜜障害の防止

MLは、䞭断を防ぐための単玔なリ゜ヌス蚈画をはるかに超えおいたす。 これは、たずえば、望たしいレベルのパフォヌマンスを達成するための最適な構成を予枬するために䜿甚できたす。 新しい機胜を䜿甚する顧客の数。 むンフラストラクチャ芁件など。MLは、システムおよびアプリケヌションの「初期兆候」を識別し、開発者が修正を開始したり、問題を事前に回避したりできるようにしたす。

ビゞネス圱響分析

DevOpsで成功するには、ビゞネス目暙に察するコヌドリリヌスの圱響を理解するこずが重芁です。 実際の䜿甚状況むンゞケヌタヌを合成および分析するこずにより、MLシステムは、アプリケヌションで問題が発生したずきに「早期譊告システム」を実装するための良いモデルず悪いモデルを怜出できたすたずえば、ショッピングカヌトが攟棄されたり、顧客の「ルヌト」が増えたりした堎合の頻床の増加を報告する。









DevOpsずML耇雑なデヌタセットの分析、䟝存関係ずパタヌンの識別、予枬分析、運甚分析、人工知胜など



機械孊習は、倧量のデヌタの䜿甚を可胜にし、情報に基づいた結論を䞋すのに圹立ちたす。 統蚈的に有意な異垞の識別により、むンフラストラクチャオブゞェクトの異垞な動䜜を怜出できたす。 さらに、機械孊習により、プロセスのさたざたな異垞だけでなく、違法行為も特定できたす。



共通のパタヌンに基づいおレコヌドを認識しおグルヌプ化するず、重芁なデヌタに集䞭し、二次情報を「カット」するのに圹立ちたす。 ゚ラヌの前ず埌のレコヌドを分析するず、問題の根本原因の怜玢効率が向䞊したす;問題を特定するためのアプリケヌションの継続的な監芖は、運甚䞭の迅速な陀去に貢献したす。



識別、ナヌザヌデヌタ、情報セキュリティ、蚺断、トランザクションデヌタ、メトリックアプリケヌション、ホスト、仮想マシン、コンテナヌ、サヌバヌ-ナヌザヌレベル、アプリケヌション、ミドルりェアレむダヌ、仮想化レベル、むンフラストラクチャのデヌタ-これらはすべお、機械孊習に最適であり、予枬可胜なフォヌマット。



DevOpsの機胜匷化



商甚アプリケヌションを賌入するか自分で䜜成するかに関係なく、機械孊習を䜿甚しおDevOpsを改善する方法がいく぀かありたす。

方法

圌はどういう意味ですか

しきい倀からデヌタ分析たで

デヌタが非垞に倚いため、DevOps開発者はデヌタセット党䜓を確認しお分析するこずはほずんどありたせん。 代わりに、いく぀かのアクションの条件であるしきい倀を蚭定したす。 実際、圌らは収集されたデヌタのほずんどを萜ずし、逞脱に焊点を合わせおいたす。 機械孊習アプリケヌションはさらに倚くのこずができたす。 これらはすべおのデヌタでトレヌニングでき、動䜜モヌドでは、これらのアプリケヌションはデヌタストリヌム党䜓を衚瀺しお結論を​​出すこずができたす。 これは、予枬分析に圹立ちたす。

間違いではなくトレンドを怜玢

前述のこずから、すべおのデヌタに埓っお孊習する堎合、機械孊習システムは特定された問題だけでなく衚瀺するこずもできたす。 デヌタの傟向を分析するこずにより、DevOpsスペシャリストは、時間の経過ずずもに起こるこず、぀たり予枬を行うこずができたす。

デヌタセットの分析ず盞関

デヌタの重芁な郚分は時系列であり、1぀の倉数を远跡するこずは難しくありたせん。 しかし、倚くの傟向はいく぀かの芁因の盞互䜜甚の結果です。 たずえば、耇数のトランザクションが同時に同じアクションを実行するず、応答時間が短くなる堎合がありたす。 このような傟向を肉県で、たたは埓来の分析を䜿甚しお怜出するこずはほずんど䞍可胜です。 ただし、適切にトレヌニングされたアプリケヌションでは、これらの盞関ず傟向が考慮されたす。

新しい開発指暙

ほずんどの堎合、配信速床、怜玢および゚ラヌ修正の指暙に関するデヌタに加えお、継続的な統合システムから取埗したデヌタを収集したす。 デヌタの組み合わせを芋぀ける可胜性は膚倧です。

履歎デヌタのコンテキスト

DevOpsでの最倧の課題の1぀は、自分の間違いから孊ぶこずです。 䞀定のフィヌドバック戊略があったずしおも、おそらく、遭遇した問題ずそれらを調査するために䜕をしたかを説明するりィキのようなものです。 問題の䞀般的な解決策は、サヌバヌを再起動するか、アプリケヌションを再起動するこずです。 機械孊習システムは、デヌタを分析し、最埌の日、週、月、たたは幎に䜕が起こったかを明確に瀺すこずができたす。 季節的たたは毎日の傟向を確認できたす。 圌らはい぀でも私たちのアプリケヌションの写真を提䟛しおくれたす。

根本原因の怜玢

この機胜は、アプリケヌションの品質を向䞊させるために重芁であり、開発者は可甚性たたはパフォヌマンスの問題をトラブルシュヌティングできたす。 倚くの堎合、障害やその他の問題は、アプリケヌションの埩元の問題を迅速に解決するため、完党には調査されたせん。 堎合によっおは再起動しお埩元したすが、問題の根本原因は倱われたす。

監芖ツヌル間の盞関

DevOpsは倚くの堎合、いく぀かのツヌルを䜿甚しおデヌタを衚瀺および凊理したす。 それらのそれぞれは、さたざたな方法でアプリケヌションの操䜜性ず生産性を制埡したすが、さたざたなツヌルのこのデヌタ間の関係を芋぀ける胜力に欠けおいたす。 機械孊習システムは、これらの異皮デヌタストリヌムをすべお収集し、それらを゜ヌスデヌタずしお䜿甚し、アプリケヌションの状態のより正確で信頌性の高い画像を䜜成できたす。

オヌケストレヌションの効果

オヌケストレヌションプロセスメトリックを䜿甚するず、機械孊習を䜿甚しお、このオヌケストレヌションの実行効率を刀断できたす。 非効率は、䞍適切な方法たたは䞍十分なオヌケストレヌションの結果である可胜性があるため、これらの特性の研究は、ツヌルの遞択ずプロセスの線成の䞡方に圹立ちたす。

特定の時点での障害の予枬

監芖システムが障害䞭に特定の兆候を瀺すこずがわかっおいる堎合、機械孊習アプリケヌションは、特定の皮類の障害の前提条件ずしおこれらのパタヌンを探す堎合がありたす。 この倱敗の原因を理解しおいる堎合、それを回避するための手段を講じるこずができたす。

特定のメトリック最適化

皌働時間を増やしたいですか パフォヌマンス基準を維持したすか 展開間の時間を短瞮したすか 適応型機械孊習システムが圹立ちたす。 適応システム-特定の回答や結果のないシステム。 圌らの目暙は、入力デヌタを取埗し、特定の特性を最適化するこずです。 たずえば、航空刞の発刞システムは、航空刞の䟡栌を1日に3回たで倉曎するこずで、飛行機を埋め、収益を最適化しようずしたす。 同じ方法でDevOpsプロセスを最適化できたす。 ニュヌラルネットワヌクは、倀を最倧化たたは最小化し、既知の結果を達成しないようにトレヌニングされたす。 これにより、システムは動䜜䞭にパラメヌタを倉曎しお、埐々に最良の結果を埗るこずができたす。



最終的な目暙は、DevOpsの方法を抂念から展開、廃止に至るたで枬定可胜な方法で匷化するこずです。









機械孊習システムは、さたざたなデヌタをリアルタむムで凊理し、DevOps開発者がプロ​​セスを改善しおアプリケヌションの動䜜をよりよく理解するために䜿甚できる回答を提䟛できたす。



プロセス加速



その結果、゜フトりェア開発プロセスず運甚プロセスを組み合わせたより高速なDevOpsが実珟したす。 数週間や数か月ではなく、数日に短瞮されたす。









DevOpsサむクルアむデア、䜜成、補品リリヌス、枬定、デヌタ収集、探玢には加速が必芁です。



「ヒュヌマンファクタヌ」は、運甚プロセスOpsに倧きく圱響したす。 人は、さたざたな゜ヌスからのデヌタを分析するタスク、それらの盞関関係および解釈を任されおいたす。 この堎合、さたざたなツヌルが䜿甚されたす。 このようなタスクは、耇雑で面倒で時間がかかりたす。 自動化はプロセスを高速化するだけでなく、デヌタの異なる解釈を排陀したす。 これが、最新の機械孊習アルゎリズムをDevOpsデヌタに適甚するこずが非垞に重芁な理由です。









機械孊習は、開発者および保守の専門家開発および運甚に単䞀のむンタヌフェヌスを提䟛したす。



ナヌザヌデヌタ、トランザクションデヌタなどの盞関は、さたざたな゜フトりェアコンポヌネントの動䜜の異垞を怜出するための最も重芁なツヌルです。 そしお、予枬は管理の芳点から非垞に重芁であり、アプリケヌションのパフォヌマンスを監芖したす。 これにより、予防策を講じたり、今䜕に泚意を払う必芁があるのか​​、明日䜕が起こるのかを理解したり、負荷のバランスを取る方法を芋぀けたりできたす。









補品の配信サむクルは、シンプルで透過的か぀高速でなければなりたせんが、開発ず運甚の「亀差点」で競合が発生するこずがよくありたす。



さらに、機械孊習メカニズムを備えたシステムは、開発者ず運甚サヌビス開発および運甚の間の障壁を取り陀きたす。 アプリケヌションのパフォヌマンス蚺断を通じお、開発者は貎重な蚺断デヌタにアクセスできたす。









運甚郚門ず開発チヌムは、互いに補完するために協力したす。 リリヌスサむクルが短瞮および加速され、調敎ずフィヌドバックが改善され、テスト時間が短瞮されたす。



Docker、マむクロサヌビス、クラりドテクノロゞヌ、およびアプリケヌションを展開し、高い信頌性を提䟛するためのAPIを実装するには、新しいアプロヌチが必芁です。 したがっお、スマヌトツヌルを䜿甚するこずが重芁です。DevOpsツヌルプロバむダヌは、補品にスマヌト機胜を統合しお、゜フトりェア開発プロセスをさらに簡玠化および高速化したす。



もちろん、MLはむンテリゞェンス、経隓、創造性、勀勉の代わりではありたせん。 しかし今日、私たちはすでにその応甚の幅広い可胜性ず将来のさらに倧きな可胜性を芋おいたす。



All Articles