Bloody Enterprise Devops


それがあなたが努力できるこずです

党囜に350人以䞊の゜フトりェア開発者ずテスタヌがいたす。たた、゚ンゞニアや顧客開発者ず頻繁にやり取りしおいたす。 devopsの実甚化に切り替えるには、方法論の実装だけでなく、愛するロシアの顧客を基本的な文化に慣れさせるこずも必芁でした。 理解するためのいく぀かのダむアログ
-なぜすべおが萜ちたのですか
-スタンドでスケヌトし、すべおをテストしおから補品に展開したため。 ここには、指瀺に該圓せず、叀い管理者の頭にのみ䜏んでいた蚭定がありたす。

たたは
-なぜそれが党囜に打ち䞊げられないのですか
-数十の異なる地域のむンストヌルがあるため、それぞれが手䜜業で行われ、それぞれに異なる構成がありたす。 そしお、いく぀かのケヌスでは、゚ンゞニアがミスを犯したした。
-明日たで正しい 本圓に必芁です リモヌトでのみアクセスし、私たちはあなたに䞎えたせん。
-.. もちろん、極東ぞの旅行が倧奜きな高額のスペシャリストのチヌムがありたす。 問題ありたせん。

文化文化


-テストベンチはどうですか
「圌は発芋者のデモで忙しい。」
-そしお、どこでテストすべきですか
-さお、同じように自分自身を少し転がしおから、プラむベヌトクラりドに切り替えたす。
-スタンドたで2時間。 私はただあなたを愛しおいたす
-埅っお、テンプレヌトはありたすか

たたはここ
プロゞェクトの䞊行請負業者
-こんにちは、芪愛なる顧客、そしお私たちはあなたにバむナリをもたらしたした
介入したす
-いいえ、いや、いや、芪愛なる州の顧客はリポゞトリ、アセンブリ、すべおを持っおいたす。 ここでコヌドを折りたたみ、チェックむンし、展開方法を確認しおください...
-ああ これは機胜したせん

「管理者は䜕人いたすか」
-たあ、玄100人が数えたす。
「なぜそんなにたくさん」
-回路は倧きいが、自動化はただ行われおいない、䜕かが高䟡です...停止したすが

䞀般的に、基本的な文化ずは、次のようなものを意味したす。

  1. クラりドの台頭からシステム゜フトりェアの泚入たでのむンフラストラクチャは、コヌドの圢匏で取埗する必芁がありたす。
  2. プロセスに応じお、䜕も倉曎せずに、ビルドサヌバヌからビルドを自動的に実行したす぀たり、特別な堎合にのみ蚭定を管理したす。 さお、あなたはあなたの手で「スタヌト」ボタンを抌すこずができたす。
  3. チェックむンから自動テスト実行たで、搬送コンベアに沿ったすべおのアセンブリの進行を芖芚的に制埡するず䟿利です。

その結果、時間ずお金が節玄されたす。 請負業者からコヌドを受け取ったずしおも、2幎埌、芪愛なる顧客は、ラックに折りたたたれた゜ヌスディスクがサヌバヌ䞊で回転しおいるものずは無関係であり、請負業者がいなくなったこずに気付くでしょう。

この文化を怍える


これは痛み、錻氎、涙、その他のドラマです。 倚くの堎合、通信はおおよそ次のように行われたす。
-はい、それはクヌルです。 私はHabréの投皿を読んでいたすが、それがいかに玠晎らしいかを知っおいたす。 自動化が必芁です。
-それでは玹介したしょうか
-いいえ、あなたは䜕ですか。 Documentumは最新バヌゞョンではありたせん。
「だから䜕」
-そしお、Javaは叀いです...
-芋おください、すでに5぀のプロゞェクトでそのようなコンベダヌが走りたした。 それはあなたの゜フトりェア構成です。 AlfrescuおよびWebSphereを含む。
-締め切りはもう終わりです。
-さお、い぀燃えなくなりたすか
「たあ、それはもう2幎、おそらくどこか別の幎に燃えおいたす。」 それから玹介したす。
-無料の゚ンゞニアがいないこず、プロゞェクトを本圓に加速できるこずを理解しおいたすか
-ええ、䜕が必芁ですか
-完成したロヌルをダりンロヌドしお、Ansibleを接続するず、すべおが展開されたす。 こちらがあなたを助け、すべおをセットアップする゚ンゞニアです。 圌女も教えたす
-さお、1月の䌚議であなたの提案を怜蚎させおください...

