Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
builderscon Tokyo 2019: Intro Service Mesh
Search
taiki45
August 31, 2019
Technology
3.9k
6
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
builderscon Tokyo 2019: Intro Service Mesh
https://builderscon.io/builderscon/tokyo/2019/session/d6fc1b22-b1ed-490e-bb2d-7c9652d52beb
taiki45
August 31, 2019
More Decks by taiki45
See All by taiki45
Where Should Platform Complexity Live? Lessons from a Cross-Team PR Preview Platform
taiki45
0
62
認知負荷を吸収し、プロダクトをまたぐPR Preview基盤の設計事例
taiki45
2
800
Mocking in Rust Applications
taiki45
2
860
Error Handling in Rust Applications
taiki45
3
950
Efficient Platform for Security and Compliance
taiki45
6
1.8k
RustでAWS Lambda functionをいい感じに書く
taiki45
2
950
SPIFFE Meetup Tokyo #2 LT: Envoy SDS
taiki45
0
900
NoOps Meetup Tokyo #7: 入門サービスメッシュ
taiki45
4
2k
CloudNative Days Tokyo 2019: Understanding Envoy
taiki45
3
3.7k
Other Decks in Technology
See All in Technology
ゼロから作るWebアプリの新定番!?Amplify Gen 2 × AWS Blocksで実現する「開発速度とRDBの柔軟性のいいとこ取り」
amixedcolor
1
190
内製アプリとClaudeスキルのセキュリティチェック、 Backlogの課題で回しています。
ayaka_egaaa
0
160
基本から分かる!AWSセキュリティ運用の考え方と任せ方
cmusudakeisuke
1
480
AWSを利用する上で知っておきたい名前解決の話 2026
nagisa53
5
3.3k
Kiro 入門 (1 つのエージェントを、どの画面からでも) | 目指せ Kiro マスター 01
inariku
PRO
6
1.4k
AI時代の組織作り:チーム開発から「個人×AI」への移行と、持続可能な「開発資本」の築き方
ham0215
2
420
仕様と現実の間で落とし所を探るリモートMCPの認証・認可 — Sansanの認証基盤における課題と実践
sansantech
PRO
2
210
詳解 never 型 - ボトム型の性質を深掘り
nealle
0
160
Context Ontology Accelerator 入門 (業務データの意味を、AI エージェントに渡す)
inariku
PRO
3
600
bpf_arenaとstruct_opsを使うのが難しかった話
masu_mi
0
220
「いつか使う」の「いつか」は来ない 〜AI駆動開発における「作らない」判断について〜
ikki0006
0
180
自治体AIコンタクトセンター、何をどこに任せる?~Amazon Connect Customer +Amazon Bedrockの実践知~ / 20261107 Satoshi Torano
shift_evolve
PRO
1
120
Featured
See All Featured
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
470
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
880
Building AI with AI
inesmontani
PRO
1
1.4k
Exploring anti-patterns in Rails
aemeredith
4
560
SEO for Brand Visibility & Recognition
aleyda
0
4.9k
Into the Great Unknown - MozCon
thekraken
41
2.8k
The untapped power of vector embeddings
frankvandijk
2
2k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
1
300
Building a Scalable Design System with Sketch
lauravandoore
464
34k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
12k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
370
Transcript
Taiki Ono builderscon Tokyo 2019 入門サービスメッシュ
Agenda • 業界がサービスメッシュに至るまでの変遷 ◦ Microservices での課題 ◦ ライブラリアプローチの限界 ◦ サービスメッシュの登場
• サービスメッシュのプロダクション事例の紹介 ◦ Extending SmartStack ◦ Hybrid workloads with containers and VMs ◦ Incremental adaptation to Istio • サービスメッシュ選球眼 2
Service Mesh Before Container
Service Mesh Before Container
Service Mesh Before
Microservices 界での当時の状況 • 開発のスケーラビリティ向上のために分散化し複雑になるシステム構成 ◦ 多数の小さいチームでそれぞれが小さいアプリケーションを開発 -> マイクロサービス ◦ クラウド技術を使うことでより動的なデプロイ構成を可能にする
-> クラウドネイティブ • 今までのツールでは対応できない運用課題が増加 ◦ 柔軟で性能が良い traffic control, load balancing ◦ Observability ◦ Failure recovery, fault isolation ◦ サービス認証/access control, End-to-End でセキュアな通信 • Finagle に代表されるライブラリアプローチの興隆 ◦ 実装の一貫性の問題 ◦ アップグレードが高コスト・要コミュニケーション 6
歴史 • 2011年8月 Finagle public release • 2013年10月 SmartStack public
release • 2014年11月 Prana public release • 2016年2月 Linkerd public release ◦ 2017年4月 Linkerd v1.0 public release ◦ 2018年9月 Linkerd v2 pubic release • 2016年9月 Envoy public release • 2017年5月 Istio public release 7
Upstreams Architecture of SmartStack proxy app Upstreams Nerve Synapse DB
Upstreams routing
https://medium.com/netflix-techblog/prana-a-sidecar-for-your-netflix-paas-based-applications-and-services-258a5790a015
Concept of Service Mesh proxy app Control plane Upstreams proxy
Upstreams proxy Service Entries TSDB routing, failure recv, en-decryption etc.
世のサービスメッシュ実装 • Proxy=Envoy ◦ Control plane 自作勢 ◦ Istio ◦
マネージドサービス: Traffic Director, App Mesh, etc. ◦ Consul • Linkerd v2 • Nginx based • ...
Use cases 1: Extending SmartStack
EnvoyCon 2018 / How to DDOS yourself with Envoy: https://sched.co/HDbQ
EnvoyCon 2018 / How to DDOS yourself with Envoy: https://sched.co/HDbQ
EnvoyCon 2018 / How to DDOS yourself with Envoy: https://sched.co/HDbQ
Use cases 2: Containers/VMs hybrid workload
EnvoyCon 2018 / Building + Operating Service Mesh: https://sched.co/HDdu
Hybrid workload with VMs • VM ベースの構成からコンテナベースの構成へマイグレーションする時とか にも利用できる ◦ あるいは
on-prems から public cloud へのマイグレーション ◦ Legacy は少しづつ地道に modern にしていくしかない • 既存のサービスメッシュ実装のみではまだ難しい分野 ◦ 要素技術を組み合わせていく必要がある ◦ エンタープライズ向けに製品を開発している会社もでてきている 18
Use cases 3: Incremental adaptation to Istio
Google Cloud Next ’19 in Tokyo / D2-4-S07: https://cloud.withgoogle.com/next/tokyo/sessions?session=D2-4-S07
https://medium.com/@vbanthia/adopting-istio-for-a-multi-tenant-kubernetes-cluster-in-producti on-df1a8260ca24
サービスメッシュ選球眼 • 自分たちの規模を見据える ◦ 大規模になるなら開発・運用の分散化が重要になってくる ◦ 高度に分散化した環境では通信層での”仕事”は必須に近い • 自分たちの環境を分析してソフトウェアを選ぶ ◦
Brown field か green field か • いつかは念じたらビジネスロジックが動く時代が来るかもしれない ◦ 念じたらどこかのコンピューター群で自分たちのビジネスロジックが動き、相互にやりとり する、そんなランタイムもサービスメッシュも統合されたようなプラットフォームができそ う -> Serverless ◦ それまでの繋ぎ、過渡期かもしれない
まとめ Q&A • サービスメッシュは Microservices での課題を解決する ◦ そもそも解決したい問題がかなり advanced ◦
自分たちの問題に合わせて少しずつ利用する ◦ いつかフルマネージドになるのでそれまで待つのも手 • サービスメッシュはいろんな環境で多様に利用できる ◦ “Service Mesh is not for Kubernetes only” ◦ ただし VM/コンテナ の共用構成やマルチクラウド・ハイブリッドクラウドな構成では*まだ* 既存の製品は使えないことがほとんどなのと事例も少ないのでがんばりが必要 Q&A: @taiki45 でも対応
None
None
Service Mesh Before Container