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
Submit search
EN
Uploaded by
Yusuke Suzuki
38,792 views
マイクロサービス化デザインパターン - #AWSDevDay Tokyo 2018
2018年11月2日に行われたAWS Dev Day Tokyo 2018での講演「マイクロサービス化デザインパターン」の資料です。
Technology
◦
Read more
81
Save
Share
Embed
Embed presentation
Download
Downloaded 259 times
1
/ 49
2
/ 49
3
/ 49
4
/ 49
5
/ 49
6
/ 49
7
/ 49
8
/ 49
9
/ 49
10
/ 49
11
/ 49
12
/ 49
13
/ 49
14
/ 49
15
/ 49
16
/ 49
17
/ 49
18
/ 49
19
/ 49
20
/ 49
21
/ 49
22
/ 49
23
/ 49
24
/ 49
25
/ 49
26
/ 49
27
/ 49
28
/ 49
29
/ 49
30
/ 49
31
/ 49
32
/ 49
33
/ 49
34
/ 49
35
/ 49
36
/ 49
37
/ 49
38
/ 49
39
/ 49
40
/ 49
41
/ 49
42
/ 49
43
/ 49
44
/ 49
45
/ 49
46
/ 49
47
/ 49
48
/ 49
49
/ 49
Recommended
PDF
マイクロサービスアーキテクチャとは何か
by
Yusuke Suzuki
PDF
マイクロサービスに至る歴史とこれから - XP祭り2021
by
Yusuke Suzuki
PDF
なぜ「マイクロサービス“化”」が必要なのか
by
Yusuke Suzuki
PDF
Serverless時代のJavaについて
by
Amazon Web Services Japan
PDF
ドメイン駆動設計のための Spring の上手な使い方
by
増田 亨
PPTX
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
by
NTT DATA Technology & Innovation
PDF
ソフトウェア開発のやり方の改善
by
増田 亨
PDF
イミュータブルデータモデルの極意
by
Yoshitaka Kawashima
PDF
マイクロサービス化設計入門 - AWS Dev Day Tokyo 2017
by
Yusuke Suzuki
PDF
シリコンバレーの「何が」凄いのか
by
Atsushi Nakada
PDF
異次元のグラフデータベースNeo4j
by
昌桓 李
PDF
世界でいちばんわかりやすいドメイン駆動設計
by
増田 亨
PDF
マルチテナント化で知っておきたいデータベースのこと
by
Amazon Web Services Japan
PDF
フロー効率性とリソース効率性について #xpjug
by
Itsuki Kuroda
PDF
CircleCIのinfrastructureを支えるTerraformのCI/CDパイプラインの改善
by
Ito Takayuki
PPTX
Amazon SageMakerでカスタムコンテナを使った学習
by
西岡 賢一郎
PDF
AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design Pattern
by
Amazon Web Services Japan
PDF
ドメイン駆動設計 ( DDD ) をやってみよう
by
増田 亨
PDF
ドメインオブジェクトの見つけ方・作り方・育て方
by
増田 亨
PPTX
オーバーエンジニアリングって何? #devsumi #devsumiA
by
Ore Product
PDF
MagicOnion入門
by
torisoup
PDF
マイクロサービス 4つの分割アプローチ
by
増田 亨
PDF
パターン・ランゲージ入門講座(Pattern Language Innovators Summit)
by
Takashi Iba
PDF
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
by
Mikiya Okuno
PDF
ドメイン駆動設計に15年取り組んでわかったこと
by
増田 亨
PDF
ドメイン駆動設計 失敗したことと成功したこと
by
BIGLOBE Inc.
PDF
イミュータブルデータモデル(世代編)
by
Yoshitaka Kawashima
PDF
マイクロにしすぎた結果がこれだよ!
by
mosa siru
PDF
30分でわかるマイクロサービスアーキテクチャ 第2版
by
Naoki (Neo) SATO
PDF
サービスブループリントによるシステム設計手法の紹介 - XP祭り2022
by
Yusuke Suzuki
More Related Content
PDF
マイクロサービスアーキテクチャとは何か
by
Yusuke Suzuki
PDF
マイクロサービスに至る歴史とこれから - XP祭り2021
by
Yusuke Suzuki
PDF
なぜ「マイクロサービス“化”」が必要なのか
by
Yusuke Suzuki
PDF
Serverless時代のJavaについて
by
Amazon Web Services Japan
PDF
ドメイン駆動設計のための Spring の上手な使い方
by
増田 亨
PPTX
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
by
NTT DATA Technology & Innovation
PDF
ソフトウェア開発のやり方の改善
by
増田 亨
PDF
イミュータブルデータモデルの極意
by
Yoshitaka Kawashima
マイクロサービスアーキテクチャとは何か
by
Yusuke Suzuki
マイクロサービスに至る歴史とこれから - XP祭り2021
by
Yusuke Suzuki
なぜ「マイクロサービス“化”」が必要なのか
by
Yusuke Suzuki
Serverless時代のJavaについて
by
Amazon Web Services Japan
ドメイン駆動設計のための Spring の上手な使い方
by
増田 亨
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
by
NTT DATA Technology & Innovation
ソフトウェア開発のやり方の改善
by
増田 亨
イミュータブルデータモデルの極意
by
Yoshitaka Kawashima
What's hot
PDF
マイクロサービス化設計入門 - AWS Dev Day Tokyo 2017
by
Yusuke Suzuki
PDF
シリコンバレーの「何が」凄いのか
by
Atsushi Nakada
PDF
異次元のグラフデータベースNeo4j
by
昌桓 李
PDF
世界でいちばんわかりやすいドメイン駆動設計
by
増田 亨
PDF
マルチテナント化で知っておきたいデータベースのこと
by
Amazon Web Services Japan
PDF
フロー効率性とリソース効率性について #xpjug
by
Itsuki Kuroda
PDF
CircleCIのinfrastructureを支えるTerraformのCI/CDパイプラインの改善
by
Ito Takayuki
PPTX
Amazon SageMakerでカスタムコンテナを使った学習
by
西岡 賢一郎
PDF
AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design Pattern
by
Amazon Web Services Japan
PDF
ドメイン駆動設計 ( DDD ) をやってみよう
by
増田 亨
PDF
ドメインオブジェクトの見つけ方・作り方・育て方
by
増田 亨
PPTX
オーバーエンジニアリングって何? #devsumi #devsumiA
by
Ore Product
PDF
MagicOnion入門
by
torisoup
PDF
マイクロサービス 4つの分割アプローチ
by
増田 亨
PDF
パターン・ランゲージ入門講座(Pattern Language Innovators Summit)
by
Takashi Iba
PDF
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
by
Mikiya Okuno
PDF
ドメイン駆動設計に15年取り組んでわかったこと
by
増田 亨
PDF
ドメイン駆動設計 失敗したことと成功したこと
by
BIGLOBE Inc.
PDF
イミュータブルデータモデル(世代編)
by
Yoshitaka Kawashima
PDF
マイクロにしすぎた結果がこれだよ!
by
mosa siru
マイクロサービス化設計入門 - AWS Dev Day Tokyo 2017
by
Yusuke Suzuki
シリコンバレーの「何が」凄いのか
by
Atsushi Nakada
異次元のグラフデータベースNeo4j
by
昌桓 李
世界でいちばんわかりやすいドメイン駆動設計
by
増田 亨
マルチテナント化で知っておきたいデータベースのこと
by
Amazon Web Services Japan
フロー効率性とリソース効率性について #xpjug
by
Itsuki Kuroda
CircleCIのinfrastructureを支えるTerraformのCI/CDパイプラインの改善
by
Ito Takayuki
Amazon SageMakerでカスタムコンテナを使った学習
by
西岡 賢一郎
AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design Pattern
by
Amazon Web Services Japan
ドメイン駆動設計 ( DDD ) をやってみよう
by
増田 亨
ドメインオブジェクトの見つけ方・作り方・育て方
by
増田 亨
オーバーエンジニアリングって何? #devsumi #devsumiA
by
Ore Product
MagicOnion入門
by
torisoup
マイクロサービス 4つの分割アプローチ
by
増田 亨
パターン・ランゲージ入門講座(Pattern Language Innovators Summit)
by
Takashi Iba
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
by
Mikiya Okuno
ドメイン駆動設計に15年取り組んでわかったこと
by
増田 亨
ドメイン駆動設計 失敗したことと成功したこと
by
BIGLOBE Inc.
イミュータブルデータモデル(世代編)
by
Yoshitaka Kawashima
マイクロにしすぎた結果がこれだよ!
by
mosa siru
Similar to マイクロサービス化デザインパターン - #AWSDevDay Tokyo 2018
PDF
30分でわかるマイクロサービスアーキテクチャ 第2版
by
Naoki (Neo) SATO
PDF
サービスブループリントによるシステム設計手法の紹介 - XP祭り2022
by
Yusuke Suzuki
PDF
マイクロサービス化に向けて
by
HIRA
PDF
要求の変化とマイクロサービスアーキテクチャ
by
Yusuke Suzuki
PPTX
20200610 マイクロサービス勉強会
by
Naoki Yoshitake
PDF
マイクロサービスアーキテクチャの設計 - JUG2015
by
Yusuke Suzuki
PDF
MicroserviceでのNoOps戦略 - NoOps Meetup Tokyo #2 #NoOpsJP
by
Yusuke Suzuki
PDF
デザインパターンから見た AWS と Azure
by
Sunao Tomita
PPTX
20180525 system department manager microservices
by
kounan13
PPTX
Preparation to Start the Microservice for Java EE developers
by
Yoshio Terada
PDF
マイクロサービス運用の所感 #m3dev
by
Kazuhiro Sera
PDF
オトナのService Fabric~マイクロサービス編
by
Tatsuaki Sakai
PDF
[Java Day Tokyo 2018]50分で最新技術学習の基礎を身につける(SOMPO Systems Daisuke Nishino)
by
Daisuke Nishino
PPT
覚えて帰ろうJavaデザインパターン
by
Kazuya Hirota
PPTX
Container microservices
by
Tsuyoshi Ushio
30分でわかるマイクロサービスアーキテクチャ 第2版
by
Naoki (Neo) SATO
サービスブループリントによるシステム設計手法の紹介 - XP祭り2022
by
Yusuke Suzuki
マイクロサービス化に向けて
by
HIRA
要求の変化とマイクロサービスアーキテクチャ
by
Yusuke Suzuki
20200610 マイクロサービス勉強会
by
Naoki Yoshitake
マイクロサービスアーキテクチャの設計 - JUG2015
by
Yusuke Suzuki
MicroserviceでのNoOps戦略 - NoOps Meetup Tokyo #2 #NoOpsJP
by
Yusuke Suzuki
デザインパターンから見た AWS と Azure
by
Sunao Tomita
20180525 system department manager microservices
by
kounan13
Preparation to Start the Microservice for Java EE developers
by
Yoshio Terada
マイクロサービス運用の所感 #m3dev
by
Kazuhiro Sera
オトナのService Fabric~マイクロサービス編
by
Tatsuaki Sakai
[Java Day Tokyo 2018]50分で最新技術学習の基礎を身につける(SOMPO Systems Daisuke Nishino)
by
Daisuke Nishino
覚えて帰ろうJavaデザインパターン
by
Kazuya Hirota
Container microservices
by
Tsuyoshi Ushio
More from Yusuke Suzuki
PDF
アジャイル開発を支えるアーキテクチャ設計とは
by
Yusuke Suzuki
PDF
アーキテクチャの進化から学ぶ、プラットフォームエンジニアリングへのアプローチ
by
Yusuke Suzuki
PDF
アーキテクチャのレビューについて - JaSST Review '18
by
Yusuke Suzuki
PDF
エンタープライズ、アーキテクチャ、アジャイルのこれから
by
Yusuke Suzuki
PDF
見えない壁を越えよう!アジャイルやマイクロサービスを阻む「今までのやり方」 - デブサミ夏2023
by
Yusuke Suzuki
PDF
エンタープライズアジャイルでチームが超えるべきこと - エンタープライズアジャイル勉強会 2018年10月セミナー
by
Yusuke Suzuki
PDF
今どきのアーキテクチャ設計戦略 - QCon Tokyo 2016
by
Yusuke Suzuki
PDF
プロダクトオーナーは育成できるのか? - プロダクトオーナー祭り2016
by
Yusuke Suzuki
PDF
エンタープライズアジャイルにおける要求探索の勘所 要求開発アライアンス2018年7月定例会
by
Yusuke Suzuki
PDF
ITトレンドに見る日本のエンタープライズITについて
by
Yusuke Suzuki
PDF
Javaのカルチャーとグロース - MANABIYA 2018
by
Yusuke Suzuki
PDF
Javaとコミュニティの歩み 2020
by
Yusuke Suzuki
PDF
DX時代に目指すべき品質向上とテスト - @IT ソフトウェア品質向上セミナー 2019夏
by
Yusuke Suzuki
PDF
JJUG初心者のためのJava/JJUG講座
by
Yusuke Suzuki
PDF
クラウド時代のエンジニアについて #sesfukui
by
Yusuke Suzuki
PDF
エナジャイル設立によせて
by
Yusuke Suzuki
PDF
ユーザー企業へのアジャイル導入四苦八苦 - エンタープライズアジャイル勉強会2016年11月セミナー
by
Yusuke Suzuki
PDF
エンタプライズ領域のアジャイル開発の課題 - FIT2020
by
Yusuke Suzuki
PDF
JavaOne 2016総括 #jjug
by
Yusuke Suzuki
PDF
Javaはコミュニティの力で再び偉大になれるのか
by
Yusuke Suzuki
アジャイル開発を支えるアーキテクチャ設計とは
by
Yusuke Suzuki
アーキテクチャの進化から学ぶ、プラットフォームエンジニアリングへのアプローチ
by
Yusuke Suzuki
アーキテクチャのレビューについて - JaSST Review '18
by
Yusuke Suzuki
エンタープライズ、アーキテクチャ、アジャイルのこれから
by
Yusuke Suzuki
見えない壁を越えよう!アジャイルやマイクロサービスを阻む「今までのやり方」 - デブサミ夏2023
by
Yusuke Suzuki
エンタープライズアジャイルでチームが超えるべきこと - エンタープライズアジャイル勉強会 2018年10月セミナー
by
Yusuke Suzuki
今どきのアーキテクチャ設計戦略 - QCon Tokyo 2016
by
Yusuke Suzuki
プロダクトオーナーは育成できるのか? - プロダクトオーナー祭り2016
by
Yusuke Suzuki
エンタープライズアジャイルにおける要求探索の勘所 要求開発アライアンス2018年7月定例会
by
Yusuke Suzuki
ITトレンドに見る日本のエンタープライズITについて
by
Yusuke Suzuki
Javaのカルチャーとグロース - MANABIYA 2018
by
Yusuke Suzuki
Javaとコミュニティの歩み 2020
by
Yusuke Suzuki
DX時代に目指すべき品質向上とテスト - @IT ソフトウェア品質向上セミナー 2019夏
by
Yusuke Suzuki
JJUG初心者のためのJava/JJUG講座
by
Yusuke Suzuki
クラウド時代のエンジニアについて #sesfukui
by
Yusuke Suzuki
エナジャイル設立によせて
by
Yusuke Suzuki
ユーザー企業へのアジャイル導入四苦八苦 - エンタープライズアジャイル勉強会2016年11月セミナー
by
Yusuke Suzuki
エンタプライズ領域のアジャイル開発の課題 - FIT2020
by
Yusuke Suzuki
JavaOne 2016総括 #jjug
by
Yusuke Suzuki
Javaはコミュニティの力で再び偉大になれるのか
by
Yusuke Suzuki
マイクロサービス化デザインパターン - #AWSDevDay Tokyo 2018
1.
マイクロサービス化デザインパターン2018/11/02鈴木雄介Graat 代表日本Javaユーザーグループ 会長AWS
Dev Day Tokyo 2018
2.
自己紹介鈴木雄介• Graat(グラーツ)» グロース・アーキテクチャ&チームス株式会社»
代表取締役 社長» http://www.graat.co.jp/• 日本Javaユーザーグループ» 会長» http://www.java-users.jp/• SNS» http://arclamp.hatenablog.com/» @yusuke_arclamp1
3.
本セッションについて• マイクロサービス”化”デザインパターン»NOT 「マイクロサービスデザインパターン」•
想定している聴講者»現状の資産を、どうやってマイクロサービス化していくのか?に悩んでいる方»マイクロサービスを始めたものの、どこから手を付けるべきか、悩んでいる方2
4.
アジェンダ• マイクロサービスとは• マイクロサービス化の観点•
マイクロサービス化の導入プロセス• まとめ3
5.
マイクロサービスとは4
6.
マイクロサービスとは目的:システム全体の変更速度を上げる• ユーザーからのフィードバックを早く反映する5ユーザー企画実装運用
7.
マイクロサービスとはアジャイル(2001年)• 小さなチームによるタイムボックス型管理»「大きな計画」の限界▸予測精度が低い、進捗が管理しきれない、PMに依存する»「小さな計画を繰り返し立案する」というアイデア▸予測範囲を狭める、動くソフトウェアで確認する、チームで解決する• 課題:Monolithicではうまくいかない»複数チーム間の調整コストが高くなる6利用企画実装運用
8.
マイクロサービスとはMonolithic• 巨大な一枚岩のシステム»機能同士がメソッド呼び出しやデータを通じて密結合になっており、機能間の依存関係も不透明• 結果として、一部の変更が全体に波及する»影響調査、リグレッションテスト、リリース調整などのオーバーヘッドが発生»稼働状態では特定機能の性能劣化が全体に波及7
9.
マイクロサービスとはクラウド(2006年~)/DevOps(2009年~)• クラウド=インフラとミドルウェアのソフトウェア化»サーバ環境を構築する手順がコード化できる• DevOps=開発と運用の協業»必要な処理をコードにまとめ、自動化する▸Chef、Puppet、Ansible...»様々な情報共有▸デプロイ、バージョン、メトリクスなど8利用企画実装運用
10.
マイクロサービスとはNoOps(2011年~)• NoOps=運用作業込みでのプラットフォーム化»運用機能込みでアプリケーションの稼働環境をプラットフォーム化してしまう»代表的なのはブルーグリーンデプロイメント(無停止リリース)• Webアプリ用PaaSの興隆»AWS
Elastic Beanstalk(2011年~)»Cloud Foundry、OpenShift…9利用企画実装運用
11.
マイクロサービスとはMicroservices(2014年~)• システム全体を「サービス単位」で変更していく»サービスのリリース/切り戻しは自動化され無停止で実施可能»チームをまたがる影響調査やリリース調整は不要• マイクロサービス=アジャイル+DevOps/NoOps»目的:システム全体の変更速度を上げる10利用企画実装運用
12.
マイクロサービスとはCloud Native Architecture(2017年~)•
ものすごく沢山のノードを管理する»複雑化したサービス群を管理するためのツールを利用▸コンテナオーケストレーション: Kubernetes、Amazon ECS/EKS▸サービスメッシュ:Istio• まさに現在進行形の領域»「Cloud Native」ではない名前になると思われる11
13.
マイクロサービス化の観点12
14.
マイクロサービス化の観点誰も最初はマイクロサービスではなかった• 先端企業だってマイクロサービス化していった»Netflixは2008年からAWS化し、自動化をしながら足りない管理機能を開発してきた»2011年ぐらいに「マイクロサービス」と名付けられただけ• マイクロサービスまで至る歴史をたどるべき»アジャイル→DevOps→NoOps→Microsrvices→Cloud
Native»アジャイルやDevOpsを飛ばしてMicrosrvicesは無理13
15.
マイクロサービス化の観点アジャイル化• それぞれのチームが好きなタイミングでリリースする»大きな計画の中で同期をとって開発していくならMonolithicのほうが効率が良い。分割にはオーバーヘッドが伴う• チームサイズは5-9名が理想»サービスはチームが扱える大きさであるべき▸1チームで複数サービスを管理することは問題なし•
XPの開発プラクティスは基本»テスト駆動開発、ペアプロ(モブ)、リファクタリング、ソースコードの共同所有、継続的インテグレーション、YAGNI14
16.
マイクロサービス化の観点運用の自動化• 運用作業が自動化/ツール化された状態»それを開発するのはDevOpsエンジニア/SREエンジニア»インフラ・運用担当者の新たな役割»単純な運用作業/オペレーターは不要• 開発者はツールを使ってコードを稼働させる»「アプリを作る」から「サービスを動かす」へ»非機能要件も意識するようになる15
17.
マイクロサービス化の観点プラットフォーム化• 運用作業を織り込んだプラットフォーム»WebアプリPaaSなどは最初から可用性を備える• サービスを支えるプラットフォーム»サービスの数が増えてきても疎に連携できる基盤•
サービスを管理するプラットフォーム»増えたサービスを管理し、自動化する基盤16
18.
マイクロサービス化の導入ステップ17
19.
マイクロサービス化の導入ステップ段階を経て進めていく• Step1:最初のサービスを分割する»Monolithicからサービスを切り出していく• Step2:サービス基盤を整備する»サービスを増やしていくための基盤を整備する•
Step3:サービスを管理する»数が多くなってきたサービスそのものの管理を自動化していく18
20.
マイクロサービス化の導入ステップStep119
21.
Step1方針• 最初のサービスを切り出す»サービスとのWebAPI連携»URLベースの書き換え»共有メモリでの認証情報共有»共有データベース»PaaSの利用20
22.
Step1最初のサービスを切り出す• 分割は「リリースサイクルを早めたい場所」»まずはビジネス視点で整理を行う▸変更要求が多いところ▸複数の機能を横断する場合があるため注意して整理»そのうえで制約条件を整理し、分けられるポイントを探る»サイズはチーム(3名~9名)でメンテできるかどうか21
23.
Step1サービスとのWebAPI連携• サービスをWebAPIで同期呼び出しする»メリット:既存の延長で拡張できる▸認証認可などを考慮外にできる»デメリット:適用できるケースが多くない▸改修が発生するポイントが新サービス部分に寄るのであれはOK22新サービスシステム一部改修
24.
Step1URLベースの置き替え• URLベースで一部の処理を新サービスに置き換える»メリット:旧システムの手術リスクを回避、新サービスのFW自由»デメリット:URLベースですり替えが可能な場合に限る▸例:ECサイトの一部機能を置き換える23システム新サービス早めたいシステム廃止/aaa//bbb//aaa//bbb/URL置き換え現状ルータールーター
25.
Step1共有メモリでの認証情報共有• セッション情報をバックエンドの共有メモリへ»メリット:認証機構にほぼ変更が不要»デメリット:セッション情報の形式によっては言語縛り▸※既存がDBであれば、そのままDBでもよし24新サービスシステム廃止共有メモリログイン処理セッションElastiCache
26.
DBStep1共有データベース• データの分割は避け、共有データベースから»メリット:コスト最適化»デメリット:データベースに関する変更では同期が必要▸Read Onlyな部分はview化すると変更影響を抑えられる25新サービスシステム廃止新サービスシステム廃止テーブル共有
ビュー経由共有
27.
Step1PaaSの利用• 新サービスにはWebアプリPaaSを採用»メリット:運用作業が自動化される▸リリース、障害復旧、ミドルウェアアップデート、▸操作は手動でもいいし、時間があればCI/CD»デメリット:PaaSの制約に従う必要がある▸既存システムとのギャップが大きく運用できるかは課題あり26新サービスシステム廃止EC2EBRDSElastiCacheGit CodePipeline
28.
Step1ポイント• サービスの分割点はビジネス視点で決定すること»制約の範囲で最適な範囲を見つける• 技術的に無理しすぎない»全部ではなく、部分的に新しいものをいれる»新しい概念が必要な技術へのチャレンジは慎重に▸コンテナ、NoSQL、サーバレス…»実際には運用周りでの変更をどこまで救えるかが重要27
29.
マイクロサービス化の導入ステップStep228
30.
Step2方針• サービスが増えてもサービス間を疎に保つ基盤づくり»認証のSSO化»ログ基盤»非同期キューの導入»DBインスタンスの分離»環境設定の外部注入29
31.
Step2認証のSSO化• 認証をSSOに変更する(OpenID Connectなど)»メリット:サービスが増えることに対応しやすくなる▸ユーザー情報として既存テーブルを利用可能することもOK»デメリット:既存システムも認証基盤の変更が必要30DBユーザー新サービスシステム廃止SSO基盤新サービス
32.
ログ基盤の導入• ログを基盤側に送信して管理する»メリット:ノード数に非依存、イベントフックによる自動化▸ログにユーザーキーを付けることで抽出可能にしておく»デメリット:特になしStep231新サービスシステム廃止新サービスKinesis FirehoseKinesis
Streams※イベントをフックして自動通知などに展開可能ログ基盤
33.
Step2非同期キューの導入• サービス間の連携に非同期処理を導入»メリット:サービス同士を疎結合に連携▸性能面でも仕様面でも安定する。ECサイトの受注処理など»デメリット:非同期ゆえ、後続処理での問題発生がありえる▸サービスAはOKを返しているのに、サービスBでNGの場合のリカバリ32サービスAキュー基盤キューサービスBSQS
34.
ETL基盤Step2DBインスタンスの分離• データベースを分離する»メリット:データベースの疎結合化▸トリガー、ストアドなどによりインスタンス間コピー▸マスタなどはETLによる連携»デメリット:データの不整合の発生33新サービスシステム廃止インスタンス間コピー新サービスシステム廃止ETL
35.
Step2環境設定の外部注入• 環境に依存する設定情報はランタイムに取得させる»メリット:環境によってビルド結果が変わらない▸一度作ったビルド済みファイルがすべての環境で使えるように»デメリット:設定サーバが必要になる34新サービスシステム廃止新サービスログ基盤設定サーバ
36.
Step2ポイント• サービスの数を増やしていくことができるようにする»基盤として整備をしておかないと、あとで問題になる»儲からないが、やっておかないといけないこと»マイグレーションの場合、PaaSだけでは対応しきれない• 分割と集約のバランスを考える»サービス間を疎結合にできないなら分割すべきではない»キュー、Lambdaのようなものをピンポイントで利用する35
37.
マイクロサービス化の導入ステップStep336
38.
Step3方針• さらに大量のノードを管理するための基盤づくり»コンテナの導入»バッチサーバの廃止»コンテナオーケストレーターの導入»サービスメッシュの導入»イベントソーシング37
39.
Step3アプリケーションのコンテナ対応• コンテナによってアプリの実行環境をパッケージ化»メリット:ミドルウェアの管理がアプリと同期▸PaaSの制約に縛られない構成が可能。代表的なものはDocker▸ミドルウェアの設定が楽。アップデートも楽に。»デメリット:CI/CD必須38OSアプリケーションネットワーク構成ミドルウェア設定gitネットワーク設定ミドルウェア設定OSアプリケーションgit
40.
ジョブジョブStep3バッチサーバの廃止• バッチアプリを起動するタイミングでノードを手配する»メリット:バッチアプリ単位で最適化が可能▸性能(スケールアウト/アップ)、起動時間»デメリット:管理が面倒39バッチサーババッチサーババッチサーバジョブ ジョブジョブジョブジョブジョブバッチサーババッチサーババッチサーバ
41.
Step3コンテナオーケストレーターの導入• コンテナ化されたアプリの管理を自動化する»メリット:アプリの起動制御が自動化▸ECS、EKSなど»デメリット:管理が面倒▸それなりのノード数でないと管理コストに見合わない可能性も40コンテナオーケストレーターコンテナコンテナコンテナサーバコンテナサーバコンテナサーバコンテナ設定情報
42.
Step3サービスメッシュの導入• サービス間メッセージのルーティング管理を行う»メリット:ノードの状況を管理し、ルートを設定▸ノード個別のサーキットブレーカーなどを不要に▸ESBを分散管理型にし、ルーティングのみに特化41新サービス 新サービスサービスメッシュプロキシ
プロキシ
43.
Step3イベントソーシングの導入• データのステートではなく、変更イベントを共有する»メリット:データ構造の共有から離れることができる▸どんなステートに対して処理すべきかだけわかっていればいい»デメリット:複雑42新サービスシステム廃止イベントソーシングストリームイベントフック
44.
Step3ポイント• 大量になってきたサービスをいかに管理するのか?»この分野は現在進行形なので、まだまだ未成熟な領域»数年で落ち着いてくるはず• 導入が早すぎると管理コストばかりがかかる»いわゆるオーバーキル問題»コンテナだけは早めでもいい43
45.
まとめ44
46.
マイクロサービスとはMicroservices(2014年~)• システム全体を「サービス単位」で変更していく»サービスのリリース/切り戻しは自動化され無停止で実施可能»チームをまたがる影響調査やリリース調整は不要• マイクロサービス=アジャイル+DevOps/NoOps»目的:システム全体の変更速度を上げる45利用企画実装運用
47.
マイクロサービス化の観点誰も最初はマイクロサービスではなかった• 先端企業だってマイクロサービス化していった»Netflixは2008年からAWS化し、自動化をしながら足りない管理機能を開発してきた»2011年ぐらいに「マイクロサービス」と名付けられただけ• マイクロサービスまで至る歴史をたどるべき»アジャイル→DevOps→NoOps→Microsrvices→Cloud
Native»アジャイルやDevOpsを飛ばしてMicrosrvicesは無理46
48.
マイクロサービス化の導入ステップ段階を経て進めていく• Step1:最初のサービスを分割する»Monolithicからサービスを切り出していく• Step2:サービス基盤を整備する»サービスを増やしていくための基盤を整備する•
Step3:サービスを管理する»数が多くなってきたサービスそのものの管理を自動化していく47
49.
さいごに明日からマイクロサービス化をはじめよう!• マイクロサービス”化”であることを理解する»いきなり完成形を目指すのでなくStep by
Stepで• 目の前の課題が、その技術で解決すべき課題が考える»技術を先に決めるとオーバーキルになりがち• マイクロサービス化プロセスがチームを育てる»最初からできる人を望むのではなく、段階的に成長してもらう48
Download
[8]
ページ先頭
©2009-2025
Movatter.jp