Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 17 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save carlosonunez/83312c12f884444620a495ef60882945 to your computer and use it in GitHub Desktop.
Save carlosonunez/83312c12f884444620a495ef60882945 to your computer and use it in GitHub Desktop.
(incomplete)
This question comes up often here. As a Windows systems engineer that transitioned into a "DevOps" systems engineer (this is a very contentious title, but "systems engineer that IS DevOps" doesn't have the same ring to it) over about a year, I'd like to start a living FAQ/guide on how to get into this game.
I'm also posting it on Gist [here](https://gist.github.com/carlosonunez/83312c12f884444620a495ef60882945). I presume that I'll update that one more frequently.
# Materials Required
* A healthy love for learning (DevOps is very young and is evolving almost daily)
* Patience with being the "dumb guy in the room"
* Abandoning the notion that devs > sysadmins or vice versa (answer: both are wrong; we need each other)
* Abandoning the notion that marketing, sales or anyone that isn't in IT "doesn't get it" or are literally Satan (answer: DevOps is a way of doing/running business technology, not a suite of fancy tools and conferences in nice places)
# Good reads
* [Continuous Delivery. David FARLEY, Jez HUMBLE.](https://www.amazon.com/Continuous-Delivery-Deployment-Automation-Addison-Wesley/dp/0321601912) Describes how continuous builds and deployment works and several approaches for implementing it. A bit dated but the core concepts are still relevant.
* [Art of Monitoring. James TURNBULL](https://www.artofmonitoring.com/). Good book about monitoring and alerting at scale.
* [The Phoenix Project. Gene KIM, George SPAFFORD, Kevin BEHR.](https://www.amazon.com/Phoenix-Project-DevOps-Helping-Business/dp/0988262592). A good fiction that describes a "typical" corporate transformation from Waterfall and top-down technical management to Agile and Devops. Great read.
* [Joel on Software. Joel SPOLSKY](https://www.amazon.com/Joel-Software-Occasionally-Developers-Designers/dp/1590593898). The tech is very dated, but these are great anecdotes from Joel's (co-founder of Fog Creek, StackExchange, Trello) times at Yahoo! and Microsoft. Not specifically related to Devops but does a great job on talking about good software development practices.
* For technical reads, I'm more of a read-the-fuckin-manual type person. In most cases (and for all of the popular tools that I've used), the manual does a great job of explaining how the technology works, how to set it up, and how to keep it running.
# Good listens
* Arrested DevOps. Matt STRATTON, Bridged KROMHOUT, Trevor HESS. Excellent content. Usually unedited.
* I need more!
# Things to Learn
* Learn a scripting and/or programming language. Infrastructure-as-code is a big part of devops culture; hard to do that if you can't code :) I recommend:
* Python, or
* Ruby, or
* C#, or
* Java
* Learn how to source control all the things. Popular VCSes are:
* Git
* Mercurial
* SVN
* Learn about package and artifact/dependency management. If you're copying dependencies to a server during deployment, you are almost certainly doing it wrong.
* Bundler (Ruby)
* Pip (Python)
* NuGet (.NET/Windows)
* rpm/deb (Linux)
* Get good at cloud. Amazon is the most popular followed by Azure and Google Cloud Engine.
* **How do I get good at it when my job doesn't even use it?** Get certified. Certifications are cheap. For Amazon, you'll need about $150 for the test, $40 for practice tests and ~$20 for EC2/RDS/S3/CloudFront/etc.
* You don't need to be certified to do this work; it's just a great way to learn these things quickly and an easy way for others to see that you know what you're doing.
* Learn up on popular CM tools:
* Ansible
* Chef
* Puppet
* SaltStack
* Learn up on popular monitoring/performance tools:
* Nagios (a classic)
* New Relic
* ELK (Elastisearch, Logstash, Kibana)
* Hosted logging/monitoring solutions (Loggly, Datadog, Scalyr)
* Learn up on continuous build/deployment tools, like:
* Jenkins
* TeamCity
* GoCD
* Octopus Deploy (windows)
@ryanmaclean
Copy link

Where's that repo? 😄

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment