リモートワーク・ご商談等のオンライン対応について

ギークスジョブの掲載案件はリモートワークでの参画がご相談可能です。
また、現在実施している個別説明会、各種イベント、顧客企業様との商談打ち合わせはオンラインでご対応いただけます。

5分で分かる!DevOps

作成日:2020/09/24 (木) TECH

この記事は公開から1年以上経過しているため、情報が古い可能性があります。

5分で分かる!DevOps

近年、さまざまなイベントや記事などでDevOps(デブ・オプス)という単語を見かけることが多くなりました。
チームが一丸となってビジネスに取り組む、理想の体制として語られるDevOpsですが、いまひとつその概要が理解できないという方は多いのではないでしょうか。
ここでは、DevOpsという概念、DevとOpsの対立が生まれる理由、そして、実現していくために必要な姿勢・心構えなどを紹介していきます。

DevOpsとは

DevOpsとはの画像

DevOpsとは、開発(Development)と運用(Operations)を組みあわせた造語です。これは、開発部門と運用部門が協力し合いながら、システムを作りあげていく体制のことを指しています。
※ただし、組織の体制等により多少の解釈の違いが生じます。

DevOpsの概念は、継続的インテグレーション(CI)の知識なしには語ることができないため、まずはこれがどのようなものか、解説していきましょう。

継続的インテグレーションの概要

継続的インテグレーションとは、ソフトウェア開発においてビルドやテストを自動的に繰り返し行う手法です。これは、Jenkins(ジェンキンス)のような継続的インテグレーションのためのツールに、なんらかの手順を登録しておき、それを定期的に実行することで実現されます。


この手法を採用することによって、

・ソースコード変更後にすぐデプロイとテストをし、問題を早い段階で発見できる
・作業がすべて自動化されているため、開発が効率化、省力化できる

などのメリットがあるのです。

継続的インテグレーションからDevOpsへ

継続的インテグレーションを採用する企業が増えてくると「これを効果的に実現するためには、開発部門と運用部門がきちんと連携をとらないとダメだな」ということが、だんだん解明されてきました。

なぜなら、頻繁にデプロイをするためには、運用部門もアプリケーションの仕様を正しく理解し自動化の仕組みを作る必要があります。それに、開発環境とテスト環境そして本番環境では、サーバのスペックや各種設定なども異なっているため、そうした知識や作業の段取りなどをメンバー間に何らかの方法で共有する必要があるためです。


その発想がだんだんと進化し、「DevOps」という概念につながっていきます。

DevとOpsが衝突する、その原因と具体例

前項目の説明だけを聞くと、DevOpsという体制は素晴らしいものであるように見えます。しかし、それを実現するためには乗りこえなければいけない壁があります。
それは「DevとOpsの衝突」。伝統的な組織では、開発部門と運用部門の意見は対立していることが多いのです。その対立はなぜ起こってしまうのか、それぞれの立場に立って考えていきましょう。

DevとOpsが衝突する、その原因と具体例の画像

開発部門(Dev)の立場

開発部門の考え方は「新しい機能をどんどん作ってリリースしていきたい」というものです。サービスをよりよいものにしていくためには、新機能の追加や既存機能のアップデートが必要ですし、それが無ければユーザーに飽きられてしまうからです。

DevとOpsが衝突する、その原因と具体例の画像

運用部門(Ops)側の立場

一方、運用部門の考え方は「サービスを安定稼働させることが重要」というものです。ユーザーがいつでも安心してサービスを利用できるようにするには、システムにトラブルが発生することをなるべく避けたい。そのため「安定して稼働しているものは、なるべくそのままの状態にしておく」という方針をとっています。

ここで、両者の考え方には矛盾があることがわかります。開発部門は「どんどん機能を追加していきたい。」対して運用部門は「安定したシステムに手を加えたくない」という矛盾です。

開発の現場でおこるトラブルの例

両者のそうした考え方の違いから、たとえば開発の現場では次のようなことが起こります。

開発の現場でおこるトラブルの例の画像

トラブル事例

開発部門が「新機能をすぐにリリースしたい」と考え、修正した箇所の情報をきちんと共有しないまま、運用部門に作業を依頼してしまいます。

開発の現場でおこるトラブルの例の画像

