Government software and application development has historically been a slow process that often resulted in unwieldy legacy systems that were delivered past their deadlines and over budget. Worse, many of these purpose-built systems were often obsolete by the time they were delivered, since the pace of innovation would well overtake the pace of development.
In the past decade, we’ve seen significant strides taken to overcome this development problem. Government agencies have increasingly tried to use off-the-shelf solutions, but even when custom application development was necessary, they would turn to low-code and open source development to expedite the process. However, industry best practices are ever-changing and the benchmarks to which development teams are held are only accelerating.
Andreas Grabner, a DevOps and ACE Activist at Dynatrace, recently participated in a webinar entitled, “Three Waves of DevOps Transformation; leading to the Autonomous Cloud,” where he explained just how quickly today’s developers are expected to operate. According to Grabner, developers should be able to remediate issues that come up during software production in ten minutes and be able to build and release something new to the customer within an hour.
As Grabner explained, that benchmark is now, “…the gold standard these days.”
But for developers – both in the government and private enterprise – to meet that benchmark there needs to be a massive transformation in how they operate. The legacy practices that have powered software development and operations in the past – which involved teams operating independently in a “waterfall” model – failed to give organizations the ability to keep pace with the rate of requirement and innovation.
Dynatrace, itself, recognized this need to embrace a new system and process for application development. When challenged by their founder and CTO, Berndt Greifeneder, to create the company’s new Software Intelligence Platform, the development team was also tasked with operating in a more modern, streamlined and efficient way that would enable them to deliver new content in, “…one hour from code to production.”
This demand from their CTO as the company raced to introduce a new product that would position them to compete in a new cloud-centric IT ecosystem, would send the company through three waves of transformation that would end with the development of “Autonomous Cloud Enablement.”
Here are what those three waves looked like, and why the end product, Autonomous Cloud Enablement (ACE), has ushered in a new era of speed, scalability and security in Dynatrace’s application development process:
DevOps – Speeding up the process
Under pressure to accelerate their own application development processes and methodologies, Dynatrace embraced the DevOps model of application development to deliver new content to the customer more rapidly. This meant shifting operations in the application development process and embracing automation wherever possible.
“We had to invest in automated delivery. We had to figure out how to deploy software in a test environment, but also how to take the same automation principals into production,” Grabner explained. “We had to figure out as developers, and learn from our operations team, what it meant to operate software…and code all of these things that operations used to do manually.”
While this new DevOps approach did manage to drastically expedite and accelerate application development and patches, it had the unintended consequence of increasing mistakes. A problem that would require the movement into a second DevOps wave.
NoOps – Increasing stability and fighting bad code
There is a common saying that, “Haste makes waste.” That saying is equally true in application development. As Grabner noted during the webinar, “We had a problem with quality when we started focusing intently on speed.”
The solution was a movement towards what Dynatrace calls, NoOps, a system in which automated quality gates and auto-remediation is baked into the process to ensure that no bad code makes its way into production. When implemented correctly, NoOps completely removes the need for a human to step into the loop and reduces the time between when a problem is identified and when it is remediated.
As Grabner explained:
“If you are an engineer and you’re building a new feature or capability, you need to think like an operations person. What could possibly go wrong? How can we avoid it with quality gates or through auto-remediation in production? When we push something into production, we need to enforce as many quality gates as possible so that no bad code gets pushed into production.”
The evolution to DevOps, and then NoOps, meant that applications could be developed more quickly and with higher quality for the customer. But it also created a need to scale these tools and systems across the enterprise so that all engineers and developers can access them in a self-service environment and not become a bottleneck. Thus Dynatrace entered the third wave.
Autonomous Cloud Enablement
“So it seems we’re done here, right?” Grabner asked, rhetorically. “Why do we need more beyond NoOps?” The answer is scalability.
Autonomous Cloud Enablement creates an autonomous cloud strategic vision that allows for the delivery of rapid, meaningful automation services that enable unbreakable delivery pipelines and NoOps cloud operations.
To widely adopt cutting-edge DevOps best practices, Grabner argues that a cloud platform is necessary. And, to prove that point, he offered evidence from within Dynatrace. According to Grabner, Dynatrace’s own team of 10 ACE engineers have the capacity to support more than 800 developers on the ACE platform, allowing them to develop new applications and capabilities at the speed of innovation without sacrificing quality – and without having to consistently reinvent the wheel.