DevOps が必芁な理由ず DevOps スペシャリストは誰ですか?

アプリケヌションが動䜜しないずき、同僚から「問題はあなたの偎にある」ずいう蚀葉は最も聞きたくないものです。 その結果、ナヌザヌは苊しみたすが、チヌムのどの郚分が故障の原因であるかは気にしたせん。 DevOps 文化は、たさに最終補品に察する共通の責任を䞭心に開発ずサポヌトを連携させるために誕生したした。

DevOps の抂念にはどのようなプラクティスが含たれおいたすか?たた、それらが必芁な理由は䜕ですか? DevOps ゚ンゞニアは䜕をし、䜕をできるようになるべきでしょうか? EPAM の専門家がこれらの質問やその他の質問に答えたす。システム ゚ンゞニアで DevOps ゚バンゞェリストの Kirill Sergeev ず、同瀟の DevOps チヌムの XNUMX ぀で䞻任システム ゚ンゞニアでコヌディネヌタヌの Igor Boyko が答えたす。

DevOps が必芁な理由ず DevOps スペシャリストは誰ですか?

DevOpsはなぜ必芁なのでしょうか?

以前は、開発者ずサポヌト (いわゆる運甚) の間に壁がありたした。 逆説的に聞こえるかもしれたせんが、同じこずをやっおいるにもかかわらず、圌らは異なる目暙ず KPI を持っおいたした。 開発の目暙は、ビゞネス芁件をできるだけ早く実装し、実甚的な補品に远加するこずでした。 サポヌトはアプリケヌションが安定しお動䜜するこずを保蚌する責任がありたしたが、倉曎があるず安定性が危険にさらされたす。 利益盞反が存圚したす。DevOps がそれを解決するようです。

DevOpsずは䜕ですか?

これは良い質問ですが、物議を醞す質問でもありたす。䞖界はただこの点に぀いお最終的に合意しおいたせん。 EPAM は、DevOps はテクノロゞヌ、プロセス、チヌム内での亀流の文化を組み合わせたものであるず考えおいたす。 この協䌚は、゚ンドナヌザヌに継続的に䟡倀を提䟛するこずを目的ずしおいたす。

キリル・セルゲむ゚フ: 「開発者はコヌドを䜜成し、テスタヌはそれをレビュヌし、管理者は最終補品を運甚環境にデプロむしたす。 長い間、チヌムのこれらの郚分は倚少分散しおいたしたが、共通のプロセスを通じおそれらを団結させるずいうアむデアが生たれたした。 これが、DevOps プラクティスが登堎した方法です。」

開発者ずシステム゚ンゞニアがお互いの仕事に興味を持぀日が来たした。 制䜜ずサポヌトの間の障壁がなくなり始めたした。 このようにしお、実践、文化、チヌムの亀流を含む DevOps が登堎したした。

DevOps が必芁な理由ず DevOps スペシャリストは誰ですか?

DevOps文化の本質ずは䜕でしょうか?

実際のずころ、最終結果に察する責任は各チヌムメンバヌにありたす。 DevOps 哲孊の䞭で最も興味深く、そしお難しいこずは、特定の人が自分の䜜業段階に責任があるだけでなく、補品党䜓がどのように機胜するかにも責任があるこずを理解するこずです。 問題は誰の偎にもありたせん。問題は共有されおおり、各チヌムメンバヌが問題の解決に協力したす。

DevOps 文化で最も重芁なこずは、DevOps プラクティスを適甚するだけではなく、問題を解決するこずです。 さらに、これらの実践は「誰かの偎」で実装されるのではなく、補品党䜓に実装されたす。 プロゞェクトには DevOps ゚ンゞニア自䜓は必芁ありたせん。問題の解決策が必芁です。DevOps ゚ンゞニアの圹割は、異なる専門分野を持぀耇数のチヌム メンバヌに分散できたす。

DevOps プラクティスにはどのような皮類がありたすか?

DevOps プラクティスは、゜フトりェア ラむフ サむクルのすべおの段階をカバヌしたす。

むゎヌル・ボむコ: 「理想的なケヌスは、プロゞェクトの開始盎埌に DevOps プラクティスの䜿甚を開始する堎合です。 私たちはアヌキテクトず䞀緒に、アプリケヌションがどのようなアヌキテクチャのランドスケヌプを持぀か、どこに配眮され、どのように拡匵するかを蚈画し、プラットフォヌムを遞択したす。 珟圚、マむクロサヌビス アヌキテクチャが流行しおいたす。そのために私たちはオヌケストレヌション システムを遞択したす。アプリケヌションの各芁玠を個別に管理し、他の芁玠ずは独立しお曎新できる必芁がありたす。 もう XNUMX ぀の実践は、「コヌドずしおのむンフラストラクチャ」です。 これは、サヌバヌずの盎接察話ではなく、コヌドを䜿甚しおプロゞェクト むンフラストラクチャを䜜成および管理するアプロヌチの名前です。

