Live data from Hacker News

Ask HN: DevOps learning resources

news.ycombinator.com

21–30 of 68 posts

Re: Ask HN: DevOps learning resources

#22
The first thing to realize is that DevOps is an ambiguous term (at least partly by design, it seems).

My belief—shaped by many at the forefront of the DevOps movement—is that it is a cultural focus rather than a technical one. In many ways, it's an extension of agile philosophies, with a focus on fast feedback, transparency, heightened interactions between teams, etc. There is also a heavy focus on automation (CICD), but the automation is there to serve the cultural goals. Just because you do CICD doesn't mean you're necessarily doing DevOps, and you can adopt a lot of DevOps principles without doing full CICD.

Books:

* The Phoenix Project— introduces a lot of concepts (such as lean principles) that are foundational to the movement

* Effective DevOps (Oreilly)

* The DevOps Handbook

Podcasts:

* Arrested DevOps

* DevOps Cafe

Blogs:

* IT Revolution

Events:

* DevOpsDays conferences

* Local meetups

* Velocity conferences

* DevOps Enterprise Summit

Having a good grasp of both development and operations skills is helpful. But it's far from complete. If you solely focus on the technical aspects without examining the cultural, you're missing the foundation of the movement.

Re: Ask HN: DevOps learning resources

#23
post #5

Well, the best way to learn is to actually do something. Create a small service in your favourite framework. Something really small, an echo service will probably suffice. Then stop "developing" and switch on "Ops mode". Automate: - builds (build & packaging scripts) - deployments - try all 3 major approaches: - push deployment: running a command on a central server that orchestrates everything (Ansible, Salt, chef-s…

The only thing I'd add is be sure to do it manually first - you'll need the solid foundation of understanding how it works (and how it fails) in order to automate it. Note the key word - understanding - and how that means that just googling the steps won't help you in the long run.

Set up & configure Jenkins to pull and build. Set up and configure nginx, MySQL/PostgreSQL, init files for your app, iptables to firewall off unnecessary ports, DNS, and LetsEncrypt SSL certs (and the associated nginx configs). Make sure nothing that doesn't need to be is running as root. Make sure that what is running needs to be running, and nothing else.

Then, start automating it. Toss in cloud features like ELBs, RDS instances, cloudformation (or terraform, etc), autoscaling groups, autoscaling container services, etc.

This will take you a very long time (and you will probably have enough skills to be hired as a "DevOps" engineer well before you're done), especially if you strive for understanding. But it's really the only way to get where you want to get and be good at it.

Re: Ask HN: DevOps learning resources

#24
post #5

Well, the best way to learn is to actually do something. Create a small service in your favourite framework. Something really small, an echo service will probably suffice. Then stop "developing" and switch on "Ops mode". Automate: - builds (build & packaging scripts) - deployments - try all 3 major approaches: - push deployment: running a command on a central server that orchestrates everything (Ansible, Salt, chef-s…

> - a status page (can't give you a decent example; you can build your own, but host it somewhere else than your main "app") Does statuspage.io have free trial accounts? Integrate with them for your demo/trial using API calls. Bonus points if you pull in applications metrics to your status page (response time, etc).

No. They start at $29/month

Re: Ask HN: DevOps learning resources

#25
I recommend the following books to learn more about the work involved on the Ops side:

https://www.amazon.com/Modern-Linux-Administration-Cutting-E...

https://www.amazon.com/Practice-Cloud-System-Administration-...

https://landing.google.com/sre/book.html

https://www.amazon.com/How-Linux-Works-Superuser-Should/dp/1...

https://www.amazon.com/Effective-Monitoring-Alerting-Web-Ope...

https://www.amazon.com/Ansible-DevOps-Server-configuration-m...

https://www.amazon.com/Terraform-Running-Writing-Infrastruct...

https://www.amazon.com/Amazon-Services-Action-Andreas-Wittig...

Re: Ask HN: DevOps learning resources

#27
post #5

Well, the best way to learn is to actually do something. Create a small service in your favourite framework. Something really small, an echo service will probably suffice. Then stop "developing" and switch on "Ops mode". Automate: - builds (build & packaging scripts) - deployments - try all 3 major approaches: - push deployment: running a command on a central server that orchestrates everything (Ansible, Salt, chef-s…

While I agree that learning by doing is the best way to start, once you get beyond the basics its nice to have some patterns and best practices outlined so you can try to do things more "properly".

Re: Ask HN: DevOps learning resources

#28
post #5

Well, the best way to learn is to actually do something. Create a small service in your favourite framework. Something really small, an echo service will probably suffice. Then stop "developing" and switch on "Ops mode". Automate: - builds (build & packaging scripts) - deployments - try all 3 major approaches: - push deployment: running a command on a central server that orchestrates everything (Ansible, Salt, chef-s…

Friends don't let friends configure Nagios...

Re: Ask HN: DevOps learning resources

#29
The new cloud space has changed a lot in the last few years. A short time ago I'd say you should learn about creating VMs, using ansible, scripting etc, now Kubernetes and Docker has changed much of that. Its worth looking at which space you want - with Kubernetes etc you barely need to know any Linux or scripting.

People learn differently - but I'd recommend starting there. Get the generous Google Compute intro special and write some apps. There is a bunch of free resources on the web - I can't point to anything specific. Linux academy, Safari books online are huge but not cheap.

Re: Ask HN: DevOps learning resources

#30
post #3

I made a mind map for learning DevOps : https://learn-anything.xyz/programming/software-development/... Clicking on nodes with a map will go to other mind maps with resources.

You might want to add in networking components as well. Throw in (OS) packaging as well (not all services are put into containers...). I'd change 'automation' to 'config management', since the former concept is also part of a number of other nodes (particularly CI and orchestration). Datastores and their efficient use are another set of nodes (databases, caches/cdns, things like s3). Secrets management (fun!) is another one, though that belongs under config management.
Post reply on HN