ソフトウェア開発の業務改善をテーマにスタートします本連載、
さて、
DevOpsのおさらい
「DevOps」
DevOpsは、
2009年にO'Reilly主催のVelocityというイベントで発表された資料
- 1.インフラストラクチャ構築の自動化
- 従来は手作業で行っていたインフラストラクチャの構築や変更作業をコードで定義
(Infrastructure as Code) し、 自動化することです。たとえば、 Dockerfileを用いたコンテナ運用やTerraform、 Ansibleなどのツールを使用します。 - 2.バージョン管理
- よく使うのは、
Git対応のバージョン管理システムです。以前から使われているSubversionもあります。開発者と運用者で、 共通のバージョン管理システムを使用します。 - 3.ビルドやデプロイの自動化
- 繰り返し行う定型作業は、
手順書などを使い手動で実行するのではなく、 自動化します。運用者の負荷が減ることが期待できます。 - 4.フィーチャー
(機能) フラグ運用 - フィーチャートグルとも言います。開発した新しい機能にフラグを付けておき、
一部のユーザにだけ試してほしいときに活用します。 - 5.指標
(メトリクス) の共有と評価 - プロジェクトにかかわるステークホルダにより、
指標は異なります。インフラストラクチャ関係であればシステム系の指標が必要になり、 開発したソフトウェアであればソフトウェアの品質や仕様について評価する指標が必要です。リリースする機能についてビジネスへの貢献度 (どれほど売り上げに貢献するかなど) を評価する指標は重要です。ダッシュボードツールなどで、 指標の結果をプロジェクトの各ステークホルダと共有し、 評価することが必要です。 - 6.通知ボット
- ビルドやデプロイ、
新しいバージョン、 バグ報告などを共有するために、 ボットを用いて通知を自動化します。
続いて、
- 1.互いに尊敬する
- 開発担当と運用/
保守担当が互いに尊敬する気持ちを忘れずにいれば、 たとえば運用/ 保守担当が開発担当に対して、 コードにどんなリスクが潜んでいるかなど、 遠慮せずに確認できるようになります。 - 2.互いに信頼する
- 運用/
保守担当は開発担当を信頼し、 運用や顧客からの追加機能などの要望について開発担当とディスカッションしましょう。開発担当は運用/ 保守担当を信頼し、 インフラストラクチャについてのディスカッションに参加してもらい、 きちんと意見を聞きましょう。開発や運用/ 保守に関する情報は、 隠さずに共有しましょう。そうすることで、 コミュニケーションがしやすくなり、 信頼関係の醸成が早まります。 - 3.互いに仕事を任せ合う
- 失敗しても相手を責めない。開発担当と運用/
保守担当は運命共同体です。安定稼働しているシステムでも原因不明のトラブルが起きることはありますし、 人間である以上誰も100%は保証できません。追加開発時に開発担当がミスをすることもあります。誰かを責めるのではなく、 協働して問題解決にあたることが大切です。 - 4.相手を非難しない
- ミスが起きても非難せず、
次に同じ問題が起きないように建設的に話します。互いに不満が溜まれば、 突然メンバーが欠けたり、 作業が進まなくなったりして、 最悪プロジェクトの撤退につながる恐れがあります。
DevOpsで大切なことは、
DevOpsの実現を阻む現状
DevOpsという活動について認識を一致したところで、
後編では、
日本だけでなく、
アジア圏でもアトラシアン製品販売のトップエキスパートであるリックソフトのWebサイトでは、 各アトラシアン製品の体験版を提供しているほか、 アトラシアン製品専用のコミュニティも運営しています。まずはアクセスしてみては!
- リックソフトJIRAデモ環境
- https://
www. ricksoft. jp/ demo/
本誌最新号をチェック!
Software Design 2022年9月号
2022年8月18日発売
B5判/192ページ
定価1,342円
(本体1,220円+税10%)
- 第1特集
MySQL アプリ開発者の必修5科目
不意なトラブルに困らないためのRDB基礎知識 - 第2特集
「知りたい」「使いたい」「発信したい」をかなえる
OSSソースコードリーディングのススメ - 特別企画
企業のシステムを支えるOSとエコシステムの全貌
[特別企画]Red Hat Enterprise Linux 9最新ガイド - 短期連載
今さら聞けないSSH
[前編]リモートログインとコマンドの実行 - 短期連載
MySQLで学ぶ文字コード
[最終回]文字コードのハマりどころTips集 - 短期連載
新生「Ansible」徹底解説
[4]Playbookの実行環境(基礎編)