DevOpsの進化

この蚘事は、開発ず管理の進化、およびすべおの党䜓像における自分の䜍眮の定矩に専念したす。 この蚘事はMarc Hornbeekのスラむドに觊発されおいたすが、それらには間接的な関係がありたす。 幅広いhabrozhitelops、virgins、devops甚。







たず、お互いを知るための小さな背景。 䞀方で、バックストヌリヌは通垞非垞に退屈なものであるこずを知っおいたす。著者が䞀般にこの䞻題に぀いお話す暩利があるず他にどのように信じたすか







1幎前、2003幎に、私は最初に管理者ずしおの仕事を埗たした。 しばらくの間、postfix-dovecot-spamassassin-itpのむンストヌル埌、VPNの手動パッチやカヌネルバルクヘッド、倜間譊戒などの問題が飲み蟌たれたした。 2011幎のどこかで、私はAlizarの投皿の䞋にあるコメントのサむズの別のbashスクリプトを螏み鳎らし、呚りを芋回し、すべおがすべおの人のために機胜しおいるこずに驚いた。 これらの巚人の努力なし。 「か぀お生産䞭」が私たちにやっお来たしたが、今、あなたは本圓にそれでお金をmakeけおいたすか







さお、同様の問題が発生した堎合は、 DevOopsのような䌚議に行っお、すぐに把握したす。珟圚の傟向ずチヌムを匕き立おる方法です。 珟圚、぀ながりがあり、Facebookには5000人のIT友人がいたす。 その埌、これは起こりたせんでした私は珟圚の仕事を蟞め最終的に゜リティアのスペシャリストにならないために、必死にJavaを孊び始め、最終的に完党なjavistaにならなければなりたせんでした 。







それは䜕のためですか 特定の管理文化、䞀般的なプログラミングず開発の文化、ツヌルのセットぞの䟝存が冗談ではないこずを明確に瀺したいず思いたす。 これは生き残りの問題です。







順応するこずができなかったすべおの銎染みのある男たちは、今では狭い管理領域でクヌルな専門家になっおいるか、たったく知られおいない。 たぶん、圌らはただ生きおいたせん。







倩䜓物理孊者のカヌル・セヌガンがか぀お蚀ったように、







絶滅がルヌルであり、生存は䟋倖です。









私たちの完党に文明化された䞖界には、独自の進化を䌎う特別な管理ず開発のゞャングルがありたす。







私たちが孊校から思い出すように、自然進化は適応のプロセスに沿っお移動したす自然な動員、さらにいく぀かの远加の理由もありたす遺䌝子ドリフト、遺䌝子フロヌ、突然倉異。







私たちの管理者の進化は、非垞に具䜓的なビゞネス䞊の関心に沿っお動きたす。 非垞に特定の䞀連の倉曎に適応できない堎合、䞊叞があなたを食べたす。







すぐに適応するために必芁なものは次のずおりです。









これは長いリストのほんの始たりに過ぎたせん。たず、これで十分です。







実行凍結をヒット



これらの各パラメヌタヌに぀いお、非垞に具䜓的なプロセス瀟内を䜜成したり、少なくずもキャリアを倉曎したりできたす。







今、私たちは、䞊叞が私たちに食べたいものを望んでいるこずを人間の蚀葉で説明しようず、 でたらめなビンゎをしたす。







私たちは負けお凍結したすが、逃げるオプションを考慮したせん最埌の絊料のために冷蔵庫から箱を賌入し、暖房本管で生掻したす。













柔軟性



柔軟性ずは蚀いにくいですが、その欠劂は明らかです。 これは、䌚瀟のむノベヌションが消え、人々がその堎で腐敗し始め埐々に管理者から゜リティアゲヌムのスペシャリストに倉わる、3か月ごずに䌚瀟の補品がうたくリリヌスされるずきです。







䞊叞は私たちから䜕を芋たいですか たずえば、補品が毎日正確に15.00で展開し始めたずしたす。 たたは、顧客がサヌビスをより頻繁に䜿甚するようになりたしたむンストヌル、構成、および展開が非垞に高速であるため。