昚幎たで、圓瀟の開発プロゞェクトでは、継続的むンテグレヌションのみが厳密に必芁でしたTeamCity / Jenkinsでのアセンブリ、コヌド分析、単䜓テスト。 䌁業レベルでの継続的デリバリヌず継続的展開ぞの本栌的な移行は、䜿甚されるむンフラストラクチャ、テクノロゞヌ、倖郚顧客ずの䜜業の埮劙な違いにより耇雑でした。 そのため、昚幎たで、運甚に関䞎する゚ンゞニア顧客サヌビスに察しお単䞀の暙準ず䞀連の掚奚事項はなく、それぞれが独自のスタックを䜿甚しおいたした。

自動化の仕組みを理解しおいる人はほずんどいたせん。 䞀郚の人々は、それは高䟡で困難であるず信じおいたす-「このプロゞェクトにリスクを負わない」。 しかし、たずえば、いく぀かのチヌムがCROC内でスタックを実行した埌、実際に倚くのチヌムが、節玄された時間ず人的資源が思ったよりはるかに珟実的であるこずに気付きたした。 そしお、その瞬間から始たりたした。 したがっお、過去のプロゞェクトの゚ンゞニアがマネヌゞャヌから「1ダヌスのサヌバヌを手動でデプロむする」ずいうタスクを受け取った堎合、圌は自動化に向かう​​すべおの暩利を持ち、リヌダヌずしお私は圌の偎にいたす。

文化に管理手段を浞透させるこずに慣れおいないため、さたざたな技術スタックを備えた最も耇雑なプロゞェクトWebSphereでの統合プロゞェクト、DocumentumおよびAlfrescoでのECMプロゞェクト、Javaおよび.Netでのカスタム開発に぀いお話し合いを行い、ツヌルを遞択したした。 その結果、私たちは満足した男子および女子、確信した悲芳論者に察する具䜓的な議論、および基盀の基盀を獲埗したした。

次は、ツヌルず実装のレビュヌの話です。 あなたがすべおを知っおいれば-たっすぐに進んで、「ツヌル」セクションで、専門家にずっお興味深いものがあるずは考えられたせん。これは教育プログラム以䞊のものです。

ツヌル


350人の開発者がテクノロゞヌスタックず動物園で䜜業しおいたす。さらに、CROCバヌチャルラボには、Amazon EC2 APIずVMwareのOpenstackの䞡方がありたす。 たた、䞋䜍レベルに倚数のスクリプトツヌルがありたした。 しかし、䞊郚では、どこから萜ちたのか、どこで、どのような構造で、コンベアがどのように芋え、䜕が起こるのかが明確ではありたせん。 芖芚化ツヌルが必芁でした。

私たちは、無料で無料の゜フトりェアから䟛絊コンベダヌを自動化する包括的な゜リュヌションを組み立おるずいう困難な課題に盎面したした。これは、このクラスの工業所有暩のある゜リュヌションに劣らないでしょう。

このクラスのシステムのアヌキテクチャは、3぀のコンポヌネントで構成されおいたす。

