1) The webinar will discuss how to reduce IT costs while increasing speed and quality using a method called "Triple 20 IT" with presenters Benedikt Stemmildt and Niels Roetert.
2) Niels will discuss using machine learning for cost efficiency in Kubernetes to optimize resource allocation.
3) There will be a live demo and question/answer session.
2. Today’s Presenters
BENEDIKT STEMMILDT
CTO
NIELS ROETERT
Solutions Architect
● Software architect, full-stack
developer and speaker
● 10+ years experience in cloud,
continuous delivery, software
development, architecture
● Based in Hamburg, Germany
● Solutions Architect and speaker
● 30+ years experience in Linux,
UNIX, Kubernetes, microservices
● Based in Wageningen,
Netherlands
3. 3
Agenda 1
Benedikt: Triple 20 IT – How to reduce costs
on target while increasing speed and quality.
2
3
Niels: ML for cost efficiency in K8s - Optimize
Live demo
Wrap-up/Q&A
4. w w w . s t o r m f o r g e . i o t a l e n t f o r m a t i o n . c o m
a w s . a m a z o n . c o m / p a r t n e r s
6. Today’s Presenters
BENEDIKT STEMMILDT
CTO
NIELS ROETERT
Solutions Architect
● Software architect, full-stack
developer and speaker
● 10+ years experience in cloud,
continuous delivery, software
development, architecture
● Based in Hamburg, Germany
● Solutions Architect and speaker
● 30+ years experience in Linux,
UNIX, Kubernetes, microservices
● Based in Wageningen,
Netherlands
7. 3
Agenda 1
Benedikt: Triple 20 IT – How to reduce costs
on target while increasing speed and quality.
2
3
Niels: ML for cost efficiency in K8s - Optimize
Live demo
Wrap-up/Q&A
8. w w w . s t o r m f o r g e . i o t a l e n t f o r m a t i o n . c o m
a w s . a m a z o n . c o m / p a r t n e r s
9. Put the ‘Auto’ in Autoscaling
Stop wasting human/compute resources
Niels Roetert
Solutions Architect
10. The Kubernetes Efficiency Challenge
● Configuring applications to run efficiently on
Kubernetes is difficult
● Developers often have to guess at resource
settings or end up using defaults
● Platform teams are left to manage
resources without knowing the needs of the
application
● “Do more with less” is the new reality, but
teams feel they must choose between
reliability and cost
11. What are Kubernetes Autoscalers
● Vertical Pod Autoscaler (VPA): Adjusts container CPU and memory requests and limits
based on usage, optimizing resource allocation.
● Horizontal Pod Autoscaler (HPA): Scales pod replicas based on CPU, memory, or
custom metrics, maintaining application performance and availability.
● Cluster Autoscaler: Adds or removes nodes in the cluster based on resource demands
and utilization, ensuring efficient resource usage and cost-effectiveness.
3
The Vertical Pod Autoscaler (VPA), Horizontal Pod Autoscaler (HPA),
and Cluster Autoscaler are components in Kubernetes that help
manage and scale resources automatically based on workload
demands and cluster resource utilization.
12. Most teams start with
horizontal pod
autoscaling (HPA)
4
What should my HPA
target utilization be
set to?
Are my pods the right size?
Am I just multiplying my
inefficiencies?
How am I going to
configure this across
hundreds of services?
Why is it called “auto”
scaling anyway?!
14. Requests and Limits?
● Requests: The minimum resources (CPU and memory) a container is guaranteed.
● Limits: The maximum resources a container can consume before being throttled or
terminated.
● Relevance: They ensure efficient resource distribution and prevent resource contention
in a cluster.
● Usage: They help maintain application performance, stability, and prevent
over-provisioning or under-provisioning of resources.
6
Requests and limits are Kubernetes resource settings for containers,
they manage CPU and memory allocation.
15. targetUtilization
The targetUtilization field in the HPA config specifies the
desired resource utilization percentage. The HPA scales
the pod replicas up or down based on the observed
resource utilization to maintain the target value,
ensuring efficient resource usage and optimal
performance.
7
Kubernetes HPA automatically scales the number of pod replicas
based on observed metrics, like CPU utilization, to maintain optimal
resource usage and application performance.
16. In a Land of Rainbows and Unicorns
8
They have the knowledge of the application's
performance characteristics, resource usage patterns,
and architecture, which allows them to make informed
decisions about the appropriate resource allocation for
each container.
The development team or DevOps engineers are
responsible for setting the initial requests, limits
and targetUtilization for containers in a Kubernetes
deployment, because:
17. In a Realm of Chaos and Dragons
● Analyze application requirements.
● Set up a baseline with default Pod/HPA settings.
● Conduct load testing and adjust Pod/HPA.
● Monitor performance and fine-tune Pod/HPA.
● Review and update Pod/HPA settings regularly.
9
Determining the best settings for Pods and the HPA target
utilization in Kubernetes environments for new applications
can be challenging.
18. StormForge Optimize Live Overview
10
● Reduces costs and improves reliability by
right-sizing Kubernetes application resources.
● Machine learning analyzes CPU and memory
utilization, and provides recommendations to
adjust resources requests up & down to meet
demand as patterns change
● Reduces toil by automatically applying
recommendations automatically, freeing up
engineering resources
● Enables bi-dimensional autoscaling,
providing vertical rightsizing and efficient
horizontal scaling through recommended
target utilization for HPA enabled workloads
● Low barrier to entry making it fast and easy
to get started
19. RECOMMEND
● CPU and memory
● HPA target utilization
DISCOVER
● Continuously ingest
workloads
● Machine Learning
analyzes Kubernetes
data
IMPLEMENT
● Automatic or manual
● Route through CI/CD
process
INSTALL
11
StormForge Optimize Live: How does it work?
21. 13
How does StormForge ML maximize efficiency without risking
performance or reliability?
Other Solutions StormForge
Focused on cost visibility only Actionable insights and specific
recommendations
Single objective, e.g. cost/resource
only
Multi-objective, reduce
resource/cost while ensuring
performance/reliability
Simplistic, inflexible Configurable - Specify goals, set
guardrails, use for a variety of use
cases
No HPA compatibility HPA compatibility for intelligent
bi-dimensional autoscaling
“Black box” approach Explainable AI fosters trust
22. What about security?
● We only collect telemetry data, similar to what
Datadog or other SaaS-based observability solutions
collect
● All communication to our SaaS endpoints occur using
SSL/TLS over port 443
● Telemetry data from different organizations is kept
separate
● ML models are trained separately for each customer
using only their own application data
● StormForge is SOC2 compliant
● Example datasets and other details can be provided
for your organization's security team as needed
14
23. The StormForge difference
INTELLIGENCE
Actionable
recommendations to
optimize resources as
usage varies.
Unlike cloud cost management tools that merely provide visibility, StormForge uses:
15
AUTOMATION
to proactively and
continuously right-size -
improving efficiency &
eliminating cloud waste.
VISIBILITY
Show current utilization
and identify
opportunities for
improvement.
+ +