フリヌズ  ずころで、補品を展開するこずの意味を理解しおいたすか コン゜ヌルで100500のコマ​​ンドを実行し、曎新されたドキュメントなどを読む必芁がありたす。 もっず働けるだけです。 もっずもっず 管理者は垞に雚の日に残っおいる個人的なリ゜ヌスの䞀郚を持ちそうでない堎合、これは悪い管理者です、この郚分は革呜の炉に入りたす。







Bey 新しいビルドをより速くレむアりトするための非垞に具䜓的な方法ずツヌルがありたす。 最も単玔で最も論理的なのは、完党に再珟可胜なビルドです。これは、以前に開発者自身によっお䜕床もテストされおいるため、新しいバヌゞョンをリリヌスするには、同じこずを繰り返すだけで十分です。 そしお、それは「すべお同じ」であるため、自動化できたす。 スクリプトずドッカヌを手に-そしお行きたした:-)







「ヒット」戊略に埓った適応ずは、最新のCI / CDシステムおよびその他のdevopsツヌルの開発における研究、䜿甚、参加です。







有効性



補品を展開し、すぐにバラバラになったずきおそらく起動しなくおも、䜕床も䜕床も修理しお修正する必芁がありたす-これは非垞に効率が悪いです。







䞊叞は、䞀床行われたこずを確認したい-毎回やり盎す必芁はありたせん。 特定のアクションの䜜成には盎感的な時間枠がかかりたす。たずえば、起動スクリプトは5時間ではなく5分で䜜成されたす。







フリヌズ Bashのような長幎にわたっお実蚌された暙準的なツヌルがあり、その知識は鏡のように磚くこずができたす。 暙準タスクには、Confluenceに関するスニペットたたは指瀺がありたす。 これらのツヌルのスキルを向䞊させるために、匕き続き以前ず同じこずを行う必芁がありたす。







Bey それどころか、これらすべおの問題を解決するツヌルを䜿甚できたす。 たずえば、手始めにSystemdを䜿甚するず、20ペヌゞのbashヌヌドルのすべおが突然数行にカヌルする可胜性がありたす。 そしお、はい、すでにRHEL6を投げたす。 本圓にスクリプトが必芁な堎合は、Pythonで蚘述できたす。Diveinto Python、PyCharm、およびAnsibleが存圚するため、孊生でもPythonのクラスタヌ管理にアクセスできたす。 ただし、Bashはただ必芁ですが、別の方法で必芁です。







「ヒット」戊略に埓った適応ずは、プログラミングの研究ず日垞業務の最倧限の自動化です。 プログラミングできないもの-この゜リュヌションの実装がほずんど無料であるずいう条件でSystemdの堎合のように、既成の゜リュヌションをプログラミングしお取埗しないこずをお勧めしたす。







安定性



私たちの囜では 、あなたが私が意味するこずを理解すれば、 安定性は高く評䟡されたす:-)私たちにずっお、管理者の安定性ず圌が提䟛するサヌビスの䞡方が重芁です。







たずえば、フリヌランスに取り組んでいたす。 䞊叞は、私たちが毎回タスクを実行し、毎回実行するこずを望んでいたす。 ぀たり、今日は非垞に重芁なサヌバヌをセットアップしおボヌナスを埗るこずができず、明日は䜕もできずに地平線に行くこずができたせん。 プログラマヌだけがこれを買う䜙裕がある:-)







私は特に幹郚にむンタビュヌしたした。圌らのほずんどは、安定性を最優先事項ず考えおいたす。時々奇跡を起こすよりも、垞に悪い結果を埗る方が良いです。







同じこずは、圓瀟が提䟛する自動化サヌビスにも圓おはたりたす。 サヌビスは、理解可胜な問題のために、理解可胜な頻床で分類する必芁がありたす。 たずえば、JavaがRAM党䜓を消費し、1日1回、0000に定期的に実行する堎合-OK、Javaであり、誰もが慣れおいたす。 しかし、月に䞀床完党に機胜するサヌビスで解決できない問題が発生した堎合、それは灜害です。







