「攻めのit」を実現するアーキテクチャーとdev opsの関係
DESCRIPTION
日経BP社様主催 IT アーキテクトカンファレンス2013 の講演原稿です http://coin.nikkeibp.co.jp/coin/itpro-s/seminar/sys/131202/TRANSCRIPT
![Page 1: 「攻めのIt」を実現するアーキテクチャーとdev opsの関係](https://reader034.vdocuments.net/reader034/viewer/2022052307/54b521584a7959b6098b467d/html5/thumbnails/1.jpg)
「攻めのIT」を実現するアーキテクチャとDevOpsの関係
グロースエクスパートナーズ(株) ITアーキテクト 和智 右桂
IT Architect Conference2013
Thursday, December 12, 13
![Page 2: 「攻めのIt」を実現するアーキテクチャーとdev opsの関係](https://reader034.vdocuments.net/reader034/viewer/2022052307/54b521584a7959b6098b467d/html5/thumbnails/2.jpg)
和智 右桂
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の関係](https://reader034.vdocuments.net/reader034/viewer/2022052307/54b521584a7959b6098b467d/html5/thumbnails/3.jpg)
Thursday, December 12, 13
![Page 4: 「攻めのIt」を実現するアーキテクチャーとdev opsの関係](https://reader034.vdocuments.net/reader034/viewer/2022052307/54b521584a7959b6098b467d/html5/thumbnails/4.jpg)
•「攻めのIT」とは?•DevOpsのための継続的デリバリー•幸せな運用のためのアーキテクチャ•まとめ
アジェンダ
Photo by @digitalsoul0124 All rights reserved.
スライド中で使用されている画像について、その著作権の全部または一部は、 クレジットに示した著者によって保留されています。
Thursday, December 12, 13
![Page 5: 「攻めのIt」を実現するアーキテクチャーとdev opsの関係](https://reader034.vdocuments.net/reader034/viewer/2022052307/54b521584a7959b6098b467d/html5/thumbnails/5.jpg)
「攻めのIT」とは
Thursday, December 12, 13
![Page 6: 「攻めのIt」を実現するアーキテクチャーとdev opsの関係](https://reader034.vdocuments.net/reader034/viewer/2022052307/54b521584a7959b6098b467d/html5/thumbnails/6.jpg)
攻めないIT
仕様
ソフトウェア顧客 開発者
Thursday, December 12, 13
![Page 7: 「攻めのIt」を実現するアーキテクチャーとdev opsの関係](https://reader034.vdocuments.net/reader034/viewer/2022052307/54b521584a7959b6098b467d/html5/thumbnails/7.jpg)
虎を追い出してくれたら見事 捕まえてみせます!
Thursday, December 12, 13
![Page 8: 「攻めのIt」を実現するアーキテクチャーとdev opsの関係](https://reader034.vdocuments.net/reader034/viewer/2022052307/54b521584a7959b6098b467d/html5/thumbnails/8.jpg)
マインドの問題
スクラム だから違う、ということでもない
“バックログをちゃんと作ってくれれば、ちゃんと実装しますよ”
Thursday, December 12, 13
![Page 9: 「攻めのIt」を実現するアーキテクチャーとdev opsの関係](https://reader034.vdocuments.net/reader034/viewer/2022052307/54b521584a7959b6098b467d/html5/thumbnails/9.jpg)
3D Character and Question Mark http://www.flickr.com/photos/crystaljingsr/3914729343/ by 姒儿喵喵
攻めのマインドとは
Thursday, December 12, 13
![Page 10: 「攻めのIt」を実現するアーキテクチャーとdev opsの関係](https://reader034.vdocuments.net/reader034/viewer/2022052307/54b521584a7959b6098b467d/html5/thumbnails/10.jpg)
一緒に虎を追いかけましょう
Thursday, December 12, 13
![Page 11: 「攻めのIt」を実現するアーキテクチャーとdev opsの関係](https://reader034.vdocuments.net/reader034/viewer/2022052307/54b521584a7959b6098b467d/html5/thumbnails/11.jpg)
虎は顧客の向こうに•経営方針•組織構造(運用、企画 etc)•ビジネスモデル•エンドユーザー•競合他社「業務」という言葉の重み
Thursday, December 12, 13
![Page 12: 「攻めのIt」を実現するアーキテクチャーとdev opsの関係](https://reader034.vdocuments.net/reader034/viewer/2022052307/54b521584a7959b6098b467d/html5/thumbnails/12.jpg)
攻めのIT
顧客 開発者
運用担当エンドユーザー
企画
競合他社ステークホルダーの増加
Thursday, December 12, 13
![Page 13: 「攻めのIt」を実現するアーキテクチャーとdev opsの関係](https://reader034.vdocuments.net/reader034/viewer/2022052307/54b521584a7959b6098b467d/html5/thumbnails/13.jpg)
...戦場が広がった新しい戦略が必要だ
Thursday, December 12, 13
![Page 14: 「攻めのIt」を実現するアーキテクチャーとdev opsの関係](https://reader034.vdocuments.net/reader034/viewer/2022052307/54b521584a7959b6098b467d/html5/thumbnails/14.jpg)
DevOpsのための継続的デリバリー
Thursday, December 12, 13
![Page 15: 「攻めのIt」を実現するアーキテクチャーとdev opsの関係](https://reader034.vdocuments.net/reader034/viewer/2022052307/54b521584a7959b6098b467d/html5/thumbnails/15.jpg)
3D Character and Question Mark http://www.flickr.com/photos/crystaljingsr/3914729343/ by 姒儿喵喵
ところでDevOpsって?
Thursday, December 12, 13
![Page 16: 「攻めのIt」を実現するアーキテクチャーとdev opsの関係](https://reader034.vdocuments.net/reader034/viewer/2022052307/54b521584a7959b6098b467d/html5/thumbnails/16.jpg)
•「開発(Development)の活動と運用(Operations)の活動との間に壁がある」という問題意識への反応•「変化を重んじる文化 / プロセスの統合 / ツールの統合」による解決
DevOpsとは
Thursday, December 12, 13
![Page 17: 「攻めのIt」を実現するアーキテクチャーとdev opsの関係](https://reader034.vdocuments.net/reader034/viewer/2022052307/54b521584a7959b6098b467d/html5/thumbnails/17.jpg)
開発と運用との間の壁
http://dev2ops.org/2010/02/what-is-devops/
•志向 / プロセス / ツールの違いにより生み出される•変化 vs 安定•開発から運用にソフトウェアが投げ渡される•開発と運用でツールが異なる
Thursday, December 12, 13
![Page 18: 「攻めのIt」を実現するアーキテクチャーとdev opsの関係](https://reader034.vdocuments.net/reader034/viewer/2022052307/54b521584a7959b6098b467d/html5/thumbnails/18.jpg)
DevOpsによる解決•計測と評価による変化を重んじる文化の醸成•開発-運用のライフサイクルをエンドツーエンドのプロセスに•バージョンコントロールや自動化のためのツール
http://dev2ops.org/2010/02/what-is-devops/Thursday, December 12, 13
![Page 19: 「攻めのIt」を実現するアーキテクチャーとdev opsの関係](https://reader034.vdocuments.net/reader034/viewer/2022052307/54b521584a7959b6098b467d/html5/thumbnails/19.jpg)
DevOpsの位置づけ
Biz Dev Ops
Agile DevOps
ビジネスプロセス
Thursday, December 12, 13
![Page 20: 「攻めのIt」を実現するアーキテクチャーとdev opsの関係](https://reader034.vdocuments.net/reader034/viewer/2022052307/54b521584a7959b6098b467d/html5/thumbnails/20.jpg)
3D Character and Question Mark http://www.flickr.com/photos/crystaljingsr/3914729343/ by 姒儿喵喵
具体的にどうしたら?
Thursday, December 12, 13
![Page 21: 「攻めのIt」を実現するアーキテクチャーとdev opsの関係](https://reader034.vdocuments.net/reader034/viewer/2022052307/54b521584a7959b6098b467d/html5/thumbnails/21.jpg)
開発-運用のプロセス作りThursday, December 12, 13
![Page 22: 「攻めのIt」を実現するアーキテクチャーとdev opsの関係](https://reader034.vdocuments.net/reader034/viewer/2022052307/54b521584a7959b6098b467d/html5/thumbnails/22.jpg)
継続的デリバリー1. 顧客からの依頼がソフトウェアになって戻っていくプロセス(バリューストリーム)のモデル化
2. 効率化 / 自動化
Thursday, December 12, 13
![Page 23: 「攻めのIt」を実現するアーキテクチャーとdev opsの関係](https://reader034.vdocuments.net/reader034/viewer/2022052307/54b521584a7959b6098b467d/html5/thumbnails/23.jpg)
継続的デリバリーの概要
顧客開発者
運用担当
リポジトリ課題管理
CIサーバ
テスト環境
本番環境 エンドユーザーThursday, December 12, 13
![Page 24: 「攻めのIt」を実現するアーキテクチャーとdev opsの関係](https://reader034.vdocuments.net/reader034/viewer/2022052307/54b521584a7959b6098b467d/html5/thumbnails/24.jpg)
実装のポイント•要件と実装との間のトレーサビリティの確保•メールは基本アンチパターン•開発-運用共通の構成管理基盤•統一的なリリースプロセスの確立•同じ場所から同じようにビルドして同じようにリリースする
Thursday, December 12, 13
![Page 25: 「攻めのIt」を実現するアーキテクチャーとdev opsの関係](https://reader034.vdocuments.net/reader034/viewer/2022052307/54b521584a7959b6098b467d/html5/thumbnails/25.jpg)
継続的デリバリーの意義•継続的インテグレーションまでは開発のためのプラクティス•デリバリーまで含めて初めて、フィードバックループが回る
開発者 運用担当 エンドユーザーThursday, December 12, 13
![Page 26: 「攻めのIt」を実現するアーキテクチャーとdev opsの関係](https://reader034.vdocuments.net/reader034/viewer/2022052307/54b521584a7959b6098b467d/html5/thumbnails/26.jpg)
幸せな運用のためのアーキテクチャ
Thursday, December 12, 13
![Page 27: 「攻めのIt」を実現するアーキテクチャーとdev opsの関係](https://reader034.vdocuments.net/reader034/viewer/2022052307/54b521584a7959b6098b467d/html5/thumbnails/27.jpg)
Jenga Nat http://www.flickr.com/photos/foolstopzanet/334203826 by Ian Willson
アーキテクチャは後から現れる?
Thursday, December 12, 13
![Page 28: 「攻めのIt」を実現するアーキテクチャーとdev opsの関係](https://reader034.vdocuments.net/reader034/viewer/2022052307/54b521584a7959b6098b467d/html5/thumbnails/28.jpg)
•「イテレーティブ」と「インクリメンタル」•「イテレーティブ」はプロセス•「インクリメンタル」はアーキテクチャ
•アーキテクチャのないイテレーションは崩壊のプロセス
攻めのITのために
Thursday, December 12, 13
![Page 29: 「攻めのIt」を実現するアーキテクチャーとdev opsの関係](https://reader034.vdocuments.net/reader034/viewer/2022052307/54b521584a7959b6098b467d/html5/thumbnails/29.jpg)
アーキテクチャの役割•変化することを前提とした上で変化の方向性を予め決定づける•アーキテクチャの策定とは、変わるものと変わらないものを事前に決定する行為
•要素技術よりも、ドメインや組織への考慮が重要
Thursday, December 12, 13
![Page 30: 「攻めのIt」を実現するアーキテクチャーとdev opsの関係](https://reader034.vdocuments.net/reader034/viewer/2022052307/54b521584a7959b6098b467d/html5/thumbnails/30.jpg)
3D Character and Question Mark http://www.flickr.com/photos/crystaljingsr/3914729343/ by 姒儿喵喵
具体的にどうしたら?
Thursday, December 12, 13
![Page 31: 「攻めのIt」を実現するアーキテクチャーとdev opsの関係](https://reader034.vdocuments.net/reader034/viewer/2022052307/54b521584a7959b6098b467d/html5/thumbnails/31.jpg)
どう境界を定め、どう構成するか•コンウェイの法則•大局的構造•モデル駆動設計
アーキテクチャ策定の指針
Thursday, December 12, 13
![Page 32: 「攻めのIt」を実現するアーキテクチャーとdev opsの関係](https://reader034.vdocuments.net/reader034/viewer/2022052307/54b521584a7959b6098b467d/html5/thumbnails/32.jpg)
前提相対的にアーキテクチャの重要度が低いシステム•小規模•少人数•スタンドアロン
小回りが利かないときにどうするかThursday, December 12, 13
![Page 33: 「攻めのIt」を実現するアーキテクチャーとdev opsの関係](https://reader034.vdocuments.net/reader034/viewer/2022052307/54b521584a7959b6098b467d/html5/thumbnails/33.jpg)
コンウェイの法則とは
“組織のアーキテクチャはプロダクトのアーキテクチャと揃えておかなければならない”
Thursday, December 12, 13
![Page 34: 「攻めのIt」を実現するアーキテクチャーとdev opsの関係](https://reader034.vdocuments.net/reader034/viewer/2022052307/54b521584a7959b6098b467d/html5/thumbnails/34.jpg)
コンウェイの法則の適用例①システムの境界が組織の境界となる
顧客管理 販売管理在庫管理
パッケージ採用時には注意が必要Thursday, December 12, 13
![Page 35: 「攻めのIt」を実現するアーキテクチャーとdev opsの関係](https://reader034.vdocuments.net/reader034/viewer/2022052307/54b521584a7959b6098b467d/html5/thumbnails/35.jpg)
コンウェイの法則の適用例②内部構造の境界がチームの境界に
個別モジュール
個別モジュール個別モジュール
汎用モジュール
職人開発者
開発者開発者Thursday, December 12, 13
![Page 36: 「攻めのIt」を実現するアーキテクチャーとdev opsの関係](https://reader034.vdocuments.net/reader034/viewer/2022052307/54b521584a7959b6098b467d/html5/thumbnails/36.jpg)
大局的構造とはシステム間統合の方式設計は、コミュニケーション形態に合わせる•密結合して良いケース•中間層を立てないと危険なケース
Thursday, December 12, 13
![Page 37: 「攻めのIt」を実現するアーキテクチャーとdev opsの関係](https://reader034.vdocuments.net/reader034/viewer/2022052307/54b521584a7959b6098b467d/html5/thumbnails/37.jpg)
モデル駆動設計とはドメインモデルを反映してソフトウェアを作る•変化に柔軟に適用できるが高コスト
Thursday, December 12, 13
![Page 38: 「攻めのIt」を実現するアーキテクチャーとdev opsの関係](https://reader034.vdocuments.net/reader034/viewer/2022052307/54b521584a7959b6098b467d/html5/thumbnails/38.jpg)
機能追加のコスト
ロジックの複雑度
トランザクションスクリプト
ドメインモデル
ドメインモデルの損益分岐点
-PoEAAよりThursday, December 12, 13
![Page 39: 「攻めのIt」を実現するアーキテクチャーとdev opsの関係](https://reader034.vdocuments.net/reader034/viewer/2022052307/54b521584a7959b6098b467d/html5/thumbnails/39.jpg)
業務に寄り添って進化するソフトウェアの形を見極める
Thursday, December 12, 13
![Page 40: 「攻めのIt」を実現するアーキテクチャーとdev opsの関係](https://reader034.vdocuments.net/reader034/viewer/2022052307/54b521584a7959b6098b467d/html5/thumbnails/40.jpg)
まとめ
Thursday, December 12, 13
![Page 41: 「攻めのIt」を実現するアーキテクチャーとdev opsの関係](https://reader034.vdocuments.net/reader034/viewer/2022052307/54b521584a7959b6098b467d/html5/thumbnails/41.jpg)
まとめ•もはや「言われたものを作る」だけにはとどまれない。•そのためにはエンドツーエンドのプロセスと、•進化を許容するアーキテクチャが必要である。
Thursday, December 12, 13
![Page 42: 「攻めのIt」を実現するアーキテクチャーとdev opsの関係](https://reader034.vdocuments.net/reader034/viewer/2022052307/54b521584a7959b6098b467d/html5/thumbnails/42.jpg)
ありがとうございました!Photo by @digitalsoul0124 All rights reserved.
Thursday, December 12, 13