Many people think of CI/CD as simply the automation of build and test using modern API-driven systems. Successful organizations have a more holistic view. They understand that embracing CI/CD means transforming a series of projects your team has to complete for each release cycle into a chain of automated processes.
In the context of CI/CD, a project refers to any manual work performed during the build and release cycle. Projects in a typical release cycle include build, QA, and deployment. Build is almost always automated. For most organizations adopting CI/CD, QA is a manual process consisting of a series of projects. QA Automation happens as the teams CI/CD practices mature because it requires converting far more moving parts. How do you measure relevant metrics, collect and correlate the data? How many test vectors are you running? How do you ensure a known state for the app before starting each test?
The last stage to be automated is typically deployment (and rollback). While the growth in use of cloud has made it possible to automate deployment, sequencing, testing at each stage, and the number of API’s required make fully automated deployment challenging.
What’s Wrong With Projects
Projects by definition are human efforts. Projects can’t be automated because humans don’t have APIs. Accordingly, they are intermittent, they don’t start on time, they don’t end on time, they don’t produce consistent results, and they’re expensive. Your projects compete with each other for resources and need to be dynamically compromised based on previous failures and current priorities.
Why Process is Essential for Optimization
When Opsani engages with customers, we generally find performance tuning only being done in response to downtime or failure to meet an SLO or SLA. A few companies have dedicated performance tuning teams but they jump from application to application based on what’s most critical at the moment. The current paradigm is a classic project-based approach juggling competing priorities.
Beyond the challenges of moving up the priority list, project-based optimization faces other barriers. Getting the right instance, the right number of instances, and the right settings in each instance involves numerous interdependencies. Even the best performance engineers require some trial and error to find the right mix. Even when you discover a winning formula, the next deployment may mean you have to start all over again. These challenges combine to create impossibly high hurdles for most organizations. It is not a surprise that performance optimization projects are seldom done and the results aren’t consistent.
The difference between Project and Process matters a LOT when we consider optimizing cloud applications. When performance optimization is approached as a project, it is only being done when it is deemed more important than feature development and there are no burning fires to put out. When it is an automated process, your application can be optimized continually.
Continuous Performance Optimization with CI/CD/CO
The sheer number of parameter and resource settings available in today’s modern application deployments means optimization is no longer a job for a human. When optimization is a process instead of a project, we can use machine learning to solve this problem. Opsani uses Artificial Intelligence to overcome the complexity of performance tuning and adds Continuous Optimization to your CI/CD toolchain.
Iterating through dozens of optimization experiments after every release is out of the question for project based teams. With Optune Continuous Optimization, it is just Wednesday.
CI/CD/CO shifts your paradigm towards Autonomous Ops by adding a process that intelligently adapts your cloud infrastructure to code releases and changes. Leveraging your existing CI/CD automated deployment pipeline, the system tests setting combinations and quickly learns how to improve the efficiency of your application. Changes such as releasing new code, new instance types from your cloud provider, or new traffic patterns will cause Optune to adjust settings. Being integrated with your CI/CD system, new changes take effect automatically. With each iteration, the system’s predictions hone in on the optimal solution, and as improvements are found they can be automatically promoted.
Give Optune 30 minutes for a demo and see how we can turned failed optimization projects into a continuous process which reduces costs by up to 60% while increasing performance 25%