情報共有がうまくされていないと、新機能が原因でトラブルが発生した際、どう対応したらいいのか運用部門が判断できません。また、サービスのリリースは夜間におこなわれることも多いため、そのタイミングでは開発部門と連絡がとれないことが多いです。

開発の現場でおこるトラブルの例の画像

このような事態を経験すると、運用部門は「なるべくリリースをしたくない」という心理的抵抗が生まれてしまいます。同時に、開発部門は「なぜ運用部門はリリースにそれほど抵抗するのだろう」という不信感が生まれてしまい、部門間の対立が進んでしまいます。

こうした事情があり、「開発部門と運用部門の考え方は衝突するもの」と言われてきました。

DevOpsを実現するために

両者がきちんとコラボレーションできなければ、変化が激しい現代のビジネス潮流に乗ることはできません。こうしている間にも競合他社はサービスを進化させていますし、利用者の心は気まぐれです。事業部門が「こうしたい」と考えたことをすぐさま実行にうつせなければ、「環境の変化に適応できなかったサービス」として衰退してしまう運命にあるのです。

DevOpsを実現するためには、もちろん、「Chef(シェフ)」や「Puppet(パペット)」などの構成管理ツールを使ったり、継続的インテグレーションを実施したりすることで、開発・運用効率化のための環境整備に取りくむことは重要です。

しかし、本質はそこではありません。
最も重要なのは、開発部門、運用部門ともに「自分たちは、ビジネスを実現するために働いているのだ」という意識を持つことです。

DevOpsとはシステム等の開発や導入を行うために、開発チームと運営チームが協力し連携をすることです。すばらしい機能の数々も、安定して稼働するシステムも、実際にユーザーに使ってもらい満足してもらえなければガラクタと同じです。
常に、「私たちはなんのためにサービスを運用しているのだろうか」という目的を考え、それを踏まえたチーム作りをしていくこと。それが正しい意味でのDevOpsを実現するカギになってくるのです。

ITフリーランスをご検討中の方はギークスジョブへご相談ください

ギークスジョブはITフリーランス専門エージェントとして20年以上にわたり、ITフリーランスのご支援を行っています。
フリーランスを初めて検討される方はもちろん、現在フリーランスとしての今後に不安を感じている方、今よりもっと充実したフリーランス生活を楽しみたい方は、ぜひお気軽に相談ください。ITフリーランス専任のキャリアアドバイザーがマンツーマンでサポートいたします。


▽ 無料登録(エントリー)はこちら
https://geechs-job.com/entry


まだフリーランスになることに迷いがある方へは、独立のご相談から承ります。これまでのご経歴やキャリアの目標をお伺いしながら、お一人おひとりに寄り添ったキャリアプランのご提案をいたします。


▽ 独立相談会への無料エントリーはこちら
東京:https://geechs-job.com/event/details/1
大阪:https://geechs-job.com/event/details/2
福岡:https://geechs-job.com/event/details/3
名古屋:https://geechs-job.com/event/details/189

その他のおすすめ記事

いまさら聞けない「スクラム開発」ってどんなもの?|ITフリーランスをサポートするギークスジョブ

ITフリーランスの方のための『お役立ち情報』をご紹介しています。この情報のテーマはいまさら聞けない「スクラム開発」ってどんなもの?です。geechs job(ギークスジョブ)では、「フリーに生きる」ためのノウハウをご紹介し、ご希望のキャリアやライフプランを実現できるように、サポート致します!

シェア

スキルを収入上昇につなげよう

日本最大級のITフリーランス専門エージェント ギークスジョブ

無料登録はこちら

いきなりフリーランスとして活動するのは不安...という方へ

業界・専門知識の豊富なコーディネーターが、関東、関西、福岡で無料セミナーを実施しています

こんなお悩みはありませんか?

  • 自分のスキルでフリーランスになれるか不安
  • 安定した収入を得られるのか不安
  • 税金や保険などの手続きがどうなるのか知りたい

まずは、ギークスジョブの無料イベントに参加してみませんか?
まだ本格的に活動する予定がない方も、情報収集の手段として活用されています。
不安や小さな不明点を解消する場として、是非ご利用くださいませ。

イベント一覧を見る
上に戻る