•最䞊䜍では、アプリケヌション配信パむプラむンを自動化および芖芚化するための゜リュヌション。 これは䞻に、゚ンドナヌザヌがリリヌスのすべおの段階の経過を远跡できるWebむンタヌフェむスです-゜ヌスコヌドからのパッケヌゞの最初のアセンブリからすべおのテストの通過たで、任意の段階を再起動し、プロセスが倱敗した堎合にログを確認したす。
•むンフラストラクチャの展開を自動化する゜リュヌション。 これは䞀皮のオヌケストラであり、そのタスクは、アプリケヌションのむンフラストラクチャ特定のクラりドプロバむダヌの仮想マシンを䜜成するこずです。 この堎合、コンポヌネントは基本的なむンフラストラクチャの䜜成を担圓し、次のコンポヌネントは゜フトりェアの埮調敎ず構成を担圓したす。
•システム゜フトりェアのむンストヌル、リリヌスに必芁な远加アプリケヌション、デヌタベヌスおよびアプリケヌションサヌバヌの構成、さたざたなスクリプトの実行の開始、アプリケヌションのリリヌスの盎接むンストヌルなど、䜜成枈みのむンフラストラクチャの構成に必芁な構成管理゜リュヌション。

各ブロックに぀いお、最も適切で人気のあるツヌルを分析したした。 各コンポヌネントをより詳现に怜蚎し、トップレベルから始めたしょう。

ツヌルに求めおいたものず芋たもの


オヌプン゜ヌスであるこずに加えおツヌルを遞択するための䞻な基準は次のずおりです。

•統合の芳点からの汎甚性ツヌルは、プロゞェクトgit、mercurial、TFSで䜿甚されるすべおのメむン゜ヌスコヌド管理システムをサポヌトし、CI JenkinsおよびTeamcityず友達になり、SeleniumおよびJMeterテストシステムず連携でき、盞互䜜甚を簡単にカスタマむズできる必芁がありたすオヌプン゜ヌスのむンフラストラクチャ展開および構成管理システム。
•カスタマむズされたパむプラむンず蚭定をテキスト蚭定に゚クスポヌト/むンポヌトする機胜Pipeline-as-a-Code。
•トレヌニング曲線最終的に、発芋されたツヌルに぀いお、発芋された実装゚ンゞニアをトレヌニングする必芁がありたした。 このツヌルは、習埗ず調敎が簡単でなければなりたせん。

私たちはゞェンキンスから始めたした。私たちはすでにCIずしお立ち、機胜しおいたした。 CDおよびパむプラむン自動化゜リュヌションずしお適しおいたすか 結局のずころ、膚倧な数のプラグむンず統合にもかかわらず、いいえ、そしおその理由は次のずおりです。

•Blue Oceanプロゞェクトにはただ管理むンタヌフェむスが含たれおいたせん。リリヌスの経過を段階ごずに矎しい写真で芋るこずができたすが、同じむンタヌフェむスから特定の手順を再開するこずはできたせん。
•パむプラむン自䜓を゜ヌスコヌドの圢匏で蚘述する必芁があり、宣蚀型パむプラむンを蚘述するための蚀語はただ湿っおいたす-管理ずトレヌニングの難しさ。
•JenkinsずずもにTeamcityを運営しおいたすが、䞀郚のプロゞェクトではより䟿利です。

これらの理由により、安定性远加のプラグむンでロヌドしたくない安定した機胜のJenkinsがありたすおよび機胜の分離結局、TeamCityのようなJenkinsは、゜フトりェアを盎接構築するためのCIサヌバヌずしお䜿甚されたすのため、調査を続けたした。

銀行䌚瀟CapitalOneの開発者のプロゞェクトであるHygeiaは、䞻に有益なナヌザヌむンタヌフェむスで私たちを魅了したした。このむンタヌフェむスでは、ずりわけ、コミットず貢献者に関する統蚈情報、スプリントタスクの抂芁、スプリントに実装された機胜のリストを芋るこずができたす。 それでも、包括的なWeb UIにもかかわらず、ツヌルは䜜成者のタスクに高床に特化されおいるこずが刀明したした。

Hygeiaは、必芁な統合の欠劂、調査時点での䞍十分なドキュメント、およびツヌルの機胜の拡匵ずカスタマむズが困難なため、基準に適合したせんでした。

次に、䞻にCloud Foundryに関連するプロゞェクトをサポヌトするために、Cloud Foundry Foundationコミュニティによっお䜜成されたConcourse CIに泚目したした。 Concourse CIは、1分間に耇数のリリヌスを展開およびテストする必芁がある非垞に倧芏暡なプロゞェクトに適しおいたす。むンタヌフェむスを䜿甚するず、アプリケヌションリリヌスの耇数のブランチのステヌタスを䞀床に評䟡できたす。 Concourseは、統合に関しお必芁な柔軟性ず普遍性が䞍足しおいるため、タスクに適しおいたせんでした。さらに、特定のアプリケヌションブランチのリリヌスのさたざたなバヌゞョンの進捗状況をより詳现に把握する必芁がありたしたConcourseでは、最新バヌゞョンのみが衚瀺されたす。

最埌に、 GoCDプロゞェクトを確認したした。 GoCDは2007幎からその歎史をリヌドしおおり、2014幎に゜ヌスコヌドがコミュニティに投皿されたした。 GoCDは、統合の普遍性の基準を満たしたした。GoCDに必芁なものはすべおそのたたでサポヌトされおいるか、簡単に構成できたした。 GoCDには、DevOps実践者にずっお重芁なPipeline-as-a-codeパラダむムの実装もありたす。

マむナスには以䞋が含たれたす。

•盎芳的に理解できない゚ンティティのネストすべおのステヌゞ、ゞョブ、タスクなどをすぐに凊理するのは簡単ではありたせん。
•゚ヌゞェントをむンストヌルする必芁があり、スケヌリングずマルチスレッド化には远加の゚ヌゞェントのむンストヌルが必芁です。

䞊䜍レベルに決め、残りの2぀のブロックを怜蚎したす


むンフラストラクチャ展開ツヌルを遞択するための䞻な基準は、有名なクラりドプロバむダヌであるAWS、Openstack、およびVMware vSphereの異皮環境のサポヌトです。 Bosh、Terraform、Cloudifyを怜蚎したした。

Boshは 、Concourse CIず同様に、Cloud Foundry Foundationコミュニティによっお䜜成されたした。 耇雑なアヌキテクチャを備えた非垞に匷力なツヌルには、次の利点がありたす。

•Boshを介しお展開されたサヌビスを監芖する機胜。
•展開されたサヌビスの障害から自動的に、ボタンごずに回埩する機胜。
•展開可胜なコンポヌネントのオブゞェクトリポゞトリ。
•展開されたコンポヌネントのバヌゞョン管理を制埡するための組み蟌み機胜。
ただし、独自の仮想マシンテンプレヌト圢匏により豊富な機胜が提䟛されおいたす。この理由ず、Boshツヌルの党䜓的な耇雑さのために、それは私たちには合いたせんでした。

Terraformは、コミュニティで広く知られおいるHashicorpツヌルです。 䌚瀟の他の自由に配垃された補品ず同様に、アヌキテクチャ的にはバむナリファむルを衚したす。 むンストヌルが簡単で習埗が簡単です。展開に必芁なむンフラストラクチャを宣蚀圢匏で蚘述し、terraform planコマンドで展開する方法を確認し、terraform applyコマンドで盎接起動するだけで十分です。 産業甚アプリケヌションの堎合、無料のTerraformの欠点は、サヌバヌ郚分の欠劂、ログの集玄、実行䞭のプロセスのステヌタスの監芖぀たり、集䞭管理ず監査の欠劂です。 この瞬間は有料のTerraformで決定されたすが、私たちは独占的に無料のツヌルに興味があったので、Terraform以倖の堎合にはCloudifyを䜿甚するこずに決めたした。

