SlideShare a Scribd company logo
Stability anti-patterns in
cloud-native applications
#devfestRO
@ammbra1508
I am Ana
Solutions Architect @ IBM
Co-founder of Bucharest Software Craftsmanship
Community
HELLO!
#devfestRO @ammbra1508
#devfestRO
@ammbra1508
• I am Ana
• Solutions Architect @ IBM
• Co-founder of Bucharest Software
Craftsmanship Community
HELLO!
#devfestRO @ammbra1508
What are anti-patterns?
An anti-pattern is a common response to a
recurring problem that is usually ineffective
and risks being highly counterproductive.
Wikipedia
#devfestRO
@ammbra1508
• I am Ana
• Solutions Architect @ IBM
• Co-founder of Bucharest Software
Craftsmanship Community
HELLO!
#devfestRO @ammbra1508
STABILITY Continue to work with a
SYSTEM
DISRUPTIONS OCCUR
TEMPORARY SHOCKS
CONTINUOUS LOAD STRESS
COMPONENT FAILURES
Users can Even when
System Stability
Application deployments in a specific
order
#devfestRO @ammbra1508
#devfestRO
@ammbra1508
HELLO!
#devfestRO @ammbra1508
Examples and symptoms
#devfestRO
@ammbra1508
#devfestRO @ammbra1508
A specific order to the start and stop processes when bringing up applications.
A deployment depends on previous successful deployment of another application.
A service waits for another component to be available.
kubectl wait --for=condition=ready pod -l app=backend
Examples and symptoms
#devfestRO
@ammbra1508
#devfestRO @ammbra1508
Why is it bad?
Wait time between deployments
equals application not fully functional
When the condition is never met, the next deployment
cannot proceed and the process breaks.
#devfestRO
@ammbra1508
#devfestRO @ammbra1508
Solutions at design level
Concurrently deploy and start all
parts of an application.
Use retry patterns. Use circuit-breaker patterns.
#devfestRO
@ammbra1508
#devfestRO @ammbra1508
Choose a deployment strategy
Blue/green deployments for instant rollout/rollback
LB
Pod
v2
Pod
v2
1.
Pod
v3
Pod
v3
LB
Pod
v2
Pod
v2
2.
Pod
v3
Pod
v3
LB
Pod
v3
Pod
v3
3.
Pod
v2
Pod
v2
LB
Pod
v3
Pod
v3
4.
Pod
v2
Pod
v2
#devfestRO
@ammbra1508
#devfestRO @ammbra1508
Choose a deployment strategy
Canary deployments when the user does the testing
LB
Pod
v3
Pod
v3
1.
Pod
v4
LB
Pod
v3
Pod
v3
2.
Pod
v4
LB
Pod
v3
Pod
v3
Pod
v4
3.
LB
Pod
v4
Pod
v4
Pod
v4
4.
Integration communication and
composition
#devfestRO @ammbra1508
#devfestRO
@ammbra1508
HELLO!
#devfestRO @ammbra1508
Synchronous
call-and-response
based system
Queue-based
messaging
systems
System-to-System
messaging via
SMTP or SMS
Integration via synchronous communication with
a software that forces the calling system to
wait/stop from what is doing.
Containerizing the middleware as is.
Distorted usage of declarative deployment pattern.
Examples and symptoms
#devfestRO
@ammbra1508
• I am Ana
• Solutions Architect @ IBM
• Co-founder of Bucharest Software
Craftsmanship Community
HELLO!
#devfestRO @ammbra1508
Requests may be sent but
not receive a reply.
The provider claims to
send a different response
format.
Synchronous calls are
vicious amplifiers that
facilitate blockages.
Tightly coupled
middleware amplifies
shocks to the system.
Why is it bad?
#devfestRO
@ammbra1508
• I am Ana
• Solutions Architect @ IBM
• Co-founder of Bucharest Software
Craftsmanship Community
HELLO!
#devfestRO @ammbra1508
Application Level Solutions (1)
Circuit Breaker pattern
✚ Consider delayed retries.
✚ Report, record and correlate state changes.
#devfestRO
@ammbra1508
• I am Ana
• Solutions Architect @ IBM
• Co-founder of Bucharest Software
Craftsmanship Community
HELLO!
#devfestRO @ammbra1508
Application Level Solutions (2)
Failure rate
threshold
Configuration example for SpringBoot with Resillience4j
Allowed number
of calls in half-
open state
Sliding window
Wait duration
#devfestRO
@ammbra1508
• I am Ana
• Solutions Architect @ IBM
• Co-founder of Bucharest Software
Craftsmanship Community
HELLO!
#devfestRO @ammbra1508
Is this enough?
Yes, if your end-user is happy that
<<real>> data is not present in the response.
Yes, if your fallback method retrieves a
unified satisfying response.
#devfestRO
@ammbra1508
• I am Ana
• Solutions Architect @ IBM
• Co-founder of Bucharest Software
Craftsmanship Community
HELLO!
#devfestRO @ammbra1508
Transition Solutions (1)
DETERMINE THE
OUTAGE PATTERN
BASED ON MAINTENANCE
WINDOW
CACHE SOLUTION
Stress
testing
+
Load
Testing
#devfestRO
@ammbra1508
• I am Ana
• Solutions Architect @ IBM
• Co-founder of Bucharest Software
Craftsmanship Community
HELLO!
#devfestRO @ammbra1508
Transition Solutions (2)
Cache Hit:
Check if TTL of first layer cache expired
NO: Return the response from Redis.
YES: Go at 2nd layer cache and find entry:
Try to call the real method
On Success: Store the new result with a proper TTL
On Failure: Extend the existing TTL to put it back into the
first layer and return the result.
Cache miss:
Try to call the real method
On Success: Store the new result with a proper TTL
On Failure: Return a result covering the miss. Record the failure.
helm3 install my-redis stable/redis
Source: “Inside out” animation by Pixar
https://www.psychologies.co.uk/inside-out-interview-creators
#devfestRO
@ammbra1508
• I am Ana
• Solutions Architect @ IBM
• Co-founder of Bucharest Software
Craftsmanship Community
HELLO!
#devfestRO @ammbra1508
Circuit
breaker
Traefik
Solutions at Kubernetes level(1)
#devfestRO
@ammbra1508
• I am Ana
• Solutions Architect @ IBM
• Co-founder of Bucharest Software
Craftsmanship Community
HELLO!
#devfestRO @ammbra1508
Circuit
breaker
Istio Traefik
Solutions at Kubernetes level(2)
Unlimited resources mirage
#devfestRO @ammbra1508
#devfestRO
@ammbra1508
#devfestRO @ammbra1508
Examples and symptoms
Not setting memory or CPU can result into scheduling an unlimited number of pods
on any node.
The container could use all of the available memory on its node, possibly invoking
the OOM (out of memory) Killer.
The default memory limit of the namespace (in which the container is running) is
assigned to the container.
#devfestRO#devfestRO @ammbra1508
Why is it bad?
#devfestRO
@ammbra1508
#devfestRO @ammbra1508
Solutions at Kubernetes level
Set memory and CPU requests
below their limits
Control resource limits via
ResourceQuotas and LimitRange in
the namespace settings.
Keep the CPU request at 1 core
or below and
use ReplicaSets to scale it out.
Scaling results
#devfestRO @ammbra1508
#devfestRO
@ammbra1508
• I am Ana
• Solutions Architect @ IBM
• Co-founder of Bucharest Software
Craftsmanship Community
HELLO!
#devfestRO @ammbra1508
2 hosts, 2 instances, 300
threads
3000
threads
70
instances
20 hosts
Anytime you have a “many-to-one” or “many-to-few”
relationship.
Amplify the scaling effects through “shared resource” or
”commons project”.
Dangerously combining horizontal and vertical
autoscaling.
Counterproductive usage of predictable demands and
elastic scale patterns.
Examples and symptoms
#devfestRO
@ammbra1508
• I am Ana
• Solutions Architect @ IBM
• Co-founder of Bucharest Software
Craftsmanship Community
HELLO!
#devfestRO @ammbra1508
One service can flood another with
requests beyond its capacity.
Shared resources are a
capacity constraint.
Why is it bad?
#devfestRO
@ammbra1508
• I am Ana
• Solutions Architect @ IBM
• Co-founder of Bucharest Software
Craftsmanship Community
HELLO!
#devfestRO @ammbra1508
Solutions at design level
Approximate a shared-nothing
architecture through reducing the number
of callers of the shared resource.
Design for pairs of applications that
each act as a failover for the other.
#devfestRO
@ammbra1508
• I am Ana
• Solutions Architect @ IBM
• Co-founder of Bucharest Software
Craftsmanship Community
HELLO!
#devfestRO @ammbra1508
Provision cluster nodes to have the same resource
footprint.
Ensure that the cluster autoscaler pod has enough
resources.
To avoid delays in provisioning, over-provision your
cluster.
https://github.com/kubernetes/autoscaler/blob/master/cluster-
autoscaler/FAQ.md#how-can-i-configure-overprovisioning-with-
cluster-autoscaler
Solutions at Kubernetes level(1)
#devfestRO
@ammbra1508
• I am Ana
• Solutions Architect @ IBM
• Co-founder of Bucharest Software
Craftsmanship Community
HELLO!
#devfestRO @ammbra1508
Ensure that every pod has resource requests defined.
Validate that resource requests are close to actual usage.
Install metrics-server and configure custom/external metrics.
Specify PodDisruptionBudget for application pods.
Solutions at Kubernetes level(2)
#devfestRO @ammbra1508
Takeaways
Avoid deploying things in a specific order: applications should not wait
because a dependency is not ready.
Consider setting memory and CPU limits to reduce the risk of resource
contention and that resource requests are close to actual usage.
Utilize Kubernetes’s self-healing mechanism, implement retries and
circuit breakers both at application and Kubernetes level.
Avoid using both HPA and VPA; consider installing metrics-server and
adding custom metrics for horizontal scaling.
Thank YOU!
#devfestRO @ammbra1508

