devops tutorial ultimate guide devops
これは、DevOpsとは何か、DevOpsの原則、およびそのアーキテクトなど、DevOpsのすべての側面をカバーする25以上のテキストおよびビデオチュートリアルの完全なDevOpsチュートリアルシリーズです。
DevOpsトレーニングシリーズのチュートリアルのリスト:
#1) DevOpsの概要 (このチュートリアル)
#二) DevOpsとソフトウェアテスト
DevOpsビデオチュートリアル:
#3)ビデオチュートリアル1: DevOpsの背景、定義、価値、メリット、習慣、ベストプラクティス
- パート1ブロック1– DevOpsの謎を解き明かす
#4)ビデオチュートリアル2: アジャイル原則、ソース管理、およびDevOps自動化に基づくDevOpsプラクティス
このビデオチュートリアルはに分かれています 6ブロック:
- パート2ブロック1– アジャイルマニフェストに基づくDevOpsプラクティス
- パート2ブロック2– DevOpsでのソースとバージョン管理
- パート2ブロック3– DevOpsでの自動化
- パート2ブロック4– DevOpsでの配信の小さな増分
- パート2ブロック5– DevOpsチームでのコラボレーション
- パート2ブロック6– DevOpsチームでコラボレーションを開発する方法
#5)ビデオチュートリアル3: DevOpsは、継続的インテグレーション、継続的テスト、継続的デリバリーを処理します
このビデオチュートリアルはに分かれています 4ブロック:
- パート3ブロック1– DevOpsでの継続的インテグレーション
- パート3ブロック2– DevOpsでの継続的デリバリー
- パート3ブロック3– DevOpsでの継続的デプロイ
- パート3ブロック4– DevOpsでの継続的テスト
#6)ビデオチュートリアル4: DevOps構成管理とライブアプリケーションパフォーマンスモニタリング
このビデオチュートリアルはに分かれています 3ブロック:
- パート4ブロック1– DevOpsプラクティスにおける構成管理
- パート4ブロック2– DevOpsでのリリース管理
- パート4ブロック3– DevOpsでのアプリケーションパフォーマンスモニタリング
#7)ビデオチュートリアル5: コース全体の要約。
- パート5ブロック1– DevOpsビデオチュートリアルの要約
テキストチュートリアル:
#8) 左シフトテスト
#9) 継続的インテグレーションを使用してソフトウェアの品質を向上させる方法
#10) 継続的デリバリープロセス
DevOpsツール:
#十一) DevOpsツール
#12) 一般的に使用されるオープンソースのDevOpsツールのインストールと構成
#13) 最高の継続的インテグレーションツール
#14) トップ継続的デリバリーツール
Microsoft VSTSチュートリアル:
#15) MicrosoftVSTSパート1
#16) MicrosoftVSTSパート2
AWS DevOpsツール:
#17) AWS DevOpsツールパート1(CodeCommit)
#18) AWS DevOpsツールパート2(CodeBuild)
#19) AWS DevOps Toolsパート3(CodeDeploy)
#twenty) AWS ElasticBeanstalkを使用した.NETWebアプリケーションのデプロイ
DevOpsのAnsible:
#21) Ansibleパート1:インストールと構成
#22) Ansibleパート2:プレイブックを使用したタスクの自動化
#2。3) Ansibleパート3:Ansibleの役割とJenkinsとの統合
#24) JenkinsとSeleniumの統合
#25) ハドソン継続的インテグレーションツール
#26) DevOpsサービスプロバイダー企業
#27) DevOpsインタビューの質問
このシリーズの最初のチュートリアルから始めましょう。
学習内容:
DevOpsの概要
DevOpsはツールだけでなく、統合されたツールセットを使用してソフトウェア配信を自動化することにより、継続的インテグレーションとデプロイメントの領域で開発チームと運用チームの間のギャップを埋めることができる一連のベストプラクティスも含まれています。
PCでepsファイルを開く方法
開発者は運用面を理解することが不可欠であり、その逆も同様です。したがって、DevOpsの目標は、エンドユーザーへのアプリケーションの配信速度を向上させ、今日のビジネスに必要なより高速なエンドユーザーフィードバックを可能にすることです。
アジャイルとDevOpsの概要
アジャイルとDevOpsの間に違いはありません。代わりに、それらは互いに補完し合っています。まず、すべての要件が凍結され、安定した製品が利用可能になるまで設計と開発が次々に行われるウォーターフォールモデルを見てみましょう。
したがって、ここでの問題は、この段階で顧客のニーズに変化があった場合、変化したニーズを含めて提供する方法がないということです。
ウォーターフォール方式よりも顧客の変化のニーズにうまく適応するという問題に対処するために、アジャイルの採用がありました。ここでのアイデアは、ソフトウェアをより小さなスプリントまたは反復で開発することでした。これは、開発チームがエンドユーザーのフィードバックに取り組み、新しいリリースに変更を組み込むのに役立ちました。
したがって、開発チームと運用チームは、作業領域でアジャイルを持っている必要があります。DevOpsそれらの間のより良いコラボレーションを可能にするために生まれました。
アジャイルはXP、SCRUMなどのプロセスをもたらし、DevOpsは継続的インテグレーション、継続的デリバリー、継続的テスト、継続的モニタリングなどのプラクティスをもたらします。これらについては、このチュートリアルでさらに詳しく説明します。
DevOpsはツールについてのみですか?
ある意味で、DevOpsを実装するにはツールが必要であると主張するかもしれません。それは本当ですが、ツールは単なるアクセラレータです。
しかし実際には、それは次の3つの側面についてです。
人 :文化的変化のこの旅全体を通して効果的にコミュニケーションし、協力できるように訓練し、意欲的な人々のチームを持つことは非常に重要です。
処理する: DevOps実装の文化的変化について話しているので、顧客に価値を提供する実践と戦略を持つことが非常に必要です。それを行う適切な方法は、現状のままの成熟度評価を行い、ギャップを調べ、適切な推奨事項を実装するためのロードマップを提案することです。
これらの評価をどのように行ったかについては詳しく話しませんが、同じことについて意見を共有できれば幸いです。
ツール: 最後に、現在利用可能な標準のDevOpsツールを使用してプロセスを自動化することにより、アクセラレーターを使用することについてです。オープンソース(Jenkins、Gitなど)、コマーシャル(Microsoft TFS、VSTS、IBM Rational、Jiraなど)、または両方の組み合わせである可能性があります。
DevOpsのコンポーネント
これまでに、DevOpsとは何かを理解していただければ幸いです。
次に、実装の観点からコアを形成するDevOpsの次の4つのコンポーネントを見てみましょう。また、組織は、クライアントへのサービスとして提供するのと同じように、優れた自動化フレームワークを開発しました。
- 継続的インテグレーション
- 継続的テスト
- 継続的デリバリー
- 継続的な監視
開発者がこのモードで作業する必要がある場合は、タスクや欠陥(アジャイルではユーザーストーリーの一部にすることができます)などの実行アイテムを割り当てて、開発者がその中で作業を行えるようにする必要があると心から信じています。スプリントの時間枠。
したがって、上記の手順を実装する前であっても、これらの開発者のタスクまたは欠陥はスプリントで計画する必要があります。そのため、JIRA、IBM Rational Team Concert、Microsoft TFS / VSTSなどのツールは、アジャイルリリース/スプリントプランの作成に役立ちます。
次に、これらの各コンポーネントについて詳しく見ていきましょう。
#1)継続的インテグレーション
開発者は、共有リポジトリに割り当てられたタスクや欠陥に取り組み、コードを1日に複数回共有リポジトリにチェックインします。同様に、チームの他のメンバーも共有リポジトリにコードをチェックインします。
次に、チームメンバーが行ったすべての作業を共通のビルドサーバーに実際に統合し、自動ビルドを実行します。これらの統合と自動ビルドを定期的に行うことを継続的インテグレーションと呼びます。
この方法は、問題を非常に早期に検出するのに役立ち、統合されたすべてのモジュールが必要に応じて機能することを保証します。したがって、このアプローチに従わないと、チームの作業の統合が月に1回行われる可能性があり、統合の問題を見つけて修正するのに遅れる可能性があります。
継続的インテグレーションワークフローのサンプル:
#2)継続的デリバリー
継続的デリバリーは、継続的インテグレーションの次のステップです。継続的デリバリーの目標は、本番環境に組み込まれているアプリケーションを可能な限り迅速にプッシュすることです。このプロセスでは、配信のライフサイクルのさまざまな段階(QA、ステージング、本番環境など)を通過します。
Windows10用の最高の無料DVDリッパー
さまざまな段階に組み込まれたアプリケーションを定期的に配信するこのプロセスは、継続的配信と呼ばれます。
継続的デリバリーは、従来の方法と比較して市場投入までの時間を短縮し、リスクを軽減し、リリースプロセスの自動化を促進することでコストを削減し、最も重要なこととして、エンドユーザーからより迅速なフィードバックを得て高品質の製品を製造するのに役立ちます。
私の経験から、このプロセスはあらゆる種類のWebアプリケーション開発で問題なく機能することがわかりました。
また、半導体ビジネス分野の組織のDevOps実装について、かなりの量の評価を行いましたが、 リリースサイクル 継続的デリバリーのこの領域は、従うべきウォーターフォールプロセスであり、顧客環境で要求されたとおりに展開が行われるため、適切ではないようです。
継続的デリバリーワークフローのサンプル:
上の図では、利用可能なさまざまな環境を確認できるため、環境のインフラストラクチャのこのプロビジョニングは、この継続的デリバリープロセス中に自動化することもできます。
#3)継続的テスト
上記の2つのプラクティスから、CIとCDがアプリケーションのデプロイまたは本番環境への変更に役立つことがわかりました。このプロセス全体には、コードの適切な検証と、コードに含まれるすべてのコンポーネントとの統合が含まれ、アプリケーションが想定どおりに機能し、バグや欠陥がないことを確認します。
したがって、継続的テストは、CIプロセスから始まり、アプリケーションが最終的に本番環境にデプロイされるまで、さまざまなタイプの自動テストを実行するプロセスです。
前の図から、継続的インテグレーションのステップで、すべての開発者の作業を共通のビルドサーバーに統合し、この段階で開発者が一定量の単体テストを実行することがわかります。
これらの統合とテストがエラーなしで機能すると、これらの品質ゲートと承認を申請した後、アプリケーションまたは変更がQA環境に展開されます。
QA環境では、機能テストが実行され、承認に基づいて、本番システムや受け入れテストの実行と同等のステージング環境に展開されます。このアクティビティが完了すると、アプリケーションまたは変更が最終的に本番システムにデプロイされます。
したがって、アクティビティとしての継続的テストはCIステージ自体から始まり、継続的デリバリープロセス全体で非常に必須のステップであることに注意してください。
継続的デリバリープロセスのサンプルテストワークフロー:
#4)継続的な監視
アプリケーションまたは変更が本番環境にデプロイされると、運用チームは、稼働時間、安定性、可用性の観点からアプリケーションと環境を監視するようになります。このプロセスは、継続的な監視として知られています。
運用チームは、環境を監視するための独自のソフトウェアを持っていますが、問題がないか展開されたアプリケーションを監視するために自分の役割を果たす必要もあります。このため、アプリケーションの問題を分析するための特定のツールを構築するために、開発チームと協力する必要があります。
したがって、インフラストラクチャ、環境、およびアプリケーションの問題はすべて、継続的な監視のプロセスで監視されます。
概要
このチュートリアルでは、DevOpsプロセスが、それに関連するさまざまなコンポーネントを含めることについて正確に何であるかを知るようになりました。これらのコンポーネントは、アプリケーションの配信を高速化し、市場投入までの時間を節約するのに役立ちます。これは、競争の観点から今日のビジネスのニーズです。
DevOpsセグメントの今後の一連のチュートリアルでは、チームが使用できるさまざまなビデオ/可能性のあるDevOpsツールと、オンプレミスおよびクラウド用の特定のツールを使用したDevOpsの実装について説明します。
そして、前述のように、組織の変化から見ると、DevOpsの実装はエキサイティングなものであることがわかりました。
今後のチュートリアルでは、DevOpsとソフトウェアテストについてすべて説明します。