DevOpsとは何かご存知でしょうか。
聞いたことがあるけど、内容は良く分からないという方が多いのではないでしょうか。
一言で説明すると開発にあたっての「考え方」です。
では実際どんな考え方であるのか詳しく解説していきます。
弊社でもDevOpsの考え方を取り入れており、創業から約24年の開発経験と蓄積したノウハウを活用しながら執筆をしております。
ぜひ一度お読みいただき、理解を深めていきましょう。
目次
1.DevOpsとは
1-1 DevOpsは開発(Development)と運用(Operations)をつなげた造語
DevOpsとは、開発(Development)と運用(Operations)をつなげた造語であり
「デブオプス」と読みます。
開発の手法とは異なり、概念や考え方を指す単語です。
ちなみに他の記事では開発手法として解説されていますが、本記事では開発手法ではなく「概念」「考え方」としてとらえております。
意味としては、開発の効率を上げ、「開発チーム」と「運用チーム」を1つのチームとして緊密に連携をとりリリースサイクルを短くする考え方となります。
この考え方により、リリース後のフィードバックから素早く改修ができることなど、これまで以上に効率的な開発が期待できます。
1-2 DevOpsの起源
前項で開発と運用が密に連携をとることと解説しましたが、
元々開発も運用もチームの1つじゃないのかと疑問に思った方もいるかと思いますが、
そもそも、新しい機能を作ることなどを目的とする開発とシステムを安定的に稼働させることなどを目的とする運用は目的がことなることから別チームとして考えられてきました。
中には、開発と運用のチーム間で対立関係になってしまい、本来の開発業務にも支障をきたし、非効率な体制になっていたこともありました。いわゆる足の引っ張り合いです。
具体的な例としては、開発チームが新バージョンのMW(ミドルウェア)やライブラリのインストールを要求しても、運用チームがセキュリティ面や運用ポリシーなどを理由に許可しないということがあります。
しかし、2009年に開催された「Velocity2009」にて発表された、「10 deploys per day : Dev and Ops cooperation at Flickr」によってDevOpsの考え方ができたといわれています。
1日10回以上のリリースを行っているとする内容がエンジニアのセッションで発表され、その中で「開発部門と運用部門の協力関係にある」からこそ可能であると紹介されたことでDevOpsの考え方が広まり始めました。
1-3 DevOpsを導入している・していないケースを比較
次にDevOpsについて導入している時とそうでない時の差を図でみていきましょう。
下記に図示している通り、導入していない場合は開発チームから運用チームへ「後よろしく~」と連携されていき、特に同様のチームでないため、連携があまりとれていない状況です。
一方、導入している場合は「後よろしく~」という考え方は基本なく、開発も運用も1つのチームとして動きます。
1-4 DevOpsを導入したことでできることの具体例
前項で解説した体制により、例えば要件定義の段階から開発・運用チームを同席させ情報共有を行うことや、チーム全体で定例ミーティングの設定、運用フェーズに移っても開発チームを運用に携わらせるなどができます。
目的も部門間でそれぞれあるにせよ、全体として1つの目標を定めることで向くべき方向の統一もできます。
また、開発の効率化を図るために、例えばコードが自動でテストされるツールなど自動化できる部分は可能な限り自動化させ効率を上げることなどもあります。
まとめるとポイントとしては下記の2点です。
ポイント | 例えば |
---|---|
開発チームと運用チームは密に連携 | ・要件定義の段階から開発・運用チームを同席させ情報共有を行う ・チーム全体で定例ミーティングを設定 ・運用フェーズに移っても開発チームを運用に携わらせるなど |
開発効率をあげる | ・コードが自動でテストされるツールの活用など |
2.DevOpsのメリット
スムーズに開発が進められることや、リリースの効率化があげられます。
従来のように開発チームと運用チームという考え方の場合、チーム間での対立などが開発のスピードや効率に悪影響を及ぼす可能性があります。
しかし、DevOpsを取り入れることで、「開発チーム」「運用チーム」という考え方ではなく、1つのチームとして連携を密にすることができます。
例えば、営業の管理ツールを開発する案件があったとしましょう。設計書を確認した運用者側が商談結果を入力する画面までの動線がシステムの構造上、分かりにくい仕上がりになると感じ、
開発者側に事前に伝えることで、開発前に改善をすることなどができます。
緊密に連携をとるとされているDevOpsを取り入れているからこそ、このような無駄を事前に排除することができます。
3.DevOpsを導入するために必要な2つのステップ
DevOpsは開発手法や何かのツールではなくあくまで概念であるため導入というとハードルが高いように感じますが、やることは至ってシンプルだと思います。
- 目標の設定
- システム担当部署及び全社へ周知
流れとしてはこの2つのみです。
3-1 DevOpsの考え方を踏まえた共通の開発目標を設定する
これは開発チームと運用チームを1つのチームとするため共通の目標が必要になります。
例えばリリースの頻度を週に5回以上にするやバグ発生の割合を下げることなど向かうべき目標を決定しましょう。
ここで定められた目標は経営陣を含めた関係者すべてに周知し、同様の認識を持つことが重要です。
3-2 システム担当部署及び全社へ浸透させる
前項の目標と合わせて、DevOpsの考え方を全社へ浸透させましょう。
1章で解説しました通り、「開発チームと運用チームは密に連携」、「開発効率をあげる」の2つを周知し、従来の考え方を刷新する必要があります。
また、必要に応じで自動化ツールの導入などを検討していきましょう。
4.ICDにおけるDevOps
ソフトウェア開発をはじめ、WEB系のシステム開発など、IT企業として24年の経験がある弊社にお任せください。
弊社はクリエイティブ部門をシステム開発部門に統合してワンストップ化、要件定義工程でのUI設計で効果を発揮しています。もともとシステム開発会社であるため、見た目の良さだけでなくシステム要件を踏まえた設計・開発が可能です。
多様なスキル要素(一人複数役、新スキル)、開発の進め方の変化など、マネジメントが複雑化する昨今、変化するニーズに対応可能な技術者調達力&チームマネジメント力に特化したICDだからこそ成し遂げられるオフサイトソリューションの形があります。請負に限らず、準委任契約も承っております。
そして、24年の実績の中でソフトウェア開発を行った実績も実に豊富であり、知見やノウハウを最大限に活かした開発が可能です。
また、オフショア開発も事業展開しており、特徴としては、ベトナム現地に日本人が複数名在籍しており、ブリッジSEとして必ず窓口に立つような体制を整えています。日本語でのコミュニケーションはもちろんのこと、日本人ならではの感覚も伝わります。そしてエンジニアとしての知識と経験も豊富であることから、ただディレクションするだけでなく、厳しく納品物の確認を行い高い品質を維持しています。
またDevOpsの概念を大事にしています。
お客様のProjectへ [専門スタッフとルールを用意する == Labo型開発] を提供することで
– 運用中のシステムを対象とした追加開発をスムーズに
– 同系等の別システムの新規開発をスムーズに(Migrateの横展開やオウンドメディアの量産)
を可能にしています。
このような体制により、東建コーポレーション株式会社様や株式会社カインズ様をはじめとした大手企業様から信頼をいただき、プロダクト開発など実績が豊富にあることも強みです。
会社名 | 株式会社インタラクティブ・コミュニケーション・デザイン |
---|---|
設立 | 2000年11月 |
従業員数 | 200名(国内+ベトナム) |
本社所在地(国内) | 東京都港区赤坂1丁目12番32号 アークヒルズ アーク森ビル 17階 |
事業内容 | ・ソリューション事業 ・サービス事業 |
URL |
DevOpsのまとめ
DevOpsについて解説をしてきましたが、ポイントは掴めましたか。
開発手法ではなく、概念や考え方を指しており、開発チームと運用チームが協力していきましょうという意味を持っております。
多くの企業でもこの考え方を取り入れており、開発の効率化を図っている状況です。
新しい考え方を浸透させることは時に大きな手間になることもありますが、ぜひ一度挑戦してみてはいかがでしょうか。
お読みいただいた皆様の一助になれば幸いです。