Cloudifyは、 GigaSpacesによっお䜜成されたむンフラストラクチャ展開ツヌルです。 このツヌルの特城は、OASIS TOSCA暙準の宣蚀型IaaCテンプレヌトでの事実䞊のサポヌトです。 機胜面では、CloudifyはBoshに近いです。Cloudifyからデプロむされたサヌビスを監芖でき、デプロむされたサヌビスをスケヌリングするだけでなく、障害から回埩するプロセスがありたす。 Boshずは異なり、Cloudifyには盎感的なWebむンタヌフェむスがあり、Cloudifyはクラりドプロバむダヌの暙準VMテンプレヌトを䜿甚しおむンフラストラクチャを展開したす。 プラグむンによりツヌルの機胜が拡匵され、Pythonで独自のプラグむンを䜜成するこずができたす。 しかし、補品の最新バヌゞョンのほずんどのグラフィカルむンタヌフェむスは有料版に切り替わったず蚀わなければなりたせん。

そのため、むンフラストラクチャの展開には、そのシンプルさ、トレヌニングず実装の速床のためにTerraformを遞択し、その機胜ず汎甚性のためにCloudifyの無料バヌゞョンを遞択したした。 Terraformず友だちにしたよりも、仮想ラボ甚のOpenStack互換のAPIをすばやく䜜成したした。

構成管理の゜リュヌションを決定するこずは残っおいたす。 Ansible、Chef、Puppet、Saltの4぀の倧きなものを芋たした。

PuppetずChefは、構成管理ツヌルの垂堎における「叀いもの」です最初のバヌゞョンは、それぞれ2005幎ず2009幎にリリヌスされたした。 Rubyで曞かれた、拡匵性の高いクラむアントサヌバヌアヌキテクチャを備えおいたす。 たず第䞀に、圌らぱントリヌのしきい倀が高いため、私たちのタスクに適合したせんでした。蚭定テンプレヌトを含むRuby蚀語で実装゚ンゞニアをトレヌニングしたくありたせんでした。

SaltはPythonで曞かれた新しい゜リュヌションです。 蚭定テンプレヌトはすでに䟿利なYAML圢匏になっおいたす。 Saltの興味深い機胜は、制埡されたマシンず察話する゚ヌゞェントず゚ヌゞェントレスの䞡方の方法の可胜性です。 それでも、Saltのドキュメントは構造が䞍十分で理解しにくいため、新しいナヌザヌ向けにさらにシンプルなツヌルを䜿甚したいず考えたした。

そしお、そのようなツヌルがありたす-これはAnsibleです。 このツヌルは、むンストヌル、䜿甚、孊習が簡単です。 AnsibleもPythonで蚘述されおおり、蚭定テンプレヌトはYAML圢匏です。 Ansibleにぱヌゞェントレスアヌキテクチャがあり、管理察象マシンにクラむアントをむンストヌルする必芁はありたせん-察話はSSH / PowerShellを介しお行われたす。 もちろん、ホスト数が1,000を超えるむンフラストラクチャでは、速床が䜎䞋する可胜性があるため、゚ヌゞェントレスアヌキテクチャは最良の遞択ではありたせんが、このような問題に盎面するこずはありたせんでしたプロゞェクトのむンフラストラクチャのボリュヌムは非垞に小さく、Ansibleは私たちにずっお完璧でした。

解決策


その結果、DevOpsパむプラむンを自動化するための次のツヌルセットを入手したした。



フヌドの䞋でAnsibleおよび堎合によっおCloudifyたたはTerraform。 最䞊䜍はGoCDです。

次に、遞択したツヌルをプロゞェクトの1぀に実際に適甚する方法に぀いお説明したす。 このプロゞェクトにDevOpsプラクティスを䜿甚するケヌスは簡単ではありたせんでした。 開発はいく぀かの氎銀リポゞトリで行われ、リリヌスの集䞭リポゞトリはありたせんでした。 リリヌス゚ンゞニア手動で曎新プログラムのむンストヌルを実行した特別なトレヌニングを受けた人に提䟛された゜フトりェア展開に関する技術文曞に特に泚意が払われたす。 真実を知るために、ワヌド文曞、Confluenceの゚ントリ、Slackのメッセヌゞから情報を収集するこずが少しず぀必芁でした。 時々、ドキュメンテヌションはファンタゞヌの芁玠を持぀フィクションのようでした。 匕甚

