DevOpsは、アプリケーション開発の時間短縮と品質向上を促し、新しいソフトウェア機能や製品、あるいはその修正版の迅速なリリースを推進する哲学とフレームワークであり、今も進化を続けています。
DevOpsを実践することで、アプリケーション開発チーム(Dev)とIT運用チーム(Ops)の担当者間の継続的なコミュニケーション、コラボレーション、連携、可視化、透明性の確保が円滑になります。
このような「Dev」と「Ops」の緊密な関係は、ソフトウェアの初期計画からコーディング、ビルド、テスト、リリースにとどまらず、導入、運用、継続的な監視に至るまで、DevOpsライフサイクルのすべての段階で維持されます。この関係によって、さらなる改善、開発、テスト、導入に役立つ、お客様からの継続的なフィードバック ループが活性化されます。このような取り組みの成果の1つとして、必要な機能の変更や追加を継続的に短期間でリリースできることが挙げられます。
DevOpsの目標は4つあると定義されることもあります。その4つとは、文化、自動化、評価、共有です(Culture、Automation、Measurement、Sharingの頭文字をとってCAMSとも言われます)。DevOpsツールを使用すると、これらの領域に対応できます。DevOpsツールは、開発と運用のワークフローの効率や連携を向上させ、統合、開発、テスト、導入、監視において、以前は時間のかかっていた手作業や定型タスクを自動化してくれます。
開発チームとIT運用チームの間にあるコミュニケーションやコラボレーションの壁を取り払う以外にも、DevOpsには、中核的な価値として、顧客満足度の向上と価値実現の高速化というメリットがあります。DevOpsは、ビジネスのイノベーションを推進し、プロセスの継続的な改善を促すよう設計されています。
DevOpsを実践すれば、組織の最終顧客に対するビジネス バリューの提供が高速化し、質とセキュリティが高まります。このような価値は、往々にして、製品のリリース、機能の追加、更新プログラムの提供の頻度を増やす形で実現されます。その場合、製品リリースや新機能を適切なレベルの品質とセキュリティで顧客にいかに早く届けるかが重要になります。あるいは、問題やバグをいかに早く特定し、解決し、再リリースするかが重視されます。
基盤となるインフラも、ソフトウェアの初期開発から、テスト、本番環境へのリリースに至るまで、シームレスなパフォーマンス、可用性、信頼性を提供することで、DevOpsをサポートします。
DevOpsには、開発や製品リリースを高速化し、改善するために組織が使える一般的な取り組み方がいくつかあります。それらは、ソフトウェア開発の方法論や手法として確立されています。その中でも、よく活用されているのが、スクラム、カンバン、アジャイルです。
DevOpsの手法を実践している多くのチームが、DevOpsに適したツールをDevOpsの「ツールチェーン」に組み込んで使用しています。ツールチェーンの目的は、ソフトウェア提供ワークフロー(「パイプライン」といいます)の各段階をさらに合理化、短縮、自動化することにあります。このようなツールの多くは、開発チームと運用チームの間の自動化、コラボレーション、連携というDevOpsの哲学を促進する役割も果たしています。DevOpsライフサイクルのさまざまな段階で使用されているツールの一例を以下に紹介します。
DevOpsの手法には、継続的な改善と自動化という哲学が反映されています。多くの手法が、特定の、または複数の開発サイクル段階に焦点を絞っています。DevOpsの手法には、次のようなものがあります。
DevOpsの提唱者は、ビジネス面と技術面で複数のメリットを掲げており、その多くは顧客満足度を高める効果もあります。DevOpsのメリットには次のようなものがあります。
ソフトウェアの開発と導入を合理化するためのDevOps手法の多くは、アジャイル型ソフトウェア開発とリーン プログラミングを初期の基盤としています。一方で、DevOpsは、元々は、開発者と運用チーム メンバーの活動を調和させようとする、草の根コミュニティの取り組みから進化してきました。
2000年代の初め、GoogleやFlickrなどの人気のあるWebサイトでは、アクセス数が爆発的に増えるなか、可用性を維持する必要がありました。このニーズを背景に、ソフトウェア リライアビリティ エンジニア(SRE)という役割の活用が進みました。SREとは、開発者と緊密に連携して、コードが本番環境にリリースされたあとにサイトの正常稼働を維持する運用チームのメンバーです。
2009年に、Flickrのエンジニア、John Allspaw氏とPaul Hammond氏が、あるカンファレンスで、DevOpsに似た独自の方法論についてプレゼンテーションを行いました。そのタイトルは、「10+ Deploys per Day: Dev and Ops Cooperation at Flickr(1日10回以上の導入:Flickrでの開発と運用の協力)」でした。同じ年に、Patrick Debois氏がベルギーで最初の「DevOps Day」を開催しました。その後、DevOps Dayが世界中で開催されるのに伴って、#DevOpsというハッシュタグも採用されて、普及の勢いに弾みがつきました。
それから数年にわたって、DevOpsの目標を推し進めるために、業界やオープンソース界隈でツールやフレームワークが開発されたり提案されたりしました。
ネットアップでは、DevOpsを活用したビジネス成果の向上を後押ししています。運用チームが少ない技術作業でインフラの自動化を実現したり、開発者が軋轢を減らしながら信頼性と予測性の高い環境を構築したりできるよう支援しています。ネットアップのテクノロジを活用すれば、お客様は、組織が求めるサービスや機能を自信を持って提供し、オンプレミスとクラウド環境の両方で開発者の生産性を最大限に高めることに貢献できます。
ネットアップのソリューションなら、開発者、テスト チーム、QAチーム、運用チームはインフラのリソース(永続的ストレージ ボリュームなど)をコードとして利用できます。すべて、DevOpsパイプラインで普段使用しているツール内から利用できます。たとえば、Puppet、Ansible、Docker、Kubernetes、OpenShiftなどのツールから、ネットアップ ストレージAPIやIAC統合を活用できます。
ネットアップのソリューションがもたらすメリットは、開発者がストレージをコードとして簡単に利用できるだけではありません。ネットアップのテクノロジを活用すれば、運用チームも開発者やテスト担当者にリソースを確実にプロビジョニングし、提供できます。その後、開発者やテスト担当者は自分で、スナップショットやクローンなどのストレージ機能をすばやくプロビジョニングでき、コーディングやテストのサイクルを短縮できます。これらの機能では、本番環境のデータやコード セットのリアルタイム コピーを数秒や数分でコードとしてプロビジョニングできるため、開発やQAのワークフローを高速化できます。
コミュニティに対するネットアップの注力は、現在、thePubとして実を結んでいます。この開発者コミュニティでは、コラボレーションの促進、ヒントやアドバイスの共有、最新のDevOps手法や原理に関するアイデアの議論が行われています。
To edit this Page SEO component