Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Easy Microservices in the cloud with Kubernetes...
Search
Sendil Kumar N
November 14, 2019
Technology
0
100
Easy Microservices in the cloud with Kubernetes and Istio
Sendil Kumar N
November 14, 2019
Tweet
Share
More Decks by Sendil Kumar N
See All by Sendil Kumar N
[Heapcon-2023] Building High Performance Web Applications
sendilkumarn
0
90
Building Reactive Microservices with Kotlin & running on Kubernetes
sendilkumarn
0
190
Building Reactive Microservices with JHipster & K8s
sendilkumarn
0
22
Designing High Performance React Applications
sendilkumarn
1
160
Batching, Suspense, and Server Components
sendilkumarn
0
50
DevNexus_Building_with__Zero_Trust_Architecture_Copy.pdf
sendilkumarn
0
62
Lessons Learnt with Visual Testing and Snapshots
sendilkumarn
0
120
Easy Microservices with K8s & Istio
sendilkumarn
0
99
KHipster - Kotlin Hipster
sendilkumarn
0
250
Other Decks in Technology
See All in Technology
【CEDEC2025】現場を理解して実現!ゲーム開発を効率化するWebサービスの開発と、利用促進のための継続的な改善
cygames
PRO
0
720
20250807_Kiroと私の反省会
riz3f7
0
160
【CEDEC2025】大規模言語モデルを活用したゲーム内会話パートのスクリプト作成支援への取り組み
cygames
PRO
2
770
データモデリング通り #2オンライン勉強会 ~方法論の話をしよう~
datayokocho
0
100
モバイルゲームの開発を支える基盤の歩み ~再現性のある開発ラインを量産する秘訣~
qualiarts
0
1.1k
ビジネス文書に特化した基盤モデル開発 / SaaSxML_Session_2
sansan_randd
0
260
Claude Codeから我々が学ぶべきこと
s4yuba
8
2k
製造業の課題解決に向けた機械学習の活用と、製造業特化LLM開発への挑戦
knt44kw
0
160
Unson OS|48時間で「売れるか」を判定する AI 市場検証プラットフォーム
unson
0
170
Amazon Bedrock AgentCoreのフロントエンドを探す旅 (Next.js編)
kmiya84377
1
120
LLMでAI-OCR、実際どうなの? / llm_ai_ocr_layerx_bet_ai_day_lt
sbrf248
0
430
大規模イベントに向けた ABEMA アーキテクチャの遍歴 ~ Platform Strategy 詳細解説 ~
nagapad
0
190
Featured
See All Featured
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
50
5.5k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
182
54k
[RailsConf 2023] Rails as a piece of cake
palkan
56
5.7k
A designer walks into a library…
pauljervisheath
207
24k
Navigating Team Friction
lara
188
15k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
60k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.8k
Code Reviewing Like a Champion
maltzj
524
40k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
130
19k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
Embracing the Ebb and Flow
colly
86
4.8k
A better future with KSS
kneath
238
17k
Transcript
Sveiki Lithuania
Questions @ sli.do
Easy microservices in the cloud with Kubernetes & Istio
Sendil Kumar @sendilkumarn
None
None
Senior Software Engineer @uber
Passionate about Open Source Senior Software Engineer @uber
Passionate about Open Source Senior Software Engineer @uber Team member
@JHipster
Passionate about Open Source Senior Software Engineer @uber Team member
@JHipster Crafting @KHipster
Agenda K8s Istio JHipster Microservices JHipster Microservices K8s & Istio
Docker
Docker Self Contained images
Docker Self Contained images Portability
Docker Managing the infrastructure
Docker Managing the infrastructure Deciding when and how to run
the applications
Kubernetes
Kubernetes De-coupled infrastructure completely
K8s is an open-source system
K8s is an open-source system that automates deployment containerised applications
K8s is an open-source system that automates deployment scales (up/down/in/out)
Containerised applications
K8s is an open-source system that automates deployment scales (up/down/in/out)
manages Containerised applications
K8s makes it easy and simple
But K8s itself is not simple
How Kubernetes works?
Cluster mode
Kubernetes Master Nodes Nodes Nodes
kubectl apply -f some.yml Api Server etcd Scheduler Controller create
yaml file connects via CLI adds to the queue stores sends to the controller Kubernetes Land
Api Server etcd Scheduler Controller Kubernetes Land Control Plane
Worker Node signals to start the deployment Kubelet Kubelet Kubelet
Worker Node Kubelet Kubelet Kubelet Worker Node Kubelet Kubelet Kubelet Scheduler
handles networking Worker Node Kubelet Kube proxy Kubelet Kube proxy
Kubelet Kube proxy Kubelet Kube proxy
K8s states the (desired) running state of application
Microservices
more freedom to react Microservices
respond faster Microservices
Technology Heterogeneity
Fault isolation
Granular Scaling
❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌
Don’t violate DRY inside microservice.
Microservices with JHipster
API Gateway BFF Pattern
How does JHipster app looks like?
Java / Kotlin backend Zuul UAA
Java / Kotlin backend Zuul UAA Microservices Gateway
Service Registry
JHipster Registry Consul
JHipster Registry Consul Eureka + Spring Cloud Config Admin Server
Easier in multi-node cluster Availability over consistency Consistency over Availability - All nodes provide correct detail every time
Consoles
Elasticsearch Logstash Kibana JHipster Console
Consul / JHipster Registry Console Microservices Gateway Microservices
We will generate…
Store Gateway Notification Invoice Product
JHipster demo time
None
Harder to control
Harder to Manage
Harder to Secure
Service A Service B Service C
Service A Service B Service C Logging Monitoring Networking
Service A Service B Service C Common Services…
Istio
Service mesh
network of inter connected microservices
Without any changes in your services
Without any changes in your services Control Connect Secure Observe
But how Istio does it?
App PROXY Envoy proxy
Envoy proxy Lightweight c++ protocol Platform-agnostic Network abstraction
App PROXY Mixer Policy control Telemetry collection
App PROXY Mixer Control Plane
Control Plane App PROXY Mixer Pilot Galley Citadel Service discovery
Validate, process & distribute Authentication
Control Plane App PROXY Mixer Pilot Galley Citadel Service discovery
Validate, process & distribute Authentication Data plane
Control Plane App PROXY Mixer Pilot Galley Citadel Control Connect
Secure Observe
JHipster kubernetes
• Kubernetes + Istio configuration • Running in GCloud
The best practices
Single Responsibility Principle Smaller YAML files Split the files
Smaller image sizes Alpine images for the win Faster to
boot
Healthy - Zombie
Single process in a container… Docker don’t know which process
crashed
Services - RED pattern Requests - Errors - Duration pattern
RED
Resources - USE pattern Utilization - Saturation - Errors pattern
Think about Requests / Limits
Clean up unused resources
Monitor and tune
Questions…
Thanks…