地獄の門の第2郚。 デヌタベヌスをいっぱいにしたす。
2.1このパヌトでは、特に倚くの困難ず詊緎に盎面したす。泚意しおください。 たず、DBA暩限を持぀ナヌザヌSYSずしおデヌタベヌスに接続したす
2.2呪文を唱えたすスクリプトを実行したす。

すべおの操䜜の監査ず統合の埌、開発者はドキュメントを完成させ、人間ず構成管理システムの䞡方が理解できる䟿利な圢匏でドキュメントを提瀺したした。

開発は、わずかな倉曎を加えおいく぀かのスタンドで行われたした。 テスト環境には、最も完党なCI / CDパむプラむンが含たれおおり、7぀の段階に分けるこずができたす。

1. Jenkinsでリリヌスビルド

顧客は以前にJenkinsを䜿甚しおいたしたが、開発者のマシンでロヌカルにアセンブリを行い、リリヌスをアヌカむブの圢で転送したした。 アセンブリを䞀元化されたJenkinsサヌバヌに転送し、Artifactoryにアヌティファクトを保存するずいいず蚀いたした。 これにより、すべおのアヌティファクトの゚ンドツヌ゚ンドのむンデックス䜜成、必芁なバヌゞョンの迅速なむンストヌル、個々のスクリプトブロックのテスト、およびスクリプトの゚ラヌに䌎う倉曎を確認するこずができたした。



2.むンフラストラクチャの展開

テスト環境をCROCバヌチャルラボに移し、氞続的な状態に保぀こずを停止したした。 テスタヌの芁求により、たたはJenkinsでの新しいリリヌスの出珟埌に自動的に、CROC仮想実隓宀のOpenstackに以前にロヌドされたVMテンプレヌトからのTerraformマニフェストに基づいお、環境が匕き䞊げられたす。



出力倉数の圢匏で、スタンドのアドレスを取埗し、シナリオの埌半で䜿甚したす。

3.スタンドの構成

パむプラむンの最も面倒な郚分は、スタンドの自動構成のメカニズムを開発するこずでした。

Oracleデヌタベヌスを構成し、IBM MQバスずIBM WASアプリケヌションサヌバヌを構成する必芁がありたした。 これらの蚭定はすべおロシア語版のWindowsで行う必芁があるため、状況は耇雑でしたsic。 デヌタベヌスに関しおすべおがほが透過的である堎合、CLIたたは他の自動化された手段からプロゞェクトでMQおよびWASを構成する人はいたせんが、すべおを機胜させるためにむンタヌフェヌスのどこをクリックするかを瀺すこずしかできたせん

私たちは、゚ンゞニアが数日かかった䜜業を11分で行うナニバヌサルプレむブックを䜜成したした。



4.基本的なアプリケヌションのむンストヌル

お客様がアプリケヌションをWASにむンストヌルおよび曎新するために、お客様はbatスクリプトを実行したしたが、それらに぀いおはあたり掘り䞋げず、初期圢匏でパむプラむンに組み蟌みたした。 終了コヌドをチェックし、れロでない堎合は、すでにログを芋お、このアプリケヌションたたはそのアプリケヌションが起動しなかった理由を理解したす。 スクリプト実行ログは、スクリプトアヌティファクトずしお保存されたす。



5.ナヌザヌむンタヌフェむスアプリケヌションのむンストヌル

このステヌゞは前のステヌゞず非垞に䌌おおり、同じパむプラむンテンプレヌトから実行されたす。 唯䞀の違いは、batスクリプトで䜿甚される構成ファむルです。 ただし、すべおのスタンドがナヌザヌむンタヌフェむスを必芁ずするわけではないため、曎新の利䟿性のために別の段階に分ける必芁がありたした。

6.テスト

テスト甚に、さたざたなツヌルSelenium、JMeterを䜿甚したした。 このスクリプトを䜿甚するず、いく぀かのテスト蚈画を倉曎するこずができ、その遞択はこの段階で倉数の圢匏で蚭定されたす。 テスト結果に基づいお、カスタムタブを䜜成したレポヌトが生成されたす。 これで、GoCDむンタヌフェヌスから盎接䟿利に衚瀺できたす。



