“I thought we'd get to see forever
But forever's gone away
It's so hard to say goodbye to yesterday. “
Boyz II Men
“Everything changes and nothing stands still.”
Heraclitus of Ephesus
Change comes at us fast and furious. It seems like only yesterday that my four-year-old daughter thought peek-a-boo was the height of comedy, and now she is begging me to use her whoopie cushion on colleagues at work. Changes in technology are only slightly less of a blur. Machinery powering the Internet has evolved far beyond what most of us thought possible even a few years ago. As I reflect back on this evolution, below are the changes in devops methodology and toolsets that rise to the top for me.
Change 1: Today’s App ain’t your Daddy’s App
Back when I started out in the world of IT in the early 2000s, the 3-tier app dominated - web, app, and database. Over that same decade, that pedestrian view of the world shattered, albeit slowly, with the introduction and adoption of virtualization, the “Cloud”, distributed data centers, etc., etc. Then, as the behemoths of the Internet age really got going, we’ve seen micro-service architectures drive us to new heights in the form of distributed processing, platform as a service, and virtualization driven to its logical conclusion in containerization - just to name a few. And here’s the core idea that has hit me like a ton of bricks - these new massively scalable apps don’t lend themselves to nicely laid out architecture diagrams. What used to be a nice hierarchal tree is now spaghetti. The old approaches to architecture just can’t handle this kind of complexity and constant change.
Change 2: The speed of Business is the speed of the Internet user
Accusing the modern software team of doing “waterfall” is about the same as asking your mother-in-law’s if she’s put on few pounds. Bad, bad idea. Why? The digital corporations of 2016 depend on software quality and innovation for their survival. Their users have no patience for spinning icons and slowly loading pages. The mistakes these companies make will immediately be taken advantage of by their competitors. The grassroots answer to this need for agility has been a focus on small team empowerment and collaboration, while also distributing the responsibility for quality and uptime from just operations teams to cross-functional engineering teams. Consequently, these teams are now demanding technologies that supports their collaborative approach, while also being flexible enough to adapt to their particular approach to systems management.
Change 3: The Modern Application demands a better toolset
We talk a lot these days about how the big 4 (HP, BMC, CA, IBM) are imploding. But that isn’t the end of it. The IT management children born of the failures of the big 4 are now themselves quickly becoming outmoded. We are seeing once-innovative companies trying to convince the world that slapping “On Demand” or “Cloud” labels on on-premise software means they are up-to-snuff. Savvy customers aren’t buying it.
And then on the other hand, we have monitoring and troubleshooting tools that weren’t built for the micro-services, code-to-container world. The deeper implication here is that not only do tools need to evolve to support this new microservices architecture world, but the answer to “what do I need to measure” is rapidly changing. The modern application development team doesn’t need to be spoon-fed the “proper” metrics, when they know how to measure their app’s performance - they wrote it. The twin revolutions of DevOps and Agile have pulled the wary software developer out of the safety of waterfall into the controlled chaos of continuous integration and deployment. She is on the hook for the quality of her software, and she can write her own metrics - thank you very much.
“It's the end of the world as we know it, and I feel fine”
R.E.M.
So, what’s the takeaway of the story here? To start off, I am recruiting my accomplices at work for the “great whoopie cushion” caper. I am going to embrace my daughter’s humor where it is at, and stop making “daddy” excuses. So, don’t resist the change - embrace it. And when you do - remember that you aren’t alone. You can ask more from the tools and services you use to support your application. You and your team deserve better.
Complete visibility for DevSecOps
Reduce downtime and move from reactive to proactive monitoring.