42
「攻めのIT」を実現する アーキテクチャとDevOpsの関係 グロースエクスパートナーズ(株) ITアーキテクト 和智 右桂 IT Architect Conference 2013 Thursday, December 12, 13

「攻めのIt」を実現するアーキテクチャーとdev opsの関係

Embed Size (px)

DESCRIPTION

日経BP社様主催 IT アーキテクトカンファレンス2013 の講演原稿です http://coin.nikkeibp.co.jp/coin/itpro-s/seminar/sys/131202/

Citation preview

Page 1: 「攻めのIt」を実現するアーキテクチャーとdev opsの関係

「攻めのIT」を実現するアーキテクチャとDevOpsの関係

グロースエクスパートナーズ(株) ITアーキテクト 和智 右桂

IT Architect Conference2013

Thursday, December 12, 13

Page 2: 「攻めのIt」を実現するアーキテクチャーとdev opsの関係

和智 右桂

JavaEE勉強会 所属

グロースエクスパートナーズ株式会社 勤務http://www.gxp.co.jp/index.html

Yukei Wachi

@digitalsoul0124Digital Romanticism

http://d.hatena.ne.jp/digitalsoul

ネコ好き

Photo by @digitalsoul0124 All rights reserved.

IT アーキテクト

Thursday, December 12, 13

Page 3: 「攻めのIt」を実現するアーキテクチャーとdev opsの関係

Thursday, December 12, 13

Page 4: 「攻めのIt」を実現するアーキテクチャーとdev opsの関係

•「攻めのIT」とは?•DevOpsのための継続的デリバリー•幸せな運用のためのアーキテクチャ•まとめ

アジェンダ

Photo by @digitalsoul0124 All rights reserved.

スライド中で使用されている画像について、その著作権の全部または一部は、 クレジットに示した著者によって保留されています。

Thursday, December 12, 13

Page 5: 「攻めのIt」を実現するアーキテクチャーとdev opsの関係

「攻めのIT」とは

Thursday, December 12, 13

Page 6: 「攻めのIt」を実現するアーキテクチャーとdev opsの関係

攻めないIT

仕様

ソフトウェア顧客 開発者

Thursday, December 12, 13

Page 7: 「攻めのIt」を実現するアーキテクチャーとdev opsの関係

虎を追い出してくれたら見事 捕まえてみせます!

Thursday, December 12, 13

Page 8: 「攻めのIt」を実現するアーキテクチャーとdev opsの関係

マインドの問題

スクラム だから違う、ということでもない

“バックログをちゃんと作ってくれれば、ちゃんと実装しますよ”

Thursday, December 12, 13

Page 9: 「攻めのIt」を実現するアーキテクチャーとdev opsの関係

3D Character and Question Mark http://www.flickr.com/photos/crystaljingsr/3914729343/ by 姒儿喵喵

攻めのマインドとは

Thursday, December 12, 13

Page 10: 「攻めのIt」を実現するアーキテクチャーとdev opsの関係

一緒に虎を追いかけましょう

Thursday, December 12, 13

Page 11: 「攻めのIt」を実現するアーキテクチャーとdev opsの関係

虎は顧客の向こうに•経営方針•組織構造(運用、企画 etc)•ビジネスモデル•エンドユーザー•競合他社「業務」という言葉の重み

Thursday, December 12, 13

Page 12: 「攻めのIt」を実現するアーキテクチャーとdev opsの関係

攻めのIT

顧客 開発者

運用担当エンドユーザー

企画

競合他社ステークホルダーの増加

Thursday, December 12, 13

Page 13: 「攻めのIt」を実現するアーキテクチャーとdev opsの関係

...戦場が広がった新しい戦略が必要だ

Thursday, December 12, 13

Page 14: 「攻めのIt」を実現するアーキテクチャーとdev opsの関係

DevOpsのための継続的デリバリー

Thursday, December 12, 13

Page 15: 「攻めのIt」を実現するアーキテクチャーとdev opsの関係

3D Character and Question Mark http://www.flickr.com/photos/crystaljingsr/3914729343/ by 姒儿喵喵

ところでDevOpsって?

Thursday, December 12, 13

Page 16: 「攻めのIt」を実現するアーキテクチャーとdev opsの関係

•「開発(Development)の活動と運用(Operations)の活動との間に壁がある」という問題意識への反応•「変化を重んじる文化 / プロセスの統合 / ツールの統合」による解決

DevOpsとは

Thursday, December 12, 13

Page 17: 「攻めのIt」を実現するアーキテクチャーとdev opsの関係

開発と運用との間の壁

http://dev2ops.org/2010/02/what-is-devops/

•志向 / プロセス / ツールの違いにより生み出される•変化 vs 安定•開発から運用にソフトウェアが投げ渡される•開発と運用でツールが異なる

Thursday, December 12, 13

Page 18: 「攻めのIt」を実現するアーキテクチャーとdev opsの関係

DevOpsによる解決•計測と評価による変化を重んじる文化の醸成•開発-運用のライフサイクルをエンドツーエンドのプロセスに•バージョンコントロールや自動化のためのツール

http://dev2ops.org/2010/02/what-is-devops/Thursday, December 12, 13

Page 19: 「攻めのIt」を実現するアーキテクチャーとdev opsの関係

DevOpsの位置づけ

Biz Dev Ops

Agile DevOps

ビジネスプロセス

Thursday, December 12, 13

Page 20: 「攻めのIt」を実現するアーキテクチャーとdev opsの関係

