Last week at Microsoft Ignite, the monumental shifts in our industry were pretty hard to ignore. Ignite is Microsoft’s spotlight conference for the technical users of their products, or in Microsoft terms “IT Pros”. It is fascinating to watch Microsoft, an old-school software behemoth, make the switch from licensed on-premises software that required lots of hardware and armies of well-trained IT Pros to manage its care and feeding to providing well-developed SaaS and PaaS services for that same software! Given all this news we will take a look at what is devops and the industry shift being seen.
What is Devops and the transformation?
All of this is very exciting, but this tranformation will require very close collaboration between traditional ops people, and anyone is doing devlopment. Last week I heard a couple of things that really gave me pause about this collaboration, but first we should define devops. Most devops enthusiasts will let you know that devops can’t be defined by a definition, it’s a movement. Here’s how Wikipedia defines it:
The promise of devops is that dev and operations teams will communicate all the project needs, before, during and after a project, and work together in perfect harmony to produce AMAZING results.
I even wrote about this almost 5 years ago. I still don’t think we’ve done a good job of “doing” devops. One thing I’ve gleaned from lots of conversations with traditional ops people is that they aren’t being included in the process, and they’re worried about code that’s being developed by people who don’t understand the underlying infrastructure. And let’s get real, if you’re developing to IaaS or PaaS, and definitely SaaS, that infrastructure is being obfuscated from everyone. Many developers didn’t have a strong grasp of the infrastructure they were coding to when it was on premises, and moving applications to the cloud has made it even harder for them to understand what can impact the apps they are writing.
I asked Twitter for a good definition of devops. Here are a some of the responses:
It comes in red, blue and green. And costs alot https://t.co/zHSBQHN4YJ
— neB sepeK (@benkepes) October 3, 2016
Someone who has enough time to code because they’ve sensibly automated all of their Ops. https://t.co/TpEYWoHqKO
— Sam Jarman 🐝 (@samjarman) October 3, 2016
@gminks 2fold (& mine): Applying consistent dev-coding-level discipline & processes 2 ops, while providing infrastructure as code 2 devs
— Brian Lett (@brianglett) October 3, 2016
Obviously, some of those are just tongue in cheek. As I mentioned earlier, the idea of fencing in the concept of devops with a standard definition isn’t really practical. But, I’ve heard developerss talk about devops as if it is the saving grace of all thing IT. In fact, just last week someone told me: Devs rule the world now! As an ops person, that really made me think. There’s always been a tension between devs and ops. Maybe that’s a good thing, it kept everyone on their toes. But is it a good thing when one side becomes all-powerful? Can it be a good thing for devs to rule the world? And to put a very fine ops point on this: What happens when the code devs develop has unintended consequences because they didn’t understand the infrastructure?
Another interesting thing that happened last week was that one of Microsoft’s product teams told me their product (one that had much success on premises, and now is doing very well in Office 365) doesn’t have an API. I know that this is not true, and in fact Microsoft is pretty open and collaborative when it comes to developing the APIs for the applications they’ve moved to Office 365. How could the product team that deals with the on-premises product not know about this? In my mind, this is what “devops” is supposed to prevent.
What can we do to keep dev and ops in balance?
First of all, if you are a dev, do whatever you can do to ensure you don’t become a glitter dev. A glitter dev writes code in any way they please, not caring to understand the infrastructure or the impact of their code on existing software. It’s like what happens when you have glitter in your craft supply box, that stuff gets into everything. You don’t want a glitter dev writing code for you. It will get into stuff you never imagined, and you may not be able to get it out.
If you are an IT Pro (aka ops person), don’t be afraid of how rapidly operations is changing. Your deep understanding of how to protect data so you can retrieve files later, how to secure systems so proprietary information is protected, and your deep understanding of all the compliance edicts your company must obey is still critical to your organization! Your goal should be to understand how moving to IaaS and PaaS can enable you to automate a lot of infrastructure you may not have had the opportunity to automate when it was all on premises. Most of the cloud providers are offering free tenants, move your home lab to the cloud and get your skills updated!
For both sides, lets work together to limit the impact glitter devs will have on our environments, so we can all achieve the full promise of the devops movement.