by David Lutz
One of those meetups is the Infrastructure Coders (aka infracoders) Melbourne group founded by the multi talented Matthew Jones and I, specifically for those who want to talk about “Infrastructure as Code” including things like infrastructure automation and configuration management.
For me at least (not speaking on behalf of Matt of course) the impetus for starting our group came partly from a conversation after one of the DevOps Melbourne meetups. Someone said something along the lines of… “This devops idea sounds cool but how do I get started. Can you show me how to write a Puppet manifest?”.
DevOps Melbourne meetups were really popular and had grown big. I wondered if there was room for a smaller group more focussed on tools like Chef and Puppet and how to use them.
Almost a year later I was reflecting on Infracoders. We had had some brilliant talks on Infrastructure as Code, automation and configuration management with Chef, Puppet, Ansible and Babushka. But also fantastic topics on the physics of LEDs, the psychology of failure, the challenges of monitoring, how to manage your clouds and the joy of MySQL schema changes that don’t take the whole site down.
Although some of our talks had been devops related many weren’t specifically. The thought dawned on me that while I strongly identified with the devops community, at least some of the Infracoders members didn’t. Some of our members came from big Enterprise environments that weren’t as far down that path (yet anyway). Basically I noticed that although there was some cross-over with DevOps Melbourne, this was a different group of people.
This was the same with the other meetup groups I went along to. The AWS Melbourne meetup had a couple of familiar faces, but was mostly a different group. The Web Dev meetup was a different bunch again.
Pretty obvious I know. But I started thinking about the difference between the ideas of infrastructure as code and devops.
Are they different things?
Or phrased another way.
Can you do one without the other?
Yes. Your sysadmin team can be doing infrastructure as code in a non-devops siloed environment. It’s possible (but unlikely, granted) that an organization could have a good devops environment but have manually built infrastructure.
How about Agile? Can you have Agile software development without infrastructure as code? Yes. I’ve seen environments like this. And you could have Agile infrastructure along with Waterfall software development. Possibly. They’re different things.
Is devops just an extension of Agile software development? No, I think they’re different. Agile software development is just about software development. Devops tends to be at a more holistic level. Concerned with inter-group collaboration and culture and monitoring and metrics.
Continuous delivery is naively seen by some as being devops. Back to the litmus test. Can you have one without the other? Devops without continuous delivery? Sure. There are companies that have long release cycles that are devopsie. Continuous delivery without devops? Difficult, but I’d argue yes, possible. (NoOps anyone?)
Certainly you can do devops without virtualization or cloud computing. Even though these things can help smooth the way.
To be a well rounded and adaptable professional in the technology field we should take Bruce Lee’s advice: “Use only that which works, and take it from any place you can find it”.
Whether the lesson comes from a field of engineering, or psychology, or fire-fighting or ITIL, military or medicine. Use it to be better at your job.
Follow me on Google+