More Related Content

What's hot

From Pivotal to VMware Tanzu: What you need to know
From Pivotal to VMware Tanzu: What you need to knowFrom Pivotal to VMware Tanzu: What you need to know
From Pivotal to VMware Tanzu: What you need to know
VMware Tanzu
 
A Leader’s Guide to DevOps Practices and Culture
A Leader’s Guide to DevOps Practices and CultureA Leader’s Guide to DevOps Practices and Culture
A Leader’s Guide to DevOps Practices and Culture
VMware Tanzu
 
Concourse, Spinnaker, Cloud Foundry, Oh My! Creating Sophisticated Deployment...
Concourse, Spinnaker, Cloud Foundry, Oh My! Creating Sophisticated Deployment...Concourse, Spinnaker, Cloud Foundry, Oh My! Creating Sophisticated Deployment...
Concourse, Spinnaker, Cloud Foundry, Oh My! Creating Sophisticated Deployment...
VMware Tanzu
 
Welcome to the Metrics
Welcome to the MetricsWelcome to the Metrics
Welcome to the Metrics
VMware Tanzu
 
Accelerate Application Migration - August 5, 2020
Accelerate Application Migration - August 5, 2020Accelerate Application Migration - August 5, 2020
Accelerate Application Migration - August 5, 2020
VMware Tanzu
 
“Sh*^%# on Fire, Yo!”: A True Story Inspired by Real Events
“Sh*^%# on Fire, Yo!”: A True Story Inspired by Real Events“Sh*^%# on Fire, Yo!”: A True Story Inspired by Real Events
“Sh*^%# on Fire, Yo!”: A True Story Inspired by Real Events
VMware Tanzu
 
From Monolith to K8s - Spring One 2020
From Monolith to K8s - Spring One 2020From Monolith to K8s - Spring One 2020
From Monolith to K8s - Spring One 2020
Mauricio (Salaboy) Salatino
 
Delivering-Off-The-Shelf Software with Kubernetes- November 12, 2020
Delivering-Off-The-Shelf Software with Kubernetes- November 12, 2020Delivering-Off-The-Shelf Software with Kubernetes- November 12, 2020
Delivering-Off-The-Shelf Software with Kubernetes- November 12, 2020
VMware Tanzu
 
