GNU/Linux >> Linux の 問題 >  >> Linux

DevOpsの再考:それは何ですか?

LinuxHandbookとHighOnCloudでさまざまなWebアプリを使い始めて以来、DevOpsという用語は、Linux Handbookで具体的に取り上げているものであるため、何度も注目を集めてきました。

DevOpsに関連する多くのツールのチュートリアルを取り上げましたが、実際の概念を深く探求しようとしたことは一度もありません。 LinuxハンドブックはLinuxサーバー専用なので 、DevOps分野での彼らの重要な役割も探求する必要があります。

ただし、その前に、DevOpsが実際に何であるかを理解することが不可欠です。 DevOpsは非常に人気のある流行語であり、Web全体で複数の定義が見つかります。しかし、私自身の経験に基づいて、私は以下の決定的な定義と今後の考えに到達しました。これは、既存のDevOps規範を再検討し、ここで提案する新しいモデルの形でそれらを再考する試みです。

DevOpsとは何ですか?

DevOpsは、 Dev の両方の観点から、アプリケーションの機能、使いやすさ、セキュリティの間の微妙なバランスを維持するための継続的な簡素化プロセスです。 駆け落ちと操作 eration s

それを確実にする方法は?

アプリケーションが効率的に進化し、同時に運用可能であることを保証することは、DevOpsエンジニアにとって継続的な課題です。そのためには、DevOpsの最も基本的なコンポーネントを継続的に監視する必要があります。

アプリケーション開発ライフサイクル(ADLC)

新しいアプリケーションを作成しますか?ここから始めましょう!

アプリケーション開発ライフサイクルは、あらゆるアプリケーションの開発の背後にある基本的な動機です。開発プロセスが注意深く一貫して監視されていない限り、その完璧な開発を完全に確信することはできません。アプリケーションは、本番環境で使用できるようになるまで、常にADLCの下にあります。

ADLCは、6つの重要な段階で構成される重要なソフトウェアエンジニアリングの原則です。アプリケーションの開発には、次の手順が含まれます。

  1. コンセプトプラン :アプリケーションの背後にあるコアアイデアを形作る。
  2. プログラミング :これは、アプリケーションが作成および開発されるときです。
  3. ドキュメント :優れたアプリケーションは、注意深い(人間が読める)ドキュメントなしでは役に立ちません。
  4. 品質保証のテスト :最終製品が機能し、使用可能で、安全であることを確認してください。
  5. デバッグ :テスト中に報告されたバグが修正されました。
  6. 開発リリース :アプリケーションの最初のバージョンがリリースされました。

安定したリリースが利用可能になるまで、そして利用可能でない限り、このサイクルは存在し続けます。ソフトウェアが本番環境に対応した安定バージョンとしてリリースされると、ADLCに該当しなくなります。最終的にはシステム開発ライフサイクル(SDLC)に分類されます。

システム開発ライフサイクル(SDLC)

DevOpsコミュニティの一部は、ADLCとSDLCの両方が同じであると言うかもしれません。しかし、実際のシナリオでは、ADLCとSDLCはまったく異なります。

システム開発ライフサイクルは、アプリケーションの開発と運用の両方の背後にある基本的な動機です。これには、最初の安定したリリース後のアプリケーションの継続的な開発が含まれ、継続的な操作性が保証されます。

  1. コンセプトプラン :アプリケーションの背後にあるコアアイデアを再検討します。
  2. プログラミング :これは、アプリケーションがさらに開発されるときです。
  3. ドキュメント :人間が読める形式のドキュメントの継続的な更新。
  4. 新しいリリースの品質をテストする :新しい最終製品が機能し、使用可能で、安全であることを確認します。
  5. デバッグ :テスト中に報告されたバグが修正されました。
  6. 開発リリース :新しいアプリケーションの場合(バージョンごとまたはアプリ自体として)、開発リリースはこの段階で最初の安定したリリースに進化します。
  7. 安定したリリース :最新の安定バージョンは、バグ/セキュリティに関連する修正と新機能を備えた製品としてリリースされています。
  8. 導入 :安定した製品がサーバーにデプロイされています。
  9. メンテナンスとモニタリング :サーバーとサーバー上で実行されるアプリケーションの一貫した定期的な監視。

