Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Ask HN: How did you learn DevOps as a developer?
12 points by ldn_throwaway on Feb 27, 2017 | hide | past | favorite | 6 comments
I'm particularly interested in the experiences of web developers that have made the switch from pure development to a dev ops role? What did you learn first, what was useful, how did your background prepare you for your first role etc?

It's an area that I'm interested in, but don't get much exposure to in my day job as a junior web developer. I'm fairly confident with tweaking Ansible scripts to setup DigitalOcean droplets, but want to learn more.



Simple, deploy and manage your own code by hand.

I know so much ridiculous but very practical "devops stuff" because I've been installing things configuring them and deploying to them by hand (running the commands or writing scripts) for a long time. It has come in handy so many times. Now that I think of it, it has paid off more than any other technical experience.

So now I can sit down behind any devops toolkit and very quickly get up and running or even debug it without having much experience with it.

Also managing your own code will help make you a better developer. So in short to learn devops: learn ops by doing it the old fashioned way. Then Ansible, Puppet, Cloud formation, etc... is easy.


My circumstances required me to; I worked as a software engineer for a startup without system administrators. So I just solved any issue I encountered while deploying / running production.

Ansible is great; easy to learn and powerful. I recommend the book "Ansible Up & Running".

Learn Linux thoroughly. I recommend the book "How Linux works". You want to know how you can do basic administration such as managing users, setting up syslog, registering system services (systemd/init.d) etc. Also, learn how ssh works, how you use keys, how ssh config file works, agent forwarding, etc. One of the last chapters/appendixes in the Ansible book goes into detail.

Learn about monitoring, for example using the book "The art of monitoring". Graphite + Grafana works great for me. There are many choices, don't get into the rabbit hole of trying to compare them all. Just set up end to end monitoring and alerting. We use Seyren for alerting which is simple and nice.

I also like the book "Site Reliability Engineering" by some Google engineers. Though this is more advanced stuff, for mature organizations that have the basics covered.


I know this is the opposite of the question you asked, but I'm in this spot and I hoped my answer might be interesting.

I'm literally going the other direction. I've got a sysadmin background, with little coding experience. Getting put in a DevOps role is how I'm learning to code more than just bash scripts.

Chef stuff has me neck deep in Ruby. I'm wishing I'd have gotten into this 20 years ago.


AWS provide free tier usage, so that may be a good place to get some experience. Spin up some instances, provision your own web servers, database and load balancer with ansible. Create deploy scripts with ansible that pull in your latest code into each of your web servers and then create a script that can roll back your code to a previous deploy.


For anybody wanting to learn DevOps today, "The DevOps Handbook" is the canonical text. https://www.amazon.com/DevOps-Handbook-World-Class-Reliabili...


I was a Kickstarter supporter for that book, so I'm glad to see that others are liking and recommending it.

Thanks!




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: