Movatterモバイル変換
[0]
ホーム
URL:
画像なし
夜間モード
Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
EN
Uploaded by
Yusuke Suzuki
PDF, PPTX
27,295 views
アジャイル開発を支えるアーキテクチャ設計とは
2017/12/15に開催されたエンタープライズアジャイル勉強会2017年12月セミナーでの講演資料です。https://easg.smartcore.jp/
Technology
◦
Read more
30
Save
Share
Embed
Embed presentation
Download
Download as PDF, PPTX
1
/ 56
2
/ 56
3
/ 56
4
/ 56
5
/ 56
6
/ 56
7
/ 56
8
/ 56
9
/ 56
10
/ 56
11
/ 56
12
/ 56
13
/ 56
14
/ 56
15
/ 56
16
/ 56
17
/ 56
18
/ 56
19
/ 56
20
/ 56
21
/ 56
22
/ 56
23
/ 56
24
/ 56
25
/ 56
26
/ 56
27
/ 56
28
/ 56
29
/ 56
30
/ 56
31
/ 56
32
/ 56
33
/ 56
34
/ 56
35
/ 56
36
/ 56
37
/ 56
38
/ 56
39
/ 56
40
/ 56
41
/ 56
42
/ 56
43
/ 56
44
/ 56
45
/ 56
46
/ 56
47
/ 56
48
/ 56
49
/ 56
50
/ 56
51
/ 56
52
/ 56
53
/ 56
54
/ 56
55
/ 56
56
/ 56
Recommended
PDF
マルチテナントのアプリケーション実装〜実践編〜
by
Yoshiki Nakagawa
PDF
ドメイン駆動設計 本格入門
by
増田 亨
PDF
はじめてのPRD
by
Takuya Oikawa
PDF
マイクロにしすぎた結果がこれだよ!
by
mosa siru
PPTX
ぱぱっと理解するSpring Cloudの基本
by
kazuki kumagai
PDF
人生がときめくAPIテスト自動化 with Karate
by
Takanori Suzuki
PDF
インフラエンジニアの綺麗で優しい手順書の書き方
by
Shohei Koyama
PDF
こんなに使える!今どきのAPIドキュメンテーションツール
by
dcubeio
PDF
マルチテナント化で知っておきたいデータベースのこと
by
Amazon Web Services Japan
PDF
開発速度が速い #とは(LayerX社内資料)
by
mosa siru
PDF
なぜ「マイクロサービス“化”」が必要なのか
by
Yusuke Suzuki
PPTX
JIRA / Confluence の必須プラグインはこれだ
by
Narichika Kajihara
PDF
PostgreSQLの行レベルセキュリティと SpringAOPでマルチテナントの ユーザー間情報漏洩を防止する (JJUG CCC 2021 Spring)
by
Koichiro Matsuoka
PDF
テスト文字列に「うんこ」と入れるな
by
Kentaro Matsui
PDF
ドメイン駆動設計 ( DDD ) をやってみよう
by
増田 亨
PDF
DDDのモデリングとは何なのか、 そしてどうコードに落とすのか
by
Koichiro Matsuoka
PPTX
イベント・ソーシングを知る
by
Shuhei Fujita
PDF
「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜
by
Takahiro Inoue
PDF
ドメイン駆動で開発する ラフスケッチから実装まで
by
増田 亨
PDF
アーキテクチャの進化から学ぶ、プラットフォームエンジニアリングへのアプローチ
by
Yusuke Suzuki
PDF
組織にテストを書く文化を根付かせる戦略と戦術
by
Takuto Wada
PDF
【第26回Elasticsearch勉強会】Logstashとともに振り返る、やっちまった事例ごった煮
by
Hibino Hisashi
PDF
SSIとDIDで何を解決したいのか?(β版)
by
Naohiro Fujie
PDF
ゲームアーキテクチャパターン (Aurora Serverless / DynamoDB)
by
Amazon Web Services Japan
PPTX
WayOfNoTrouble.pptx
by
Daisuke Yamazaki
PDF
UXデザインの資格ってどんなの? HCD-Net認定 人間中心設計スペシャリスト・人間中心設計専門家
by
Yoshiki Hayama
PPTX
SPAセキュリティ入門~PHP Conference Japan 2021
by
Hiroshi Tokumaru
PDF
イミュータブルデータモデル(入門編)
by
Yoshitaka Kawashima
PDF
エンタープライズアジャイルと全体最適について ~アーキテクチャ設計とウォーターフォールの必要性~
by
Yusuke Suzuki
PDF
エンタープライズアジャイルにおける要求探索の勘所 要求開発アライアンス2018年7月定例会
by
Yusuke Suzuki
More Related Content
PDF
マルチテナントのアプリケーション実装〜実践編〜
by
Yoshiki Nakagawa
PDF
ドメイン駆動設計 本格入門
by
増田 亨
PDF
はじめてのPRD
by
Takuya Oikawa
PDF
マイクロにしすぎた結果がこれだよ!
by
mosa siru
PPTX
ぱぱっと理解するSpring Cloudの基本
by
kazuki kumagai
PDF
人生がときめくAPIテスト自動化 with Karate
by
Takanori Suzuki
PDF
インフラエンジニアの綺麗で優しい手順書の書き方
by
Shohei Koyama
PDF
こんなに使える!今どきのAPIドキュメンテーションツール
by
dcubeio
マルチテナントのアプリケーション実装〜実践編〜
by
Yoshiki Nakagawa
ドメイン駆動設計 本格入門
by
増田 亨
はじめてのPRD
by
Takuya Oikawa
マイクロにしすぎた結果がこれだよ!
by
mosa siru
ぱぱっと理解するSpring Cloudの基本
by
kazuki kumagai
人生がときめくAPIテスト自動化 with Karate
by
Takanori Suzuki
インフラエンジニアの綺麗で優しい手順書の書き方
by
Shohei Koyama
こんなに使える!今どきのAPIドキュメンテーションツール
by
dcubeio
What's hot
PDF
マルチテナント化で知っておきたいデータベースのこと
by
Amazon Web Services Japan
PDF
開発速度が速い #とは(LayerX社内資料)
by
mosa siru
PDF
なぜ「マイクロサービス“化”」が必要なのか
by
Yusuke Suzuki
PPTX
JIRA / Confluence の必須プラグインはこれだ
by
Narichika Kajihara
PDF
PostgreSQLの行レベルセキュリティと SpringAOPでマルチテナントの ユーザー間情報漏洩を防止する (JJUG CCC 2021 Spring)
by
Koichiro Matsuoka
PDF
テスト文字列に「うんこ」と入れるな
by
Kentaro Matsui
PDF
ドメイン駆動設計 ( DDD ) をやってみよう
by
増田 亨
PDF
DDDのモデリングとは何なのか、 そしてどうコードに落とすのか
by
Koichiro Matsuoka
PPTX
イベント・ソーシングを知る
by
Shuhei Fujita
PDF
「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜
by
Takahiro Inoue
PDF
ドメイン駆動で開発する ラフスケッチから実装まで
by
増田 亨
PDF
アーキテクチャの進化から学ぶ、プラットフォームエンジニアリングへのアプローチ
by
Yusuke Suzuki
PDF
組織にテストを書く文化を根付かせる戦略と戦術
by
Takuto Wada
PDF
【第26回Elasticsearch勉強会】Logstashとともに振り返る、やっちまった事例ごった煮
by
Hibino Hisashi
PDF
SSIとDIDで何を解決したいのか?(β版)
by
Naohiro Fujie
PDF
ゲームアーキテクチャパターン (Aurora Serverless / DynamoDB)
by
Amazon Web Services Japan
PPTX
WayOfNoTrouble.pptx
by
Daisuke Yamazaki
PDF
UXデザインの資格ってどんなの? HCD-Net認定 人間中心設計スペシャリスト・人間中心設計専門家
by
Yoshiki Hayama
PPTX
SPAセキュリティ入門~PHP Conference Japan 2021
by
Hiroshi Tokumaru
PDF
イミュータブルデータモデル(入門編)
by
Yoshitaka Kawashima
マルチテナント化で知っておきたいデータベースのこと
by
Amazon Web Services Japan
開発速度が速い #とは(LayerX社内資料)
by
mosa siru
なぜ「マイクロサービス“化”」が必要なのか
by
Yusuke Suzuki
JIRA / Confluence の必須プラグインはこれだ
by
Narichika Kajihara
PostgreSQLの行レベルセキュリティと SpringAOPでマルチテナントの ユーザー間情報漏洩を防止する (JJUG CCC 2021 Spring)
by
Koichiro Matsuoka
テスト文字列に「うんこ」と入れるな
by
Kentaro Matsui
ドメイン駆動設計 ( DDD ) をやってみよう
by
増田 亨
DDDのモデリングとは何なのか、 そしてどうコードに落とすのか
by
Koichiro Matsuoka
イベント・ソーシングを知る
by
Shuhei Fujita
「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜
by
Takahiro Inoue
ドメイン駆動で開発する ラフスケッチから実装まで
by
増田 亨
アーキテクチャの進化から学ぶ、プラットフォームエンジニアリングへのアプローチ
by
Yusuke Suzuki
組織にテストを書く文化を根付かせる戦略と戦術
by
Takuto Wada
【第26回Elasticsearch勉強会】Logstashとともに振り返る、やっちまった事例ごった煮
by
Hibino Hisashi
SSIとDIDで何を解決したいのか?(β版)
by
Naohiro Fujie
ゲームアーキテクチャパターン (Aurora Serverless / DynamoDB)
by
Amazon Web Services Japan
WayOfNoTrouble.pptx
by
Daisuke Yamazaki
UXデザインの資格ってどんなの? HCD-Net認定 人間中心設計スペシャリスト・人間中心設計専門家
by
Yoshiki Hayama
SPAセキュリティ入門~PHP Conference Japan 2021
by
Hiroshi Tokumaru
イミュータブルデータモデル(入門編)
by
Yoshitaka Kawashima
Similar to アジャイル開発を支えるアーキテクチャ設計とは
PDF
エンタープライズアジャイルと全体最適について ~アーキテクチャ設計とウォーターフォールの必要性~
by
Yusuke Suzuki
PDF
エンタープライズアジャイルにおける要求探索の勘所 要求開発アライアンス2018年7月定例会
by
Yusuke Suzuki
PDF
アジャイルと言わないエンタープライズアジャイル導入 - Agile Japan 2016
by
Yusuke Suzuki
PDF
アーキテクチャとアジャイルプロジェクトをまともに進めるための両輪について-DevLOVE関西 #DevKan
by
Yusuke Suzuki
PDF
ITサービス運営におけるアーキテクチャ設計 - 要求開発アライアンス 4月定例会
by
Yusuke Suzuki
PDF
エンタープライズアジャイルでチームが超えるべきこと - エンタープライズアジャイル勉強会 2018年10月セミナー
by
Yusuke Suzuki
PDF
エンタプライズ領域のアジャイル開発の課題 - FIT2020
by
Yusuke Suzuki
PDF
見えない壁を越えよう!アジャイルやマイクロサービスを阻む「今までのやり方」 - デブサミ夏2023
by
Yusuke Suzuki
PDF
大規模アジャイル_情報システム総研様
by
Akiko Kosaka
PDF
エンタープライズアジャイルの課題と解決へのアプローチ - Developers X Summit 2024
by
Graat(グラーツ)
PDF
XP祭り2014「アジャイルを手放して得られたこと」
by
Yusuke Suzuki
PDF
大企業のアジャイル導入で本質的に変えるべきこと - Agile Japan2021
by
Graat(グラーツ)
PDF
ユーザー企業へのアジャイル導入四苦八苦 - エンタープライズアジャイル勉強会2016年11月セミナー
by
Yusuke Suzuki
PDF
エンタープライズ、アーキテクチャ、アジャイルのこれから
by
Yusuke Suzuki
PDF
ITトレンドに見る日本のエンタープライズITについて
by
Yusuke Suzuki
PDF
アジャイル開発&DevOps-201904
by
Masaru Takahashi
PDF
プロエンジニアになるための「アジャイル開発」再入門
by
Yoshihito Kuranuki
PDF
Javaエンジニアのためのアーキテクト講座-JJUG CCC 2014 Fall
by
Yusuke Suzuki
PDF
開発現場から考えるプロジェクトで活躍する新入社員の育て方とは?
by
CASAREAL, Inc.
PDF
アジャイル導入が止まる3つの壁 ─ 文化・他部門・組織プロセスをどう乗り越えるか
by
Graat(グラーツ)
エンタープライズアジャイルと全体最適について ~アーキテクチャ設計とウォーターフォールの必要性~
by
Yusuke Suzuki
エンタープライズアジャイルにおける要求探索の勘所 要求開発アライアンス2018年7月定例会
by
Yusuke Suzuki
アジャイルと言わないエンタープライズアジャイル導入 - Agile Japan 2016
by
Yusuke Suzuki
アーキテクチャとアジャイルプロジェクトをまともに進めるための両輪について-DevLOVE関西 #DevKan
by
Yusuke Suzuki
ITサービス運営におけるアーキテクチャ設計 - 要求開発アライアンス 4月定例会
by
Yusuke Suzuki
エンタープライズアジャイルでチームが超えるべきこと - エンタープライズアジャイル勉強会 2018年10月セミナー
by
Yusuke Suzuki
エンタプライズ領域のアジャイル開発の課題 - FIT2020
by
Yusuke Suzuki
見えない壁を越えよう!アジャイルやマイクロサービスを阻む「今までのやり方」 - デブサミ夏2023
by
Yusuke Suzuki
大規模アジャイル_情報システム総研様
by
Akiko Kosaka
エンタープライズアジャイルの課題と解決へのアプローチ - Developers X Summit 2024
by
Graat(グラーツ)
XP祭り2014「アジャイルを手放して得られたこと」
by
Yusuke Suzuki
大企業のアジャイル導入で本質的に変えるべきこと - Agile Japan2021
by
Graat(グラーツ)
ユーザー企業へのアジャイル導入四苦八苦 - エンタープライズアジャイル勉強会2016年11月セミナー
by
Yusuke Suzuki
エンタープライズ、アーキテクチャ、アジャイルのこれから
by
Yusuke Suzuki
ITトレンドに見る日本のエンタープライズITについて
by
Yusuke Suzuki
アジャイル開発&DevOps-201904
by
Masaru Takahashi
プロエンジニアになるための「アジャイル開発」再入門
by
Yoshihito Kuranuki
Javaエンジニアのためのアーキテクト講座-JJUG CCC 2014 Fall
by
Yusuke Suzuki
開発現場から考えるプロジェクトで活躍する新入社員の育て方とは?
by
CASAREAL, Inc.
アジャイル導入が止まる3つの壁 ─ 文化・他部門・組織プロセスをどう乗り越えるか
by
Graat(グラーツ)
More from Yusuke Suzuki
PDF
サービスブループリントによるシステム設計手法の紹介 - XP祭り2022
by
Yusuke Suzuki
PDF
マイクロサービスに至る歴史とこれから - XP祭り2021
by
Yusuke Suzuki
PDF
Javaとコミュニティの歩み 2020
by
Yusuke Suzuki
PDF
DX時代に目指すべき品質向上とテスト - @IT ソフトウェア品質向上セミナー 2019夏
by
Yusuke Suzuki
PDF
アーキテクチャのレビューについて - JaSST Review '18
by
Yusuke Suzuki
PDF
マイクロサービス化デザインパターン - #AWSDevDay Tokyo 2018
by
Yusuke Suzuki
PDF
MicroserviceでのNoOps戦略 - NoOps Meetup Tokyo #2 #NoOpsJP
by
Yusuke Suzuki
PDF
Javaはコミュニティの力で再び偉大になれるのか
by
Yusuke Suzuki
PDF
Javaのカルチャーとグロース - MANABIYA 2018
by
Yusuke Suzuki
PDF
JJUG初心者のためのJava/JJUG講座
by
Yusuke Suzuki
PDF
エナジャイル設立によせて
by
Yusuke Suzuki
PDF
マイクロサービス化設計入門 - AWS Dev Day Tokyo 2017
by
Yusuke Suzuki
PDF
プロダクトオーナーは育成できるのか? - プロダクトオーナー祭り2016
by
Yusuke Suzuki
PDF
今どきのアーキテクチャ設計戦略 - QCon Tokyo 2016
by
Yusuke Suzuki
PDF
JavaOne 2016総括 #jjug
by
Yusuke Suzuki
PDF
クラウド時代のエンジニアについて #sesfukui
by
Yusuke Suzuki
PDF
JavaとOSSとAndroid - JavaAPI訴訟問題を考える
by
Yusuke Suzuki
PDF
ウォーターフォールとアジャイルを考える #ita_ws
by
Yusuke Suzuki
PDF
Javaエンジニアのための"クラウド時代の過ごし方" Java Day Tokyo 2016
by
Yusuke Suzuki
PDF
「JJUG運営の戦略と戦術」 JJUG CCC 2016 Spring 基調講演
by
Yusuke Suzuki
サービスブループリントによるシステム設計手法の紹介 - XP祭り2022
by
Yusuke Suzuki
マイクロサービスに至る歴史とこれから - XP祭り2021
by
Yusuke Suzuki
Javaとコミュニティの歩み 2020
by
Yusuke Suzuki
DX時代に目指すべき品質向上とテスト - @IT ソフトウェア品質向上セミナー 2019夏
by
Yusuke Suzuki
アーキテクチャのレビューについて - JaSST Review '18
by
Yusuke Suzuki
マイクロサービス化デザインパターン - #AWSDevDay Tokyo 2018
by
Yusuke Suzuki
MicroserviceでのNoOps戦略 - NoOps Meetup Tokyo #2 #NoOpsJP
by
Yusuke Suzuki
Javaはコミュニティの力で再び偉大になれるのか
by
Yusuke Suzuki
Javaのカルチャーとグロース - MANABIYA 2018
by
Yusuke Suzuki
JJUG初心者のためのJava/JJUG講座
by
Yusuke Suzuki
エナジャイル設立によせて
by
Yusuke Suzuki
マイクロサービス化設計入門 - AWS Dev Day Tokyo 2017
by
Yusuke Suzuki
プロダクトオーナーは育成できるのか? - プロダクトオーナー祭り2016
by
Yusuke Suzuki
今どきのアーキテクチャ設計戦略 - QCon Tokyo 2016
by
Yusuke Suzuki
JavaOne 2016総括 #jjug
by
Yusuke Suzuki
クラウド時代のエンジニアについて #sesfukui
by
Yusuke Suzuki
JavaとOSSとAndroid - JavaAPI訴訟問題を考える
by
Yusuke Suzuki
ウォーターフォールとアジャイルを考える #ita_ws
by
Yusuke Suzuki
Javaエンジニアのための"クラウド時代の過ごし方" Java Day Tokyo 2016
by
Yusuke Suzuki
「JJUG運営の戦略と戦術」 JJUG CCC 2016 Spring 基調講演
by
Yusuke Suzuki
アジャイル開発を支えるアーキテクチャ設計とは
1.
アジャイル開発を支えるアーキテクチャ設計とは2017/12/15鈴木雄介グロースエクスパートナーズ株式会社 執行役員日本Javaユーザーグループ 会長エンタープライズアジャイル勉強会2017年12月セミナーhttps://easg.smartcore.jp/
2.
自己紹介鈴木雄介• グロースエクスパートナーズ(株)» 執行役員/アーキテクチャ事業本部長»
http://www.gxp.co.jp/• 日本Javaユーザーグループ» 会長» http://www.java-users.jp/• SNS» http://arclamp.hatenablog.com/» @yusuke_arclamp1
3.
アジェンダ• エンタープライズアジャイル• エンタープライズシステムの状況•
アーキテクチャ設計• 大きなアーキテクチャ設計»何をするのか?»誰がやるのか?• その先にあるマイクロサービス• まとめ2
4.
エンタープライズアジャイル3
5.
エンタープライズアジャイルエンタープライズもアジャイルでしょ!?• 従来型開発プロセスの限界»最初に大きく計画しても、状況が変わってしまう»そもそも、何が作られているのか最後になるまで分からない• 新規サービスにはアジャイルプロセスを»正解が分からないから試行錯誤しながらサービスを造り上げたい»ユーザーからのフィードバックに応じて素早く改善をしたい4
6.
エンタープライズアジャイルアジャイルの目的• アジャイル採用の理由»製品のデリバリ速度の加速(62%)»優先順位の変更可能性(56%)»生産性向上(55%)• 採用した結果の効果»優先順位の変更可能性(87%)»生産性向上(85%)»プロジェクトの可視性(84%)5参考:アジャイルの採用状況レポート2016の要約(The
10th Annual State Of Agile Report )https://qiita.com/kenjihiranabe/items/b9540696b3a0198fcecd
7.
エンタープライズアジャイルアジャイル導入の難しさ• アジャイル採用の障害»組織文化の変革(55%)»組織の変化への抵抗(42%)»既存のウォーターフォール手法(40%)• アジャイルが失敗した理由»企業文化とアジャイルの価値観が合わない(46%)»アジャイルの経験不足(41%)6参考:アジャイルの採用状況レポート2016の要約(The
10th Annual State Of Agile Report )https://qiita.com/kenjihiranabe/items/b9540696b3a0198fcecd
8.
エンタープライズアジャイルそれだけじゃない難しさ• 確かに組織文化やプロセスも大事• 一方で、技術面についても難しくなっている»トライアルは「なんとかする」でもよい»そこから本格的に展開しようとすると行き詰まることがある7
9.
エンタープライズシステムの状況8
10.
エンタープライズシステムの状況ITサービスの境界線が曖昧に9新サービス商品SSO外部商品管理商品ポイントユーザーカート顧客管理顧客在庫管理在庫クレジットカード物流販売管理 購買物流監査外部外部コンタクトセンター問合せ監視
11.
エンタープライズシステムの状況2種類のシステム• SoR(System of
Record)/mode 1»情報を正しく「記録」するためのシステム»ユーザーは従業員が中心。取引情報を長期間にわたって保持し、ビジネスの基幹となるシステム»変更頻度は低め、システム障害影響大• SoE(System of Engagement)/mode 2»顧客や取引先との「絆」を作るためにシステム»最新の状況を表示し、判断を行ってもらう。機能はユーザーごとに最適化され、高頻度で改善していく10
12.
11https://www.flickr.com/photos/36008503@N03/3875243958/
13.
エンタープライズシステムの状況システムは互いに依存し、影響する• ECサービスの改修が連携先システムに影響する»「サービス」の改修には「連携先システム」の対応が必要»停止や変更を伴うリリース日は調整が必要になる• SoRとSoEはライフサイクルが異なる»本来ユーザーによる改善サイクルが異なる»システム規模も求められる安定性も異なる12
14.
エンタープライズシステムの状況エンタープライズもアジャイルしたいのに!• 「そのシステムがアジャイル」だけでは厳しい»連携先システムのスケジュールに強く影響される»結果「サービス」として求められるスピード感が出ない• かといって連携から逃げるとサービスの価値が下がる»トライアルはそれでもいいが商用に持って行きにくい•
これを「組織文化の違い」という表現もできる»情報システム部門 vs 新サービス開発部門13
15.
アーキテクチャ設計14
16.
アーキテクチャ設計アーキテクチャ設計が大事です• アジャイルが機能するように技術的に支援する»アーキテクチャ設計によってエンタープライズアジャイルを有効に機能させる15
17.
アーキテクチャ設計アーキテクチャ=システムの分割と統合• システムは複数のコンポーネントの組み合わせで成立する»コンポーネント:部品、特定の機能を果たす単位• アーキテクチャとは、システムが1.どのようなコンポーネントで構成され
2.それらがどのように連携するのか?を定義したもの(≒システムの構造)16コンポーネントコンポーネントコンポーネント
18.
アーキテクチャ設計コンポーネントの種類• アプリケーション内部のライブラリ、クラスなど»UIであれはUI部品、テンプレートなど• DBMS、アプリケーションサーバなどのミドルウェア•
ハードウェア、ネットワークなどのインフラ• クラウド上の各種サービス• システム、アプリ、APIといったそのもの17
19.
アーキテクチャ設計アーキテクチャのレベル• 5つの階層(※エンタープライズシステムにおける)»企業全体システム»企業内/システム間»システム内/アプリ間»アプリ内/フレームワーク»コード18
20.
アーキテクチャ設計アーキテクチャのレベル 1/3• 全体システム/企業»企業内外のシステム配置やシステム連携•
企業内/システム間»あるシステムを中心とした連携先システムとの関係性19システム システムシステム システムシステムシステムシステム
21.
アーキテクチャのレベル 2/3• システム内/アプリ間»システム内のアプリ配置、アプリ間連携»物理的なノード配置なども含むアプリアーキテクチャ設計20アプリシステムアプリアプリ
22.
アーキテクチャ設計アーキテクチャのレベル 3/3• アプリ内/フレームワーク»アプリケーションフレームワーク選定、パッケージ構成など•
コードレベル»クラス分割やメソッドコールの方法など21クラスアプリクラスクラスクラスライブラリフレームワーククラスライブラリmylist.stream().filter(v -> v > 1).forEach(System.out::println);
23.
アーキテクチャ設計大きなアーキテクチャと小さなアーキテクチャ• 5つの階層(※エンタープライズシステムにおける)»企業全体システム»企業内/システム間»システム内/アプリ間»アプリ内/フレームワーク»コード22大きなアーキテクチャ小さなアーキテクチャ
24.
アーキテクチャ設計大きなアーキテクチャ23新サービス商品SSO外部商品管理商品ポイントユーザーカート顧客管理顧客在庫管理在庫クレジットカード物流販売管理 購買物流監査外部外部コンタクトセンター問合せ監視
25.
アーキテクチャ設計大きなアーキテクチャと小さなアーキテクチャ• 大きなアーキテクチャ»アジャイルチームの外で解決すべきこと(中とは協力)»アジャイルチームを機能させるために頑張る• 小さなアーキテクチャ»アジャイルチームの中で解決すべきこと»基本的には「好きにしてよし」»そのアプリに最適な言語やフレームワークを選ぶべき24
26.
大きなアーキテクチャ設計何をするのか?25
27.
何をするのか?サマリ• 様々な観点での社内標準とのすり合わせ»認証認可、セキュリティ、運用保守など• システム連携における機能適合性と時間軸の調整»どこまでのことなら、いつできるのか?•
システム連携における性能や可用性»どこまで負荷を掛けられるのか、障害発生時はどうするのか26
28.
何をするのか?社内標準 1/2• 認証»アカウント管理ポリシー(顧客/社内)»シングルサインオン(顧客/社内)•
認可»組織と権限の管理の仕方▸特に業務側が使う機能でのデータ管理»端末やアクセス経路制御27
29.
何をするのか?社内標準 2/2• セキュリティ»PCIDSSや個人情報保護などによるデータ管理ポリシー▸場合によってはマスキング»監査証跡»ネットワーク経路•
運用保守»スケジューラー、監視、バックアップなど運用サービス適合»インフラ構成や構築28
30.
何をするのか?機能適合性と時間軸• 機能適合性「すぐに反映したい」»適合度◎:APIを叩いてリアルタイムに反映»適合度○:バッチで日次反映»適合度△:手動でCSVダウンロート&アップロード»適合度×:自分で入力しなおし29
31.
何をするのか?機能適合性と時間軸• 時間軸「いますぐやりたい」»適合度◎:すでに機能があります»適合度○:3か月後には…»適合度△:6か月後には…»適合度×:1年は無理30
32.
何をするのか?連携における性能や可用性• 性能»データの送受信タイミングや量»トランザクション量▸単位時間あたりのスループット• 可用性»自システムのSLA»連携先システムがダウンしている場合の挙動▸瞬断、障害、メンテナンス(定期)、メンテナンス(不定期)31
33.
何をするのか?連携における性能や可用性• システム連携になると性能と可用性や複雑になる• 性能と可用性»性能を上げると可用性要求が上がることがある▸リアルタイムに連携すると停止影響が大きくなる▸例:基幹は日中しかオンラインがない»機能適合性とのバランスも難しい▸手動連携をオンライン化する、など32
34.
大きなアーキテクチャ設計誰がやるのか?33
35.
誰がやるのか?チームの外側に用意すべき• チームの外側で関連システムとの調整が可能な人»チームは小さなアーキテクチャ設計に集中させてあげる»もちろん、チームと連携した判断は必要»チーム内の人でやるならチーム内タスクとは切り分けて作業• 専任でなくてよいが、それなりには稼働が必要»フルコミットである必要はないし、1人でなくても良い»POやスクラムマスターが相談できる相手34
36.
誰がやるのか?なぜ、チームの外側なのか?• チームが見積もれないことはチームに持ち込まない»外部と調整をしないと見積もれない→生産性が測れない»POが外部部門と調整している状況と同じこと• もちろん、チーム内との連携は必要»連携手法の検証が必要になった▸技術検証のための作業をする(スパイク)»連携の検討打ち合わせに出てもらう▸打ち合わせに出る、というタスクにする35
37.
その先にあるマイクロサービス36
38.
その先にあるマイクロサービスマイクロサービスとは?• 大きなシステムを「小さなサービスの連携」で実現する»マイクロサービス同士はオンラインで連携を行う»クラウド(インフラのソフトウェア化)前提37サービス(アプリ+インフラ)サービス(アプリ+インフラ)サービス(アプリ+インフラ)サービス(アプリ+インフラ)システム全体サービス(アプリ+インフラ)サービス(アプリ+インフラ)サービス(アプリ+インフラ)サービス(アプリ+インフラ)サービス(アプリ+インフラ)
39.
その先にあるマイクロサービスモノリシックからマイクロサービスへ• 大きなシステムを「1つのアプリ」で実現する弊害»モノリシック(一枚岩)になっていると機能の改善で影響調査やリグレッションテストが膨大にかかってくる»リリースも機能間の調整が必要になってしまう• マイクロサービスのメリット»小さなサービス単位で機能をいれかえられる▸※小さなサービス同士が疎結合に連携していれば38
40.
その先にあるマイクロサービスマイクロサービスは「マイクロ」必須か?• サービス粒度は?»ナノ: 0-3人月程度の単機能なAPI»マイクロ:3-20人月程度で複数のAPIを提供»ミニ:20-100人月程度。3-6人でメンテ»中規模:100-300人月程度。7-10人がかりでメンテ»大規模:中規模以上•
境界線は曖昧39大きなアーキテクチャ小さなアーキテクチャ
41.
その先にあるマイクロサービスマイクロサービスと設計レベル• 小さなアーキテクチャとしてのマイクロサービス»ナノレベルのAPI設計(例:Serverless)の話»マイクロレベルのサービス設計(例:SpringBoot)の話• 大きなアーキテクチャとしてのマイクロサービス»システム間連携(例:ETL)の話•
もはや、サービスやシステムの境界を決める意味が無い»連携しないサービスは存在しないのだから40
42.
その先にあるマイクロサービス大きなアーキテクチャが小さくなる• アプリ内においても「コンポーネントをネットワーク越しに連携させる手法」有効に»大きなアーキテクチャから小さなアーキテクチャまでシームレス• ただし、切り分けは必要»チーム内でやるべきアーキテクチャか、チーム外でやるべきアーキテクチャか41
43.
マイクロサービスに学ぶ大きな設計42
44.
マイクロサービスに学ぶ大きな設計サマリ• どのようにサービス同士の結合度を調整するか?»データ分離»メッセージ連携»無停止デプロイ»レジリエンス• ※細かい話なので、飛ばします。参考↓»
https://www.slideshare.net/yusuke/aws-dev-day-tokyo-201743
45.
データ分離データは各サービスが管理する• データをサービス間で共有することは避けるべき»テーブル構造の変更が強制的に同期されるから• とはいえ、データの特性や種類に応じて方式を選択»RDBの機能は有効活用。ただし、2フェーズコミットを避ける»不整合の許容範囲を決めることが重要▸許容できないなら疎結合化は困難になる»メッセージングの仕組みとの組み合わせで検討44
46.
データ分離• 共有データ:テーブルを共有する。変更同期が必要»カラム追加/変更などは段階的に対応• ビュー:参照公開前提だが、変更同期が必要•
トリガー/ストアド:変更同期は不要。非機能同期が必要• ETL:全て非同期になる45サービスA サービスB サービスA サービスB サービスA サービスB共有データ ビュー/マテビュー トリガー/ストアドサービスA サービスBETL
47.
データ分離• イベントソーシング»データのステートではなくデータへのイベントを共有する▸非同期ではあるが、時間的ズレを小さくできる»CQRS/コマンドクエリ責務分離▸コマンド:更新などのロジックを含む処理▸クエリ:検索などの単純な処理46イベントストアサービスA サービスBステートイベントソーシング
48.
メッセージングサービス同士を連携させる• RESTful API
over HTTP»もっともシンプルで分かりやすい実装• メッセージキューによる非同期化»機能同士の非機能を分離することができる47サービスA サービスBサービスA サービスBキュー同期型非同期型サービスAサービスBキューPub/Sub型サービスCサービスD
49.
メッセージング不整合の許容• 非同期による不整合の許容»サービス間の疎結合を重視する»運用でリカバリするほうがメリットが大きければクーポンもあり48
50.
無停止デプロイブルーグリーンデプロイメント• 瞬断せずにリリースを行うための手法»1.新verを重複して構築»2.ルーティングを制御して新verを解放»3.旧verを削除491.01.11.01.11.01.11.01.1
51.
レジリエンスマイクロサービスにおける可用性• 障害が発生しないようにする、ではない»レジリエンス=復元力»個別サービスの障害でシステム全体が停止しないようにする»従来の「停止しない部分を積み重ねる方式」は限界• 階層型障害を避ける事が重要»サーキットブレーカー50サービスA
サービスB サービスC
52.
テスト戦略サービス間のテスト戦略• サービス間テスト»サービス内のテストは閉じているが、他のサービスを呼び出し部分のテスト手法をどうするか?»モックの限界を超える?Consumer-Driven Contract
testing• 本番環境でのテスト»レジリエンスのテストは本番環境でやるしかない»Netflixのカオスモンキー51
53.
まとめ52
54.
まとめエンタープライズアジャイルの状況• エンタープライズアジャイルでは技術面も課題»トライアルは「なんとかする」でもよい»そこから本格的に展開しようとすると行き詰まることがある• エンタープライズシステム同士の依存と影響»連携先システムのスケジュールに強く影響される»結果「サービス」として求められるスピード感が出ない53
55.
まとめ大きなアーキテクチャと小さなアーキテクチャ• 大きなアーキテクチャ»アプリ間やシステム間連携»チームの外側で設計し、チームと共同で選択する• 小さなアーキテクチャ»アジャイルチームが設計し、選択する»そのチームが担当するサービスにとって最適化すればいい54
56.
まとめアーキテクチャ設計は重要です• アジャイルを機能させるのにアーキテクチャ設計が必要»エンタープライズでは大きなアーキテクチャ設計の比重が大きい• マイクロサービスで検討されることは参考になる»連携することを前提にシステムを作る、のが常識に»そうするとシステム間連携の結合度を調整するための手法が様々に出てくる55
Download
[8]
ページ先頭
©2009-2026
Movatter.jp