A New Performance Mindset for Cloud Native Applications
Many organizations have radically changed the way they build software applications. They’ve gone all-in on agile development of cloud native apps, containerization and cloud architectures. This has changed many of the tasks development teams do on a daily basis.
New work cultures have sprung up around these different activities and workflows. There are, however, some aspects of these cultures — and developers’ thinking — that haven’t leapt quite as far forward as how they build apps. The way developers approach some parts of their jobs looks a lot like it did years ago, before agile and the cloud dominated the landscape.
One example of this is ensuring application performance. Despite how dynamic modern apps are now, being spun up or down on demand in just seconds, performance management is nowhere nearly as versatile. In many shops, app performance is still handled in ways that can only be described as legacy, reactive approaches and “old school” thinking.
This mismatch can cause a range of operational, financial and team problems. Let’s take a look at why this cultural disconnect exists and what organizations can do to fix it.
New Problems Stemming from Old Approaches
The issue can be partly traced back to traditional software development approaches. These older approaches, such as the “waterfall” model, were fundamentally linear and sequential. Projects were organized into detailed and pre-defined phases. There were buckets for activities at the beginning, middle and end of the dev process, with very little overlap.
For example, the QA phase came after the development work was mostly or entirely completed. It essentially was a separate, post-facto function done in isolation. Performance testing in QA was part of these teams’ separate and distinct workflows. The separate nature of these teams’ responsibilities led to the creation of separate and distinct work culture for the QA function, including the performance management pieces of it.
Once the QA process wrapped up, the app would be handed off to production, another world unto itself. Production is the real world where real business is done with real customers. This reality led to the creation and buildup of another culture or mindset around application performance management, with its own separate rules and requirements.
Apps had to work to make it into production. So, the baseline expectation was that things would work as advertised. For a backstop, teams mostly relied on a reactive, monitor-and-alert approach to find and fix performance issues. Other performance evaluations were done only occasionally and sporadically in random acts of performance testing.
Under the traditional software development model, application performance testing and management was done only in the later phases of development, happened episodically in various buckets and almost always done reactively only after a problem was experienced.
These cultural traits, ways of thinking or “muscle memory” ways of doing things as they apply to performance management seem to have carried over into the modern application era we’re all living in. The problem is that things happen too quickly with cloud native apps. Any kind of separate, compartmentalized and reactive performance management approach simply will not work in this new world.
New Team Structure, New Challenges
With the “waterfall” era of software development rapidly fading away, the DevOps approach is now how apps are normally developed and delivered. The term DevOps means slightly different things to different people, however, so for clarity’s sake, we’ll go with Gartner’s definition:
“DevOps is the combination of cultural philosophies, practices and tools that increases an organization’s ability to deliver applications and services at high velocity, evolving and improving products at a faster pace than organizations using traditional software development and infrastructure management processes. This speed enables organizations to better serve their customers and compete more effectively in the market.”
Note Gartner’s explicit reference to the cultural aspects of this approach. (Hold that thought; we’ll come back to it.)
“DevOps” is a portmanteau, two words combined to form a new one. It’s also accurate because it describes what actually happens. Separate development and operations teams get combined into a single unit. The idea is to get away from silos and have dev and ops staff work with apps throughout their entire lifecycle. From design and development, through testing and QA, in production, and all the way through to end of life, DevOps people stick with their apps. They conceive them, build them and manage their performance from start to finish.
DevOps is an effective approach because, as Gartner points out, it can deliver innovation with more speed and effectiveness.
However, re-engineering the formerly siloed and sequenced dev and ops functions does present organizations with some cultural challenges.
Broadening roles and asking DevOps team members to take on new responsibilities isn’t a problem. The cultural carryovers, however, can hinder cultural change. They might cause DevOps team members to revert to old ways of doing things. Or, over time, your team might begin to view new parts of their jobs as dull chores rather than interesting challenges. When things like this happen, teams find themselves on the slippery slope of ineffectiveness.
Building a New Performance Management Culture
What can organizations do to head off these problems, to keep DevOps people engaged from stem to stern? How can enterprises facilitate great application performance from the first day an app hits production until its last day in use?
Here are some strategies leading companies are employing to make the change to establishing a performance culture:
- Make it easy: Enable team members to do a little proactive performance management each day to avoid major problems.
- Empower people: Give them ownership of processes and workflows, and credit for driving positive results.
- Enable self-service: Give them the tools and technology they need to truly own performance from beginning to end.
- Automate key functions: Software drives the provisioning of cloud native apps and needs to do the same with the management of their performance.
The Technology Is Ready: Are You?
The good news for DevOps teams and their organizations is that technologies are available that will help them take the steps we’ve outlined. By layering in new, advanced techniques in fields such as data science and leveraging them on innovative foundations, built on artificial intelligence and machine learning, new categories of platforms and apps have arrived. These new tools are enabling teams to rethink and redefine how they handle application performance.
AI- and ML-based systems are especially well-suited for solving complex problems such as analyzing and calculating the right settings to get optimal performance from a cloud native app and automating these changes continually and in real time. StormForge’s Application Optimization Solution falls into this category.
With this type of functionality, organizations and their DevOps teams can adopt a performance culture.
They can evolve their views of not only the value of performance management, but the prestige of choreographing it against the challenging backdrop of cloud-centric environments. They can reshape their performance management approach from being reactive and slow to proactive, intelligent and lightning fast. They can also use proactive performance management to stop chasing problems and, instead, prevent them.
That’s the new performance culture we’re helping to make achievable for any organization. To get there, they need to make performance an integral part of their release processes and CI/CD workflows. They need to retool so they can automate the process of configuring applications to optimize for performance, stability and cost. Also, they need to always be proactive with testing, analyzing and optimizing their applications.
The future is right in front of us. Getting there requires an appreciation of new performance management requirements and their importance.
The technology is ready and commercially available. To make that critical first step, the only prerequisite is that you bring that new performance management mindset. You can do that, right?
For further guidance, check out our complimentary eBook, 3 Steps to Crossing the Kubernetes Application Performance Gap.