フリヌズ 楜噚の長寿呜を期埅できたす。 BIND9が発生しおいない䜕かが発生するこずはほずんどありたせん。 すべおがすでに発明されおおり、すべおがすでにむンタヌネット䞊のどこかにあるか、芪友がこれを理解しおいたす。 最埌に、BINDの゜ヌスを読んで理解するのに十分な時間をかけおきたした。







Bey 珟代のITは垞に新しいものを生み出しおいたす。 たずえば、マむクロサヌビス。 耇雑なトポロゞのデヌタ゜ヌスずしおのマむクロサヌビス。 トリッキヌなアヌキテクチャを備えた非リレヌショナルデヌタベヌス。 これをどのように解決し、どのようにデバッグしたすか 既補の技術はどこで入手できたすか これらはすべお䞍明確です。 代わりに、急いで自分で技術の䜜成を開始できたす たずえば、マむクロサヌビスでのサヌビス怜出には、Netflixオヌプン゜ヌススタックを利甚できたす。 Netflix Eurekaの機胜が䞍足しおいたすか バグが芋぀かりたしたか はい、関係ありたせん。 これらはすべおJavaで曞かれおおり、ナヌレカの゜ヌスをい぀でも入手しお、特定の状況で䌚瀟が必芁ずするずおりにダりンロヌドできたす。 はい、このためにはJavaを十分に知る必芁がありたすが、これはたったく異なる話です-管理者がプログラミングを孊ぶ方法の話です。







「ヒット」戊略に埓った適応は、自動および半自動応答ツヌル、ならびに自動蚺断および監芖ツヌルの研究です。 たったく壊れないこずは安定しおいたせんが、既知の速床で絶えず壊れお修理されたす。







安党性



通垞、私たちは譊備員を助けるか、あるいは圌らでさえあるので、ここではすべおが明確です。 人々は単にセキュリティを求めおいたす。













フリヌズ 長幎にわたっお既存の実瞟のある゜リュヌションを䜿甚したす。 補品配送プロセス党䜓を手ず目で確認しおください。 配信プロセスでは、攻撃者が攻撃ベクトルでさえ理解するのが非垞に困難になるように、できるだけ倚くのセキュリティずあいたいなセキュリティを䜿甚したす。







Bey 残念なこずに、䜎レベルに関しおは、すべおが非垞に悲しいのは新しいテクノロゞヌのおかげです。 ひざの䞊で適切な暗号を䜜成しお曞くこずはできたせん。 おそらくコメンテヌタヌは、珟圚䜿甚する必芁のある最新のセキュリティテクノロゞヌを教えおくれるでしょう。







高レベルに関しおは、すべおのプロセスの完党自動化ず透過性を䜿甚するず䟿利です。 管理者は、最も重芁な状況でのみ自動配信プロセスに介入する必芁がありたす。 通垞、配信はPython、Ansibleなどによっお完党に管理される必芁がありたす。 管理者は、コヌドを蚘述するか、既存のコヌドのパラメヌタヌを調敎する必芁がありたす。 パスワヌドの入力などの小さなこずでも、すべお枛らすか削陀する必芁があるこずに泚意しおください。







「ヒット」戊略に埓った適応は、セキュリティ曎新プログラムの簡単な実装を含む、完党に自動化されたCI / CDの導入です。







生掻の質



あなたは、新しい技術が単に新しいずいう理由だけで良いずいうトピックに぀いお長い間議論するこずができたす。 個人的に、私はこれでより倚くのお金を皌ぎ、自分でそれを食べさせない方法を疑問に思っおいたす。







これから、䞻芁な進化論的質問どの戊略を遞択するか、凍結するか、打ち負かすか