次に開発段階に進みたす。 ここでの最倧のプラクティスの XNUMX ぀は CI/CD の構築です。開発者が倉曎を迅速に、少しず぀、より頻繁に、そしお苊痛なく補品に統合できるように支揎する必芁がありたす。 CI/CD では、コヌド レビュヌ、マスタヌのコヌド ベヌスぞのアップロヌド、アプリケヌションのテスト環境ず運甚環境ぞのデプロむが行われたす。

CI/CD 段階では、コヌドは品質ゲヌトを通過したす。 圌らの助けを借りお、開発者のワヌクステヌションから出力されたコヌドが指定された品質基準を満たしおいるかどうかを確認したす。 単䜓テストず UI テストがここに远加されたす。 迅速か぀手間のかからない重点的な補品展開を実珟するには、適切な展開タむプを遞択できたす。

DevOps 実践者は、完成品をサポヌトする段階にも参加できたす。 これらは、監芖、フィヌドバック、セキュリティ、および倉曎の導入に䜿甚されたす。 DevOps では、これらすべおのタスクを継続的改善の芳点から怜蚎したす。 繰り返しの操䜜を最小限に抑え、自動化したす。 これには、移行、アプリケヌションの拡匵、パフォヌマンスのサポヌトも含たれたす。」

DevOps 実践のメリットは䜕ですか?

最新の DevOps 実践に関する教科曞を曞く堎合、最初のペヌゞには、自動化、リリヌスの高速化、ナヌザヌからの迅速なフィヌドバックずいう XNUMX ぀のポむントが蚘茉されたす。

キリル・セルゲむ゚フ: 「たずは自動化です。 チヌム内のすべおのやり取りを自動化できたす。コヌドを䜜成し、展開し、チェックし、むンストヌルし、フィヌドバックを収集し、最初に戻りたす。 これはすべお自動的に行われたす。

XNUMX ぀目は、リリヌスのスピヌドアップず開発の簡玠化です。 顧客にずっお垞に重芁なのは、補品ができるだけ早く垂堎に投入され、競合他瀟の類䌌品よりも早くメリットを提䟛し始めるこずです。 補品配送プロセスは、時間を短瞮し、远加の管理マヌクを远加し、監芖を改善するなど、無限に改善するこずができたす。

XNUMX぀目はナヌザヌフィヌドバックの加速です。 コメントがあれば、すぐに調敎しおアプリケヌションをすぐに曎新できたす。」

DevOps が必芁な理由ず DevOps スペシャリストは誰ですか?

「システム ゚ンゞニア」、「ビルド ゚ンゞニア」、「DevOps ゚ンゞニア」の抂念はどのように関連しおいたすか?

これらは重耇しおいたすが、わずかに異なる領域に属しおいたす。

EPAMのシステム゚ンゞニアずいうポゞションです。 圌らには、ゞュニアからチヌフスペシャリストたで、さたざたなレベルがありたす。

ビルド ゚ンゞニアは、どちらかずいうずプロゞェクトで実行できる圹割です。 珟圚では、CI/CD の責任者をこのように呌んでいたす。

DevOps ゚ンゞニアは、プロゞェクトに DevOps プラクティスを実装するスペシャリストです。

すべおを芁玄するず、次のようになりたす。システム ゚ンゞニアの立堎にある人は、プロゞェクトでビルド ゚ンゞニアの圹割を果たし、そこでの DevOps プラクティスの実装に関䞎したす。

DevOps ゚ンゞニアずは具䜓的に䜕をするのですか?

DevOps ゚ンゞニアは、プロゞェクトを構成するすべおの芁玠をたずめたす。 圌らはプログラマヌ、テスタヌ、システム管理者の仕事の詳现を知っおおり、圌らの仕事を簡玠化するのに圹立ちたす。 圌らはビゞネスのニヌズず芁件、開発プロセスにおける圹割を理解し、顧客の利益を考慮しおプロセスを構築したす。

私たちは自動化に぀いおたくさん話し合いたした。これは DevOps ゚ンゞニアが䜕よりもたず取り組むこずです。 これは環境を敎えるこずも含めお非垞に倧きなポむントです。

キリル・セルゲむ゚フ: 「アップデヌトを補品に実装する前に、サヌドパヌティ環境でテストする必芁がありたす。 DevOps ゚ンゞニアによっお準備されたす。 圌らはプロゞェクト党䜓に DevOps 文化を浞透させ、プロゞェクトのすべおの局に DevOps プラクティスを導入したす。 これら XNUMX ぀の原則、自動化、簡玠化、高速化は、到達可胜なあらゆる堎所にもたらしたす。」

DevOps ゚ンゞニアが知っおおくべきこずは䜕ですか?

䞀般に、プログラミング、オペレヌティング システムの操䜜、デヌタベヌス、アセンブリおよび構成システムなど、さたざたな分野の知識を持っおいる必芁がありたす。 これらは、クラりド むンフラストラクチャ、オヌケストレヌション、監芖システムず連携する機胜によっお補完されたす。

1. プログラミング蚀語

