high performance cloud-native microservices with ... · high performance cloud-native microservices...
TRANSCRIPT
![Page 1: High Performance Cloud-Native Microservices With ... · High Performance Cloud-Native Microservices With Distributed Caching Mesut Celik,Hazelcast . @mesutcelik Mesut Celik Tech Lead](https://reader030.vdocuments.net/reader030/viewer/2022041015/5ec5dbd80efcdc47420f5cf1/html5/thumbnails/1.jpg)
@mesutcelik
High Performance Cloud-Native Microservices With Distributed Caching
Mesut Celik,Hazelcast
![Page 2: High Performance Cloud-Native Microservices With ... · High Performance Cloud-Native Microservices With Distributed Caching Mesut Celik,Hazelcast . @mesutcelik Mesut Celik Tech Lead](https://reader030.vdocuments.net/reader030/viewer/2022041015/5ec5dbd80efcdc47420f5cf1/html5/thumbnails/2.jpg)
@mesutcelik
Mesut Celik
● Tech Lead @Hazelcast
● Java Developer
● lived in Turkey,Belgium,US
● Twitter: @mesutcelik
![Page 3: High Performance Cloud-Native Microservices With ... · High Performance Cloud-Native Microservices With Distributed Caching Mesut Celik,Hazelcast . @mesutcelik Mesut Celik Tech Lead](https://reader030.vdocuments.net/reader030/viewer/2022041015/5ec5dbd80efcdc47420f5cf1/html5/thumbnails/3.jpg)
@mesutcelik
Agenda
● Hazelcast Introduction
● Caching Patterns
● Kubernetes Deployments
● Day 2 Operations
![Page 4: High Performance Cloud-Native Microservices With ... · High Performance Cloud-Native Microservices With Distributed Caching Mesut Celik,Hazelcast . @mesutcelik Mesut Celik Tech Lead](https://reader030.vdocuments.net/reader030/viewer/2022041015/5ec5dbd80efcdc47420f5cf1/html5/thumbnails/4.jpg)
@mesutcelik
Hazelcast Products ● Hazelcast IMDG
● Hazelcast Jet
● Hazelcast Cloud
● Management Center
Hazelcast is an Open Source Company
● Apache 2 License ● Remote friendly ● raised $21M series C ● Always hiring!!!!
![Page 5: High Performance Cloud-Native Microservices With ... · High Performance Cloud-Native Microservices With Distributed Caching Mesut Celik,Hazelcast . @mesutcelik Mesut Celik Tech Lead](https://reader030.vdocuments.net/reader030/viewer/2022041015/5ec5dbd80efcdc47420f5cf1/html5/thumbnails/5.jpg)
@mesutcelik
Why Distributed Cache? ● Cache, Memory is faster than storage
● Distributed,Natural fit for Cloud-Native Deployments
![Page 6: High Performance Cloud-Native Microservices With ... · High Performance Cloud-Native Microservices With Distributed Caching Mesut Celik,Hazelcast . @mesutcelik Mesut Celik Tech Lead](https://reader030.vdocuments.net/reader030/viewer/2022041015/5ec5dbd80efcdc47420f5cf1/html5/thumbnails/6.jpg)
@mesutcelik
Read-Through Cache
![Page 7: High Performance Cloud-Native Microservices With ... · High Performance Cloud-Native Microservices With Distributed Caching Mesut Celik,Hazelcast . @mesutcelik Mesut Celik Tech Lead](https://reader030.vdocuments.net/reader030/viewer/2022041015/5ec5dbd80efcdc47420f5cf1/html5/thumbnails/7.jpg)
@mesutcelik
Read-Through Cache 1,Austin Partition_34
1,Austin Backup_34
![Page 8: High Performance Cloud-Native Microservices With ... · High Performance Cloud-Native Microservices With Distributed Caching Mesut Celik,Hazelcast . @mesutcelik Mesut Celik Tech Lead](https://reader030.vdocuments.net/reader030/viewer/2022041015/5ec5dbd80efcdc47420f5cf1/html5/thumbnails/8.jpg)
@mesutcelik
Hazelcast and Kubernetes Caching Patterns
![Page 9: High Performance Cloud-Native Microservices With ... · High Performance Cloud-Native Microservices With Distributed Caching Mesut Celik,Hazelcast . @mesutcelik Mesut Celik Tech Lead](https://reader030.vdocuments.net/reader030/viewer/2022041015/5ec5dbd80efcdc47420f5cf1/html5/thumbnails/9.jpg)
@mesutcelik
Distributed Caching Patterns in Kubernetes
● Embedded
● Sidecar
● Proxy Cache
● Client-Server
![Page 10: High Performance Cloud-Native Microservices With ... · High Performance Cloud-Native Microservices With Distributed Caching Mesut Celik,Hazelcast . @mesutcelik Mesut Celik Tech Lead](https://reader030.vdocuments.net/reader030/viewer/2022041015/5ec5dbd80efcdc47420f5cf1/html5/thumbnails/10.jpg)
@mesutcelik
POD Spring Boot Microservice
Hazelcast
Member
POD
Hazelcast Cluster K
ubern
ete
s S
erv
ice
Http Request
Embedded
Spring Boot Microservice
Hazelcast
Member
Kubernetes Cluster
![Page 11: High Performance Cloud-Native Microservices With ... · High Performance Cloud-Native Microservices With Distributed Caching Mesut Celik,Hazelcast . @mesutcelik Mesut Celik Tech Lead](https://reader030.vdocuments.net/reader030/viewer/2022041015/5ec5dbd80efcdc47420f5cf1/html5/thumbnails/11.jpg)
@mesutcelik
Embedded
● Simple
● Java only
● Data co-located with Microservice JVM
![Page 12: High Performance Cloud-Native Microservices With ... · High Performance Cloud-Native Microservices With Distributed Caching Mesut Celik,Hazelcast . @mesutcelik Mesut Celik Tech Lead](https://reader030.vdocuments.net/reader030/viewer/2022041015/5ec5dbd80efcdc47420f5cf1/html5/thumbnails/12.jpg)
@mesutcelik
Python
Microservice
POD Hazelcast
Member
Python
Microservice
POD
Hazelcast
Member
Hazelcast Cluster K
ubern
ete
s S
erv
ice
Http Request
SideCar Kubernetes Cluster
hazelcast-client
hazelcast-client
![Page 13: High Performance Cloud-Native Microservices With ... · High Performance Cloud-Native Microservices With Distributed Caching Mesut Celik,Hazelcast . @mesutcelik Mesut Celik Tech Lead](https://reader030.vdocuments.net/reader030/viewer/2022041015/5ec5dbd80efcdc47420f5cf1/html5/thumbnails/13.jpg)
@mesutcelik
Sidecar
● Simple
● Multiple Programming Languages
○ Java, Node.js, .NET, Python, Golang
● Data co-located with Microservice POD
![Page 14: High Performance Cloud-Native Microservices With ... · High Performance Cloud-Native Microservices With Distributed Caching Mesut Celik,Hazelcast . @mesutcelik Mesut Celik Tech Lead](https://reader030.vdocuments.net/reader030/viewer/2022041015/5ec5dbd80efcdc47420f5cf1/html5/thumbnails/14.jpg)
hazelcast-proxy
sidecar
POD Spring Boot
Application
POD Spring Boot
Application
Hazelcast Cluster K
ubern
ete
s S
erv
ice
Http Request
Http reverse proxy caching
Hazelcast
Member
hazelcast-proxy
sidecar
Hazelcast
Member
Kubernetes Cluster
![Page 15: High Performance Cloud-Native Microservices With ... · High Performance Cloud-Native Microservices With Distributed Caching Mesut Celik,Hazelcast . @mesutcelik Mesut Celik Tech Lead](https://reader030.vdocuments.net/reader030/viewer/2022041015/5ec5dbd80efcdc47420f5cf1/html5/thumbnails/15.jpg)
Http reverse proxy caching ● Injecting Cache into every microservice
● No coupling with any Cache API
● Enabled w/o code change
![Page 16: High Performance Cloud-Native Microservices With ... · High Performance Cloud-Native Microservices With Distributed Caching Mesut Celik,Hazelcast . @mesutcelik Mesut Celik Tech Lead](https://reader030.vdocuments.net/reader030/viewer/2022041015/5ec5dbd80efcdc47420f5cf1/html5/thumbnails/16.jpg)
@mesutcelik
POD Spring Boot Microservice
hazelcast-java-client
Hazelcast Cluster K
ubern
ete
s S
erv
ice
Http Request
Client Server
POD Hazelcast
Member
POD Hazelcast
Member
Kubernetes Cluster
POD Spring Boot Microservice
hazelcast-java-client
POD ASP.NET Core
Microservice
hazelcast-dotnet-client
Kubern
ete
s S
erv
ice
Http Request
![Page 17: High Performance Cloud-Native Microservices With ... · High Performance Cloud-Native Microservices With Distributed Caching Mesut Celik,Hazelcast . @mesutcelik Mesut Celik Tech Lead](https://reader030.vdocuments.net/reader030/viewer/2022041015/5ec5dbd80efcdc47420f5cf1/html5/thumbnails/17.jpg)
@mesutcelik
POD
Kubern
ete
s S
erv
ice
Http Request
Hazelcast Cloud
POD
cloud.hazelcast.com
Hazelcast Cluster
Kubernetes Cluster
Spring Boot
Application
hazelcast-client
Spring Boot
Application
hazelcast-client
![Page 18: High Performance Cloud-Native Microservices With ... · High Performance Cloud-Native Microservices With Distributed Caching Mesut Celik,Hazelcast . @mesutcelik Mesut Celik Tech Lead](https://reader030.vdocuments.net/reader030/viewer/2022041015/5ec5dbd80efcdc47420f5cf1/html5/thumbnails/18.jpg)
@mesutcelik
Client Server
● CaaS - Cache as a Service
● Multiple Programming Languages
○ Java, nodejs, .NET, Python, Golang
● Separate Hazelcast Cluster Maintenance
![Page 19: High Performance Cloud-Native Microservices With ... · High Performance Cloud-Native Microservices With Distributed Caching Mesut Celik,Hazelcast . @mesutcelik Mesut Celik Tech Lead](https://reader030.vdocuments.net/reader030/viewer/2022041015/5ec5dbd80efcdc47420f5cf1/html5/thumbnails/19.jpg)
@mesutcelik
Kubernetes Deployment Options For Hazelcast
![Page 20: High Performance Cloud-Native Microservices With ... · High Performance Cloud-Native Microservices With Distributed Caching Mesut Celik,Hazelcast . @mesutcelik Mesut Celik Tech Lead](https://reader030.vdocuments.net/reader030/viewer/2022041015/5ec5dbd80efcdc47420f5cf1/html5/thumbnails/20.jpg)
@mesutcelik
Hazelcast Helm Chart
$ helm install stable/hazelcast
![Page 21: High Performance Cloud-Native Microservices With ... · High Performance Cloud-Native Microservices With Distributed Caching Mesut Celik,Hazelcast . @mesutcelik Mesut Celik Tech Lead](https://reader030.vdocuments.net/reader030/viewer/2022041015/5ec5dbd80efcdc47420f5cf1/html5/thumbnails/21.jpg)
@mesutcelik
Hazelcast Kubernetes Operator
● OperatorHub.io
● Openshift 4 Operator Catalog
● IBM Cloud Private
![Page 22: High Performance Cloud-Native Microservices With ... · High Performance Cloud-Native Microservices With Distributed Caching Mesut Celik,Hazelcast . @mesutcelik Mesut Celik Tech Lead](https://reader030.vdocuments.net/reader030/viewer/2022041015/5ec5dbd80efcdc47420f5cf1/html5/thumbnails/22.jpg)
@mesutcelik
Hazelcast Cloud
● Managed Service
● Pay as you go model
● https://cloud.hazelcast.com
![Page 23: High Performance Cloud-Native Microservices With ... · High Performance Cloud-Native Microservices With Distributed Caching Mesut Celik,Hazelcast . @mesutcelik Mesut Celik Tech Lead](https://reader030.vdocuments.net/reader030/viewer/2022041015/5ec5dbd80efcdc47420f5cf1/html5/thumbnails/23.jpg)
@mesutcelik
Deployment Best Practices
![Page 24: High Performance Cloud-Native Microservices With ... · High Performance Cloud-Native Microservices With Distributed Caching Mesut Celik,Hazelcast . @mesutcelik Mesut Celik Tech Lead](https://reader030.vdocuments.net/reader030/viewer/2022041015/5ec5dbd80efcdc47420f5cf1/html5/thumbnails/24.jpg)
@mesutcelik
Predictable Resource Allocation ● Calculate CPU/Memory Requirements
● Set Resource Request and Limits as the same value
![Page 25: High Performance Cloud-Native Microservices With ... · High Performance Cloud-Native Microservices With Distributed Caching Mesut Celik,Hazelcast . @mesutcelik Mesut Celik Tech Lead](https://reader030.vdocuments.net/reader030/viewer/2022041015/5ec5dbd80efcdc47420f5cf1/html5/thumbnails/25.jpg)
@mesutcelik
Pod Anti-Affinity
● Hazelcast per K8S Node
● Large Kubernetes Clusters
● Safer in Node crushes
![Page 26: High Performance Cloud-Native Microservices With ... · High Performance Cloud-Native Microservices With Distributed Caching Mesut Celik,Hazelcast . @mesutcelik Mesut Celik Tech Lead](https://reader030.vdocuments.net/reader030/viewer/2022041015/5ec5dbd80efcdc47420f5cf1/html5/thumbnails/26.jpg)
@mesutcelik
Multi-zone Deployment with ZONE_AWARE
hazelcast-member -1
hazelcast-member -2
hazelcast-member -3
Availability-Zone-A
hazelcast-member -4
hazelcast-member -5
hazelcast-member -6
Availability-Zone-B
Multi-zone Hazelcast Cluster
* Multi-zone if your architecture prefers availability over performance
![Page 27: High Performance Cloud-Native Microservices With ... · High Performance Cloud-Native Microservices With Distributed Caching Mesut Celik,Hazelcast . @mesutcelik Mesut Celik Tech Lead](https://reader030.vdocuments.net/reader030/viewer/2022041015/5ec5dbd80efcdc47420f5cf1/html5/thumbnails/27.jpg)
@mesutcelik
Day 2 Operations
![Page 28: High Performance Cloud-Native Microservices With ... · High Performance Cloud-Native Microservices With Distributed Caching Mesut Celik,Hazelcast . @mesutcelik Mesut Celik Tech Lead](https://reader030.vdocuments.net/reader030/viewer/2022041015/5ec5dbd80efcdc47420f5cf1/html5/thumbnails/28.jpg)
@mesutcelik
Day 2 Operations
● Manual Scaling vs. AutoScaling
● Rolling Update
● Monitoring
![Page 29: High Performance Cloud-Native Microservices With ... · High Performance Cloud-Native Microservices With Distributed Caching Mesut Celik,Hazelcast . @mesutcelik Mesut Celik Tech Lead](https://reader030.vdocuments.net/reader030/viewer/2022041015/5ec5dbd80efcdc47420f5cf1/html5/thumbnails/29.jpg)
@mesutcelik
Thank you!
● https://twitter.com/mesutcelik
● https://github.com/mesutcelik
● https://www.linkedin.com/in/mesutcelik/