垞に叀い安定した゜リュヌションを遞択する人を想像しおください。 おそらく、これは想像を絶する経隓ず経隓を持぀ある皮の人であり、新しい状況から小さな既補のツヌルセットを䜿甚しお脱出できるほどの優れた知性を備えおいたす。 それは、Emaxの助けを借りお星の動きを制埡するRichard Stallmanのような神のような生き物でなければなりたせん。













しかし、ここに問題がありたす。誰もがストヌルマンになるこずができるわけではありたせん。







そのような人をよく芋たしたか 䜕䞖玀にもわたっおネットワヌクテクノロゞヌの研究に時間を費やしたいですか







たあ、すべおの時間の䞻な質問。 お金。 お金は、珟圚流行しおいるものに察しお支払われたす。 Puppetからの仲間のレポヌトを芋るず、トレンドは今では...













突然、トレンドはDevOpsになりたした。 良いニュヌスです。暖房本管の近くのボックスに䜏む必芁はありたせん。 3幎間で10の成長は非垞にクヌルです。







簡単に蚀えば。 Pythonを習埗するだけで、絊料にはフィグ以倖のボヌナスが付䞎されたす。 あなたのお尻を匕き裂き、あなたの䌚瀟で本栌的なdevopsプロセスの構築に参加する力があるなら、キャビアでブヌタヌを塗り始めるこずができたす。 これはビゞネスです







開発モデル



ブヌタヌがあなたに向かっお移動する方法をより明確に芳察するには、でたらめビンゎから単語を孊ぶよりも明確なモデルを持っおいる必芁がありたす。 モデルがなければ、あなたは生き残れたせん、圌らはそれを食べるでしょう、先生。







フレヌムワヌクずしお、 Capability Maturity Model CMMを䜿甚しお、珟実に少し適応するこずができたす。 このモデルは、プロゞェクトが猿から人に倉わる、いく぀かのレベルの開発を想定しおいたす。







オリゞナルでは、このように芋えたす 説明はりィキペディアから取埗され 、私はロシア語のステヌゞ名の翻蚳もあたり奜きではありたせん









このリストを実際に再確認したしょう。







1.゚ントリヌレベル、カオス、克服



すべおはクヌルなスタヌトアップから始たりたす。

私たちの堎合、スタヌトアップ自䜓はコンピュヌタヌの䜜成でした。







゚ニグマりェアラブルドむツ暗号マシン













1939 -Alan Turingが゚ニグマコヌド「Bombe」を壊しおスレッドに䟵入













別のドむツの暗号化マシン-ロヌレンツ













1943幎 -わずか9か月で、トミヌフラワヌズず圌の仲間は、「コロッサス」をロヌレンツコヌドで動䜜させる













1946-匟道テヌブルずENIAC-最初の汎甚蚈算機の1぀













1954-最埌に、量産に入る最初のコンピュヌタヌ、IBM 650













玠晎らしい幎であり、アランチュヌリングのような著名なハッカヌに満ちおいたす。







䞀方、珟代の開発者の芳点から芋るず、この段階はどのように行われるべきではないかの良い䟋です。









2.機械化









写真は、アポロプロゞェクトの䞻任開発者であるマヌガレットハミルトンです。 それはプログラムの゜ヌスコヌドの隣にある_私が手動で曞いた_。その結果、人々は月を蚪れた。







60幎代から、肉䜓劎働の自動化プロセスが始たりたした。これは、倧量の秘密のアドホックな知識を正匏に蚘録し説明する詊みから始たりたした。 圢匏化された知識は暙準に倉わり、暙準による開発により、数癟䞇行のコヌドを含むプロゞェクトを䜜成できたす。

暙準化だけでなく、これらの暙準に関するテスト可胜な堎合は自動にも倚くの泚意が払われたす。









3.ツヌルず文化のバリ゚ヌション



乱流の実隓で90幎代を飛ばすず、私たちはすぐにほが珟圚にゞャンプしたす。そしお、今回の柔軟な方法論の工孊のピヌクが芋えたす。









急速な開発の間に、新しい゜フトりェアを導入するだけでは䞍十分であり、生産プロセスをアップグレヌドする必芁があるこずも完党に明らかになりたした。







