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
2,316 views
アーキテクチャの進化から学ぶ、プラットフォームエンジニアリングへのアプローチ
2023/11/11に開催されたJJUG CCC 2023 Fallでの講演「アーキテクチャの進化から学ぶ、プラットフォームエンジニアリングへのアプローチ」の資料です
Technology
◦
Read more
2
Save
Share
Embed
Embed presentation
Download
Download as PDF, PPTX
1
/ 46
2
/ 46
3
/ 46
4
/ 46
5
/ 46
6
/ 46
7
/ 46
8
/ 46
9
/ 46
10
/ 46
11
/ 46
12
/ 46
13
/ 46
14
/ 46
15
/ 46
16
/ 46
17
/ 46
18
/ 46
19
/ 46
20
/ 46
21
/ 46
22
/ 46
23
/ 46
24
/ 46
25
/ 46
26
/ 46
27
/ 46
28
/ 46
29
/ 46
30
/ 46
31
/ 46
32
/ 46
33
/ 46
34
/ 46
35
/ 46
36
/ 46
37
/ 46
38
/ 46
39
/ 46
40
/ 46
41
/ 46
42
/ 46
43
/ 46
44
/ 46
45
/ 46
46
/ 46
More Related Content
PDF
マイクロサービスに至る歴史とこれから - XP祭り2021
by
Yusuke Suzuki
PDF
Joseph Yoder : Being Agile about Architecture
by
Hironori Washizaki
PDF
サービスブループリントによるシステム設計手法の紹介 - XP祭り2022
by
Yusuke Suzuki
PDF
それはYAGNIか? それとも思考停止か?
by
Yoshitaka Kawashima
PDF
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
by
Koichiro Matsuoka
PDF
分析モデル 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第44回】
by
Tomoharu ASAMI
PPTX
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
by
NTT DATA Technology & Innovation
PPTX
Microsoft の変革
by
Daiyu Hatakeyama
マイクロサービスに至る歴史とこれから - XP祭り2021
by
Yusuke Suzuki
Joseph Yoder : Being Agile about Architecture
by
Hironori Washizaki
サービスブループリントによるシステム設計手法の紹介 - XP祭り2022
by
Yusuke Suzuki
それはYAGNIか? それとも思考停止か?
by
Yoshitaka Kawashima
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
by
Koichiro Matsuoka
分析モデル 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第44回】
by
Tomoharu ASAMI
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
by
NTT DATA Technology & Innovation
Microsoft の変革
by
Daiyu Hatakeyama
What's hot
PDF
例外設計における大罪
by
Takuto Wada
PDF
フロー効率性とリソース効率性について #xpjug
by
Itsuki Kuroda
PDF
あなたのチームの「いい人」は機能していますか?
by
Minoru Yokomichi
PDF
テスト文字列に「うんこ」と入れるな
by
Kentaro Matsui
PDF
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
by
Takuto Wada
PDF
マイクロにしすぎた結果がこれだよ!
by
mosa siru
PDF
DDDのモデリングとは何なのか、 そしてどうコードに落とすのか
by
Koichiro Matsuoka
PDF
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
by
Mikiya Okuno
PDF
メンバーのスキルアップ、どうしてる? − Java 100本ノックで新加入メンバーを鍛えてみた −
by
JustSystems Corporation
PDF
イミュータブルデータモデルの極意
by
Yoshitaka Kawashima
PPTX
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
by
NTT DATA Technology & Innovation
KEY
やはりお前らのMVCは間違っている
by
Koichi Tanaka
PDF
新たなgitのブランチモデル「Git Feature Flow」!Git Flow,Git Hub Flow,Git Lab Flowを超えれるか?
by
naoki koyama
PDF
劇的改善 Ci4時間から5分へ〜私がやった10のこと〜
by
aha_oretama
PDF
分散トレーシング技術について(Open tracingやjaeger)
by
NTT Communications Technology Development
PDF
ドメイン駆動設計 ~ユーザー、モデル、エンジニアの新たな関係~
by
啓 杉本
PDF
ドメイン駆動設計の正しい歩き方
by
増田 亨
ODP
SPAのルーティングの話
by
ushiboy
PDF
OpenAPI 3.0でmicroserviceのAPI定義を試みてハマった話
by
Daichi Koike
PDF
Marp Tutorial
by
Rui Watanabe
例外設計における大罪
by
Takuto Wada
フロー効率性とリソース効率性について #xpjug
by
Itsuki Kuroda
あなたのチームの「いい人」は機能していますか?
by
Minoru Yokomichi
テスト文字列に「うんこ」と入れるな
by
Kentaro Matsui
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
by
Takuto Wada
マイクロにしすぎた結果がこれだよ!
by
mosa siru
DDDのモデリングとは何なのか、 そしてどうコードに落とすのか
by
Koichiro Matsuoka
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
by
Mikiya Okuno
メンバーのスキルアップ、どうしてる? − Java 100本ノックで新加入メンバーを鍛えてみた −
by
JustSystems Corporation
イミュータブルデータモデルの極意
by
Yoshitaka Kawashima
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
by
NTT DATA Technology & Innovation
やはりお前らのMVCは間違っている
by
Koichi Tanaka
新たなgitのブランチモデル「Git Feature Flow」!Git Flow,Git Hub Flow,Git Lab Flowを超えれるか?
by
naoki koyama
劇的改善 Ci4時間から5分へ〜私がやった10のこと〜
by
aha_oretama
分散トレーシング技術について(Open tracingやjaeger)
by
NTT Communications Technology Development
ドメイン駆動設計 ~ユーザー、モデル、エンジニアの新たな関係~
by
啓 杉本
ドメイン駆動設計の正しい歩き方
by
増田 亨
SPAのルーティングの話
by
ushiboy
OpenAPI 3.0でmicroserviceのAPI定義を試みてハマった話
by
Daichi Koike
Marp Tutorial
by
Rui Watanabe
Similar to アーキテクチャの進化から学ぶ、プラットフォームエンジニアリングへのアプローチ
PDF
アーキテクチャの発掘に見る要求変化の発見 - 要求開発アライアンス2014年2月定例会
by
Yusuke Suzuki
PDF
エンタープライズ、アーキテクチャ、アジャイルのこれから
by
Yusuke Suzuki
PDF
ビジネスとITをリンクさせるアジャイルな組織のつくり方 - アジャイル経営カンファレンス2023
by
Graat(グラーツ)
PDF
見えない壁を越えよう!アジャイルやマイクロサービスを阻む「今までのやり方」 - デブサミ夏2023
by
Yusuke Suzuki
PDF
アーキテクチャとアジャイルプロジェクトをまともに進めるための両輪について-DevLOVE関西 #DevKan
by
Yusuke Suzuki
PDF
第1回SIA研究会(例会)プレゼン資料
by
Tae Yoshida
PDF
デブサミ2010 これからのアーキテクチャを見通す
by
Yusuke Suzuki
PDF
ITサービス運営におけるアーキテクチャ設計 - 要求開発アライアンス 4月定例会
by
Yusuke Suzuki
PDF
ITトレンドに見る日本のエンタープライズITについて
by
Yusuke Suzuki
PDF
ビジネスとデザイン ~ビジネスは悪くない~
by
Ken Azuma
PDF
XP祭り2014「アジャイルを手放して得られたこと」
by
Yusuke Suzuki
PDF
ユーザに価値を届けるためのデータプラットフォームの考え方
by
Rakuten Group, Inc.
PDF
Javaエンジニアのためのアーキテクト講座-JJUG CCC 2014 Fall
by
Yusuke Suzuki
PDF
アジャイル開発を支えるアーキテクチャ設計とは
by
Yusuke Suzuki
PDF
ユーザー企業における標準化のあり方 : QCon Tokyo 2010
by
Yusuke Suzuki
PDF
What is Enterprise Agile
by
Kenji Hiranabe
PPTX
基盤の改善から既存アプリケーションの改善
by
T.R. Nishi
PPTX
ユーザに価値を届けるためのデータプラットフォームの考え方
by
Daisuke Watanabe
PPTX
Kspin20121201 kobayashi
by
Osamu Kobayashi
PDF
アジャイル開発の普及状況と具体事例
by
Yukio Okajima
アーキテクチャの発掘に見る要求変化の発見 - 要求開発アライアンス2014年2月定例会
by
Yusuke Suzuki
エンタープライズ、アーキテクチャ、アジャイルのこれから
by
Yusuke Suzuki
ビジネスとITをリンクさせるアジャイルな組織のつくり方 - アジャイル経営カンファレンス2023
by
Graat(グラーツ)
見えない壁を越えよう!アジャイルやマイクロサービスを阻む「今までのやり方」 - デブサミ夏2023
by
Yusuke Suzuki
アーキテクチャとアジャイルプロジェクトをまともに進めるための両輪について-DevLOVE関西 #DevKan
by
Yusuke Suzuki
第1回SIA研究会(例会)プレゼン資料
by
Tae Yoshida
デブサミ2010 これからのアーキテクチャを見通す
by
Yusuke Suzuki
ITサービス運営におけるアーキテクチャ設計 - 要求開発アライアンス 4月定例会
by
Yusuke Suzuki
ITトレンドに見る日本のエンタープライズITについて
by
Yusuke Suzuki
ビジネスとデザイン ~ビジネスは悪くない~
by
Ken Azuma
XP祭り2014「アジャイルを手放して得られたこと」
by
Yusuke Suzuki
ユーザに価値を届けるためのデータプラットフォームの考え方
by
Rakuten Group, Inc.
Javaエンジニアのためのアーキテクト講座-JJUG CCC 2014 Fall
by
Yusuke Suzuki
アジャイル開発を支えるアーキテクチャ設計とは
by
Yusuke Suzuki
ユーザー企業における標準化のあり方 : QCon Tokyo 2010
by
Yusuke Suzuki
What is Enterprise Agile
by
Kenji Hiranabe
基盤の改善から既存アプリケーションの改善
by
T.R. Nishi
ユーザに価値を届けるためのデータプラットフォームの考え方
by
Daisuke Watanabe
Kspin20121201 kobayashi
by
Osamu Kobayashi
アジャイル開発の普及状況と具体事例
by
Yukio Okajima
More from Yusuke Suzuki
PDF
Javaとコミュニティの歩み 2020
by
Yusuke Suzuki
PDF
エンタプライズ領域のアジャイル開発の課題 - FIT2020
by
Yusuke Suzuki
PDF
なぜ「マイクロサービス“化”」が必要なのか
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
エンタープライズアジャイルでチームが超えるべきこと - エンタープライズアジャイル勉強会 2018年10月セミナー
by
Yusuke Suzuki
PDF
エンタープライズアジャイルにおける要求探索の勘所 要求開発アライアンス2018年7月定例会
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
ユーザー企業へのアジャイル導入四苦八苦 - エンタープライズアジャイル勉強会2016年11月セミナー
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
Javaとコミュニティの歩み 2020
by
Yusuke Suzuki
エンタプライズ領域のアジャイル開発の課題 - FIT2020
by
Yusuke Suzuki
なぜ「マイクロサービス“化”」が必要なのか
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
エンタープライズアジャイルでチームが超えるべきこと - エンタープライズアジャイル勉強会 2018年10月セミナー
by
Yusuke Suzuki
エンタープライズアジャイルにおける要求探索の勘所 要求開発アライアンス2018年7月定例会
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
ユーザー企業へのアジャイル導入四苦八苦 - エンタープライズアジャイル勉強会2016年11月セミナー
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
アーキテクチャの進化から学ぶ、プラットフォームエンジニアリングへのアプローチ
1.
アーキテクチャの進化から学ぶ、 プラットフォームエンジニアリングへのアプローチ 鈴⽊雄介 ⽇本Javaユーザーグループ
2.
⾃⼰紹介 鈴⽊雄介 • ⽇本Javaユーザーグループ »CCC運営委員⻑/サブリーダー • SNS »@yusuke_arclamp »http://arclamp.hatenablog.com/ •
Graat(グラーツ) » グロース・アーキテクチャ&チームス株式会社 » 代表取締役 社⻑ • アイムデジタルラボ » 三越伊勢丹グループ » 取締役 1
3.
アジェンダ 2 • はじめに • Agile •
Cloud • DevOps • Microservices • Cloud Native • Platform • まとめ
4.
はじめに
5.
DXに必要な能⼒ 変化に素早く対応し続ける能⼒ 4 企業が競争上の優位性を確⽴するに は、常に変化する顧客・社会の課題を とらえ、「素早く」変⾰「し続ける」 能⼒を⾝に付けることが重要である 経済産業省 DXレポート2 https://www.meti.go.jp/press/2020/12/20201228004/20201228004.html
6.
変化に素早く対応し続ける能⼒ ITとして能⼒を発揮する • どちらも重要ではあるが、右が重要になっていく 5 安定して効率的に 対応し続ける能⼒ 変化に素早く 対応し続ける能⼒
7.
変化に素早く対応し続ける能⼒ アーキテクチャの進化から学ぶ • いかに「変化に素早く対応し続ける能⼒」を発揮するかを 考えるために歴史を学ぼう »Agile »Cloud »DevOps »Microservices »Cloud Native »Platform 6
8.
Agile
9.
Agile 変化へ対応するための開発プロセス • アジャイルソフトウェア宣⾔(2001) 8 プロセスやツールよりも個⼈と対話を、 包括的なドキュメントよりも動くソフトウェアを、 契約交渉よりも顧客との協調を、 計画に従うことよりも変化への対応を 左記のことがらに価値があることを認めながらも、私たち は右記のことがらにより価値をおく。
10.
Agile 変化に素早く対応し続ける • 顧客や社会の変化から、次にやる べきことを決めて、素早く対応す るサイクルを回し続けていく • そのためには「やりたいこと」を 安全に素早く変えられるようにす る必要がある 9 9 ITも含め 実現する 顧客や 環境の 変化 ビジネスとして やりたいこと ITも含め 実現する 顧客や 環境の 変化 ビジネスとして やりたいこと ITも含め 実現する 顧客や 環境の 変化 ビジネスとして やりたいこと ITも含め 顧客や 環境の 変化 ビジネスとして やりたいこと
11.
Agile Scrum • 電⾞にたとえて理解する »出発ホームから定期的に出発 »①出発ホームには、乗客が⼀列に並んで待 っている »②電⾞が来たら、定員まで乗せて出発 »③出発した電⾞は乗り降り禁⽌ »④次の電⾞が来るまで、出発ホームの乗客 は並び替え⾃由 10 出発ホーム d c
b a 出発ホーム d c b a 出発ホーム d c b a 定員:2名 ① f e 定員:2名 ② ③ ④
12.
補⾜ 対応表 11 電⾞の説明 スクラム⽤語 説明 電⾞の運⾏
スプリント 繰り返し続ける作業期間。1ヶ⽉以内の決まった ⻑さ 出発ホーム プロダクトバックログ これからやりたいことを優先順に並べたリスト の乗客 プロダクトバックログアイテム そのリストの1⾏ 電⾞に乗る スプリントプランニング スプリントの開始時に、このスプリントでやる ことを決めるイベント 電⾞ スプリントバックログ このスプリントで実施するタスクのリスト。 スプリントプランニングでプロダクトバックロ グからアイテムを移動させてくる の乗客 スプリントバックログアイテム そのリストの1⾏
13.
Agile Scrum • 「やりたいこと」と「今やるべきこと」 が分離されている »出発した電⾞は出発ホームを気にしない ▸開発チームはスプリントに集中 ▸ビジネス側は、好きに「やりたいこと」を変える »ウォーターフォールは初期の計画を基準に管 理するため、本質的に変更が苦⼿ ▸計画の変更は必ず開発に影響を与える 12 12 開発者 ビジネス (PO) 案件A 案件B 案件C 案件D 案件F 案件C 案件D 案件E 案件A 案件B 計画 成果 案件F 案件C 案件D 案件E 案件F 案件E 案件D 案件G ス プ リ ン ト 期 間 レビュー 案件F 案件D 案件E 案件G 案件F 案件F 案件D 計画 ス プ リ
14.
Agile Agileがもたらしたもの • ビジネスとITの関係を改善する »ビジネス側が「やりたいこと」を安全に変更することができる ▸開発チームは、それに影響を受けずに成熟していける »いつまでに準備すればいいか、いつ出来上がるのかが明確 ▸ビジネス側は、それに向けて判断と準備を進めていく »これを持続可能な状態に維持する 13
15.
Agile 課題:モノリス • 調整が素早さを削ぐ »影響調査 »リグレッションテスト »リリース調整 14 Haystack Rock
at 8:30am by Brenda Dobbs https://www.flickr.com/photos/bugldy99/45583127204/ 機能 A 機能 B 機能 C
16.
Cloud
17.
Cloud 巨⼤な仮想化インフラを「利⽤」する • 2006年:Google社元CEO エリック・シュミットが名付け »『すべてが雲の中のどこかにあればいい』 •
The NIST Definition of Cloud Computing »必要な時にセルフサービスで利⽤できる »ネットワークを通じて利⽤できる »リソースは共有され、必要な分が割り当てられる »いつでも必要なだけの量を調達することができる »利⽤状況に応じて課⾦される 16
18.
参考 クラウド・コンピューティングの定義 17 オンデマンド・ セルフサービス (On-demand self-service) ユーザは、各サービスの提供者と直接やりとりすることなく、必要に応じ、⾃動的に、サーバーの稼 働時間やネットワークストレージのようなコンピューティング能⼒を⼀⽅的に設定できる。 幅広いネットワークアクセス (Broad
network access) コンピューティング能⼒は、ネットワークを通じて利⽤可能で、標準的な仕組みで接続可能であり、 そのことにより、様々なシンおよびシッククライアントプラットフォーム(例えばモバイルフォン、 タブレット、ラップトップ コンピュータ、ワークステーション)からの利⽤を可能とする。 リソースの共⽤ (Resource pooling) サービスの提供者のコンピューティングリソースは集積され、複数のユーザにマルチテナントモデル を利⽤して提供される。様々な物理的・仮想的リソースは、ユーザの需要に応じてダイナミックに割 り当てられたり 再割り当てされたりする。物理的な所在場所に制約されないという考え⽅で、ユーザ は⼀般的に、提供されるリソースの正確な所在地を知ったりコントロールしたりできないが、場合に よってはより抽象的なレベル (例:国、州、データセンタ)で特定可能である。リソースの例として は、ストレージ、処理能⼒、メモリ、およびネットワーク帯域が挙げられる。 スピーディな拡張性 (Rapid elasticity) コンピューティング能⼒は、伸縮⾃在に、場合によっては⾃動で割当ておよび提供が可能で、需要に 応じて即座にスケールアウト/スケールインできる。ユーザにとっては、多くの場合、割当てのため に利⽤可能な能⼒は無尽蔵で、いつでもどんな量でも調達可能のように⾒える。 サービスが 計測可能であること (Measured Service) クラウドシステムは、計測能⼒1を利⽤して、サービスの種類(ストレージ、処理能⼒、帯域、実利⽤ 中のユーザアカウント数)に適した管理レベルでリソースの利⽤をコントロールし最適化する。リ ソースの利⽤状況はモニタされ、コントロールされ、報告される。それにより、サービスの利⽤結果 がユーザにもサービス提供者にも明⽰できる。 1. 通常、従量課⾦(pay-per-use)または従量請求 (charge-per-use)ベースで計算される。 The NIST Definition of Cloud Computing https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-145.pdf ⽇本語訳 https://www.ipa.go.jp/files/000025366.pdf
19.
Cloud Cloudがもたらしたもの • IaC(Infrastructure as
Code) »インフラ構成をコードで表現できる »アプリケーションだけではなく、稼働環境を含めてサービスそのも のがコードになる • PaaS(Platform as a Service) »インフラだけではなく、ミドルウェアや実⾏環境もサービス ▸スケールだけではなく、機能性もターンキーで利⽤できる ü クラスタ、⾃動デプロイ 18
20.
DevOps
21.
DevOps 開発♡運⽤ • 「Devopsdays Ghent
2009」の 開催をきっかけに定着 • 開発と運⽤は仲が悪かった »最⼤の運⽤リスクは変化の受⼊ »でも、変化に素早く対応し続けられ るようにならないといけない 20
22.
DevOps DevOpsがもたらたしたもの • 運⽤をセルフサービスにする »素早く対応するに部署間のやり取りは無駄 »開発がツールを使って運⽤作業を実施すればいい ▸インフラ構築、ビルド&デプロイ、スケール変更、監視&予測、障害復旧... 21 成果物 アプリ Dev Ops
成果物 Dev SRE Ops ツール インフラ アプリ インフラ DevOpsエンジニア
23.
Microservices
24.
Microservices マイクロサービスアーキテクチャ • 2014年:「Microservceis」 by
James Lewis • モノリスを解決する »機能間での調整を減らせば、全体として変化に対応しやすくなる ▸影響調査、リグレッションテスト、リリース調整 23 機能 A 機能 B 機能 C 機能 A 機能 B 機能 C
25.
Microservices マイクロサービスの特徴 from “Microservices” »サービスによるコンポーネント化 »ビジネス視点でのチーム分割 »プロジェクトではなくプロダクト »スマートなエンドポイントと単純なパイプ(API連携) »分散ガバナンス(脱標準化) »分散データ管理 »インフラの⾃動化 »障害のための設計 »進化的設計 24 ←DevOpsな部分 ←アジャイルな部分 Microservices http://martinfowler.com/articles/microservices.html ← 疎結合にする ためのコツ
26.
Microservices 疎結合にする≒変更の伝播を制限する • 機能的にも⾮機能的にも伝播させない »WebAPI(同期/⾮同期)を通じて連携する »データを共有しない »サーバもデータベースも共有しない 25 サービスA サービスB
サービスC DB A DB B DB C
27.
Microservices リリース調整を排除する • 無停⽌リリース(ブルーグリーンデプロイメント) • 連携先サービスがダウンしても稼働できるようにする »サーキットブレーカー 26 サービスA サービスB v1.0 サービスB v1.1 サービスA
サービスB 障害 障害を伝播 させない
28.
Microservices Microservicesがもたらしたもの • ⼤規模システムでアジャイルを回す仕組み »システムを複数の疎結合なサービス群に分割することで、サービス 単位に独⽴したリズムで変更が可能に »⼀括再構築ではなく、部分から変えていくことが可能に 27 システムA 機能A 機能B 機能C システムB 機能D 機能E 機能F サービスA サービスB サービスC サービスD サービスE サービスF システム全体
29.
補⾜ Microservicesは万能ではない • GitHubの元CTO Jason
Warne⽒ »この10年、アーキテクチャ設計における 最⼤の間違いは「すべてをマイクロサー ビスにしようとすること」だ »モノリスからマイクロサービスは以下の ように連続的だ »モノリス > アプリ > サービス > マイク ロサービス 28 https://twitter.com/jasoncwarner/status/1592227285024636928
30.
補⾜ マイクロサービス化に取り組む • Netflixは2008年からAWS化し、2016年1⽉に移⾏完了 »Netflixのクラウド移⾏が完了 -
About Netflix ▸最も簡単な移⾏⽅法はリフトだが、問題や制約もついてくる ▸クラウドネイティブに技術を⾒直し、モノリシックアプリケーションをマイ クロサービスに移⾏した ▸最後になったのは課⾦や顧客のデータ管理の機能 • 「⼀括再構築でマイクロサービスに取り組む」のは危険 »段階的にマイクロサービス化していく 29
31.
Cloud Native
32.
Cloud Native Cloud Native •
2015年:Cloud Native Computing Foundation設⽴ »Kubernetes 1.0のリリースと同時に設⽴ »Cloud Native Definition v1.0 ▸クラウドネイティブ技術<中略>の代表例に、コンテナ、サービスメッシュ 、マイクロサービス、イミュータブルインフラストラクチャ、および宣⾔型 API ▸回復性、管理⼒、および可観測性のある疎結合システムが実現 ▸堅牢な⾃動化と組み合わせることで、エンジニアはインパクトのある変更を 最⼩限の労⼒で頻繁かつ予測どおりに⾏う 31 CNCF Cloud Native Definition v1.0 https://github.com/cncf/toc/blob/main/DEFINITION.md Cloud Native Computing Foundation https://www.cncf.io/
33.
Cloud Native Cloud Native
Trail Map » コンテナ化 » CI/CD » オーケストレーション&アプリ定義 » オブザーバビリティ » サービスメッシュ » ポリシー、セキュリティ » 分散データベース&ストレージ » ストリーミング&メッセージング » コンテナレジストリ&ランタイム » ソフトウェアディストリビューシ ョン 32 Cloud Native Trail Map https://raw.githubusercontent.com/cncf/trailmap/master/CNCF_TrailMap_latest.pdf
34.
Cloud Native Cloud Native Landscape •
1000近い関連製品 » プロビジョニング » ランタイム » オーケストレーション » サーバレス » オブザーバビリティ » プラットフォーム » ... 33 Kubernetes
35.
Cloud Native 現在進⾏形で様々な技術が成⻑中 • コンテナ+サーバレス »コンテナを稼働させるためのサーバレス環境 ▸Gitレポジトリからデプロイ&スケールまで。常駐型もバッチ型も対応 •
サービスメッシュ »サービス間連携を管理するための仕組み ▸ルーティング、セキュリティ&ポリシー、監視、レジリエンスなど 34
36.
Platform
37.
Platform プラットフォームとは? • 2018年: Internal
Developer Platform (IDP) 36 内部開発者プラットフォーム (IDP) は、運⽤チームによって構成され、開発 者によって使⽤されます。運⽤チームは、どのリソースをどの環境で、また はどのような要求で起動するかを指定します。また、アプリケーション構成 のベースライン テンプレートを設定し、アクセス許可を管理します。これに より、環境やリソースのスピンアップなどの定期的なタスクを⾃動化し、標 準を適⽤することでセットアップの保守が容易になります。開発チームは、 構成の変更、デプロイ、スピンによって⾃律性を獲得します What is an Internal Developer Platform (IDP)? | Internal Developer Platform https://internaldeveloperplatform.org/what-is-an-internal-developer-platform/
38.
Platform DevOpsやMSAのアンチパターン • チーム/システムが個別に取り組む 37 チームA チームB
チームC DevOps MSA OPS
39.
Platform Platformを整備して提供する • Internal Developer
Platform 38 チームA チームB チームC Platform OPS DevOps MSA
40.
Platform Platformの中⾝は? 39 デジタルプラットフォームは、セルフサービスのAPI、 ツール、サービス、知識、サポートの基盤であり、魅⼒的 な社内製品として配置されています。⾃律型デリバリー チームは、このプラットフォームを利⽤して、調整を減ら しながら、より速いペースで製品機能を提供することがで きます。 What I Talk
About When I Talk About Platforms (martinfowler.com) https://martinfowler.com/articles/talk-about-platforms.html
41.
Platform IDPを構築する • 認証認可 »IAM、ユーザー管理、権限管理... • アプリケーション・インフラ構成管理 »コアネットワーク、CI、IaC... »サーバ、データベース、シークレット... •
パイプライン »Git、CI、コンテナリポジトリ、無停⽌デプロイ... • ガイドラインやサポート体制 40
42.
Platform Platform Engineering • Platformを構築することに取り組む 41 プラットフォームエンジニアリングは、クラウドネイティブ時代 のソフトウェアエンジニアリング組織のセルフサービス機能を可 能にするツールチェーンとワークフローを設計および構築する分 野です。プラットフォームエンジニアは、アプリケーションのラ イフサイクル全体の運⽤上の必需品をカバーする「内部開発者プ ラットフォーム」と呼ばれる統合製品を提供します。 What
is platform engineering? https://platformengineering.org/blog/what-is-platform-engineering
43.
まとめ
44.
まとめ アーキテクチャの進化を学ぶ • 年表 »2001 Agile »2006
Cloud »2009 DevOps »2014 Microservices »2015 Cloud Native/Serverless »2018 Platform • 我々は、20年以上取り組んできている 43
45.
まとめ 進化の本質 • 全ては「変化に素早く対応し続ける」ために »モジュール化における⾼凝集&疎結合は、古来からの基本原則 ▸コード →
アプリ → サービス • どんな取り組みにも副作⽤があり、主に⼈間の認知の問題 »技術の進化が、効率的に副作⽤を抑えられるようにしてきた »ただし、理解せずに使えば、簡単に限界を踏み抜く 44
46.
まとめ これからのために • 積み重ねられた進化を無視しない »特に⽂化的な⼟台は重要 ▸アジャイル:ビジネスと開発の関係改善 ▸DevOps:開発と運⽤の関係改善 • でも、進化を辿る必要性はない »先⼈の知恵の塊であるテクノロジーやテクニックは使わせてもらう »ただし、進化の先端は未成熟であることも理解する 45
Download