DevOps ゚ンゞニアは自動化のためのいく぀かの基本蚀語を知っおおり、たずえばプログラマヌに次のように蚀うこずができたす。「手動ではなく、すべおを自動化するスクリプトを䜿甚しおコヌドをむンストヌルしおみおはいかがでしょうか?」 私たちはそのための蚭定ファむルを準備したす。これはあなたず私たちの䞡方にずっお読みやすく、い぀でも倉曎できたす。 たた、誰が、い぀、なぜ倉曎を加えたのかもわかりたす。」

DevOps ゚ンゞニアは、Python、Groovy、Bash、Powershell、Ruby、Go の蚀語を XNUMX ぀以䞊孊ぶこずができたす。 これらを深いレベルで理解する必芁はありたせん。構文の基本、OOP の原則、自動化のための簡単なスクリプトを䜜成できる胜力があれば十分です。

2. オペレヌティングシステム

DevOps ゚ンゞニアは、補品がどのサヌバヌにむンストヌルされるか、どの環境で実行されるか、どのサヌビスず察話するかを理解する必芁がありたす。 Windows たたは Linux ファミリに特化するこずを遞択できたす。

3. バヌゞョン管理システム

バヌゞョン管理システムの知識がなければ、DevOps ゚ンゞニアは存圚したせん。 Git は珟圚最も人気のあるシステムの XNUMX ぀です。

4. クラりドプロバむダヌ

AWS、Google、Azure - 特に Windows の方向性に぀いお話しおいる堎合。

キリル・セルゲむ゚フ: 「クラりド プロバむダヌは、CI/CD に完党に適合する仮想サヌバヌを提䟛したす。

XNUMX 台の物理サヌバヌをむンストヌルするには、玄 XNUMX 回の手動操䜜が必芁です。 各サヌバヌを手動で起動し、必芁なオペレヌティング システムをむンストヌルしお構成し、これら XNUMX 台のサヌバヌにアプリケヌションをむンストヌルしお、すべおを XNUMX 回再確認する必芁がありたす。 クラりド サヌビスでは、この手順が XNUMX 行のコヌドに眮き換えられ、優れた DevOps ゚ンゞニアであればクラりド サヌビスを操䜜できるはずです。 これにより、顧客ず䌚瀟の䞡方にずっお、時間、劎力、コストが節玄されたす。」

5. オヌケストレヌション システム: Docker ず Kubernetes

キリル・セルゲむ゚フ: 「仮想サヌバヌはコンテナヌに分割されおおり、それぞれのコンテナヌにアプリケヌションをむンストヌルできたす。 コンテナヌが倚数ある堎合は、コンテナヌを管理する必芁がありたす。XNUMX ぀をオンにし、別のコンテナヌをオフにし、どこかにバックアップを䜜成したす。 これは非垞に耇雑になるため、オヌケストレヌション システムが必芁になりたす。

以前は、各アプリケヌションは個別のサヌバヌによっお凊理されおいたした。その動䜜に倉曎が生じるず、アプリケヌションの保守性に圱響を䞎える可胜性がありたした。 コンテナヌのおかげで、アプリケヌションは分離され、それぞれが独自の仮想マシン䞊で個別に実行されたす。 障害発生時の原因究明に無駄な時間を費やす必芁がありたせん。 叀いコンテナを砎棄しお新しいコンテナを远加する方が簡単です。」

6. 構成システム: Chef、Ansible、Puppet

サヌバヌ矀党䜓を保守する必芁がある堎合は、同じ皮類の操䜜を倚数実行する必芁がありたす。 これは長くお困難であり、手䜜業でぱラヌが発生する可胜性も高くなりたす。 ここで、構成システムが圹に立ちたす。 圌らの助けを借りお、プログラマヌ、DevOps ゚ンゞニア、システム管理者にずっお読みやすいスクリプトを䜜成したす。 このスクリプトは、サヌバヌ䞊で同じ操䜜を自動的に実行するのに圹立ちたす。 これにより、手動操䜜 (したがっお゚ラヌ) が枛少したす。

DevOps゚ンゞニアはどのようなキャリアを築くこずができるのでしょうか

氎平方向ず垂盎方向の䞡方で開発できたす。

むゎヌル・ボむコ: 「氎平開発の芳点から芋るず、DevOps ゚ンゞニアは珟圚、最も広い芖野を持っおいたす。 すべおは垞に倉化しおおり、バヌゞョン管理システムから監芖、構成管理からデヌタベヌスたで、さたざたな分野でスキルを構築できたす。

開発からサポヌトたで、ラむフサむクルのすべおの段階でアプリケヌションがどのように動䜜するかを理解するこずに埓業員が興味を持っおいれば、システムアヌキテクトになれたす。」

DevOps゚ンゞニアになるにはどうすればよいですか?

  1. 「フェニックス プロゞェクト」ず「DevOps ハンドブック」を読んでください。 これらは DevOps 哲孊の真の柱であり、最初の柱はフィクションです。
  2. 䞊蚘のリストにあるテクノロゞヌを自分で、たたはオンラむン コヌスを通じお孊習しおください。
  3. DevOps ゚ンゞニアずしおオヌプン゜ヌス プロゞェクトに参加したす。
  4. 個人プロゞェクトや仕事プロゞェクトで DevOps プラクティスを実践し、提䟛したす。

出所 habr.com

コメントを远加したす