ツヌルに぀いおは、膚倧な数のツヌルから特定のスヌプがありたした。 開始する最も確実な方法は、これらすべおのツヌルを孊習しお適甚するこずです。







タスクの耇雑さを軜枛するために、ツヌルを条件に応じおグルヌプに分けるこずができたす。









倚くの堎合、この期間䞭の「開発者」の導入は、できるだけ倚くの新しい開発方法論、人気のあるナヌティリティを収集し、1぀のプロゞェクト内で起動し、スムヌゞヌを培底的に芆い、どうにかしおそれず共存しようずするこずでした。 このようなアプロヌチは、他のプロダクションで混乱を招く可胜性がありたすが、幞運なこずに、䜿甚するすべおのツヌルは、人間の劎力を最小限に抑えお順序を䞊げお動䜜するように蚭蚈されおいるため、これらすべおを盎接制埡できたす。







4.暙準化



/私たちはここにいたす/







2017幎、Devopsが䞻流になりたした。 Puppetの調査によるず、Devopsの導入の量ず質は飛躍的に増加しおいたす。







完党な商品化の条件では、いく぀かの実蚌枈みの戊略を順守する必芁がありたす。 たずえば、迫り来るテクノロゞヌスタックずビゞネスラむンは、非垞に具䜓的なラむンの圢で䜜成し、これらのスタックに名前を付ける必芁がありたす。







どのような指瀺がすぐに思い浮かびたすか







たず、暙準の芁玠を含む特定の「DevOpsツヌルチェヌン」がありたす。DEV環境コヌドリポゞトリ、そのタむプチェックで始たり、集䞭型アセンブリずリポゞトリ内のストレヌゞJenkins、Artifactory、構成Ansible、 Chef、Puppetおよび最終展開Docker、クラりドプラットフォヌム。







新しい埓業員を雇甚する堎合たたは自分の知識で䜕を匕き出す必芁があるかを確認する堎合、これらの暙準クラスのツヌルはすべおそこに存圚し、それらを完党自動配信の明確な連続チェヌンに構築する機胜が必芁です。 ツヌルはチヌムごずに異なる堎合がありたすが、ブロックは基本的に倉曎されおいたせん。







第二に、 トレヌニング 。 チヌム内たたはDevOopsなどの倖郚䌚議内で蚈画的に知識を䌝達し、厳密に暙準化された認定トレヌニングで終わるものであれば、䜕でも構いたせん 。 この分野で掻動しおいる組織はすでに存圚したす。今すぐ連絡しおください。 たずえば、DevOps InstituteやDASADevops Agile Skills Associationなどの䌁業が䞖界的に代衚されおいたす。 䌚議に参加したい堎合たたはタヌンキヌベヌスで開催したい堎合-ロシアにはこのためのJUG.ruチヌムがありたす。







第䞉に、これらは正匏な暙準です。 「 P2675-DevOps-アプリケヌションのビルド、パッケヌゞ、展開を含む信頌性の高い安党なシステムを構築するための暙準」はすでに存圚しおいたす。 䞀般的な理解は、CI / CDおよびDevopsに関するETSI TST006レポヌトず比范できたす。 囜際的なむニシアチブに煩わされたくない堎合でも、組織内のチヌム甚に独自の暙準を䜜成し、明確で簡単にアクセスできる方法Confluenceなどで公開する䟡倀がありたす。







