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 with Kubernetes and Istio
Search
Sendil Kumar N
February 13, 2020
Technology
0
500
Easy Microservices with Kubernetes and Istio
Sendil Kumar N
February 13, 2020
Tweet
Share
More Decks by Sendil Kumar N
See All by Sendil Kumar N
[Heapcon-2023] Building High Performance Web Applications
sendilkumarn
0
91
Building Reactive Microservices with Kotlin & running on Kubernetes
sendilkumarn
0
190
Building Reactive Microservices with JHipster & K8s
sendilkumarn
0
23
Designing High Performance React Applications
sendilkumarn
1
170
Batching, Suspense, and Server Components
sendilkumarn
0
52
DevNexus_Building_with__Zero_Trust_Architecture_Copy.pdf
sendilkumarn
0
63
Lessons Learnt with Visual Testing and Snapshots
sendilkumarn
0
120
Easy Microservices with K8s & Istio
sendilkumarn
0
99
KHipster - Kotlin Hipster
sendilkumarn
0
260
Other Decks in Technology
See All in Technology
AIとTDDによるNext.js「隙間ツール」開発の実践
makotot
5
660
ECS モニタリング手法大整理
yendoooo
1
120
Goss: New Production-Ready Go Binding for Faiss #coefl_go_jp
bengo4com
0
1.1k
株式会社ARAV 採用案内
maqui
0
340
あとはAIに任せて人間は自由に生きる
kentaro
3
1.1k
アジャイルテストで高品質のスプリントレビューを
takesection
0
110
制約理論(ToC)入門
recruitengineers
PRO
2
250
あなたの知らない OneDrive
murachiakira
0
230
会社にデータエンジニアがいることでできるようになること
10xinc
9
1.6k
GitHub Copilot coding agent を推したい / AIDD Nagoya #1
tnir
2
4.5k
マイクロモビリティシェアサービスを支える プラットフォームアーキテクチャ
grimoh
1
200
モダンフロントエンド 開発研修
recruitengineers
PRO
2
260
Featured
See All Featured
Art, The Web, and Tiny UX
lynnandtonic
302
21k
Imperfection Machines: The Place of Print at Facebook
scottboms
268
13k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
820
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
33
2.4k
How GitHub (no longer) Works
holman
315
140k
The Pragmatic Product Professional
lauravandoore
36
6.8k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
Designing for humans not robots
tammielis
253
25k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
10
1k
Build The Right Thing And Hit Your Dates
maggiecrowley
37
2.8k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
2.9k
Transcript
@sendilkumarn Hallo Nederland!!!
@sendilkumarn Easy microservices with Kubernetes & Istio
@sendilkumarn
@sendilkumarn Sendil Kumar
@sendilkumarn
@sendilkumarn
@sendilkumarn Senior Software Engineer @uber
@sendilkumarn Passionate about Open Source Senior Software Engineer @uber
@sendilkumarn Passionate about Open Source Senior Software Engineer @uber Team
member @JHipster
@sendilkumarn What about you? µ µ
@sendilkumarn Why Microservices? Kubernetes JHipster Istio Best practices with K8s
& Istio Agenda
@sendilkumarn are awesome Monoliths
@sendilkumarn are simple Monoliths
@sendilkumarn are faster* Monoliths
@sendilkumarn reduces reliability Monoliths
@sendilkumarn reduces scalability Monoliths
@sendilkumarn updates takes longer Monoliths
@sendilkumarn tied to one tech. stack Monoliths
@sendilkumarn µ µ
@sendilkumarn Why µ µ
@sendilkumarn Scalability µ µ
@sendilkumarn Respond faster µ µ
@sendilkumarn Technology Heterogeneity µ µ
@sendilkumarn Fault isolation
@sendilkumarn Granular Scaling
@sendilkumarn But…
@sendilkumarn ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌
@sendilkumarn Store Gateway Notification Invoice Product
@sendilkumarn S P N I Load balancer Replicate Backup Load
balancer Load balancer Load balancer OS Container Runtime Hardware Virtualisation
@sendilkumarn S P N I Load balancer Replicate Backup Load
balancer Load balancer Load balancer OS Container Runtime Hardware Virtualisation
@sendilkumarn Start with Monoliths before embarking microservices journey…
@sendilkumarn
@sendilkumarn Why Microservices? Kubernetes JHipster Istio Best practices with K8s
& Istio Agenda
@sendilkumarn Docker
@sendilkumarn Docker Self Contained images
@sendilkumarn Docker Self Contained images Portability
@sendilkumarn Docker Managing the infrastructure
@sendilkumarn Docker Managing the infrastructure Deciding when and how to
run the applications
@sendilkumarn Kubernetes
@sendilkumarn K8s is an open-source system
@sendilkumarn K8s is an open-source system that automates deployment containerised
applications
@sendilkumarn K8s is an open-source system that automates deployment scales
(up/down/in/out) Containerised applications
@sendilkumarn K8s is an open-source system that automates deployment scales
(up/down/in/out) manages Containerised applications
@sendilkumarn De-coupled infrastructure completely Kubernetes
@sendilkumarn • Infrastructure • Manage lifecycle • Routing
@sendilkumarn K8s makes it easy and simple
@sendilkumarn But K8s itself is not simple
@sendilkumarn How works? Kubernetes
@sendilkumarn Cluster mode
@sendilkumarn Kubernetes Master Nodes Nodes Nodes
@sendilkumarn 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
@sendilkumarn Api Server etcd Scheduler Controller Kubernetes Land Control Plane
@sendilkumarn Worker Node signals to start the deployment Kubelet Kubelet
Kubelet Worker Node Kubelet Kubelet Kubelet Worker Node Kubelet Kubelet Kubelet Scheduler
@sendilkumarn handles networking Worker Node Kubelet Kube proxy Kubelet Kube
proxy Kubelet Kube proxy Kubelet Kube proxy
@sendilkumarn K8s states the (desired) running state of application
@sendilkumarn But…
@sendilkumarn Store Gateway Notification Invoice Product
@sendilkumarn S P N I Load balancer Replicate Backup Load
balancer Load balancer Load balancer OS Container Runtime Hardware Virtualisation
@sendilkumarn S P N I
@sendilkumarn Why Microservices? Kubernetes JHipster Istio Best practices with K8s
& Istio Agenda
@sendilkumarn
@sendilkumarn Harder to control
@sendilkumarn Harder to Manage
@sendilkumarn Harder to Secure
@sendilkumarn Istio
@sendilkumarn Service mesh
@sendilkumarn network of inter connected microservices
@sendilkumarn Control Connect Secure Observe
@sendilkumarn Service A Service B Service C
@sendilkumarn Service A Service B Service C Logging Monitoring Networking
@sendilkumarn Service A Service B Service C Common Services…
@sendilkumarn Without any changes in your services
@sendilkumarn Pod in k8s?
@sendilkumarn App PROXY Envoy proxy
@sendilkumarn Envoy proxy Lightweight c++ protocol Platform-agnostic Network abstraction
@sendilkumarn App PROXY Mixer Policy control Telemetry collection
@sendilkumarn App PROXY Mixer Control Plane
@sendilkumarn Control Plane App PROXY Mixer Pilot Galley Citadel Service
discovery Validate, process & distribute Authentication
@sendilkumarn Control Plane App PROXY Mixer Pilot Galley Citadel Service
discovery Validate, process & distribute Authentication Data plane
@sendilkumarn Control Plane App PROXY Mixer Pilot Galley Citadel Control
Connect Secure Observe
@sendilkumarn S P N I
@sendilkumarn S P N I
@sendilkumarn Why Microservices? Kubernetes JHipster Istio Best practices with K8s
& Istio Agenda
@sendilkumarn
@sendilkumarn npm i -g generator-jhipster mkdir awesome-app !&& cd awesome-app
jhipster
@sendilkumarn npm i -g generator-jhipster mkdir awesome-app !&& cd awesome-app
jhipster
@sendilkumarn npm i -g generator-jhipster mkdir awesome-app !&& cd awesome-app
jhipster
@sendilkumarn ~70% test coverage PWA Deployments Best practices
@sendilkumarn Microservices with JHipster
@sendilkumarn API Gateway BFF Pattern
@sendilkumarn Java / Kotlin backend Zuul UAA
@sendilkumarn Java / Kotlin backend Zuul UAA Microservices Gateway
@sendilkumarn Service Registry
@sendilkumarn JHipster Registry Consul
@sendilkumarn 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
@sendilkumarn Consoles
@sendilkumarn Elasticsearch Logstash Kibana JHipster Console
@sendilkumarn Consul / JHipster Registry Console Microservices Gateway Microservices
@sendilkumarn We will generate…
@sendilkumarn Store Gateway Notification Invoice Product
@sendilkumarn JHipster demo time
@sendilkumarn • Kubernetes + Istio configuration • Running in GCloud
@sendilkumarn Why Microservices? Kubernetes JHipster Istio Best practices with K8s
& Istio Agenda
@sendilkumarn Single Responsibility Principle Smaller YAML files Split the files
TIP
@sendilkumarn Smaller image sizes Alpine images for the win Faster
to boot TIP
@sendilkumarn Healthy - Zombie TIP
@sendilkumarn Single process in a container… Docker don’t know which
process crashed TIP
@sendilkumarn Services - RED pattern Requests - Errors - Duration
pattern RED TIP
@sendilkumarn Resources - USE pattern Utilization - Saturation - Errors
pattern TIP
@sendilkumarn Think about Requests / Limits TIP
@sendilkumarn Clean up unused resources TIP
@sendilkumarn Monitor and tune TIP
@sendilkumarn Don’t violate DRY inside microservice. TIP
@sendilkumarn Dank je wel… Code : github.com/sendilkumarn Deck : speakerdeck.com/sendilkumarn
Twitter: @sendilkumarn Vragen…