3D Character and Question Mark http://www.flickr.com/photos/crystaljingsr/3914729343/ by 姒儿喵喵

具体的にどうしたら?

Thursday, December 12, 13

Page 21: 「攻めのIt」を実現するアーキテクチャーとdev opsの関係

開発-運用のプロセス作りThursday, December 12, 13

Page 22: 「攻めのIt」を実現するアーキテクチャーとdev opsの関係

継続的デリバリー1. 顧客からの依頼がソフトウェアになって戻っていくプロセス(バリューストリーム)のモデル化

2. 効率化 / 自動化

Thursday, December 12, 13

Page 23: 「攻めのIt」を実現するアーキテクチャーとdev opsの関係

継続的デリバリーの概要

顧客開発者

運用担当

リポジトリ課題管理

CIサーバ

テスト環境

本番環境 エンドユーザーThursday, December 12, 13

Page 24: 「攻めのIt」を実現するアーキテクチャーとdev opsの関係

実装のポイント•要件と実装との間のトレーサビリティの確保•メールは基本アンチパターン•開発-運用共通の構成管理基盤•統一的なリリースプロセスの確立•同じ場所から同じようにビルドして同じようにリリースする

Thursday, December 12, 13

Page 25: 「攻めのIt」を実現するアーキテクチャーとdev opsの関係

継続的デリバリーの意義•継続的インテグレーションまでは開発のためのプラクティス•デリバリーまで含めて初めて、フィードバックループが回る

開発者 運用担当 エンドユーザーThursday, December 12, 13

Page 26: 「攻めのIt」を実現するアーキテクチャーとdev opsの関係

幸せな運用のためのアーキテクチャ

Thursday, December 12, 13

Page 28: 「攻めのIt」を実現するアーキテクチャーとdev opsの関係

•「イテレーティブ」と「インクリメンタル」•「イテレーティブ」はプロセス•「インクリメンタル」はアーキテクチャ

•アーキテクチャのないイテレーションは崩壊のプロセス

攻めのITのために

Thursday, December 12, 13

Page 29: 「攻めのIt」を実現するアーキテクチャーとdev opsの関係

アーキテクチャの役割•変化することを前提とした上で変化の方向性を予め決定づける•アーキテクチャの策定とは、変わるものと変わらないものを事前に決定する行為

•要素技術よりも、ドメインや組織への考慮が重要

Thursday, December 12, 13

Page 30: 「攻めのIt」を実現するアーキテクチャーとdev opsの関係

3D Character and Question Mark http://www.flickr.com/photos/crystaljingsr/3914729343/ by 姒儿喵喵

具体的にどうしたら?

Thursday, December 12, 13

Page 31: 「攻めのIt」を実現するアーキテクチャーとdev opsの関係

どう境界を定め、どう構成するか•コンウェイの法則•大局的構造•モデル駆動設計

アーキテクチャ策定の指針

Thursday, December 12, 13

Page 32: 「攻めのIt」を実現するアーキテクチャーとdev opsの関係

前提相対的にアーキテクチャの重要度が低いシステム•小規模•少人数•スタンドアロン

小回りが利かないときにどうするかThursday, December 12, 13

Page 33: 「攻めのIt」を実現するアーキテクチャーとdev opsの関係

コンウェイの法則とは

“組織のアーキテクチャはプロダクトのアーキテクチャと揃えておかなければならない”

Thursday, December 12, 13

Page 34: 「攻めのIt」を実現するアーキテクチャーとdev opsの関係

コンウェイの法則の適用例①システムの境界が組織の境界となる

顧客管理 販売管理在庫管理

パッケージ採用時には注意が必要Thursday, December 12, 13

Page 35: 「攻めのIt」を実現するアーキテクチャーとdev opsの関係

コンウェイの法則の適用例②内部構造の境界がチームの境界に

個別モジュール

個別モジュール個別モジュール

汎用モジュール

職人開発者

開発者開発者Thursday, December 12, 13

Page 36: 「攻めのIt」を実現するアーキテクチャーとdev opsの関係

大局的構造とはシステム間統合の方式設計は、コミュニケーション形態に合わせる•密結合して良いケース•中間層を立てないと危険なケース

Thursday, December 12, 13

Page 37: 「攻めのIt」を実現するアーキテクチャーとdev opsの関係

モデル駆動設計とはドメインモデルを反映してソフトウェアを作る•変化に柔軟に適用できるが高コスト

Thursday, December 12, 13

Page 38: 「攻めのIt」を実現するアーキテクチャーとdev opsの関係

機能追加のコスト

ロジックの複雑度

トランザクションスクリプト

ドメインモデル

ドメインモデルの損益分岐点

-PoEAAよりThursday, December 12, 13

Page 39: 「攻めのIt」を実現するアーキテクチャーとdev opsの関係

業務に寄り添って進化するソフトウェアの形を見極める

Thursday, December 12, 13

Page 40: 「攻めのIt」を実現するアーキテクチャーとdev opsの関係

まとめ

Thursday, December 12, 13

Page 41: 「攻めのIt」を実現するアーキテクチャーとdev opsの関係

まとめ•もはや「言われたものを作る」だけにはとどまれない。•そのためにはエンドツーエンドのプロセスと、•進化を許容するアーキテクチャが必要である。

Thursday, December 12, 13

Page 42: 「攻めのIt」を実現するアーキテクチャーとdev opsの関係

ありがとうございました!Photo by @digitalsoul0124 All rights reserved.

Thursday, December 12, 13