ビジネス

2021.07.31

開発者と運用者が連携する「DevOps」について知っておくべきこと

Shutterstock


「DevOpsとは基本的に、開発者に対して、ひとつのアプリケーションやソフトウェアの一部について、責任をもって運用、エンドツーエンド展開を管理できるような権限を与えることだ。DevOpsによって、誰が当事者なのかという混乱が取り除かれ、開発者は、自らが管理する単一の自動化されたインフラへと向かうようになる」

留意しておきたいのだが、DevOpsは、ソフトウェアの開発速度を速めるだけではない。その主要な目標はむしろ、組織文化を変えることだ。そして言うまでもなく、その実現は決して容易ではない。

クラウドソフトウェア・ソリューションを提供するSumo Logicの創業メンバーであり、戦略およびソリューション担当バイスプレジデントのブルーノ・カーティックは、「DevOpsとは、システムレベルで思考することにほかならない。着目すべきは、個々の取り組みではなく、エンドツーエンドでの価値提供プロセスだ」と言う。「そのためには、良好なコミュニケーションと、測定可能な共通の目標にむけて組織をまとめることが不可欠だ」

現在、DevOpsを推進する方法論はいくつか存在する。なかでも最も有名なのはおそらく「アジャイル」だろう。アジャイルでは、小規模チームがアプリケーションを、(たとえば2週間ごとの)短いまとまりで開発していく。そしてそれぞれが「ユーザーストーリー」となる。その狙いは、顧客からリアルタイムでフィードバックを収集することと、「大規模」プログラムの開発にこだわって行き詰まらないようにすることだ。

別のよく知られたアプローチには、「カンバンボード」もある。こちらの場合は、プロジェクトをボード上で、さまざまなカテゴリーに分割する。たとえば、「ユーザーストーリー」や「テスト」別に並べたり、タスクを「やること/進行中/完了」と整理したりすることで、作業の内容やワークフロー、進捗度などを視覚的に把握できるようにする。

自動化


DevOpsのカギとなる要素には、自動化もある。オーケストレーション(システムやサービスなどの設定・運用・管理の自動化)やステージング(システム公開前に、本番と同じ環境で動作などの最終確認を行なうこと)、テスト、実装、トラッキングなど、生産性の大幅な向上につながる頼れるツールが数多く揃っている。
次ページ > 開発者のモチベーションを上げるために

翻訳=遠藤康子/ガリレオ

ForbesBrandVoice

人気記事