私たちが目指す、”継続的サービス開発”というサービスの根幹を支える考え方の一つに「DevOps」という考え方あります。
今回は、「DevOps」とは何なのかということについて記載しようかと思います。システムを作って動かすという流れの中では、開発(Development), 運用(Operations)という大きく分けて、二つのことを行う必要があります。 システム会社では、製品に新しいサービスを開発・追加する開発チームと、安定したサービスを提供するための運用チームが存在します。そして、これらのチームは、自然と開発チーム・運用チームになんとなく分かれていることも多いのです。

DevOpsとは

開発手法やツールを使って 開発チーム(Development)と運用チーム(Operations)が密接に連携することで、 より柔軟かつスピーディーにシステムを開発することです。この大前提を忘れてツールの議論や開発プロセスの議論だけをする人もよくいらっしゃる気がしますが、この大前提は忘れないようにして下さい。

DevOpsが流行る前は

開発チームが注力すること「システムに新しい機能を追加すること」ですが、運用チームが注力すること 「システムを安定稼働させること」です。
そもそも、この二つの概念は、かみあうものではないので、元々、目指していることが違っているため、「開発は運用のことを分かっていない」「運用はサービスリリースの重要性を分かっていない」と対立関係が発生することが多かったのです。本当の意味での目的は、「ビジネス価値・ユーザの利便性を高めるための製品・サービスを提供する」という大枠の目的は同じなのですが。。。

DevOpsを成功させるためには

それぞれの組織という枠を取り払い、本来の目的である「ビジネス価値・ユーザの利便性を高めるための製品・サービスを提供する」に目を向けることでお互い対等な立場で振る舞えるようにすることが必要です。他にも、様々な開発手法・自動化のためのツール等を利用します。DevOpsを成功に導くためのツールはまた今後にしましょう。今回は、簡単ですが、DevOpsが何なのかについてお話しました。