
Ask HN: How did you learn DevOps as a developer? - ldn_throwaway
I&#x27;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?<p>It&#x27;s an area that I&#x27;m interested in, but don&#x27;t get much exposure to in my day job as a junior web developer. I&#x27;m fairly confident with tweaking Ansible scripts to setup DigitalOcean droplets, but want to learn more.
======
ryanmarsh
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.

------
rdeboo
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.

------
akulbe
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.

------
drewjaja
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.

------
atsaloli
For anybody wanting to learn DevOps today, "The DevOps Handbook" is the
canonical text. [https://www.amazon.com/DevOps-Handbook-World-Class-
Reliabili...](https://www.amazon.com/DevOps-Handbook-World-Class-Reliability-
Organizations/dp/1942788002)

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

Thanks!