ご泚意 なぜこのような明確な郚門ず名前が必芁なのですか たずえば、補品たたは原則に明確な名前が付けられおいる堎合、人は最初にその名前を信じおから、この信念の論理的な説明を怜玢するずいう玔粋に心理的な珟象がありたす。 たずえば、倚くの人は、「開発者」の䞀般抂念がゞェンキンスにしっかりず固執しおいるこずを怒らせ、その非合理性に腹を立おおいたす。 䞀方、「脱退の基盀ずしおのゞェンキンス」は、私たちの掻動に信頌を築くための良い出発点です。 ゞェンキンスは具䜓的で物質的なものであり、100倍の自信を正圓化した。 倚くの人にずっお2017幎には最高の技術的解決策のようには芋えないずいう事実にもかかわらず、それは自分の興味を抌し進めるための最高の心理的解決策です。 ここでは、補品自䜓や䌚瀟の特定の名前JenkinsやAnsibleなどではなく、チヌム党䜓のニヌズたずえば、倉曎を迅速に統合する機胜に集䞭するこずが重芁です。 ツヌルだけでなく、トレヌニングプログラムや開発文化の暙準芁玠にも同じこずが圓おはたりたす。







優れた暙準プラットフォヌムを構築したら、明るい未来に進むこずができたす。







5.最適化



最適化は私たちの未来です。 そのため、サンドむッチをすぐにオむルで塗りたす。 未来に぀いお話すのは難しいので、最も䞀般的な傟向の抂芁を説明したす。







暙準化の前の段階で、開発者は完党に自動化されたCI / CDを求めたしたが、それでもすべおのリスクを手動で解決したした。 倧たかに蚀えば、配信がバラバラになったりサヌビスが萜ちたりする堎合、SMSたたは察応するサヌビスの管理者ぞの手玙、SREずdevopsの増加などが考えられたす。







おそらく、非垞に近い将来、そのような䜜業は、ほずんどの問題状況を解決するむンテリゞェントシステムによっお倧幅に最適化されるでしょう。 人は、最も耇雑な10の゚ラヌのみを手動で解決したす。 これは、Docker、マむクロサヌビス、コヌドずしおの構成、およびその他の十分に自動管理されたテクノロゞヌの広範な採甚により可胜になりたした。 このモデルの担圓者は、問題に察する特定の解決策をプログラムコヌドの圢匏、たたはコヌドずしおの構成で蚘述し、むンテリゞェントシステムは必芁に応じおこれらの解決策を自動的に適甚したす。







絶察にすべおのシステムが連続的になりたす*



。 継続的な統合、継続的なテスト、継続的な監芖、継続的な配信ず展開。 展開は䞻にあらゆる皮類の柔軟なプラットフォヌムに適甚され、 スノヌフレヌクサヌバヌの䜜成は 、銀行などの最も叀兞的な䌁業でも最終的にバックグラりンドに埌退したす 。







それに応じお、開発ず管理の党䜓的な文化が倉わりたす。 経営陣は、1日あたりのリリヌス数、安定性MTR、品質MBTFなどの指暙を奜み、適甚するこずを孊びたす。







゜フトりェア蚭蚈の原則は倉わり぀぀あり、暙準化された前の段階で䜿甚する際の利䟿性は、技術ず行列のスタックが゜フトりェアのアヌキテクチャず蚭蚈に䞍可欠な基盀ずなりたす。 たずえば、最新の補品では、完党自動たたは半自動管理を実行するためのむンタヌフェむスを垞に明確に怜蚎する必芁がありたす。遞択したアヌキテクチャコンセプトでこれが䞍可胜な堎合、アヌキテクチャコンセプトはゎミ箱に送られたす。







そしお、「devops」たたは「devopsスキルを備えた開発者」、たたは「devopsスキルを備えた管理者」などの投皿があった堎合、芁因の合蚈によっお、「プロセス自動化科孊者」などのより䞀般的か぀特定の専門分野の出珟を怜蚎できたす。







これはすべお、負荷が倧きすぎおその堎でフリヌズし、90幎代初期のテクノロゞヌのフレヌムワヌク内で問題を解決しようずしたせん。 私たちは勇敢に戊うこずができ、これらすべおの新しいシステムを管理するこずをある意味ではプログラムする孊び、ゲヌムの倉化するルヌルに私たちの行動を適応させるこずができたす。 この投皿のすべおの読者が朝たで、そしお私たちの偉倧な明るい未来たで生き、そしお進化の将来の段階に぀いお議論するこずを願っおいたす。








All Articles