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
94
Building Reactive Microservices with Kotlin & running on Kubernetes
sendilkumarn
0
200
Building Reactive Microservices with JHipster & K8s
sendilkumarn
0
23
Designing High Performance React Applications
sendilkumarn
1
170
Batching, Suspense, and Server Components
sendilkumarn
0
56
DevNexus_Building_with__Zero_Trust_Architecture_Copy.pdf
sendilkumarn
0
67
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
空間を設計する力を考える / 20251004 Naoki Takahashi
shift_evolve
PRO
3
320
「Verify with Wallet API」を アプリに導入するために
hinakko
1
230
データエンジニアがこの先生きのこるには...?
10xinc
0
440
AI ReadyなData PlatformとしてのAutonomous Databaseアップデート
oracle4engineer
PRO
0
160
20250929_QaaS_vol20
mura_shin
0
110
10年の共創が示す、これからの開発者と企業の関係 ~ Crossroad
soracom
PRO
1
170
AWSにおけるTrend Vision Oneの効果について
shimak
0
120
ACA でMAGI システムを社内で展開しようとした話
mappie_kochi
0
240
PLaMoの事後学習を支える技術 / PFN LLMセミナー
pfn
PRO
9
3.8k
Why React!?? Next.jsそしてReactを改めてイチから選ぶ
ypresto
10
4.4k
Exadata Database Service on Dedicated Infrastructure(ExaDB-D) UI スクリーン・キャプチャ集
oracle4engineer
PRO
2
5.4k
動画データのポテンシャルを引き出す! Databricks と AI活用への奮闘記(現在進行形)
databricksjapan
0
140
Featured
See All Featured
KATA
mclloyd
32
15k
Java REST API Framework Comparison - PWX 2021
mraible
33
8.8k
Become a Pro
speakerdeck
PRO
29
5.5k
The Power of CSS Pseudo Elements
geoffreycrofte
79
6k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
6.1k
Facilitating Awesome Meetings
lara
56
6.6k
Navigating Team Friction
lara
189
15k
Designing Experiences People Love
moore
142
24k
RailsConf 2023
tenderlove
30
1.2k
A Modern Web Designer's Workflow
chriscoyier
697
190k
The Cost Of JavaScript in 2023
addyosmani
53
9k
Practical Orchestrator
shlominoach
190
11k
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…