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
480
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
70
Building Reactive Microservices with Kotlin & running on Kubernetes
sendilkumarn
0
140
Building Reactive Microservices with JHipster & K8s
sendilkumarn
0
16
Designing High Performance React Applications
sendilkumarn
1
140
Batching, Suspense, and Server Components
sendilkumarn
0
33
DevNexus_Building_with__Zero_Trust_Architecture_Copy.pdf
sendilkumarn
0
51
Lessons Learnt with Visual Testing and Snapshots
sendilkumarn
0
100
Easy Microservices with K8s & Istio
sendilkumarn
0
85
KHipster - Kotlin Hipster
sendilkumarn
0
200
Other Decks in Technology
See All in Technology
GC24 Recap: Interface Internals
task4233
0
150
効果的なオンコール対応と障害対応
ryuichi1208
6
3.1k
『GRANBLUE FANTASY Relink』ソフトウェアラスタライザによる実践的なオクルージョンカリング
cygames
0
170
ついに出た!OpenAIの最新モデル「o1」って何がすごいの?
minorun365
PRO
3
1.2k
ネットワークだけ隔離されたコンテナ作成デモ / Kichijoji.pm36
tenforward
1
230
eBPFのこれまでとこれから
yutarohayakawa
10
3.2k
LLVM/ASMを使った有限体の高速実装
herumi
0
120
Privacy Sandbox on Android / DroidKaigi 2024
7pairs
1
270
あなたの知らないiOS開発の世界
recruitengineers
PRO
3
180
JTCや セキュリティチェックリストが夢の跡
nikinusu
1
660
Segment Anything Model 2
tenten0727
3
700
AIで変わるテスト自動化:最新ツールの多様なアプローチ/ 20240910 Takahiro Kaneyama
shift_evolve
0
240
Featured
See All Featured
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
103
48k
Code Review Best Practice
trishagee
62
16k
Being A Developer After 40
akosma
84
590k
The World Runs on Bad Software
bkeepers
PRO
64
11k
Speed Design
sergeychernyshev
22
430
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
25
3.9k
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.4k
Navigating Team Friction
lara
183
13k
The Pragmatic Product Professional
lauravandoore
31
6.2k
Product Roadmaps are Hard
iamctodd
PRO
48
10k
How to Think Like a Performance Engineer
csswizardry
16
960
Designing with Data
zakiwarfel
98
5k
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…