公開事例から見るDevOps実践に適したシステムは?
こんにちは、SB C&Sの加藤です。
前回は、弊社が提供を開始しましたサービス「DevOps Assist」の立ち上げの経緯についてお話をしました。
今回は、公開されている事例を元に、どのようなシステムに対してDevOpsを実践していくか?という観点でのお話をします。
Nordstromの事例
DOES (DevOps Enterprise Summit) というDevOpsのためのグローバルカンファレンスが海外で行われているのですが、ここでのユーザー事例として、北米最大手の百貨店であるNordstromの事例から、どのようなシステムに対して改善を行っていったのかを紐解いていきたいと思います。
Nordstromは、全従業員が6万3千人、またそのうちテクノロジー組織で働く人が1,800人と非常に大きな組織ですが、システム的には多くの問題(後述)があり、当時店舗のデジタル化を担当をしていたCourtney Kissler氏によると、全社をあげて行っている「Customer Centric Strategy (顧客中心の戦略)」に則した形で、デジタル化による顧客の利便性、迅速性、信頼性を向上させることが至上命題だったと語っています。
それでは、彼らがどのようなシステムに対してDevOpsプラクティスを実践していったのかを見ていきましょう。実際に問題のあったシステムの中から3つを例として挙げてみたいと思います。
- App Storeで使いづらいと不評なモバイルアプリ
- 問題(バグ)ばかりのカフェのインストアアプリ
- レガシーな営業管理アプリ
1は、非常にわかりやすいですね。顧客からのリクエスト・苦情などがダイレクトに伝わるシステムです。★の数ですぐに評価されるので、常に顧客中心で高速に改善していかないといけないシステムです。当時のNordstromは既存の開発/リリースサイクルに乗せて運用をしていたため、1年に2回しかリリースができなかったそうです。ですので、この問題に対して彼らがやったことは、開発・リリースのリードタイムを短縮することでした。
2も1と同様にダイレクトに影響が出るシステムですが、1と異なる点は、アプリがバグだらけで問題が多いという点でした。アプリの品質向上とそれに関わるコスト増の課題をクリアすることが必要ですが、それには開発プロセスを根本から見直す必要がありました。
3は、従業員が利用するメインフレーム + COBOLのアプリケーションで、従業員は、営業時にいちいちバックヤードにあるこのアプリに対して従業員番号を入力しないと行けないという、運用上問題のあるものでした。 彼らは、モバイルアプリ化することでこの問題を解決したそうですが、こういった改善は当たり前のことなのかもしれませんが、小さな運用改善も数万人分となれば、大きなメリットになります。
全体を通して、モバイルアプリが多いようにも見えますが、共通していることは、ユーザーに近い所にある (ユーザーからフィードバックを受けやすく、継続的な改善が必要な)システムという共通点があるかと思います。
システムの分類から見る
Nordstromの具体的なアプリの話をしましたが、もう少し抽象的な図にしてみたのが以下です。
上段はシステムの目的で分類したもので、ガートナーさんの言われているバイモーダルITに則って、Mode1(SoR)とMode2(SoE)に分類しています。
Mode1は、人事、財務管理などのERPに代表される規制やコンプライアンス(SOX等)を満たさなければいけないシステム、Mode2は、モバイル、WEBに代表される常に利用者に接しているシステムで、言い換えると、顧客ニーズを満たすために絶えず実験を繰り返さないといけないシステムです。目的が異なるため、それぞれが全く異なる開発プロセスやインフラストラクチャで動作することは、想像に難くないと思います。
下段は、導入タイミングとして、既存システムへ変更を加えるのか、全くの新規システムなのかで分類しています。この図から、より右側に位置する方がDevOpsを実践しやすいシチュエーションにあると私は考えています。Mode2という観点では、絶えず実験を繰り返し、早く顧客へ価値を提供する必要があるため、Agile文化の浸透や、開発環境、デプロイパイプラインの自動化を行う必要が出てきます。また、新規システムという観点では、従来の予算、しがらみにとらわれることが少なく、新しい開発手法の導入、ツール、インフラストラクチャの導入がし易いという点がポイントになっています。まずは、このあたりから部分的にDevOpsを実践してみることをおすすめします。
まとめ
今回の事例を見て、大手企業によるDevOpsの実践は、経営層の理解による継続的な強いリーダーシップと、それを全てのシステムに適用するのではなく、ボトムアップで選定(部分最適)していく2つの異なる進め方の融合にあると思いました。
次回は、選定したシステムをどのように改善していくか?その進め方についてお話をしたいと思います。
参照元
・DOES14 - Courtney Kissler - Nordstrom - Transforming to a Culture of Continuous Improvement
https://www.youtube.com/watch?v=0ZAcsrZBSlo
・DOES15 - Courtney Kissler & Jason Josephy - Mindsets and Metrics and Mainframes... Oh My!
https://www.youtube.com/watch?v=88_y1YFsRig
・DevOps Handbook
http://shop.oreilly.com/product/9781942788003.do
この記事の著者:加藤学
テクニカルフェロー
エンタープライズ領域での開発から運用監視までの幅広い業務経験を活かし、事業開発やマーケティングチームと一緒になってビジネスの立ち上げを行っている。日本とアメリカ、特にシリコンバレーへ滞在し、新規プロダクトの発掘調査や国内外の新規パートナーリクルーティング、技術戦略、ポートフォリオの策定など、技術をバックグラウンドにしたさまざまな活動を行っている。最近では、DevOpsを始めとした開発者向けビジネスの立ち上げを行い、プロジェクトの責任者として慌ただしい日々を送っている。
- 関連キーワード:
- コラム
DevOps Hubのアカウントをフォローして
更新情報を受け取る
-
Like on Facebook
-
Like on Feedly