Unlock Sustainable Kubernetes Services for TAS
Unlock Sustainable Kubernetes Services for TASUnlock Sustainable Kubernetes Services for TAS
Unlock Sustainable Kubernetes Services for TAS
VMware Tanzu
 
Achieving DevSecOps Outcomes with Tanzu Advanced- May 25, 2021
Achieving DevSecOps Outcomes with Tanzu Advanced- May 25, 2021Achieving DevSecOps Outcomes with Tanzu Advanced- May 25, 2021
Achieving DevSecOps Outcomes with Tanzu Advanced- May 25, 2021
VMware Tanzu
 
State of Steeltoe 2020
State of Steeltoe 2020State of Steeltoe 2020
State of Steeltoe 2020
VMware Tanzu
 
IoT Scale Event-Stream Processing for Connected Fleet at Penske
IoT Scale Event-Stream Processing for Connected Fleet at PenskeIoT Scale Event-Stream Processing for Connected Fleet at Penske
IoT Scale Event-Stream Processing for Connected Fleet at Penske
VMware Tanzu
 
The Path Towards Spring Boot Native Applications
The Path Towards Spring Boot Native ApplicationsThe Path Towards Spring Boot Native Applications
The Path Towards Spring Boot Native Applications
VMware Tanzu
 
Introduction to KubeSphere and its open source ecosystem
Introduction to KubeSphere and its open source ecosystemIntroduction to KubeSphere and its open source ecosystem
Introduction to KubeSphere and its open source ecosystem
KubeSphere
 
vSphere with Kubernetes Virtual Event- June 16, 2020
vSphere with Kubernetes Virtual Event- June 16, 2020vSphere with Kubernetes Virtual Event- June 16, 2020
vSphere with Kubernetes Virtual Event- June 16, 2020
VMware Tanzu
 
Cloud Trends Nov2015 Structure
Cloud Trends Nov2015 StructureCloud Trends Nov2015 Structure
Cloud Trends Nov2015 Structure
Adrian Cockcroft
 
Next Generation Vulnerability Assessment Using Datadog and Snyk
Next Generation Vulnerability Assessment Using Datadog and SnykNext Generation Vulnerability Assessment Using Datadog and Snyk
Next Generation Vulnerability Assessment Using Datadog and Snyk
DevOps.com
 
Cloud Native DevOps
Cloud Native DevOpsCloud Native DevOps
Cloud Native DevOps
Jim Bugwadia
 
Tanzu Standard
Tanzu StandardTanzu Standard
Tanzu Standard
VMware Tanzu
 
Containers: Give Me The Facts, Not The Hype - AppD Summit Europe
Containers: Give Me The Facts, Not The Hype - AppD Summit EuropeContainers: Give Me The Facts, Not The Hype - AppD Summit Europe
Containers: Give Me The Facts, Not The Hype - AppD Summit Europe
AppDynamics
 

What's hot (20)

From Pivotal to VMware Tanzu: What you need to know
From Pivotal to VMware Tanzu: What you need to knowFrom Pivotal to VMware Tanzu: What you need to know
From Pivotal to VMware Tanzu: What you need to know
 
A Leader’s Guide to DevOps Practices and Culture
A Leader’s Guide to DevOps Practices and CultureA Leader’s Guide to DevOps Practices and Culture
A Leader’s Guide to DevOps Practices and Culture
 
Concourse, Spinnaker, Cloud Foundry, Oh My! Creating Sophisticated Deployment...
Concourse, Spinnaker, Cloud Foundry, Oh My! Creating Sophisticated Deployment...Concourse, Spinnaker, Cloud Foundry, Oh My! Creating Sophisticated Deployment...
Concourse, Spinnaker, Cloud Foundry, Oh My! Creating Sophisticated Deployment...
 
Welcome to the Metrics
Welcome to the MetricsWelcome to the Metrics
Welcome to the Metrics
 
Accelerate Application Migration - August 5, 2020
Accelerate Application Migration - August 5, 2020Accelerate Application Migration - August 5, 2020
Accelerate Application Migration - August 5, 2020
 
“Sh*^%# on Fire, Yo!”: A True Story Inspired by Real Events
“Sh*^%# on Fire, Yo!”: A True Story Inspired by Real Events“Sh*^%# on Fire, Yo!”: A True Story Inspired by Real Events
“Sh*^%# on Fire, Yo!”: A True Story Inspired by Real Events
 
From Monolith to K8s - Spring One 2020
From Monolith to K8s - Spring One 2020From Monolith to K8s - Spring One 2020
From Monolith to K8s - Spring One 2020
 
Delivering-Off-The-Shelf Software with Kubernetes- November 12, 2020
Delivering-Off-The-Shelf Software with Kubernetes- November 12, 2020Delivering-Off-The-Shelf Software with Kubernetes- November 12, 2020
Delivering-Off-The-Shelf Software with Kubernetes- November 12, 2020
 
Unlock Sustainable Kubernetes Services for TAS
Unlock Sustainable Kubernetes Services for TASUnlock Sustainable Kubernetes Services for TAS
Unlock Sustainable Kubernetes Services for TAS
 
Achieving DevSecOps Outcomes with Tanzu Advanced- May 25, 2021
Achieving DevSecOps Outcomes with Tanzu Advanced- May 25, 2021Achieving DevSecOps Outcomes with Tanzu Advanced- May 25, 2021
Achieving DevSecOps Outcomes with Tanzu Advanced- May 25, 2021
 
State of Steeltoe 2020
State of Steeltoe 2020State of Steeltoe 2020
State of Steeltoe 2020
 
IoT Scale Event-Stream Processing for Connected Fleet at Penske
IoT Scale Event-Stream Processing for Connected Fleet at PenskeIoT Scale Event-Stream Processing for Connected Fleet at Penske
IoT Scale Event-Stream Processing for Connected Fleet at Penske
 
The Path Towards Spring Boot Native Applications
The Path Towards Spring Boot Native ApplicationsThe Path Towards Spring Boot Native Applications
The Path Towards Spring Boot Native Applications
 
Introduction to KubeSphere and its open source ecosystem
Introduction to KubeSphere and its open source ecosystemIntroduction to KubeSphere and its open source ecosystem
Introduction to KubeSphere and its open source ecosystem
 
