Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Easy Microservices with Kubernetes and Istio
Search
Sendil Kumar N
February 13, 2020
Technology
530
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Easy Microservices with Kubernetes and Istio
Sendil Kumar N
February 13, 2020
Transcript
114 slides
@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…
More Decks by Sendil Kumar N
See All by Sendil Kumar N
[Heapcon-2023] Building High Performance Web Applications
sendilkumarn
0
140
Building Reactive Microservices with Kotlin & running on Kubernetes
sendilkumarn
0
260
Building Reactive Microservices with JHipster & K8s
sendilkumarn
0
80
Designing High Performance React Applications
sendilkumarn
1
220
Batching, Suspense, and Server Components
sendilkumarn
0
100
DevNexus_Building_with__Zero_Trust_Architecture_Copy.pdf
sendilkumarn
0
120
Lessons Learnt with Visual Testing and Snapshots
sendilkumarn
0
180
Easy Microservices with K8s & Istio
sendilkumarn
0
140
KHipster - Kotlin Hipster
sendilkumarn
0
300
Other Decks in Technology
See All in Technology
目を覚ませ!僕らの認証情報が何者かに侵略されてるぞ
tkito
2
280
Reticulum, le réseau cypherpunk dont vous avez besoin !
rlifchitz
0
140
81天的 AI Agent 軟體開發團隊治理實務分享
regionbbs
0
170
狙われているAPIの脆弱性!今こそ手をつけるべき根本的な対策とは?
nagix
0
130
少ない人手 限られた予算 それでも守る 消せない・見つける・戻れる オールハザード型BCP on AWS / 20261107 Mitsutoshi Matsuo
shift_evolve
PRO
0
390
AWS基盤改善を支える 私たちの理念と行動指針
kentosuzuki
0
230
AWS Quick 入門 | 目指せ Quick マスター 01
inariku
PRO
2
350
会社説明資料_最新版
demaecan
0
32k
An Introduction to Context Ontology Accelerator (teaching AI agents what your data means)
inariku
PRO
1
270
E2E Test というハーネス — AI時代の自動テスト民主化
daishukojima
3
1.5k
内製アプリとClaudeスキルのセキュリティチェック、 Backlogの課題で回しています。
ayaka_egaaa
0
200
マネージャーをエスパーにしない マネジメントされる側から始める、働きやすい現場づくり
comi190327
0
520
Featured
See All Featured
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
610
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
12k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
2
6.4k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
50
10k
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
640
StorybookのUI Testing Handbookを読んだ
zakiyama
31
7.1k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
470
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
2
2.2k
HDC tutorial
michielstock
2
1k
Thoughts on Productivity
jonyablonski
76
5.5k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
63
48k