DevEd 030: Learning DevOps
In this episode of the Dev Ed podcast, the panelists talk to Nell Shamrell-Harrington, Principal Engineer at Chef Software. Nell introduces herself and gives a brief background about her software development journey so far and talks about how she started working with DevOps. She is also a co-host of the Adventures in DevOps podcast on Devchat.tv.
The meaning of the term DevOps can be quite cloudy, so before discussing learning DevOps, they talk about what it actually means and how it differs from traditional development. Nell breaks down the term and describes in detail the approach of merging developers and operational professionals. Joe highlights the cultural aspect of DevOps and how it plays into the way of working. Nell explains the right way of organizing teams, the internal interactions among them, accountability, and some of the dos and don'ts involved.
Other panelists chime in with their views on the DevOps culture as well. They discuss the best practices, challenges faced, eliminating silo and sharing responsibility. They tackle the question of how to encourage seamless communication among teams and avoid conflicts. Nell explains that what works well in these cases instead of getting everyone together leading to chaos and blame games, is selecting representatives from both development and operations and ironing out the miscommunication.
The next topic of discussion is why should a beginner developer care about DevOps at all. As applications become more complex, the need arises to think about their underlying infrastructure in order to optimize them and it is beneficial to have an idea of where they might be deployed. As a developer progresses from the beginning stages to advanced ones, it is natural to know about the deployment environment, data centres, and DevOps concepts in general. Due to advancements in technology, these areas have become very accessible as well.
They steer the discussion towards what parts of DevOps should one focus on while getting started, given that there are a plethora of tools and technologies involved. Nell advises listeners to pick any major cloud provider and learn the basics by working with it, which can later be applied to any other cloud provider. She also recommends learning programming languages to get a good software development foundation. Sam shares his own experience with Digital Ocean and highly recommends their learning materials. Mike and Jesse suggest understanding how Continuous Integration works and mention that it is a great starting point. Mike points out that knowing that there are multiple environments at play - staging, production, testing and so on, helps a great deal.
Speaking about Docker, Nell says that while it is an amazing technology which made containers extremely usable on a large scale, it is not a good idea to run the entire infrastructure on just containers, given that containers can be very ephemeral and there is a risk of losing data. For learning purposes though, she recommends Docker as it runs well on local environments. She explains what Chef is and the difference between Docker and Chef.
The panelists then describe what Netlify is, how it works, and how good it is from the learning perspective. They then talk about some great resources for beginners to start with, Nell recommends Kubernetes, and explains what it means to orchestrate containers. Sam talks about Bruno Krebs' Kubernetes tutorial and Thinkster's Docker courses as awesome learning materials. They end the show with picks.
Joined by special guest: Nell Shamrell-Harrington
- Nell's Twitter
- Adventures in DevOps
- The Phoenix Project
- Digital Ocean
- The Illustrated Children’s Guide to Kubernetes
- Kubernetes Tutorial
- Docker Courses - Thinkster.io