DevOpsとは:すべてを変えることができるアプローチ

DevOpsという用語の正式な誕生日は、ベルギーで初めて「Devopsdays」会議が開催された2009年と考えられています。 1年後、希望する人は4つのそのようなイベントに入力されます。 2017年-モスクワを含む世界中で47の会議。 それでは、DevOpsとは何ですか?



DevOpsは職業ではなく、文化、哲学、方法、つまりソフトウェア開発者、テスター、およびその保守を担当する人々を結び付ける一連の実践です。 したがって、名前は「開発」と「操作」の頭字語です。 主な目標は、会社のすべてのIT部門の作業間のギャップを減らし、開発と運用の「接合部」でのタスクの責任を最適化し、生産性を高め、エラーを減らし、その結果、ビジネスとクライアントのニーズを満たすことです。



標準プロセスは5つの段階に分かれています。



•プロジェクト要件の分析。

•デザイン。

•実装。

•製品のテスト。

•実装とサポート。



さらに、原則として、相互作用はせいぜい隣接するものの間で実行されます。 したがって、ソフトウェアのリリース後にエラーが見つかった場合、まず、ハードウェアとシステムの管理者、テスター、そして開発者とプランナーに質問が送られます。 1年に1つのリリースがある場合は問題ありませんが、現代の企業では、生産性は1日に数十の問題に達します。 そのような状況で迅速な解決策または少なくとも犯人を見つけることはほとんど不可能です。 決定は2つしかありません。各リリースを追跡する何万人ものシステム管理者と中間作業員でスタッフを埋めることです。これは非常に疑わしいことです。または、事務作業全体のアプローチを変更してエラーを最小限に抑えます。



DevOpsは、この問題に対する最新のソリューションです。 彼はこのアプローチを循環型に変更すると同時に、完全にしています。 このような生産プロセスでは、すべての段階が相互接続されており、正確な編成と制御が必要です。 つまり、開発者は、主要なアクティビティに加えて、展開、システムエンジニアの開発、テスターの構成などに参加する必要があります。 DevOps方法論の実装は複雑で骨の折れる作業であり、ツールと専門家の助けを借りて実装されます。 ちなみに、これはアジャイルとの主な違いです。アジャイルでは、単にスタッフやソフトウェアシステムを追加する必要はなく、考え方や仕事の組織を変更するだけで十分です。



DevOpsを導入する慣行は約5年前にロシアに伝わり始めたため、DevOpsエンジニアの必要性は着実に高まっています。



DevOpsを学習するもう1つの利点は、基本的なトレーニングが不足していることです。 方法論の魅力にもかかわらず、多くの専門家は仕事の範囲を拡大したい元開発者です。 しかし、多くの場合、DevOpsには、シェルとbashのコードをほとんど使用しないシステムエンジニアがいます。 一般に、この方法論を習得するために、深刻な背景を持つ必要はありません。 ソフトウェアライフの程度の1つで実務経験があり、少なくとも理論的には関連分野を知っていれば十分です。



私たちのコースは、問題の実際的な側面に専念しています。 プログラムは5つの論理レベルに分かれています。 チャット、バージョン管理システムとタスク、ワークフローの視覚化、クラウドサービス、安全なリモート接続-DevOpsの基本的な事柄に最初に焦点を当てます。 一般的に、それなしで現代の集合プログラミングを想像するのは困難です。 製品の中で、Google Cloud Platform、Packer、Slack、HipChat、Rocketchat、そしてもちろんGitを詳しく見ていきます。



開発と管理の基礎を確立した後、第2レベルに進み、インフラストラクチャの設定と構成について説明します。 Terraformユーティリティを例として使用して、システムのコンポーネントにバージョンを作成、変更、および割り当て、リモートバックエンドを操作する方法を学習します。 さらに、最初の2つのレベルでは、BSA(Base-Service-App)モデルを検討します。基本レベルからAnsibleを使用した構成アプリケーションまでです。



3番目のレベルでは、特にDockerfile、Hub、Composeを使用して、アプリケーションを自動化およびデプロイするためのシステムであるDockerの使用を開始します。 ここでは、継続的な統合と自動化された配信パイプラインの概念、コンテナテストについて少し触れます。 したがって、すでにこの段階で、DevOps方法論に従ってソフトウェアリリースの正しい構成を作成します。



4番目のレベルは、エラーのその後の識別と記録による監視など、各製品の寿命における重要な手順に専念します。 これを行うには、まず何を追跡するかを決定し、最も一般的な監視、警告、およびログ記録システムを検討します。 もちろん、実際には、それらのインストール方法、構成方法、および使用方法について学習します。



最後の5番目のレベルでは、DevOpsマスターの頂点に到達します-オーケストレーションと展開、およびスケーリング戦略。 そのためには、Docker Swarm、Service Discovery、Kubernetes、およびGitlab CIが必要です。



私たちのコースでは、DevOpsに従ってソフトウェア生産を整理する実践を可能な限り正確に実証しようとしました。なぜなら、ここで最も多くの質問が発生するからです。 したがって、このトピックに興味があり、ソフトウェアの「適切な」開発サイクルと展開を実際に知りたい場合は、DevOpsカルチャーに参加するときが来ました。



コース開始まであと1か月未満です!



All Articles