コミュニティを利用したオープンモデルは、常に最もスムーズなメンテナンスが可能です。 サイクルの最後のステップは、オープンソースモデルでのみ真に達成可能です。これは、あらゆるアプリケーションの進化という点で最大の決定要因です。

まだ安定版リリースがないアプリケーションは、完了したとは見なされません。アプリケーションが完全に構築されるとすぐに、ADLCはSDLCに進化します。なぜですか?

  • ADLCは純粋に開発です 駆け落ちモデル
  • SDLCは両方とも開発です 駆け落ちと操作 eration s モデル

あなたは今私のポイントを理解していますか? ADLCでは、アプリケーションは本番環境に対応していないため、ベアボーン開発が行われています。したがって、これをDevOpsと呼ぶことはできません。最初の安定版リリースがリリースされた場合にのみ、本番環境に対応したアプリケーションが継続的に運用可能になるため、DevOpsであるSDLCに進化します。

2つの略語と上の図から明らかなように、アプリケーションはシステム全体とは大きく異なります。アプリケーションは、完全なシステムプロセスの一部にすぎません。これがSDLCとADLCの違いです。したがって、ADLCは実際にはSDLCのサブセットです。

SDLCは、機能、使いやすさ、セキュリティの微妙なバランスを念頭に置いて、コミュニティとして継続的にピボットする必要があります。

新しいDevOpsトライアングルの提示

SDLCが静止することはないため、この図は決して同じではありません。継続的にピボットされているのはSDLCです。 開発者、テスター、ユーザーの継続的なフィードバックに基づいたコミュニティによる三角形の範囲内。

このようなピボットプロセスは、展開中のアプリケーションの要件に応じて絶えず変化しています。 現実の世界で絶えず変化するこのモデルは、DevOpsのプロセスです。

SDLCが三角形の中にある場所は、アプリケーションごとに常に異なります。ピボットされた場所は、実際には、以下に注意を払って開発されている間、展開中のアプリケーションの性質に依存します。

機能 :アプリケーションの主な機能。たとえば、Rocket.Chatを介してメッセージを送信する機能。

使いやすさ :アプリケーションの使いやすさ。たとえば、Rocket.Chatを介してメッセージを送信するのにどれだけ便利か。

セキュリティ :アプリケーションのセキュリティの程度。たとえば、このようなRocket.Chatの脆弱性に対処するバグ修正。

オープンソースアプリケーションを支援する多様なコミュニティは、機能、使いやすさ、セキュリティの間で常に微妙なバランスを維持する必要があります。

しかし、実際にはどうですか?

職場での謙虚さ:ピボットでの究極の精度

結局のところ、開発者、ユーザー、テスターはすべて人間です。ローカルであろうと仮想であろうと、DevOpsの文化と職場は思いやりのシンプルなアイデアを採用する必要があります。同僚の間で優しさを実践する職場は、ADLCとSDLCの両方の生産性を向上させるはずです!

それはウェブアプリだけでなく、人々にも関係しています。それらは、それらを継続的に作成、展開、および保守しているものです。それがコミュニティのすべてであり、これがDevOpsが文化でもある理由です。 DevOpsの文化は、Webアプリだけでなく、それを実現する人々の管理にも及びます。

オープンソースアプローチにより、このプロセス全体が独自のプロセスよりもはるかに実現可能になります。これは、この 人、慣習、テクノロジーの集合的なシステムで作業しているときに感じたものです。

今後も一連の記事を通じて、このジャンルでの私の考えを共有し続けることを楽しみにしています。私が感じているのは、小規模、中規模、大規模の企業であるかどうかにかかわらず、DevOpsは、パーソナライズされたモデルの形式を除いて、どこにでも適用できます。

これは、私がこのシリーズを通して探求したいと思っていることのほんの一部です。以下のコメントセクションであなたの考えを共有してください。 Linuxハンドブックにアクセスしていただきありがとうございます。


Linux
  1. VPSホスティングとは何ですか?仮想プライベートサーバーについて知っておくべきことすべて

  2. システム管理者がBashの使用について知っておくべきこと

  3. Debi a Volume Linux Server について知っておくべきこと

  1. すべてのディスク IO を使用しているプロセス

  2. この C コードの脆弱性は何ですか?

  3. unix\Linux アプリケーションでの CTRL + Z の​​効果は何ですか

  1. sudoについておそらく知らなかったこと

  2. LinuxでのFlex開発、フリー環境は何がいい?

  3. アプリケーションが使用するポート