I’m a fan the classic Chevy Chase film, Fletch. If you haven’t seen it, the eponymous hero classically tries to bluff his way through pretending he's an aircraft mechanic. At one point in the film as he attempts to maneuver his way through an inspection of a plane engine, he cunningly delivers the line, “It’s all ball bearings nowadays!” And all too often I often feel like Fletch when it comes to DevOps. Software today is componentized, agile, and it's a market that’s flooded with a seemingly endless amount of service providers.
What this post is not is a list of software recommendations. There’s interminable detail and knowledge that’s above my paygrade on this subject, and a never ending list of services available. What this post is, is an overview of the DevOps landscape today and its impact on the software industry as we know it.
In general, here are the main components to dev ops:
- Infrastructure Automation: Google Computing Engine, Amazon Web Services, Windows Azure, Digital Ocean, Heroku, etc.
- Configuration Management: Chef, Puppet, etc.
- And the other 'ball bearings': Log management, deployment management performance management, and monitoring.
I reached out to a friend of mine who's a senior DevOps talent working at Digital Ocean. I wanted to learn more so he sent me a ton of helpful, must-read articles and videos. I found a ton of inspiration from these resources so I thought I’d package up this content for anyone that's interested in this subject:
- What Is DevOps? Great, comprehensive overview, to tell you everything you need to know about what DevOps is, with some resources to help you get started.
- GCE vs AWS in 2016: Geeky, technical post on the benefits of certain cloud providers. Useful (although a tad one-sided) research for those who are unsure which provider would be best.
- WTF is a container? A quick read to enlighten you about ‘containers.’ I won’t spoil it for you, take a look for yourself!
- How do you manage containers? I didn't know a lot about Kubernates, but I’ve learned that it’s a system developed by Google for managing containerized applications in a clustered environment. If you aren’t bored yet, check out some of these great posts and videos:
- Good overall description
- Overview talk on Kubernetes
- Technical overview of Kubernetes
- Confused between Docker and Chef? Read here.
- Beefy whitepaper on Google's incredible architecture.
This is by no means a comprehensive list of DevOps resources, but hopefully the curation inspires you to learn more.