ここから本文です
AI(人工知能)& IoT
AIとIoTについて、ともに学びましょう。

書庫全体表示

 DevOps(デブオプス)とは、ソフトウェア開発の手法のひとつで、開発部門と運用部門が連携してシステム開発を行うというやり方。大きなシステムを一度にリリースするのではなく、小さなシステムのリリースとテストを繰り返す手法。DevOpsは、開発(Development)と運用(Operations)の合成語。実際には開発部門(Dev)、運用部門(Ops)、品質管理部門(QA)の三者の連携と協力で成り立っている。DevOpsにビジネス部門の協力も加えた「BizDevOps」という手法もある。

 開発担当がDevOpsに参加する目的は、「利便性を向上させるためにユーザーの需要を反映してシステムに新しい機能を追加する」ことで、運用担当がDevOpsに参加する目的は、「システムを安定的に稼働させ、信頼性を保つ」こと。開発担当も運用担当も「良いシステムを提供することで価値を生み出す」という大きな目的は同じ。

 DevOpsを行う際は、開発・運用を問わず、会社全体で「関係者がそれぞれの専門性を活かし、互いに連携し、協力し合う」というカルチャーを形成することが大切

【DevOpsのメリット】
●リリースの高速化
 開発担当・運用担当双方の余分な作業がなくなり、開発のプロセス全体が高速化するので、素早くシステムをリリースできる。
●生産性の向上
 修正にかかる時間やムダな開発工数が削減できて、開発が効率化するため、生産性も向上する。
●情報共有の円滑化
 互いに必要な情報を過不足なく共有できるため、本番環境を想定した開発が可能。また、開発から運用までの引き渡し期間を短縮し、円滑なシステム運用を実現する。
●リスクの分散
 開発規模が小さいので、変更箇所も少なく、リスクが分割される。

【DevOpsを行うための開発手法】
●アジャイル開発
 DevOpsの手法として、以前紹介したアジャイル開発が多く使われている。アジャイル開発では開発作業に顧客を巻き込んだ「共同開発チーム」をつくり、システムの全体をいくつかに区切る。1つの区切りを2週間程度で開発してリリースを行い、そのフィードバックによって新たな開発とリリースを繰り返して、全体の完成度を高める。アジャイル開発は、いくつもの手法に分けられ、代表的なものには、チーム一体となって開発を進める「スクラム」、開発サイクルが短くプログラマーが主体となる「エクストリームプログラミング」、システムを一定間隔で繰り返し提供しながら開発する「機能駆動型開発(FDD)」、無駄を排除してシステムを素早く提供し、全体を最適化する「リーンソフトウェア開発」などがある。
●継続的インテグレーション
 継続的インテグレーション(Continuous Integration、CI)は、バグを早期に発見して対処することで、ソフトウェアの品質を高める手法。本番環境でソフトウェアの更新を早期に検証するため、リリースにかかる時間を短縮できる。
継続的インテグレーションの進め方は、開発担当がそれぞれコードを定期的にCIサーバーと呼ばれる専用の場所にアップロード、定期的に結合・ビルドしてテストを行いながら開発を進めていく。
●継続的デリバリー
 継続的デリバリー(Continuous Delivery)は、継続的インテグレーションを拡張したもの。コードを修正する度に自動的にビルドが行われ、テストや本番へのリリース準備が実行される。実際の本番環境でのデプロイやリリースのタイミングは、ユーザー主導で決定するのが特徴。プロセスの多くの部分を自動化しており、DevOpsに似ているため、DevOpsの手法としても継続的デリバリーが使われている。

参考
発注ラウンジ:DevOpsとは?リリースの高速化を実現する新たな開発概念のメリット
https://hnavi.co.jp/knowledge/blog/devops/

顔アイコン

顔アイコン・表示画像の選択

絵文字
×
  • オリジナル
  • SoftBank1
  • SoftBank2
  • SoftBank3
  • SoftBank4
  • docomo1
  • docomo2
  • au1
  • au2
  • au3
  • au4
  • 名前
  • パスワード
  • ブログ

開くトラックバック(0)

本文はここまでですこのページの先頭へ
みんなの更新記事