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
490
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
74
Building Reactive Microservices with Kotlin & running on Kubernetes
sendilkumarn
0
170
Building Reactive Microservices with JHipster & K8s
sendilkumarn
0
19
Designing High Performance React Applications
sendilkumarn
1
150
Batching, Suspense, and Server Components
sendilkumarn
0
36
DevNexus_Building_with__Zero_Trust_Architecture_Copy.pdf
sendilkumarn
0
55
Lessons Learnt with Visual Testing and Snapshots
sendilkumarn
0
100
Easy Microservices with K8s & Istio
sendilkumarn
0
87
KHipster - Kotlin Hipster
sendilkumarn
0
230
Other Decks in Technology
See All in Technology
2/18/25: Java meets AI: Build LLM-Powered Apps with LangChain4j
edeandrea
PRO
0
120
7日間でハッキングをはじめる本をはじめてみませんか?_ITエンジニア本大賞2025
nomizone
2
1.9k
インフラをつくるとはどういうことなのか、 あるいはPlatform Engineeringについて
nwiizo
5
2.6k
Helm , Kustomize に代わる !? 次世代 k8s パッケージマネージャー Glasskube 入門 / glasskube-entry
parupappa2929
0
250
抽象化をするということ - 具体と抽象の往復を身につける / Abstraction and concretization
soudai
19
7.9k
Culture Deck
optfit
0
420
現場で役立つAPIデザイン
nagix
33
12k
白金鉱業Meetup Vol.17_あるデータサイエンティストのデータマネジメントとの向き合い方
brainpadpr
6
760
管理者しか知らないOutlookの裏側のAIを覗く#AzureTravelers
hirotomotaguchi
2
430
リアルタイム分析データベースで実現する SQLベースのオブザーバビリティ
mikimatsumoto
0
1.4k
スタートアップ1人目QAエンジニアが QAチームを立ち上げ、“個”からチーム、 そして“組織”に成長するまで / How to set up QA team at reiwatravel
mii3king
2
1.5k
オブザーバビリティの観点でみるAWS / AWS from observability perspective
ymotongpoo
8
1.5k
Featured
See All Featured
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
33
2.8k
Code Review Best Practice
trishagee
67
18k
RailsConf 2023
tenderlove
29
1k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
21
2.5k
The Cult of Friendly URLs
andyhume
78
6.2k
Java REST API Framework Comparison - PWX 2021
mraible
28
8.4k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
40
2k
Product Roadmaps are Hard
iamctodd
PRO
50
11k
A better future with KSS
kneath
238
17k
Mobile First: as difficult as doing things right
swwweet
223
9.3k
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…