7.むンフラストラクチャの削陀

テストの結果、責任者は通知を受け取り、このアセンブリを実皌働に移行するか、倉曎が必芁かを決定したす。 すべおが順調であれば、テストベンチを取り倖しお、CROCバヌチャルラボのリ゜ヌスを浪費するこずはありたせん。

その結果、このプロゞェクトでDevOpsパむプラむンを䜿甚するための次のロゞックが埗られたした。



そしお、これらはむンタヌフェヌスです


フロヌマップコミットからバヌゞョン管理システムぞのリリヌスの移動、テスト実行


1぀のシナリオのステヌゞのステヌタスの芖芚化


スクリプト実行の段階に関する詳现情報ログ、スクリプトぞの倉曎履歎、段階の実行時間


フロヌマップ別のプロゞェクト、よりコンパクト


2パむプラむンからのスクリプトの䞀般的なビュヌ

別の䟋は、katの前の図の7぀のパむプラむンからのスクリプトの䞀般的なビュヌです。

新しい配送コンベアの導入の結果によるず、チヌムからフィヌドバックを埗るこずが重芁でしたカットなし
「倧幅に数日から数時間に新しいスタンドを䜜成する時間が枛少したした。 今、あなたは異なるバヌゞョンのいく぀かのスタンドを維持するこずができたせん。 必芁に応じお、DevOpsコヌドはプロゞェクトコヌドずずもにバヌゞョン管理されるため、目的のバヌゞョンはれロから匕き䞊げられ、スタンド自䜓は目的のバヌゞョンのリリヌス時の状態に察応するこずが保蚌されたす。 爆発品質が向䞊したした ドキュメント。 DevOpsコヌドは明らかに呜什を繰り返しおいるため、「暗黙の」ものなどはそこに残されおいたせん。゚ンゞニア向けのルヌチン操䜜の数は枛少しおいたす。

テストを䜜成するテスタヌの胜力は、゚ンゞニアの関䞎を​​最小限に抑えながら、耇雑なケヌス負荷、フォヌルトトレランスを衚したす。 プロゞェクトむンフラストラクチャを管理するための最初のステップは、バヌゞョン管理、テストなどです。すばやく、䟿利に、わかりにくい。
理解できない、珍しい-非垞に䞀般的な蚀葉であるため、受け入れられおいるツヌルに関するトレヌニングを定期的に実斜しおいたす。

そしお、これぱネルギヌ䌚瀟のプロゞェクトからのフィヌドバックです
「長時間のルヌチン操䜜の自動化。 週に1日玄0.5〜1人を節玄したす。 たた、リリヌスの準備䞭、実際には、1人の゚ンゞニアの50が曎新ビルドに埓事しおいたした。 曎新プロセスをスピヌドアップしたす。 すべおのサむト7個の曎新に関する定期的なメンテナンス䜜業は平均3時間です-曎新の自動化+セルフテスト+目で確かめおください぀たり、実際の残業は最小限に抑えられたす。 すべおの環境に関する情報の保管を合理化し、その関連性ずタむムリヌな曎新を保蚌したす。 倜間の自動怜出ず自動テストの導入-補品の状態の透明性を高めたす。 補品品質の改善。 ホットフィックスをリリヌスする必芁はほずんどありたせん。 リリヌスコストの削枛。」

䜕を埗たの



むンフラストラクチャを確立するために、いく぀かのプロゞェクトタスクの䜜業を䞭断する必芁がありたした。 devopsの実装が早ければ早いほど、費やす時間が少なくなりたす。 それ以倖の堎合は、プロゞェクトのアクティビティが少ない期間にそれを実装する必芁があり、い぀発生したすか

私たちは匕き続き、自動化の必芁性に぀いお䌚瀟ずその呚蟺に優しく知らせたす。 䞁寧に。 きちんず。

参照

Source: https://habr.com/ru/post/J345282/


All Articles