Guest post by Danielle Cook, Content Marketing Director at Fairwinds
When you move to Kubernetes, you must show clear business advantages. The business outcomes expected will include cost savings over time as you have better infrastructure utilizations, improved performance through reduced points of failure and increased security.
Efficiency, reliability and security benefits can be realized in many different ways. Consider efficiency: your team may ship features faster or you’ll stop wasting money on over provisioned resources. Your reliability may improve as you can scale more easily — so when your app sees strong demand, there is no downtime. This of course all comes at the price of visibility into your cluster configuration.
A few months ago we published the Kubernetes Maturity Model. Comprising seven phases, each looks at what engineers should expect as they journey from Kubernetes preparation through to optimization.
Here we talk specifically about what business outcomes you should expect. While it may be repetitive in a few phases, it’s important that you spend enough time in phase one outlining the goals and benefits of cloud native, container and Kubernetes adoption.
Phase 1: Prepare
Deciding to adopt a cloud native approach to your application or services is usually driven by business reasons. In phase 1, your business outcomes will be limited, but absolutely must include setting the trial or migration for success. That means you should have documentation as to what your business goals are and how Kubernetes helps you achieve those. Some examples may include:
Business Goal | How Kubernetes Helps |
Scale to 1 million users | Provide flexible, scalable infrastructure based on users at any given time equipped with fast failover in the event of a problem. |
Deliver exceptional customer experience | Ensure the app is reliable as to not frustrate users |
Get features to market faster | Enable a microservices approach to building apps. Smaller teams are more agile because each team has a focused function. APIs minimize the amount of cross-team communication required to build and deploy. |
Phase 2: Transform
The second phase of Kubernetes Maturity focuses mostly on the technical transformation. However, in this phase, your technology team should have completed a successful POC. Based on that trial, you should have some initial findings on how Kubernetes will help improve your app. In a dev environment, you could, for example, have seen that:
- An app is using less resources (cost savings)
- A new feature shipped faster (faster time to market and thus increased revenue)
- There was no downtime (improved reliability for customers)
Business Goal | How Kubernetes Helps |
POC | You should have some initial findings on how Kubernetes helps |
Phase 3: Deploy
Once your dev team deploys one application to production, the business outcomes should start to come into view. You should use your documented business goals to track Kubernetes progress, but remember it won’t be immediate on day 1. Business outcomes may include:
- Reduced spend on app infrastructure
- Reduced team focus on app infrastructure (note: this will happen over time in this phase as the team gets more confident in their skills)
- Increased security for the application
- Improve compliance as you can restrict and track access to the application
- Accelerated development life cycles as you implement CI/CD pipelines and thus get features to customers faster
In this phase, it’s important that the business outcomes are examined and explained to business stakeholders. It should be a discussion with engineering leadership, the application owner (finance, marketing, etc), the CEO, and even the board. Without these discussions and alignment, maturing to the next phases will come with little appreciation and possibly even skepticism.
Business Goal | How Kubernetes Helps |
Reduced spend on app infrastructure | Improved resource utilization |
Reduced team focus on app infrastructure | Fast failover |
Increased security | Reduce DDoS impact with limits, RBAC, Kubernetes secrets and encryption |
Improved compliance | Access controls |
Ship features faster (Accelerated development lifecycles) | Rolling updates |
Phase 4: Build Confidence
Building confidence in Kubernetes requires experience. In this stage, your business outcomes are dependent on your team’s experience. They will be trying new add-ons to improve security, efficiency and reliability. All of these will impact your services and applications as the team improves.
Your team may have to revisit some decisions made earlier as Kubernetes was rolled out. That could set you back slightly, but the goal is to ensure there is no missing functionality, no single point of failure or disappointing performance.
In stage four, monitoring will be implemented. This will help the business get reports on what’s working and what isn’t working. While the monitoring may be very specific, it will also provide insights into:
- Resource utilization to control costs
- Performance to ensure availability
Gaining confidence that your Kubernetes infrastructure is production-grade is essential. If you are uncertain about your progress, a Kubernetes audit is a great way to check your achievements against your business goals so you can improve.
Business Goal | How Kubernetes Helps |
Goal check-in | Implement monitoring against business goals |
Phase 5: Improve Operations
The fifth phase of the Kubernetes Maturity Model is where you should expect to make huge gains in security, efficiency and reliability. Up to this point, your teams have been focusing on learning Kubernetes. Now it’s time to take that knowledge and apply it more thoroughly to your business goals.
- Security – if your main goal was to increase security, here you will spend time on access controls.
- Efficiency – if cost reduction was your main goal, here you will put in place tools to measure CPU and memory usage, and document how cloud usage is increasing or decreasing. Here you should be able to demonstrate to finance your baseline measurement.
- Reliability – if improved performance/reducing downtime was the main goal, here you will check that all Kubernetes features are implemented. You will spend time with cluster configurations to work on this.
Business Goal | How Kubernetes Helps |
Security | Implement controls around container configuration (root), privileges |
Efficiency | Measure CPU and memory usage |
Reliability | Liveness/readiness probes, replication |
Phase 6: Measure & Control
Moving to stage six will see more measurement of what you’ve put in place. This is important as it will be used to demonstrate business outcomes. The business should expect to see:
- Established protocols and procedures in Kubernetes
- Policy enforcement of compliance standards
- Comparison of apps built on Kubernetes vs. not
The business should expect more reporting in this phase. Reporting should cover compliance, security, performance and cost. A single dashboard view into your clusters can help both technical and business leadership see progress. These should be easily aligned to the business goals established in phase one.
Business Goal | How Kubernetes Helps |
Increased reporting against metrics | You will likely need third party tools in this stage |
Comparison on apps built on K8S vs. not | Comparison will help demonstrate value, show if all or what apps should be migrated |
Phase 7: Optimize & Automate
By the final phase of the Kubernetes Maturity Model you should have achieved your business outcomes. You should have measurable results to show your leadership teams from the CEO to the CFO and the board.
At the same time, phase seven will see you make further improvements. That includes optimizing your Kubernetes workloads against further/more advanced cost and performance metrics. You will never stop optimizing your Kubernetes clusters. Here the expected business outcome is the ability to track how optimization continues to move the bar against established goals.
You may also revisit your goals at this point, adjusting them to what has been achieved and what you want to achieve in future. For some, at this point, you may start to migrate your other applications and have a better understanding of what you want to achieve.
Also in phase 7, you’ll automate as much as possible according to Kubernetes best practices to remove human error as to avoid security and performance problems. This automation will include implementing policy enforcement against your cluster configurations. Policy enforcement should be considered at every stage of maturity, but definitely at phase 7. Mature Kubernetes users know that misconfigurations can cause organizations to completely miss their business goals – putting them at risk for security breaches, scaling issues cost overruns.
Business Goal | How Kubernetes Helps |
Achieved business goals | Demonstrable results from achieving Kubernetes maturity |
Automation | Reduce human error |
Optimization | You will tweak Kubernetes to continue to achieve business goals |
Kubernete Maturity Model
The Maturity Model should be used to check in against both your technical and business outcomes. If you are not certain if you are making progress against each phase, or do not know exactly where you sit, get in touch. We are happy to discuss Kubernetes at your organization.