Submit Search
Upload
マイクロサービス化設計入門 - AWS Dev Day Tokyo 2017
•
65 likes
•
28,702 views
Yusuke Suzuki
Follow
2017年5月31日に行われたAWS Dev Day Tokyo 2017での講演「クラウド時代のマイクロサービス設計徹底解説!」改め「マイクロサービス化設計入門」の講演資料です。
Read less
Read more
Technology
Report
Share
Report
Share
1 of 61
Download now
Download to read offline
Recommended
マイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチ
増田 亨
DevOps with Database on AWS
DevOps with Database on AWS
Amazon Web Services Japan
Infrastructure as Code (IaC) 談義 2022
Infrastructure as Code (IaC) 談義 2022
Amazon Web Services Japan
AWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティス
Akihiro Kuwano
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
NTT DATA Technology & Innovation
マイクロサービス化デザインパターン - #AWSDevDay Tokyo 2018
マイクロサービス化デザインパターン - #AWSDevDay Tokyo 2018
Yusuke Suzuki
20210127 AWS Black Belt Online Seminar Amazon Redshift 運用管理
20210127 AWS Black Belt Online Seminar Amazon Redshift 運用管理
Amazon Web Services Japan
20190731 Black Belt Online Seminar Amazon ECS Deep Dive
20190731 Black Belt Online Seminar Amazon ECS Deep Dive
Amazon Web Services Japan
Recommended
マイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチ
増田 亨
DevOps with Database on AWS
DevOps with Database on AWS
Amazon Web Services Japan
Infrastructure as Code (IaC) 談義 2022
Infrastructure as Code (IaC) 談義 2022
Amazon Web Services Japan
AWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティス
Akihiro Kuwano
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
NTT DATA Technology & Innovation
マイクロサービス化デザインパターン - #AWSDevDay Tokyo 2018
マイクロサービス化デザインパターン - #AWSDevDay Tokyo 2018
Yusuke Suzuki
20210127 AWS Black Belt Online Seminar Amazon Redshift 運用管理
20210127 AWS Black Belt Online Seminar Amazon Redshift 運用管理
Amazon Web Services Japan
20190731 Black Belt Online Seminar Amazon ECS Deep Dive
20190731 Black Belt Online Seminar Amazon ECS Deep Dive
Amazon Web Services Japan
NTTデータ流Infrastructure as Code~ 大規模プロジェクトを通して考え抜いた基盤自動化の新たな姿~(NTTデータ テクノロジーカンフ...
NTTデータ流Infrastructure as Code~ 大規模プロジェクトを通して考え抜いた基盤自動化の新たな姿~(NTTデータ テクノロジーカンフ...
NTT DATA Technology & Innovation
AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design Pattern
AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design Pattern
Amazon Web Services Japan
AWS Black Belt Online Seminar AWS Amplify
AWS Black Belt Online Seminar AWS Amplify
Amazon Web Services Japan
20190424 AWS Black Belt Online Seminar Amazon Aurora MySQL
20190424 AWS Black Belt Online Seminar Amazon Aurora MySQL
Amazon Web Services Japan
Amazon S3を中心とするデータ分析のベストプラクティス
Amazon S3を中心とするデータ分析のベストプラクティス
Amazon Web Services Japan
Google Cloud で実践する SRE
Google Cloud で実践する SRE
Google Cloud Platform - Japan
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
Amazon Web Services Japan
20200630 AWS Black Belt Online Seminar Amazon Cognito
20200630 AWS Black Belt Online Seminar Amazon Cognito
Amazon Web Services Japan
20200212 AWS Black Belt Online Seminar AWS Systems Manager
20200212 AWS Black Belt Online Seminar AWS Systems Manager
Amazon Web Services Japan
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
Amazon Web Services Japan
20210316 AWS Black Belt Online Seminar AWS DataSync
20210316 AWS Black Belt Online Seminar AWS DataSync
Amazon Web Services Japan
The Twelve-Factor Appで考えるAWSのサービス開発
The Twelve-Factor Appで考えるAWSのサービス開発
Amazon Web Services Japan
マイクロサービス時代の認証と認可 - AWS Dev Day Tokyo 2018 #AWSDevDay
マイクロサービス時代の認証と認可 - AWS Dev Day Tokyo 2018 #AWSDevDay
都元ダイスケ Miyamoto
20190821 AWS Black Belt Online Seminar AWS AppSync
20190821 AWS Black Belt Online Seminar AWS AppSync
Amazon Web Services Japan
Spring Boot + Netflix Eureka
Spring Boot + Netflix Eureka
心 谷本
20191023 AWS Black Belt Online Seminar Amazon EMR
20191023 AWS Black Belt Online Seminar Amazon EMR
Amazon Web Services Japan
20200218 AWS Black Belt Online Seminar Next Generation Redshift
20200218 AWS Black Belt Online Seminar Next Generation Redshift
Amazon Web Services Japan
Azure API Management 俺的マニュアル
Azure API Management 俺的マニュアル
貴志 上坂
20200422 AWS Black Belt Online Seminar Amazon Elastic Container Service (Amaz...
20200422 AWS Black Belt Online Seminar Amazon Elastic Container Service (Amaz...
Amazon Web Services Japan
AWS Black Belt Online Seminar 2017 Amazon Kinesis
AWS Black Belt Online Seminar 2017 Amazon Kinesis
Amazon Web Services Japan
JJUG初心者のためのJava/JJUG講座
JJUG初心者のためのJava/JJUG講座
Yusuke Suzuki
プロダクトオーナーは育成できるのか? - プロダクトオーナー祭り2016
プロダクトオーナーは育成できるのか? - プロダクトオーナー祭り2016
Yusuke Suzuki
More Related Content
What's hot
NTTデータ流Infrastructure as Code~ 大規模プロジェクトを通して考え抜いた基盤自動化の新たな姿~(NTTデータ テクノロジーカンフ...
NTTデータ流Infrastructure as Code~ 大規模プロジェクトを通して考え抜いた基盤自動化の新たな姿~(NTTデータ テクノロジーカンフ...
NTT DATA Technology & Innovation
AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design Pattern
AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design Pattern
Amazon Web Services Japan
AWS Black Belt Online Seminar AWS Amplify
AWS Black Belt Online Seminar AWS Amplify
Amazon Web Services Japan
20190424 AWS Black Belt Online Seminar Amazon Aurora MySQL
20190424 AWS Black Belt Online Seminar Amazon Aurora MySQL
Amazon Web Services Japan
Amazon S3を中心とするデータ分析のベストプラクティス
Amazon S3を中心とするデータ分析のベストプラクティス
Amazon Web Services Japan
Google Cloud で実践する SRE
Google Cloud で実践する SRE
Google Cloud Platform - Japan
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
Amazon Web Services Japan
20200630 AWS Black Belt Online Seminar Amazon Cognito
20200630 AWS Black Belt Online Seminar Amazon Cognito
Amazon Web Services Japan
20200212 AWS Black Belt Online Seminar AWS Systems Manager
20200212 AWS Black Belt Online Seminar AWS Systems Manager
Amazon Web Services Japan
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
Amazon Web Services Japan
20210316 AWS Black Belt Online Seminar AWS DataSync
20210316 AWS Black Belt Online Seminar AWS DataSync
Amazon Web Services Japan
The Twelve-Factor Appで考えるAWSのサービス開発
The Twelve-Factor Appで考えるAWSのサービス開発
Amazon Web Services Japan
マイクロサービス時代の認証と認可 - AWS Dev Day Tokyo 2018 #AWSDevDay
マイクロサービス時代の認証と認可 - AWS Dev Day Tokyo 2018 #AWSDevDay
都元ダイスケ Miyamoto
20190821 AWS Black Belt Online Seminar AWS AppSync
20190821 AWS Black Belt Online Seminar AWS AppSync
Amazon Web Services Japan
Spring Boot + Netflix Eureka
Spring Boot + Netflix Eureka
心 谷本
20191023 AWS Black Belt Online Seminar Amazon EMR
20191023 AWS Black Belt Online Seminar Amazon EMR
Amazon Web Services Japan
20200218 AWS Black Belt Online Seminar Next Generation Redshift
20200218 AWS Black Belt Online Seminar Next Generation Redshift
Amazon Web Services Japan
Azure API Management 俺的マニュアル
Azure API Management 俺的マニュアル
貴志 上坂
20200422 AWS Black Belt Online Seminar Amazon Elastic Container Service (Amaz...
20200422 AWS Black Belt Online Seminar Amazon Elastic Container Service (Amaz...
Amazon Web Services Japan
AWS Black Belt Online Seminar 2017 Amazon Kinesis
AWS Black Belt Online Seminar 2017 Amazon Kinesis
Amazon Web Services Japan
What's hot
(20)
NTTデータ流Infrastructure as Code~ 大規模プロジェクトを通して考え抜いた基盤自動化の新たな姿~(NTTデータ テクノロジーカンフ...
NTTデータ流Infrastructure as Code~ 大規模プロジェクトを通して考え抜いた基盤自動化の新たな姿~(NTTデータ テクノロジーカンフ...
AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design Pattern
AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design Pattern
AWS Black Belt Online Seminar AWS Amplify
AWS Black Belt Online Seminar AWS Amplify
20190424 AWS Black Belt Online Seminar Amazon Aurora MySQL
20190424 AWS Black Belt Online Seminar Amazon Aurora MySQL
Amazon S3を中心とするデータ分析のベストプラクティス
Amazon S3を中心とするデータ分析のベストプラクティス
Google Cloud で実践する SRE
Google Cloud で実践する SRE
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
20200630 AWS Black Belt Online Seminar Amazon Cognito
20200630 AWS Black Belt Online Seminar Amazon Cognito
20200212 AWS Black Belt Online Seminar AWS Systems Manager
20200212 AWS Black Belt Online Seminar AWS Systems Manager
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
20210316 AWS Black Belt Online Seminar AWS DataSync
20210316 AWS Black Belt Online Seminar AWS DataSync
The Twelve-Factor Appで考えるAWSのサービス開発
The Twelve-Factor Appで考えるAWSのサービス開発
マイクロサービス時代の認証と認可 - AWS Dev Day Tokyo 2018 #AWSDevDay
マイクロサービス時代の認証と認可 - AWS Dev Day Tokyo 2018 #AWSDevDay
20190821 AWS Black Belt Online Seminar AWS AppSync
20190821 AWS Black Belt Online Seminar AWS AppSync
Spring Boot + Netflix Eureka
Spring Boot + Netflix Eureka
20191023 AWS Black Belt Online Seminar Amazon EMR
20191023 AWS Black Belt Online Seminar Amazon EMR
20200218 AWS Black Belt Online Seminar Next Generation Redshift
20200218 AWS Black Belt Online Seminar Next Generation Redshift
Azure API Management 俺的マニュアル
Azure API Management 俺的マニュアル
20200422 AWS Black Belt Online Seminar Amazon Elastic Container Service (Amaz...
20200422 AWS Black Belt Online Seminar Amazon Elastic Container Service (Amaz...
AWS Black Belt Online Seminar 2017 Amazon Kinesis
AWS Black Belt Online Seminar 2017 Amazon Kinesis
Viewers also liked
JJUG初心者のためのJava/JJUG講座
JJUG初心者のためのJava/JJUG講座
Yusuke Suzuki
プロダクトオーナーは育成できるのか? - プロダクトオーナー祭り2016
プロダクトオーナーは育成できるのか? - プロダクトオーナー祭り2016
Yusuke Suzuki
ITトレンドに見る日本のエンタープライズITについて
ITトレンドに見る日本のエンタープライズITについて
Yusuke Suzuki
日本Javaグループ2017年定期総会 #jjug
日本Javaグループ2017年定期総会 #jjug
日本Javaユーザーグループ
オープンデータの広がりと今後の課題ー関西での活動を中心にー
オープンデータの広がりと今後の課題ー関西での活動を中心にー
Kouji Kozaki
Spring boot劇的ビフォーアフター
Spring boot劇的ビフォーアフター
orekyuu
Deep Dive: Amazon DynamoDB (db tech showcase 2016)
Deep Dive: Amazon DynamoDB (db tech showcase 2016)
Amazon Web Services Japan
[Japan Tech summit 2017] CLD 015
[Japan Tech summit 2017] CLD 015
Microsoft Tech Summit 2017
[Japan Tech summit 2017] APP 003
[Japan Tech summit 2017] APP 003
Microsoft Tech Summit 2017
マイクロサービスアーキテクチャの設計 - JUG2015
マイクロサービスアーキテクチャの設計 - JUG2015
Yusuke Suzuki
ビッグデータだけじゃない Amazon DynamoDBの活用事例
ビッグデータだけじゃない Amazon DynamoDBの活用事例
Ken Nakanishi
SharePoint Online Communication Sites お手軽サイト作成
SharePoint Online Communication Sites お手軽サイト作成
Hirofumi Ota
[AC05] マイクロサービスは分割がキモ!基幹システムのためのドメイン駆動設計
[AC05] マイクロサービスは分割がキモ!基幹システムのためのドメイン駆動設計
de:code 2017
[DO07] マイクロサービスに必要な技術要素はすべて Spring Cloud にある
[DO07] マイクロサービスに必要な技術要素はすべて Spring Cloud にある
de:code 2017
なぜソフトウェアアーキテクトが必要なのか - Devlove 20110423
なぜソフトウェアアーキテクトが必要なのか - Devlove 20110423
Yusuke Suzuki
マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!
mosa siru
マイクロサービスに必要な技術要素はすべてSpring Cloudにある #DO07
マイクロサービスに必要な技術要素はすべてSpring Cloudにある #DO07
Toshiaki Maki
Java SE 9 のススメ
Java SE 9 のススメ
Yuichi Sakuraba
HBaseとRedisを使った100億超/日メッセージを処理するLINEのストレージ
HBaseとRedisを使った100億超/日メッセージを処理するLINEのストレージ
LINE Corporation
イベント・ソーシングを知る
イベント・ソーシングを知る
Shuhei Fujita
Viewers also liked
(20)
JJUG初心者のためのJava/JJUG講座
JJUG初心者のためのJava/JJUG講座
プロダクトオーナーは育成できるのか? - プロダクトオーナー祭り2016
プロダクトオーナーは育成できるのか? - プロダクトオーナー祭り2016
ITトレンドに見る日本のエンタープライズITについて
ITトレンドに見る日本のエンタープライズITについて
日本Javaグループ2017年定期総会 #jjug
日本Javaグループ2017年定期総会 #jjug
オープンデータの広がりと今後の課題ー関西での活動を中心にー
オープンデータの広がりと今後の課題ー関西での活動を中心にー
Spring boot劇的ビフォーアフター
Spring boot劇的ビフォーアフター
Deep Dive: Amazon DynamoDB (db tech showcase 2016)
Deep Dive: Amazon DynamoDB (db tech showcase 2016)
[Japan Tech summit 2017] CLD 015
[Japan Tech summit 2017] CLD 015
[Japan Tech summit 2017] APP 003
[Japan Tech summit 2017] APP 003
マイクロサービスアーキテクチャの設計 - JUG2015
マイクロサービスアーキテクチャの設計 - JUG2015
ビッグデータだけじゃない Amazon DynamoDBの活用事例
ビッグデータだけじゃない Amazon DynamoDBの活用事例
SharePoint Online Communication Sites お手軽サイト作成
SharePoint Online Communication Sites お手軽サイト作成
[AC05] マイクロサービスは分割がキモ!基幹システムのためのドメイン駆動設計
[AC05] マイクロサービスは分割がキモ!基幹システムのためのドメイン駆動設計
[DO07] マイクロサービスに必要な技術要素はすべて Spring Cloud にある
[DO07] マイクロサービスに必要な技術要素はすべて Spring Cloud にある
なぜソフトウェアアーキテクトが必要なのか - Devlove 20110423
なぜソフトウェアアーキテクトが必要なのか - Devlove 20110423
マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!
マイクロサービスに必要な技術要素はすべてSpring Cloudにある #DO07
マイクロサービスに必要な技術要素はすべてSpring Cloudにある #DO07
Java SE 9 のススメ
Java SE 9 のススメ
HBaseとRedisを使った100億超/日メッセージを処理するLINEのストレージ
HBaseとRedisを使った100億超/日メッセージを処理するLINEのストレージ
イベント・ソーシングを知る
イベント・ソーシングを知る
Similar to マイクロサービス化設計入門 - AWS Dev Day Tokyo 2017
今どきのアーキテクチャ設計戦略 - QCon Tokyo 2016
今どきのアーキテクチャ設計戦略 - QCon Tokyo 2016
Yusuke Suzuki
UnityとAmazon Web Servicesで生み出す新しい価値
UnityとAmazon Web Servicesで生み出す新しい価値
Keisuke Nishitani
マイクロサービス化に向けて
マイクロサービス化に向けて
HIRA
アジャイル開発を支えるアーキテクチャ設計とは
アジャイル開発を支えるアーキテクチャ設計とは
Yusuke Suzuki
Javaエンジニアのための"クラウド時代の過ごし方" Java Day Tokyo 2016
Javaエンジニアのための"クラウド時代の過ごし方" Java Day Tokyo 2016
Yusuke Suzuki
Docker on azure!進化していくcontainerを覗いてみよう!
Docker on azure!進化していくcontainerを覗いてみよう!
Tsukasa Kato
マイクロサービスアーキテクチャとは何か
マイクロサービスアーキテクチャとは何か
Yusuke Suzuki
要求の変化とマイクロサービスアーキテクチャ
要求の変化とマイクロサービスアーキテクチャ
Yusuke Suzuki
ServerlessとMicroserviceの難しさに立ち向かう
ServerlessとMicroserviceの難しさに立ち向かう
ひろき こにし
マイクロサービスアーキテクチャ - アーキテクチャ設計の歴史を背景に
マイクロサービスアーキテクチャ - アーキテクチャ設計の歴史を背景に
Yusuke Suzuki
サーバーレスやマイクロサービスへの"チャレンジ"を後押ししてくれるセッションを紹介
サーバーレスやマイクロサービスへの"チャレンジ"を後押ししてくれるセッションを紹介
Yuta Matsumura
Microsoft Build 2021をさらに楽しむためのおすすめセッション/サンプル コード Powered by Microsoft MVPs
Microsoft Build 2021をさらに楽しむためのおすすめセッション/サンプル コード Powered by Microsoft MVPs
Rie Moriguchi
クラウド時代のエンジニアについて #sesfukui
クラウド時代のエンジニアについて #sesfukui
Yusuke Suzuki
サーバーレス時代の システム設計ワークショップ
サーバーレス時代の システム設計ワークショップ
Masahiro NAKAYAMA
How to face the Kubernetes ?
How to face the Kubernetes ?
Yoshio Terada
Visual Studio ~ 過去、現在、そして未来
Visual Studio ~ 過去、現在、そして未来
Akira Inoue
AWS Black Belt Online Seminar 2017 AWS Summit Tokyo 2017 まとめ
AWS Black Belt Online Seminar 2017 AWS Summit Tokyo 2017 まとめ
Amazon Web Services Japan
Visual Studio 2019 GA ! ~ 最新情報 & これからの開発スタイル
Visual Studio 2019 GA ! ~ 最新情報 & これからの開発スタイル
Akira Inoue
Microsoft Build 2022をさらに楽しむためのおすすめセッション/サンプル コード Powered by Microsoft MVPs
Microsoft Build 2022をさらに楽しむためのおすすめセッション/サンプル コード Powered by Microsoft MVPs
Rie Moriguchi
30分でわかるマイクロサービスアーキテクチャ 第2版
30分でわかるマイクロサービスアーキテクチャ 第2版
Naoki (Neo) SATO
Similar to マイクロサービス化設計入門 - AWS Dev Day Tokyo 2017
(20)
今どきのアーキテクチャ設計戦略 - QCon Tokyo 2016
今どきのアーキテクチャ設計戦略 - QCon Tokyo 2016
UnityとAmazon Web Servicesで生み出す新しい価値
UnityとAmazon Web Servicesで生み出す新しい価値
マイクロサービス化に向けて
マイクロサービス化に向けて
アジャイル開発を支えるアーキテクチャ設計とは
アジャイル開発を支えるアーキテクチャ設計とは
Javaエンジニアのための"クラウド時代の過ごし方" Java Day Tokyo 2016
Javaエンジニアのための"クラウド時代の過ごし方" Java Day Tokyo 2016
Docker on azure!進化していくcontainerを覗いてみよう!
Docker on azure!進化していくcontainerを覗いてみよう!
マイクロサービスアーキテクチャとは何か
マイクロサービスアーキテクチャとは何か
要求の変化とマイクロサービスアーキテクチャ
要求の変化とマイクロサービスアーキテクチャ
ServerlessとMicroserviceの難しさに立ち向かう
ServerlessとMicroserviceの難しさに立ち向かう
マイクロサービスアーキテクチャ - アーキテクチャ設計の歴史を背景に
マイクロサービスアーキテクチャ - アーキテクチャ設計の歴史を背景に
サーバーレスやマイクロサービスへの"チャレンジ"を後押ししてくれるセッションを紹介
サーバーレスやマイクロサービスへの"チャレンジ"を後押ししてくれるセッションを紹介
Microsoft Build 2021をさらに楽しむためのおすすめセッション/サンプル コード Powered by Microsoft MVPs
Microsoft Build 2021をさらに楽しむためのおすすめセッション/サンプル コード Powered by Microsoft MVPs
クラウド時代のエンジニアについて #sesfukui
クラウド時代のエンジニアについて #sesfukui
サーバーレス時代の システム設計ワークショップ
サーバーレス時代の システム設計ワークショップ
How to face the Kubernetes ?
How to face the Kubernetes ?
Visual Studio ~ 過去、現在、そして未来
Visual Studio ~ 過去、現在、そして未来
AWS Black Belt Online Seminar 2017 AWS Summit Tokyo 2017 まとめ
AWS Black Belt Online Seminar 2017 AWS Summit Tokyo 2017 まとめ
Visual Studio 2019 GA ! ~ 最新情報 & これからの開発スタイル
Visual Studio 2019 GA ! ~ 最新情報 & これからの開発スタイル
Microsoft Build 2022をさらに楽しむためのおすすめセッション/サンプル コード Powered by Microsoft MVPs
Microsoft Build 2022をさらに楽しむためのおすすめセッション/サンプル コード Powered by Microsoft MVPs
30分でわかるマイクロサービスアーキテクチャ 第2版
30分でわかるマイクロサービスアーキテクチャ 第2版
More from Yusuke Suzuki
アーキテクチャの進化から学ぶ、プラットフォームエンジニアリングへのアプローチ
アーキテクチャの進化から学ぶ、プラットフォームエンジニアリングへのアプローチ
Yusuke Suzuki
見えない壁を越えよう!アジャイルやマイクロサービスを阻む「今までのやり方」 - デブサミ夏2023
見えない壁を越えよう!アジャイルやマイクロサービスを阻む「今までのやり方」 - デブサミ夏2023
Yusuke Suzuki
サービスブループリントによるシステム設計手法の紹介 - XP祭り2022
サービスブループリントによるシステム設計手法の紹介 - XP祭り2022
Yusuke Suzuki
マイクロサービスに至る歴史とこれから - XP祭り2021
マイクロサービスに至る歴史とこれから - XP祭り2021
Yusuke Suzuki
Javaとコミュニティの歩み 2020
Javaとコミュニティの歩み 2020
Yusuke Suzuki
エンタプライズ領域のアジャイル開発の課題 - FIT2020
エンタプライズ領域のアジャイル開発の課題 - FIT2020
Yusuke Suzuki
なぜ「マイクロサービス“化”」が必要なのか
なぜ「マイクロサービス“化”」が必要なのか
Yusuke Suzuki
DX時代に目指すべき品質向上とテスト - @IT ソフトウェア品質向上セミナー 2019夏
DX時代に目指すべき品質向上とテスト - @IT ソフトウェア品質向上セミナー 2019夏
Yusuke Suzuki
エンタープライズ、アーキテクチャ、アジャイルのこれから
エンタープライズ、アーキテクチャ、アジャイルのこれから
Yusuke Suzuki
アーキテクチャのレビューについて - JaSST Review '18
アーキテクチャのレビューについて - JaSST Review '18
Yusuke Suzuki
MicroserviceでのNoOps戦略 - NoOps Meetup Tokyo #2 #NoOpsJP
MicroserviceでのNoOps戦略 - NoOps Meetup Tokyo #2 #NoOpsJP
Yusuke Suzuki
エンタープライズアジャイルでチームが超えるべきこと - エンタープライズアジャイル勉強会 2018年10月セミナー
エンタープライズアジャイルでチームが超えるべきこと - エンタープライズアジャイル勉強会 2018年10月セミナー
Yusuke Suzuki
エンタープライズアジャイルにおける要求探索の勘所 要求開発アライアンス2018年7月定例会
エンタープライズアジャイルにおける要求探索の勘所 要求開発アライアンス2018年7月定例会
Yusuke Suzuki
Javaはコミュニティの力で再び偉大になれるのか
Javaはコミュニティの力で再び偉大になれるのか
Yusuke Suzuki
Javaのカルチャーとグロース - MANABIYA 2018
Javaのカルチャーとグロース - MANABIYA 2018
Yusuke Suzuki
エナジャイル設立によせて
エナジャイル設立によせて
Yusuke Suzuki
ユーザー企業へのアジャイル導入四苦八苦 - エンタープライズアジャイル勉強会2016年11月セミナー
ユーザー企業へのアジャイル導入四苦八苦 - エンタープライズアジャイル勉強会2016年11月セミナー
Yusuke Suzuki
JavaOne 2016総括 #jjug
JavaOne 2016総括 #jjug
Yusuke Suzuki
JavaとOSSとAndroid - JavaAPI訴訟問題を考える
JavaとOSSとAndroid - JavaAPI訴訟問題を考える
Yusuke Suzuki
ウォーターフォールとアジャイルを考える #ita_ws
ウォーターフォールとアジャイルを考える #ita_ws
Yusuke Suzuki
More from Yusuke Suzuki
(20)
アーキテクチャの進化から学ぶ、プラットフォームエンジニアリングへのアプローチ
アーキテクチャの進化から学ぶ、プラットフォームエンジニアリングへのアプローチ
見えない壁を越えよう!アジャイルやマイクロサービスを阻む「今までのやり方」 - デブサミ夏2023
見えない壁を越えよう!アジャイルやマイクロサービスを阻む「今までのやり方」 - デブサミ夏2023
サービスブループリントによるシステム設計手法の紹介 - XP祭り2022
サービスブループリントによるシステム設計手法の紹介 - XP祭り2022
マイクロサービスに至る歴史とこれから - XP祭り2021
マイクロサービスに至る歴史とこれから - XP祭り2021
Javaとコミュニティの歩み 2020
Javaとコミュニティの歩み 2020
エンタプライズ領域のアジャイル開発の課題 - FIT2020
エンタプライズ領域のアジャイル開発の課題 - FIT2020
なぜ「マイクロサービス“化”」が必要なのか
なぜ「マイクロサービス“化”」が必要なのか
DX時代に目指すべき品質向上とテスト - @IT ソフトウェア品質向上セミナー 2019夏
DX時代に目指すべき品質向上とテスト - @IT ソフトウェア品質向上セミナー 2019夏
エンタープライズ、アーキテクチャ、アジャイルのこれから
エンタープライズ、アーキテクチャ、アジャイルのこれから
アーキテクチャのレビューについて - JaSST Review '18
アーキテクチャのレビューについて - JaSST Review '18
MicroserviceでのNoOps戦略 - NoOps Meetup Tokyo #2 #NoOpsJP
MicroserviceでのNoOps戦略 - NoOps Meetup Tokyo #2 #NoOpsJP
エンタープライズアジャイルでチームが超えるべきこと - エンタープライズアジャイル勉強会 2018年10月セミナー
エンタープライズアジャイルでチームが超えるべきこと - エンタープライズアジャイル勉強会 2018年10月セミナー
エンタープライズアジャイルにおける要求探索の勘所 要求開発アライアンス2018年7月定例会
エンタープライズアジャイルにおける要求探索の勘所 要求開発アライアンス2018年7月定例会
Javaはコミュニティの力で再び偉大になれるのか
Javaはコミュニティの力で再び偉大になれるのか
Javaのカルチャーとグロース - MANABIYA 2018
Javaのカルチャーとグロース - MANABIYA 2018
エナジャイル設立によせて
エナジャイル設立によせて
ユーザー企業へのアジャイル導入四苦八苦 - エンタープライズアジャイル勉強会2016年11月セミナー
ユーザー企業へのアジャイル導入四苦八苦 - エンタープライズアジャイル勉強会2016年11月セミナー
JavaOne 2016総括 #jjug
JavaOne 2016総括 #jjug
JavaとOSSとAndroid - JavaAPI訴訟問題を考える
JavaとOSSとAndroid - JavaAPI訴訟問題を考える
ウォーターフォールとアジャイルを考える #ita_ws
ウォーターフォールとアジャイルを考える #ita_ws
Recently uploaded
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
Ryo Sasaki
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
sugiuralab
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
taisei2219
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
danielhu54
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Yuma Ohgami
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
Hiroki Ichikura
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
iPride Co., Ltd.
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
Toru Tamaki
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
Toru Tamaki
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
Toru Tamaki
Recently uploaded
(10)
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
マイクロサービス化設計入門 - AWS Dev Day Tokyo 2017
1.
〜マイクロサービスを設計するすべての開発者に送る〜 クラウド時代のマイクロサービス設計徹底解説! 2017/5/31 鈴木雄介 グロースエクスパートナーズ株式会社 執行役員 日本Javaユーザーグループ 会長 AWS
Dev Day Tokyo 2017
2.
〜マイクロサービスを設計するすべての開発者に送る〜 クラウド時代のマイクロサービス設計徹底解説! 2017/5/31 鈴木雄介 グロースエクスパートナーズ株式会社 執行役員 日本Javaユーザーグループ 会長 AWS
Dev Day Tokyo 2017 マイクロサービス化設計入門
3.
自己紹介 鈴木雄介 • グロースエクスパートナーズ(株) » 執行役員/アーキテクチャ事業本部長 »
http://www.gxp.co.jp/ • 日本Javaユーザーグループ » 会長 » http://www.java-users.jp/ • SNS » http://arclamp.hatenablog.com/ » @yusuke_arclamp 2
4.
主な対象と前提 • 既存でモノリシックなシステムが存在 »SoR系(モード1)とSoE系(モード2)のシステムが混在し、そ れぞれに連携している • マイクロサービスにこれから取り組む/取り組み始めた •
いきなりマイクロサービス化することは技術的にも組織的 にも容易ではない気がしている • 具体的な作り方は話しません »アイコンのみ付けてます 3
5.
アジェンダ • なぜマイクロサービスか • マイクロサービス化設計 »サービス分割 »メッセージング »無停止デプロイ »レジリエンス »テスト戦略
など • まとめ 4
6.
なぜマイクロサービスか 5
7.
なぜマイクロサービスか ウェブサービスの状況 • システム全体は巨大化していく »システム全体の中には様々な機能(SoR/SoE)がある »それぞれが独自のライフサイクルを持っている • でも、ビジネス環境の変化には素早く適応したい »機能やリソースの変更を素早く、無停止で行いたい 6
8.
従来のアプローチ モノリシックにおける戦略 • アプリ内の適切な機能分割設計 »アプリ内を分割してコード変更の影響範囲を限定する ▸クラス設計パターン、マルチティア、UI/Logic/DAOなど »そのアプリを1つのノードとして配備し、それぞれ連携 7 インフラ アプリ システム インフラ アプリ インフラ アプリ システム システム
9.
従来のアプローチ モノリシックの弊害 • 実行時の影響範囲が見えにくい »設計時の分割だけでは実行時の依存関係を把握す ることは困難 »部分への性能劣化が全体に波及しやすい »影響調査とリグレッションテストに工数を消費 • 巨大化すると難易度があがる »個別変更でも全体調整 »部分変更でもシステム全体をリリース 8
10.
サービス化による戦略 • アプリを機能ごとにサービスで分割していく »サービス=稼働状態にあるアプリケーション ▸機能だけではなく非機能も切り分けられている »サービスは個別ノードに配備し、ゆるやかに連携している マイクロサービスのアプローチ 9 サービス (アプリ+ インフラ) サービス (アプリ+ インフラ) サービス (アプリ+ インフラ) サービス (アプリ+ インフラ) システム全体 サービス (アプリ+ インフラ) サービス (アプリ+ インフラ) サービス (アプリ+ インフラ) サービス (アプリ+ インフラ) サービス (アプリ+ インフラ)
11.
マイクロサービスのアプローチ マイクロサービスアーキテクチャ • 実行時の影響範囲が限定しやすい »APIを通じたサービス同士の依存関係が明確 »サービスが独立しており、他とは疎結合 • 巨大化してもサービス単位で管理 »サービス単位に好きなタイミングで仕様変更、リ ソース変更ができる ▸「速さ」ではなく「独立性」が重要 10
12.
なぜマイクロサービスか マイクロサービス化の目的と手段 • システム全体が巨大になろうとも、機能別に好きなタイミ ングで機能やリソースの変更を行いたい • そこで、機能をサービス化してノード分割し、それらを管 理することにした »クラウドによる仮想化技術の普及が管理ノードの増加を後押し »自動化によりインフラ構築コストを0にすることができる 11
13.
マイクロサービス化設計 12
14.
マイクロサービス化設計 マイクロサービス化設計における考慮点 • サービス分割 • 横断的関心事の分離 •
データの分離 • メッセージング 13 • 無停止デプロイ • レジリエンス • テスト戦略 • チーム体制
15.
マイクロサービス化設計 サービス分割 14
16.
サービス分割 サービスの分割はどうあるべきか? • 増:細かく分割するほど機能単位での再利用性が高まる • 減:ノード間連携のオーバーヘッドは大きく、管理も難 »分散コンピューティングの限界 •
よって、適切な大きさ/数に分割する必要がある »先進的な企業で数百サービス×マルチノード=数千ノード 15
17.
サービス分割 サービスの粒度は「サービスによる」 • ナノ: 0-3人月程度の単機能なAPI •
マイクロ:3-20人月程度で複数のAPIを提供 • 既存のシステム単位に近いサービス粒度 »ミニ:20-100人月程度。3-6人でメンテ »中規模:100-300人月程度。7-10人がかりでメンテ »大規模:中規模以上 16 Amazon API Gateway
18.
サービス分割 サービスはドメイン単位にする? • ドメインとは? »ドメイン≒業務(利用者視点での関心事のカタマリ) »商品登録ドメイン、発注ドメイン、物流ドメイン… • ドメインはボトムアップで発見すべき »実践してフィードバックによって学んでいくしかない ▸例:コードにして検証して改善する »ただ、それだけだと辛い 17
19.
サービス分割 サービス観点で分割する • 業務や利用の観点で変更が発生する要因をくくる »「変更要因」のタイミングや理由が同じモノをくくる »同時に変更が発生するものは一緒にしておけばいい • 作り手の観点ではないことに注意が必要 »従来のモノリシックにおける分割とは観点が異なる ▸例:UI/ロジック/DAOのような技術特性での分割 ▸もちろん、サービス内部は作り手の観点でよい »ただし、技術的な限界は存在する 18
20.
サービス分割 変更発生要因が分離しうる要素 »フロントエンド(SPA)とバックエンドの分離などはユーザー種が 原因と考えることができる 19 No 要因 例 1
ユーザー種 コンシューマーか、社内部門か 2 目的 探したいか、注文したいか 3 利用プロセス 個別処理か、一括処理か 4 利用状況 PC利用か、モバイル利用か 5 ユーザー思考 容易にか、細かくか 6 ビジネス要件 商品登録か、物流か
21.
サービス分割 いかに技術制約を超えていくか • サービス分割は「分けれるものを分ける」だけ »変更の発生要因の違いは常に分割点になりうる • 問題は分割時の技術制約をどうするか »ここから後の話の 20
22.
マイクロサービス化設計 横断的関心事の分離 21
23.
横断的関心事の分離 「横断的機能」の分離 • わかりやすい例は認証認可、ログ、設定管理 »複数のサービスで共有する機能 »複数のサービスを俯瞰的に見る機能 • サービス分割のために横断的関心事の早期分離が必要 »いわゆる「プラットフォーム」の機能を拡充させる 22
24.
認証認可 認証機能な段階的な移設 »共有データ:AとBの機能仕様が共有される必要がある »API化:サービスAにサービスBの都合が含まれる »専用サービス化:横断的関心事として切り出される 23 サービスA サービスB 共有データ RDB、インメモリ サービスA サービスB API化 サービスA
サービスB 専用サービス化 認証 サービス Amazon Cognito AWS Directory Service
25.
ログ基盤 リクエストの分散トレース • サービスをまたがったトレーサビリティの確保 »リクエストやサービス間通信にIDを発行する »各サービスからはログ基盤にログを送信する • 監視、分析 »さらにログをベースにした異常検知、アクセス/メトリクス分析 24 ログ基盤 サービスA
サービスB サービスC ログ監視 ログ検索 ログ分析Amazon CloudWatch Amazon Kinesis
26.
設定管理 設計情報の集中管理 • 環境に依存する設定情報を集中管理する »各サービス内に設定ファイルを配置するのではなく、ネットワー ク経由で取得する »Spring Cloud
Config 25 設定管理サーバ サービスA サービスB サービスC ①起動時に設定を取得
27.
AWSのプラットフォーム機能 26
28.
マイクロサービス化設計 データの分離 27
29.
データの分離 データは各サービスが管理する • データをサービス間で共有することは避けるべき »テーブル構造の変更が強制的に同期されるから • とはいえ、データの特性や種類に応じて方式を選択 »RDBの機能は有効活用。ただし、2フェーズコミットを避ける »不整合の許容範囲を決めることが重要 ▸許容できないなら疎結合化は困難になる »メッセージングの仕組みとの組み合わせで検討 28
30.
データ分離 • 共有データ:テーブルを共有する。変更同期が必要 • ビュー:参照公開前提だが、変更同期が必要 •
トリガー/ストアド:変更同期は不要。非機能同期が必要 • ETL:全て非同期になる 29 サービスA サービスB サービスA サービスB サービスA サービスB 共有データ ビュー トリガー/ストアド サービスA サービスB ETL Amazon RDS Amazon DynamoDB Amazon ElastiCache AWS Glue
31.
• イベントソーシング »データのステートではなくデータへのイベントを共有する ▸非同期ではあるが、時間的ズレを小さくできる »CQRS/コマンドクエリ責務分離 ▸コマンド:更新などのロジックを含む処理 ▸クエリ:検索などの単純な処理 イベント ストア データ分離 30 サービスA サービスB ステート イベントソーシング
32.
マイクロサービス化設計 メッセージング 31
33.
メッセージング サービス同士を連携させる • RESTful API
over HTTP »もっともシンプルで分かりやすい実装 • メッセージキューによる非同期化 »機能同士の非機能を分離することができる 32 サービスA サービスB サービスA サービスBキュー 同期型 非同期型 サービスA サービスB キュー Pub/Sub型 サービスC サービスD Amazon SQS
34.
不整合の許容 Amazonのクーポン • 非同期による不整合の許容 »サービス間の疎結合を重視する »運用でリカバリするほうがメリッ トが大きければクーポンもあり 33
35.
APIバージョニング サービス間のバージョン管理 1/2 • URLベース »URLにサービスのバージョンを表現してしまう »単純で実装しやすいが、古いサービスの維持が必要になる 34 V1 V2 GET
/v1/customer/1 GET /v2/customer/1
36.
サービス間のバージョン管理 2/2 • 互換性維持 »複数バージョンの機能を維持し、パラメタで判別 ▸例:HTTPヘッダの値(X-Protocol-Version) »バージョン切替は、 ▸返却データ形式であればMVCのビュー切替など ▸ロジックであればアダプタパターンなど APIバージョニング 35 GET
X-Protocol-Version:1 /customer/1 GET X-Protocol-Version:2 /customer/1 V1 V2
37.
マイクロサービス化設計 無停止デプロイ 36
38.
無停止デプロイ Continues Deploy • コードがサービスになるまでの一連を自動化 »コードチャックアウト、ビルド、テスト、パッケージング »サーバ構築、サーバ設定、デプロイ、起動、起動確認 37 Git
サーバ V1.1 チケット 管理 V1.1 チケットA チケットB サーバ V1.1 V1.0 CI/CDツール コード V1.1 サーバ構成 レポジトリ サーバ設定 チャット AWS CodeCommit AWS CodePipeline AWS CodeBuild
39.
無停止デプロイ ブルーグリーンデプロイメント • 瞬断せずにリリースを行うための手法 »1.新verを重複して構築 »2.ルーティングを制御して新verを解放 »3.旧verを削除 38 1.0 1.1 1.0 1.1 1.0 1.1 1.0 1.1 AWS CodeDeploy Elastic Load Balancing AWS
Elastic Beanstalk
40.
無停止デプロイ 別名:カナリアリリース • カナリア=炭鉱で天井に吊しておく鳥 »ガスは空気より軽いので一番最初に危険に気付く • カナリア=最初に新バージョンにアクセスするユーザー »何らかの障害が発生したら切り戻しを行う »少しの犠牲によって大部分を救うことができる 39
41.
無停止デプロイ 無停止スケールアップ • 瞬断せずにリソース増強する手法 »1.新しいインスタンスを重複して構築 »2.ルーティングを制御して新しいインスタンスを解放 »3.古いインスタンスを削除 40 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
42.
インテリジェントルーター サービスディスカバリとルーティング • 現在有効なサービスを判断するための方式 »新しく起動したサービスは自分の居場所を自分で登録する »レジストリに問合せてサービスを発見し、ルーティングする »Netflix Eureka、Zool 41 サービスA レジストリ ルーター サービスA サービスA ①自分自身の登録 ②リクエスト ③サービスの発見
43.
マイクロサービス化設計 レジリエンス 42
44.
レジリエンス マイクロサービスにおける可用性 • 障害が発生しないようにする、ではない »レジリエンス=復元力 »個別サービスの障害でシステム全体が停止しないようにする »従来の「停止しない部分を積み重ねる方式」は限界 • 階層型障害を避ける事が重要 43 サービスA
サービスB サービスC
45.
サーキットブレーカー 自分のことは自分で守る • サービス呼び出し時の異常処理対応 »障害発生時のパターン化 »タイムアウト、自動リトライ、デフォルト値、値のキャッシュ、 例外処理記述など »Netflix hystrix、Spring
Retry 44 機能B サーキット ブレーカー 機能A エラー処理
46.
マイクロサービス化設計 テスト戦略 45
47.
テスト戦略 マイクロサービスにおけるテスト戦略 • サービス間テスト »サービス内のテストは閉じている »他のサービスを呼び出し部分のテスト手法 • 本番環境のテスト »レジリエンスのテスト 46
48.
テスト戦略 • Test Doubles »本物を動かすのが大変なのでスタブやモックを使ってテストする »コンシューマー側でプロバイダの想定する挙動を実装し、それを 使ってテストする »プロバイダの変更が発生するとモックの変更が必要になる 47 サービスA サービスB のモック
49.
テスト戦略 • ダークカナリア(秘密のカナリア) »本番環境上に開発者しかアクセスできないテスト版をリリース »本物を使ってテストする(ただし、できないものもある) 48 サービスA サービスB サービスA テスト版
50.
テスト戦略 • Consumer-Driven Contract
testing »コンシューマーが要求するAPI挙動を契約として定義し、プロバ イダが契約を検証して破壊的変更を防ぐ »pact-jvm 49 サービスA サービスB 契約 サービスB 契約 サービスC サービスB
51.
テスト戦略 本番環境での”障害注入テスト” • Netflix’s “Failure
Injection Testing”(FIT) »ランダムにサーバーやデータセンターに障害を発 生させ、障害復旧が自動的に行われることを検証 »Netflix Chaos Monkeyなど • レジリエンスの検証は本番環境でテストする »コードのテストではなく、サービスのテスト 50
52.
マイクロサービス化設計 チーム体制 51
53.
チーム体制 コンウェイの法則 • サービス構成とチーム構成を同一にする »「アーキテクチャは組織に、組織はアーキテクチャにしたがう」 »チーム構成=サービス構成=ドメイン構成 »チームにサービスの自治権を与える • プラットフォームを管理するチームは必要 »横断的関心事の管理チーム 52
54.
まとめ 53
55.
なぜマイクロサービスか マイクロサービス化の目的と手段 • システム全体が巨大になろうとも、機能別に好きなタイミ ングで機能やリソースの変更を行いたい • そのために機能別にサービス化を行い、機能の独立性を高 めていった »機能間の依存性を管理し、可能な限り疎結合にしていく 54
56.
マイクロサービス化設計 マイクロサービス化設計における考慮点 • サービス分割 • 横断的関心事の分離 •
データの分離 • メッセージング 55 • 無停止デプロイ • レジリエンス • テスト戦略 • チーム体制
57.
マイクロサービス化設計 今日、話ができていないこと • コンテナ(Docker) »コンテナオーケストレーション • 非同期ストリーム処理 »HTTPの限界を超えていく •
サーバレス • マイクロサービス向けフレームワーク • その他、もろもろ 56 Amazon ECR Amazon ECS Amazon API Gateway Amazon AppStream AWS Step Functions Amazon SWF
58.
マイクロサービス化設計 マイクロサービス向けフレームワーク • Spring Cloud »Spring
Cloud Config »Spring Cloud Netflix »Spring Cloud Bus »Spring Cloud Cluster »Spring Cloud Consul »Spring Cloud Security »Spring Cloud Sleuth 57 »Spring Cloud Data Flow »Spring Cloud Stream »Spring Cloud Task »Spring Cloud Zookeeper »Spring Cloud for AWS »Spring Cloud Connectors »Spring Cloud Contract
59.
マイクロサービス化にむけて 明日からでも取り組むべき • サービスの分割は、いまからでもできる »今できないものが未来になってできることはない »技術の制約を超えるには「不整合の受入れ」が必要 • 現時点をマイクロサービス
LV1だと捉える »大規模サービス+共有データ+ETLからのスタートでよい »どこを切り出していけばいいのかを考える 58
60.
マイクロサービス化にむけて マイクロサービス化成熟レベル 59 Level 名称 状況 1
ほぼモノリシック 数個の大規模サービスが共有データ/ETL連携 2 マイクロサービスの初期段階 複数のサービス群がAPI連携 部分的なプラットフォーム提供 3 マイクロサービス プラットフォームの整備 CI/CD+インフラ自動化 インテリジェントなルーティング処理 4 高度なマイクロサービス 高度なサービスやインフラの管理 イベントソーシング ストリーム処理 5 先進的マイクロサービス マイクロサービスに関する技術開発やOSSの提供
61.
マイクロサービス化設計入門 2017/5/31 鈴木雄介 グロースエクスパートナーズ株式会社 執行役員 日本Javaユーザーグループ 会長 AWS
Dev Day Tokyo 2017
Download now