⌚ 2016/5/ 6 (Fri) 🔄 2024/3/20 (Wed)
Bluemix~DevOpsとは~
4月からIBM 主催の技術ワークショップに参加しています。グローバルスタンダードとなりつつあるDevOpsを、身をもって学ぶ良い機会となり、毎回楽しんで参加しています。
そもそも、DevOps ってなんでしょう?
DevOps(デブオプス[1])は、ソフトウェア開発手法の一つ。開発 (Development) と運用 (Operations) を組み合わせたかばん語であり、開発担当者と運用担当者が連携して協力する開発手法をさす。by Wiki
弊社は開発も運用も行っています。
弊社の開発担当者も運用担当者も、仲良く協力して仕事していますし・・・。それがDevOpsだとしたら、何が目新しいのだろう・・・。
それを探るために、【DevOpsの原点】から調べてみました。
1日に10回以上のリリースを可能とする
DevOpsの原点と言われているのは、"Velocity 2009"で Flickrが行ったプレゼンテーション[10+ Deploys Per Day: Dev and Ops Cooperation at Flickr] です。
※ http://www.slideshare.net/jallspaw/10-deploys-per-day-dev-and-ops-cooperation-at-flickr
スライドを抜粋しながらご紹介します。
開発部門は新機能を作ることを目的とし、運用部門は安定した稼働を目的とする
開発部門と運用部門は利害が一致せず対立してしまうものだ
えー。気持ちはよく分かります。私のプログラムが動かないのは、環境が悪いんです。
ちょっと待て。運用部門も開発部門もビジネスの実現が目的ではないか
ビジネスは変化を求めている。
しかし、変化はシステム停止の原因となりうる・・・。
新機能をリリースしたら、システムが動かなくなるなんて良く聞く話ですね。
変化のリスクを、ツールと文化で下げたら・・・?
そしてスライドでは以下の6つのツールと4つの文化の必要性を謳っています。
ツール:
- インフラ構築の自動化
- バージョン管理
- デプロイ自動化
- 継続的インテグレーション
- 監視
- 情報共有
文化:
- 尊重する
- 信頼する
- 失敗に対する健全な態度
- 非難しない
これらが揃い実践することで、「1日に10回以上のリリースを可能とする」
DevOpsとアジャイル型開発
2009年にFlickrのDevOpsが発表されましたが、実際にワードとして目にするようになったのは2013年頃からです。この背景には、ビジネスにおけるシステムに対する概念の変化があります。
従来の概念
Systems Of Records ( SoR ) =>> 記録のためのシステム [従来の業務システム]
新しい概念
Systems Of Records ( SoR ) =>> 人と関わりあうシステム [新しい顧客接点システム]
SoE ではシステムを個客接点や、新規事業の創出に使うことを目的としています。そのようなシステムは、柔軟性と即時性が重要となります。
昨今では一般的になったクラウドコンピューティングは、システムのスケールアップ/スケールアウトに柔軟に対応できる点でSoE にはなくてはならないプラットフォームになりました。
また、開発手法も従来のウォーターフォール型から、より即時性と柔軟性が高いアジャイル型開発方式を選択することも多くなりました。
アジャイル型開発ではウォーターフォール方式よりも、当然ながらより多くのデプロイが発生するため、DevOpsの原点が再注目されるようになったきっかけの一つではないでしょうか。
DevOpsとは
つまりDevOpsとは、単純に開発担当者と運用担当者が協力して作業するだけでなく、SoE を目的としたアジャイル型開発に親和性の高いツールや文化を用いたシステム開発のことだと捉えるべきでしょう。
IBM 主催の技術ワークショップでは
IBM Bluemix ( http://www.ibm.com/cloud-computing/jp/ja/bluemix/ ) と
IBM Bluemix DevOps Services ( https://hub.jazz.net/ ) を使用したアプリケーション開発を実践しています。
次回は実際にBluemixを使用した開発例をご紹介したいと思います。
~Wata Bakary~