vSphere with Kubernetes Virtual Event- June 16, 2020
vSphere with Kubernetes Virtual Event- June 16, 2020vSphere with Kubernetes Virtual Event- June 16, 2020
vSphere with Kubernetes Virtual Event- June 16, 2020
 
Cloud Trends Nov2015 Structure
Cloud Trends Nov2015 StructureCloud Trends Nov2015 Structure
Cloud Trends Nov2015 Structure
 
Next Generation Vulnerability Assessment Using Datadog and Snyk
Next Generation Vulnerability Assessment Using Datadog and SnykNext Generation Vulnerability Assessment Using Datadog and Snyk
Next Generation Vulnerability Assessment Using Datadog and Snyk
 
Cloud Native DevOps
Cloud Native DevOpsCloud Native DevOps
Cloud Native DevOps
 
Tanzu Standard
Tanzu StandardTanzu Standard
Tanzu Standard
 
Containers: Give Me The Facts, Not The Hype - AppD Summit Europe
Containers: Give Me The Facts, Not The Hype - AppD Summit EuropeContainers: Give Me The Facts, Not The Hype - AppD Summit Europe
Containers: Give Me The Facts, Not The Hype - AppD Summit Europe
 

Similar to Stability anti patterns in cloud-native applications

Azug BE Session Nov 2018 Wim Van den Broeck
Azug BE Session Nov 2018 Wim Van den BroeckAzug BE Session Nov 2018 Wim Van den Broeck
Azug BE Session Nov 2018 Wim Van den Broeck
Wim Van den Broeck
 
Learning About GenAI Engineering with AWS PartyRock [AWS User Group Basel - F...
Learning About GenAI Engineering with AWS PartyRock [AWS User Group Basel - F...Learning About GenAI Engineering with AWS PartyRock [AWS User Group Basel - F...
Learning About GenAI Engineering with AWS PartyRock [AWS User Group Basel - F...
Chris Bingham
 
Chaos Engineering: Injecting Failure for Building Resilience in Systems
Chaos Engineering: Injecting Failure for Building Resilience in SystemsChaos Engineering: Injecting Failure for Building Resilience in Systems
Chaos Engineering: Injecting Failure for Building Resilience in Systems
Yury Roa
 
Enabling Lean at Enterprise Scale: Lean Engineering in Action
Enabling Lean at Enterprise Scale: Lean Engineering in ActionEnabling Lean at Enterprise Scale: Lean Engineering in Action
Enabling Lean at Enterprise Scale: Lean Engineering in Action
Hyperdrive Agile Leadership (powered by Bratton & Company)
 
Afterlife Tales: Troubleshooting containerized applications
Afterlife Tales: Troubleshooting containerized applicationsAfterlife Tales: Troubleshooting containerized applications
Afterlife Tales: Troubleshooting containerized applications
Ana-Maria Mihalceanu
 
Immutable Infrastructure: the new App Deployment
Immutable Infrastructure: the new App DeploymentImmutable Infrastructure: the new App Deployment
Immutable Infrastructure: the new App Deployment
Axel Fontaine
 
6 Principles for Enabling Build/Measure/Learn: Lean Engineering in Action
6 Principles for Enabling Build/Measure/Learn: Lean Engineering in Action6 Principles for Enabling Build/Measure/Learn: Lean Engineering in Action
6 Principles for Enabling Build/Measure/Learn: Lean Engineering in Action
Bill Scott
 
WebAssembly & Zero Trust for Code
WebAssembly & Zero Trust for CodeWebAssembly & Zero Trust for Code
WebAssembly & Zero Trust for Code
All Things Open
 
Measure and Increase Developer Productivity with Help of Serverless at JCON 2...
Measure and Increase Developer Productivity with Help of Serverless at JCON 2...Measure and Increase Developer Productivity with Help of Serverless at JCON 2...
Measure and Increase Developer Productivity with Help of Serverless at JCON 2...
Vadym Kazulkin
 
MLSEC 2020
MLSEC 2020MLSEC 2020
MLSEC 2020
Zoltan Balazs
 
ITCamp 2011 - Cristian Lefter - SQL Server code-name Denali
ITCamp 2011 - Cristian Lefter - SQL Server code-name DenaliITCamp 2011 - Cristian Lefter - SQL Server code-name Denali
ITCamp 2011 - Cristian Lefter - SQL Server code-name DenaliITCamp
 
Infrastructure as Code - Getting Started, Concepts & Tools
Infrastructure as Code - Getting Started, Concepts & ToolsInfrastructure as Code - Getting Started, Concepts & Tools
Infrastructure as Code - Getting Started, Concepts & Tools
Lior Kamrat
 
ChaosEngineeringITEA.pptx
ChaosEngineeringITEA.pptxChaosEngineeringITEA.pptx
ChaosEngineeringITEA.pptx
JenniferBergstrom10
 
Lessons Learned in Software Development: QA Infrastructure – Maintaining Rob...
Lessons Learned in Software Development: QA Infrastructure – Maintaining Rob...Lessons Learned in Software Development: QA Infrastructure – Maintaining Rob...
Lessons Learned in Software Development: QA Infrastructure – Maintaining Rob...
Cωνσtantίnoς Giannoulis
 
Building frameworks: from concept to completion
Building frameworks: from concept to completionBuilding frameworks: from concept to completion
Building frameworks: from concept to completion
Ruben Goncalves
 
[RHFSeoul2017]6 Steps to Transform Enterprise Applications
[RHFSeoul2017]6 Steps to Transform Enterprise Applications[RHFSeoul2017]6 Steps to Transform Enterprise Applications
[RHFSeoul2017]6 Steps to Transform Enterprise Applications
Daniel Oh
 
QConSF2016-JoshEvans-MasteringChaosANetflixGuidetoMicroservices-compressed.pdf
QConSF2016-JoshEvans-MasteringChaosANetflixGuidetoMicroservices-compressed.pdfQConSF2016-JoshEvans-MasteringChaosANetflixGuidetoMicroservices-compressed.pdf
QConSF2016-JoshEvans-MasteringChaosANetflixGuidetoMicroservices-compressed.pdf
SimranjyotSuri
 
Mastering Chaos - A Netflix Guide to Microservices
Mastering Chaos - A Netflix Guide to MicroservicesMastering Chaos - A Netflix Guide to Microservices
Mastering Chaos - A Netflix Guide to Microservices
Josh Evans
 
Mind the gap! - Droidcon Torino 2015
Mind the gap! - Droidcon Torino 2015Mind the gap! - Droidcon Torino 2015
Mind the gap! - Droidcon Torino 2015
Alberto López Martín
 
Lean engineering for lean/balanced teams: lessons learned (and still learning...
Lean engineering for lean/balanced teams: lessons learned (and still learning...Lean engineering for lean/balanced teams: lessons learned (and still learning...
Lean engineering for lean/balanced teams: lessons learned (and still learning...
Balanced Team
 

Similar to Stability anti patterns in cloud-native applications (20)

Azug BE Session Nov 2018 Wim Van den Broeck
Azug BE Session Nov 2018 Wim Van den BroeckAzug BE Session Nov 2018 Wim Van den Broeck
Azug BE Session Nov 2018 Wim Van den Broeck
 
Learning About GenAI Engineering with AWS PartyRock [AWS User Group Basel - F...
Learning About GenAI Engineering with AWS PartyRock [AWS User Group Basel - F...Learning About GenAI Engineering with AWS PartyRock [AWS User Group Basel - F...
Learning About GenAI Engineering with AWS PartyRock [AWS User Group Basel - F...
 
Chaos Engineering: Injecting Failure for Building Resilience in Systems
Chaos Engineering: Injecting Failure for Building Resilience in SystemsChaos Engineering: Injecting Failure for Building Resilience in Systems
Chaos Engineering: Injecting Failure for Building Resilience in Systems
 
Enabling Lean at Enterprise Scale: Lean Engineering in Action
Enabling Lean at Enterprise Scale: Lean Engineering in ActionEnabling Lean at Enterprise Scale: Lean Engineering in Action
Enabling Lean at Enterprise Scale: Lean Engineering in Action
 
Afterlife Tales: Troubleshooting containerized applications
Afterlife Tales: Troubleshooting containerized applicationsAfterlife Tales: Troubleshooting containerized applications
Afterlife Tales: Troubleshooting containerized applications
 
Immutable Infrastructure: the new App Deployment
Immutable Infrastructure: the new App DeploymentImmutable Infrastructure: the new App Deployment
Immutable Infrastructure: the new App Deployment
 
6 Principles for Enabling Build/Measure/Learn: Lean Engineering in Action
6 Principles for Enabling Build/Measure/Learn: Lean Engineering in Action6 Principles for Enabling Build/Measure/Learn: Lean Engineering in Action
6 Principles for Enabling Build/Measure/Learn: Lean Engineering in Action
 
WebAssembly & Zero Trust for Code
WebAssembly & Zero Trust for CodeWebAssembly & Zero Trust for Code
WebAssembly & Zero Trust for Code
 
Measure and Increase Developer Productivity with Help of Serverless at JCON 2...
Measure and Increase Developer Productivity with Help of Serverless at JCON 2...Measure and Increase Developer Productivity with Help of Serverless at JCON 2...
Measure and Increase Developer Productivity with Help of Serverless at JCON 2...
 
MLSEC 2020
MLSEC 2020MLSEC 2020
MLSEC 2020
 
ITCamp 2011 - Cristian Lefter - SQL Server code-name Denali
ITCamp 2011 - Cristian Lefter - SQL Server code-name DenaliITCamp 2011 - Cristian Lefter - SQL Server code-name Denali
ITCamp 2011 - Cristian Lefter - SQL Server code-name Denali
 
Infrastructure as Code - Getting Started, Concepts & Tools
Infrastructure as Code - Getting Started, Concepts & ToolsInfrastructure as Code - Getting Started, Concepts & Tools
Infrastructure as Code - Getting Started, Concepts & Tools
 
ChaosEngineeringITEA.pptx
ChaosEngineeringITEA.pptxChaosEngineeringITEA.pptx
ChaosEngineeringITEA.pptx
 
Lessons Learned in Software Development: QA Infrastructure – Maintaining Rob...
Lessons Learned in Software Development: QA Infrastructure – Maintaining Rob...Lessons Learned in Software Development: QA Infrastructure – Maintaining Rob...
Lessons Learned in Software Development: QA Infrastructure – Maintaining Rob...
 
Building frameworks: from concept to completion
Building frameworks: from concept to completionBuilding frameworks: from concept to completion
Building frameworks: from concept to completion
 
[RHFSeoul2017]6 Steps to Transform Enterprise Applications
[RHFSeoul2017]6 Steps to Transform Enterprise Applications[RHFSeoul2017]6 Steps to Transform Enterprise Applications
[RHFSeoul2017]6 Steps to Transform Enterprise Applications
 
QConSF2016-JoshEvans-MasteringChaosANetflixGuidetoMicroservices-compressed.pdf
QConSF2016-JoshEvans-MasteringChaosANetflixGuidetoMicroservices-compressed.pdfQConSF2016-JoshEvans-MasteringChaosANetflixGuidetoMicroservices-compressed.pdf
QConSF2016-JoshEvans-MasteringChaosANetflixGuidetoMicroservices-compressed.pdf
 
Mastering Chaos - A Netflix Guide to Microservices
Mastering Chaos - A Netflix Guide to MicroservicesMastering Chaos - A Netflix Guide to Microservices
Mastering Chaos - A Netflix Guide to Microservices
 
Mind the gap! - Droidcon Torino 2015
Mind the gap! - Droidcon Torino 2015Mind the gap! - Droidcon Torino 2015
Mind the gap! - Droidcon Torino 2015
 
Lean engineering for lean/balanced teams: lessons learned (and still learning...
Lean engineering for lean/balanced teams: lessons learned (and still learning...Lean engineering for lean/balanced teams: lessons learned (and still learning...
Lean engineering for lean/balanced teams: lessons learned (and still learning...
 

More from Ana-Maria Mihalceanu

Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
Java 22 and Beyond- A Roadmap of Innovations
Java 22 and Beyond- A Roadmap of InnovationsJava 22 and Beyond- A Roadmap of Innovations
Java 22 and Beyond- A Roadmap of Innovations
Ana-Maria Mihalceanu
 
Surveillance de la sécurité des applications Java avec les outils du JDK e...
Surveillance de la sécurité des applications Java  avec les outils du JDK e...Surveillance de la sécurité des applications Java  avec les outils du JDK e...
Surveillance de la sécurité des applications Java avec les outils du JDK e...
Ana-Maria Mihalceanu
 
A Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxA Glance At The Java Performance Toolbox
A Glance At The Java Performance Toolbox
Ana-Maria Mihalceanu
 
Monitoring Java Application Security with JDK Tools and JFR Events.pdf
Monitoring Java Application Security with JDK Tools and JFR Events.pdfMonitoring Java Application Security with JDK Tools and JFR Events.pdf
Monitoring Java Application Security with JDK Tools and JFR Events.pdf
Ana-Maria Mihalceanu
 
Enhancing Productivity and Insight A Tour of JDK Tools Progress Beyond Java 17
Enhancing Productivity and Insight  A Tour of JDK Tools Progress Beyond Java 17Enhancing Productivity and Insight  A Tour of JDK Tools Progress Beyond Java 17
Enhancing Productivity and Insight A Tour of JDK Tools Progress Beyond Java 17
Ana-Maria Mihalceanu
 
Java 21 Language Features and Beyond
Java 21 Language Features and BeyondJava 21 Language Features and Beyond
Java 21 Language Features and Beyond
Ana-Maria Mihalceanu
 
From Java 17 to 21- A Showcase of JDK Security Enhancements
From Java 17 to 21- A Showcase of JDK Security EnhancementsFrom Java 17 to 21- A Showcase of JDK Security Enhancements
From Java 17 to 21- A Showcase of JDK Security Enhancements
Ana-Maria Mihalceanu
 
Java 21 and Beyond- A Roadmap of Innovations
Java 21 and Beyond- A Roadmap of InnovationsJava 21 and Beyond- A Roadmap of Innovations
Java 21 and Beyond- A Roadmap of Innovations
Ana-Maria Mihalceanu
 
A Glance At The Java Performance Toolbox
 A Glance At The Java Performance Toolbox A Glance At The Java Performance Toolbox
A Glance At The Java Performance Toolbox
Ana-Maria Mihalceanu
 
A Glance At The Java Performance Toolbox.pdf
 A Glance At The Java Performance Toolbox.pdf A Glance At The Java Performance Toolbox.pdf
A Glance At The Java Performance Toolbox.pdf
Ana-Maria Mihalceanu
 
A Glance At The Java Performance Toolbox-TIA.pdf
 A Glance At The Java Performance Toolbox-TIA.pdf A Glance At The Java Performance Toolbox-TIA.pdf
A Glance At The Java Performance Toolbox-TIA.pdf
Ana-Maria Mihalceanu
 
A Glance At The Java Performance Toolbox.pdf
 A Glance At The Java Performance Toolbox.pdf A Glance At The Java Performance Toolbox.pdf
A Glance At The Java Performance Toolbox.pdf
Ana-Maria Mihalceanu
 
A Glance At The Java Performance Toolbox.pdf
 A Glance At The Java Performance Toolbox.pdf A Glance At The Java Performance Toolbox.pdf
A Glance At The Java Performance Toolbox.pdf
Ana-Maria Mihalceanu
 
How Java 19 Influences the Future of Your High-Scale Applications .pdf
How Java 19 Influences the Future of Your High-Scale Applications .pdfHow Java 19 Influences the Future of Your High-Scale Applications .pdf
How Java 19 Influences the Future of Your High-Scale Applications .pdf
Ana-Maria Mihalceanu
 
The Automation Challenge Kubernetes Operators vs Helm Charts.pdf
The Automation Challenge Kubernetes Operators vs Helm Charts.pdfThe Automation Challenge Kubernetes Operators vs Helm Charts.pdf
The Automation Challenge Kubernetes Operators vs Helm Charts.pdf
Ana-Maria Mihalceanu
 
Exploring Quarkus on JDK 17
Exploring Quarkus on JDK 17Exploring Quarkus on JDK 17
Exploring Quarkus on JDK 17
Ana-Maria Mihalceanu
 
Cloud native resiliency patterns from the ground up
Cloud native resiliency patterns from the ground upCloud native resiliency patterns from the ground up
Cloud native resiliency patterns from the ground up
Ana-Maria Mihalceanu
 
Cloud native resiliency patterns from the ground up
Cloud native resiliency patterns from the ground upCloud native resiliency patterns from the ground up
Cloud native resiliency patterns from the ground up
Ana-Maria Mihalceanu
 
Cloud native resiliency patterns from the ground up
Cloud native resiliency patterns from the ground upCloud native resiliency patterns from the ground up
Cloud native resiliency patterns from the ground up
Ana-Maria Mihalceanu
 

More from Ana-Maria Mihalceanu (20)

Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
Java 22 and Beyond- A Roadmap of Innovations
Java 22 and Beyond- A Roadmap of InnovationsJava 22 and Beyond- A Roadmap of Innovations
Java 22 and Beyond- A Roadmap of Innovations
 
Surveillance de la sécurité des applications Java avec les outils du JDK e...
Surveillance de la sécurité des applications Java  avec les outils du JDK e...Surveillance de la sécurité des applications Java  avec les outils du JDK e...
Surveillance de la sécurité des applications Java avec les outils du JDK e...
 
A Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxA Glance At The Java Performance Toolbox
A Glance At The Java Performance Toolbox
 
Monitoring Java Application Security with JDK Tools and JFR Events.pdf
Monitoring Java Application Security with JDK Tools and JFR Events.pdfMonitoring Java Application Security with JDK Tools and JFR Events.pdf
Monitoring Java Application Security with JDK Tools and JFR Events.pdf
 
Enhancing Productivity and Insight A Tour of JDK Tools Progress Beyond Java 17
Enhancing Productivity and Insight  A Tour of JDK Tools Progress Beyond Java 17Enhancing Productivity and Insight  A Tour of JDK Tools Progress Beyond Java 17
Enhancing Productivity and Insight A Tour of JDK Tools Progress Beyond Java 17
 
Java 21 Language Features and Beyond
Java 21 Language Features and BeyondJava 21 Language Features and Beyond
Java 21 Language Features and Beyond
 
From Java 17 to 21- A Showcase of JDK Security Enhancements
From Java 17 to 21- A Showcase of JDK Security EnhancementsFrom Java 17 to 21- A Showcase of JDK Security Enhancements
From Java 17 to 21- A Showcase of JDK Security Enhancements
 
Java 21 and Beyond- A Roadmap of Innovations
Java 21 and Beyond- A Roadmap of InnovationsJava 21 and Beyond- A Roadmap of Innovations
Java 21 and Beyond- A Roadmap of Innovations
 
A Glance At The Java Performance Toolbox
 A Glance At The Java Performance Toolbox A Glance At The Java Performance Toolbox
A Glance At The Java Performance Toolbox
 
A Glance At The Java Performance Toolbox.pdf
 A Glance At The Java Performance Toolbox.pdf A Glance At The Java Performance Toolbox.pdf
A Glance At The Java Performance Toolbox.pdf
 
A Glance At The Java Performance Toolbox-TIA.pdf
 A Glance At The Java Performance Toolbox-TIA.pdf A Glance At The Java Performance Toolbox-TIA.pdf
A Glance At The Java Performance Toolbox-TIA.pdf
 
A Glance At The Java Performance Toolbox.pdf
 A Glance At The Java Performance Toolbox.pdf A Glance At The Java Performance Toolbox.pdf
A Glance At The Java Performance Toolbox.pdf
 
A Glance At The Java Performance Toolbox.pdf
 A Glance At The Java Performance Toolbox.pdf A Glance At The Java Performance Toolbox.pdf
A Glance At The Java Performance Toolbox.pdf
 
How Java 19 Influences the Future of Your High-Scale Applications .pdf
How Java 19 Influences the Future of Your High-Scale Applications .pdfHow Java 19 Influences the Future of Your High-Scale Applications .pdf
How Java 19 Influences the Future of Your High-Scale Applications .pdf
 
The Automation Challenge Kubernetes Operators vs Helm Charts.pdf
The Automation Challenge Kubernetes Operators vs Helm Charts.pdfThe Automation Challenge Kubernetes Operators vs Helm Charts.pdf
The Automation Challenge Kubernetes Operators vs Helm Charts.pdf
 
Exploring Quarkus on JDK 17
Exploring Quarkus on JDK 17Exploring Quarkus on JDK 17
Exploring Quarkus on JDK 17
 
Cloud native resiliency patterns from the ground up
Cloud native resiliency patterns from the ground upCloud native resiliency patterns from the ground up
Cloud native resiliency patterns from the ground up
 
Cloud native resiliency patterns from the ground up
Cloud native resiliency patterns from the ground upCloud native resiliency patterns from the ground up
Cloud native resiliency patterns from the ground up
 
Cloud native resiliency patterns from the ground up
Cloud native resiliency patterns from the ground upCloud native resiliency patterns from the ground up
Cloud native resiliency patterns from the ground up
 

Recently uploaded

Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Nexer Digital
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.
ViralQR
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
nkrafacyberclub
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
Peter Spielvogel
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
Pierluigi Pugliese
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
Assure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyesAssure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 

Recently uploaded (20)

Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
Assure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyesAssure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyes
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 

Stability anti patterns in cloud-native applications

  • 1. Stability anti-patterns in cloud-native applications #devfestRO @ammbra1508
  • 2. I am Ana Solutions Architect @ IBM Co-founder of Bucharest Software Craftsmanship Community HELLO! #devfestRO @ammbra1508
  • 3. #devfestRO @ammbra1508 • I am Ana • Solutions Architect @ IBM • Co-founder of Bucharest Software Craftsmanship Community HELLO! #devfestRO @ammbra1508 What are anti-patterns? An anti-pattern is a common response to a recurring problem that is usually ineffective and risks being highly counterproductive. Wikipedia
  • 4. #devfestRO @ammbra1508 • I am Ana • Solutions Architect @ IBM • Co-founder of Bucharest Software Craftsmanship Community HELLO! #devfestRO @ammbra1508 STABILITY Continue to work with a SYSTEM DISRUPTIONS OCCUR TEMPORARY SHOCKS CONTINUOUS LOAD STRESS COMPONENT FAILURES Users can Even when System Stability
  • 5. Application deployments in a specific order #devfestRO @ammbra1508
  • 7. #devfestRO @ammbra1508 #devfestRO @ammbra1508 A specific order to the start and stop processes when bringing up applications. A deployment depends on previous successful deployment of another application. A service waits for another component to be available. kubectl wait --for=condition=ready pod -l app=backend Examples and symptoms
  • 8. #devfestRO @ammbra1508 #devfestRO @ammbra1508 Why is it bad? Wait time between deployments equals application not fully functional When the condition is never met, the next deployment cannot proceed and the process breaks.
  • 9. #devfestRO @ammbra1508 #devfestRO @ammbra1508 Solutions at design level Concurrently deploy and start all parts of an application. Use retry patterns. Use circuit-breaker patterns.
  • 10. #devfestRO @ammbra1508 #devfestRO @ammbra1508 Choose a deployment strategy Blue/green deployments for instant rollout/rollback LB Pod v2 Pod v2 1. Pod v3 Pod v3 LB Pod v2 Pod v2 2. Pod v3 Pod v3 LB Pod v3 Pod v3 3. Pod v2 Pod v2 LB Pod v3 Pod v3 4. Pod v2 Pod v2
  • 11. #devfestRO @ammbra1508 #devfestRO @ammbra1508 Choose a deployment strategy Canary deployments when the user does the testing LB Pod v3 Pod v3 1. Pod v4 LB Pod v3 Pod v3 2. Pod v4 LB Pod v3 Pod v3 Pod v4 3. LB Pod v4 Pod v4 Pod v4 4.
  • 13. #devfestRO @ammbra1508 HELLO! #devfestRO @ammbra1508 Synchronous call-and-response based system Queue-based messaging systems System-to-System messaging via SMTP or SMS Integration via synchronous communication with a software that forces the calling system to wait/stop from what is doing. Containerizing the middleware as is. Distorted usage of declarative deployment pattern. Examples and symptoms
  • 14. #devfestRO @ammbra1508 • I am Ana • Solutions Architect @ IBM • Co-founder of Bucharest Software Craftsmanship Community HELLO! #devfestRO @ammbra1508 Requests may be sent but not receive a reply. The provider claims to send a different response format. Synchronous calls are vicious amplifiers that facilitate blockages. Tightly coupled middleware amplifies shocks to the system. Why is it bad?
  • 15. #devfestRO @ammbra1508 • I am Ana • Solutions Architect @ IBM • Co-founder of Bucharest Software Craftsmanship Community HELLO! #devfestRO @ammbra1508 Application Level Solutions (1) Circuit Breaker pattern ✚ Consider delayed retries. ✚ Report, record and correlate state changes.
  • 16. #devfestRO @ammbra1508 • I am Ana • Solutions Architect @ IBM • Co-founder of Bucharest Software Craftsmanship Community HELLO! #devfestRO @ammbra1508 Application Level Solutions (2) Failure rate threshold Configuration example for SpringBoot with Resillience4j Allowed number of calls in half- open state Sliding window Wait duration
  • 17. #devfestRO @ammbra1508 • I am Ana • Solutions Architect @ IBM • Co-founder of Bucharest Software Craftsmanship Community HELLO! #devfestRO @ammbra1508 Is this enough? Yes, if your end-user is happy that <<real>> data is not present in the response. Yes, if your fallback method retrieves a unified satisfying response.
  • 18. #devfestRO @ammbra1508 • I am Ana • Solutions Architect @ IBM • Co-founder of Bucharest Software Craftsmanship Community HELLO! #devfestRO @ammbra1508 Transition Solutions (1) DETERMINE THE OUTAGE PATTERN BASED ON MAINTENANCE WINDOW CACHE SOLUTION Stress testing + Load Testing
  • 19. #devfestRO @ammbra1508 • I am Ana • Solutions Architect @ IBM • Co-founder of Bucharest Software Craftsmanship Community HELLO! #devfestRO @ammbra1508 Transition Solutions (2) Cache Hit: Check if TTL of first layer cache expired NO: Return the response from Redis. YES: Go at 2nd layer cache and find entry: Try to call the real method On Success: Store the new result with a proper TTL On Failure: Extend the existing TTL to put it back into the first layer and return the result. Cache miss: Try to call the real method On Success: Store the new result with a proper TTL On Failure: Return a result covering the miss. Record the failure. helm3 install my-redis stable/redis
  • 20. Source: “Inside out” animation by Pixar https://www.psychologies.co.uk/inside-out-interview-creators
  • 21. #devfestRO @ammbra1508 • I am Ana • Solutions Architect @ IBM • Co-founder of Bucharest Software Craftsmanship Community HELLO! #devfestRO @ammbra1508 Circuit breaker Traefik Solutions at Kubernetes level(1)
  • 22. #devfestRO @ammbra1508 • I am Ana • Solutions Architect @ IBM • Co-founder of Bucharest Software Craftsmanship Community HELLO! #devfestRO @ammbra1508 Circuit breaker Istio Traefik Solutions at Kubernetes level(2)
  • 25. Not setting memory or CPU can result into scheduling an unlimited number of pods on any node. The container could use all of the available memory on its node, possibly invoking the OOM (out of memory) Killer. The default memory limit of the namespace (in which the container is running) is assigned to the container. #devfestRO#devfestRO @ammbra1508 Why is it bad?
  • 26. #devfestRO @ammbra1508 #devfestRO @ammbra1508 Solutions at Kubernetes level Set memory and CPU requests below their limits Control resource limits via ResourceQuotas and LimitRange in the namespace settings. Keep the CPU request at 1 core or below and use ReplicaSets to scale it out.
  • 28. #devfestRO @ammbra1508 • I am Ana • Solutions Architect @ IBM • Co-founder of Bucharest Software Craftsmanship Community HELLO! #devfestRO @ammbra1508 2 hosts, 2 instances, 300 threads 3000 threads 70 instances 20 hosts Anytime you have a “many-to-one” or “many-to-few” relationship. Amplify the scaling effects through “shared resource” or ”commons project”. Dangerously combining horizontal and vertical autoscaling. Counterproductive usage of predictable demands and elastic scale patterns. Examples and symptoms
  • 29. #devfestRO @ammbra1508 • I am Ana • Solutions Architect @ IBM • Co-founder of Bucharest Software Craftsmanship Community HELLO! #devfestRO @ammbra1508 One service can flood another with requests beyond its capacity. Shared resources are a capacity constraint. Why is it bad?
  • 30. #devfestRO @ammbra1508 • I am Ana • Solutions Architect @ IBM • Co-founder of Bucharest Software Craftsmanship Community HELLO! #devfestRO @ammbra1508 Solutions at design level Approximate a shared-nothing architecture through reducing the number of callers of the shared resource. Design for pairs of applications that each act as a failover for the other.
  • 31. #devfestRO @ammbra1508 • I am Ana • Solutions Architect @ IBM • Co-founder of Bucharest Software Craftsmanship Community HELLO! #devfestRO @ammbra1508 Provision cluster nodes to have the same resource footprint. Ensure that the cluster autoscaler pod has enough resources. To avoid delays in provisioning, over-provision your cluster. https://github.com/kubernetes/autoscaler/blob/master/cluster- autoscaler/FAQ.md#how-can-i-configure-overprovisioning-with- cluster-autoscaler Solutions at Kubernetes level(1)
  • 32. #devfestRO @ammbra1508 • I am Ana • Solutions Architect @ IBM • Co-founder of Bucharest Software Craftsmanship Community HELLO! #devfestRO @ammbra1508 Ensure that every pod has resource requests defined. Validate that resource requests are close to actual usage. Install metrics-server and configure custom/external metrics. Specify PodDisruptionBudget for application pods. Solutions at Kubernetes level(2)
  • 33. #devfestRO @ammbra1508 Takeaways Avoid deploying things in a specific order: applications should not wait because a dependency is not ready. Consider setting memory and CPU limits to reduce the risk of resource contention and that resource requests are close to actual usage. Utilize Kubernetes’s self-healing mechanism, implement retries and circuit breakers both at application and Kubernetes level. Avoid using both HPA and VPA; consider installing metrics-server and adding custom metrics for horizontal scaling.