

Adventures in DevOps
Will Button, Warren Parad
Join us in listening to the experienced experts discuss cutting edge challenges in the world of DevOps. From applying the mindset at your company, to career growth and leadership challenges within engineering teams, and avoiding the common antipatterns. Every episode you'll meet a new industry veteran guest with their own unique story.
Episodes
Mentioned books

Oct 15, 2019 • 37min
DevOps 013: Application Monitoring Using RED With Dave McAllister
This episode of Adventures in Devops features Dave McAllister. Dave has an extensive background in open source starting in 1994 working with early versions of Linux. He thrives on the concepts of emerging technologies and being able to innovate things. He also loves understanding what people are doing with emerging technology. The discussion opens up by introducing the topic of multi-dimensional monitoring in RED. Dave gives us an introduction into RED as a subset of google’s SRE Golden signals. RED stands for rate, errors, and durations and is a concept that is designed for working with micro services. The DevOps panelists discuss concepts such as saturation and how to ensure correct results from their micro services using the RED concepts as well as some best practices for managing micro services. Nell asks about the scope of RED and whether it works with the big picture of what the micro service is doing. Dave shares that the scope of RED pertains to both. RED helps with observability and how to get the right signals out of all the noise and how to respond once the correct signals are found. He shares that RED should be a set of metrics in a dashboard that can be aggregated. He explains that RED gives the user a way of grouping data together and helping them to normalize functionality and find trends. The next topic covered by the DevOps experts is how to map the metrics seen in RED to the user experience. Dave explains how RED monitors the users activity and can put together metrics based on what they’re doing. Using RED to follow user metrics will help to identify trends in where users will have issues and identify problem areas. Using micro services with RED introduces a level of granularity that can be monitored to help improve the performance of the application and improve scaling. RED helps with these improvements most notably by improving reaction time once a problem is found to help correct it as soon as possible. The panelists discuss some real world examples and how real world activities and human tendencies can alter patterns seen in the monitoring. Dave points out that one of the strongest recommendations he can make about RED is its ability to start simple and scale upwards as needed. The panelists then go on to discuss the human aspect of RED, how a team would react to changing, and how RED really requires a true DevOps team to reach its full potential. The panelists then share experiences they faced earlier in their careers as developers and how RED could have helped them. Nell brings up the idea of service meshes and how RED applies to them. Dave starts by introducing some problems in micro services and service meshes and the opportunity that exists for RED to come in and help solve those problems. He explains how service meshes in micro services give you duration that you don’t have to implement. They finish with covering the usage of Kubernetes operators. PanelistsNell Shamrell-Harrington GuestDave McAllister

Oct 8, 2019 • 47min
DevOps 012: Containerizing an Application
On this episode of Adventures in DevOps the panelists talk about how to containerize an app in a container using services such as Docker or Kubernetes. Charles mentions that he is wanting to host a Ruby on Rails application and Scott has experience with web deployments in Python and Django. They share that regardless of the languages and technologies used, the principles behind deploying a containerized application are the same.The next topic covered by the DevOps panelists is how to create containerized instances using Docker. The discussion centers on creating the container instances on a network and best practices that can be used for managing and maintaining them. The DevOps panelists cover the difference between an internal network deployment and what is needed to push a containerized application to a cloud instance using Kubernetes, Docker, DigitalOcean, or another service. Scott asks Charles if he is using a good CI/CD (continuous integration/ continuous delivery) mechanism, to which Charles shares that he is using Cloud 66 for its ease of use. When it comes to storage, they discuss whether to use the cloud services storage option or using a container to run a Postgres engine. They also go over the best way to run the shell commands for configuring their environment.The topic then moves to security and asset management when using Docker. Charles mentions that he tries to avoid putting API keys or other secrets into the Docker file and Scott shares how he uses a secrets management platform such as AWS Parameter Store, AWS Secrets Management, and others. They discuss the benefits that are provided by secrets management platforms. The DevOps panelists also talked about how a CI/CD platform can help with the portability of a containerized applicationCharles asks Scott how to begin with helping someone who wants to take their existing application and containerize it using the Docker approach. Scott responds with describing how he would look at where there application is and help them configure their containerized instance and set it up on a container service such as Docker or Kubernetes. Scott mentions that the strength of moving an application to a container service helps the application to scale up and down as needed. The container model helps a team to locally replicate their CI/CD model and be able to test it locally before the application is pushed to the cloud instance.The panelists talk about reverse proxies for pushing a Ruby on Rails app. Chuck prefers nginx and Scott emphasizes that it is important when pushing to production to spend some time verifying that the reverse proxy configuration is correct and won’t expose the application in a way that it shouldn’t be. Chuck shares that the use of a cloud platform such as GCP (Google Cloud Platform) of Microsoft Azure reduces the overhead with configuring containers and building images so that when he hands it off to the platform, it will take care of a large part of the setup including creation of the reverse proxy. PanelistsCharles Max WoodScott Nixon

Sep 24, 2019 • 41min
DevOps 011: Let's Talk Agile
In this episode of the Adventures in DevOps podcast, the panelists talk about Agile. Nell starts the discussion by mentioning that Agile came out of the Scrum movement and gives a brief history of how it started. She reads out the Agile Manifesto, and Scott explains what it is. They agree that “move faster slowly” can be considered as a motto of Agile. Scott talks about the testing aspect of it from a philosophical perspective, and Nell chimes in with comparison to how things were being done in the past versus now.They discuss the 12 principles behind the Agile manifesto. One - Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. Two - Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage, basically valuing learning and improvements. Three - deliver working software frequently, from a couple of weeks to a couple of months with a preference for a shorter time scale, the focus being on the code being in a working state. Four - Business people and developers should collaborate daily through the project. Scott elaborates on the point further, and shares his experience where it was challenging to work with the business side of the project.Five - Build projects around motivated individuals, give them the support they need and trust them to get the job done, trust being the most important factor here. Six - The most efficient method of conveying information is having a face-to-face conversation, here the panelists provide a counter-argument that in the era of online platforms and remote work, this is not necessarily essential. Seven - Working software is the primary measure of progress. Eight - Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely. ‘Sustainable’ is key here, avoiding overworking and burnout is important anyday. Nine - Continuous attention to technical excellence and good design enhances agility. This means doing the full set of code reviews and tests and still deploy software quickly and making sure that it doesn’t break things, if it does, it has to be rolled back.Ten - Simplicity - the art of maximizing the amount of work not done - is essential. This highlights the need for focus in the product, and not writing a lot of code that could eventually be unusable. Eleven - The best architectures, requirements, and designs emerge from self-organizing teams. Panelists talk about people involved in open source projects as an example of such self-organizing teams, where they work on their own schedule and have great interest in what they are building. Twelve - At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly. Retrospectives, reflecting where you are, how the team works together and documenting results as some sort of a learning exercise, are some of the practical examples of this.Nell then talks about the three layers of Agile infrastructure by Patrick Debois - considered as the father of DevOps. These constitute of technical - the hardware and software, project - the process that introduces changes in the environment, and the operations - the process of keeping the environment working.They state that we can build effective technology if we can relate to each other as humans, and discuss how Agile is perceived in certain controlled environments, if it’s possible in an Agile fashion and still have prescriptive solutions. They end the show with picks.PanelNell Shamrell-HarringtonScott Nixon

Sep 17, 2019 • 58min
DevOps 010: What Makes a 10x Engineer
Episode SummaryOn this week's Adventures in DevOps, Chuck talks about the recent Twitter thread about 10x engineers. He goes through each of the points in the tweet and talks about each of them in turn. There are only two points he sort of agrees with, and believes the rest to be absolute garbage. One of the issues with this tweet is that it doesn’t define what a 10x engineer is.Defining a 10x engineer is difficult because it is also impossible to measure a truly average engineer because there are many factors that play into measuring productivity. Chuck turns the discussion to what a 10x engineer is to him and how to find one. A 10x engineer is dependent on the organization that they are a part of, because they are not simply found, they are made.When a 10x engineer is added to a team, the productivity of the entire team increases. Employers have to consider firstly what you need in your team and how a person would fit in. You want to avoid changing the entire culture of your organization. Consider also that a 10x engineer may be hired as a 2x engineer, but it is the employer that turns them into a 10x engineer.Overall, Chuck believes these tweets are asinine because it’s impossible to measure what makes a 10x engineer in the first place, and hiring a person that fits the attributes in the list would be toxic to your company.PanelCharles Max Wood

Sep 10, 2019 • 47min
DevOps 009: Learning DevOps
Episode SummaryIn this episode of the Adventures in DevOps podcast, the panelists talk about getting started with DevOps and learning its principles and technologies. Lee and Scott mention that they share a similar journey, initially starting as system administrators and working their way into DevOps. Nell says that she was a Ruby and .NET developer before learning cloud technologies such as Heroku, Chef, and Docker.To someone with a programming background wanting to get into DevOps, Lee highly recommends three books - The Practice of System and Network Administration, The Practice of Cloud System Administration: DevOps and SRE Practices for Web Services - Volume 2, and Time Management for System Administrators. He mentions that they are technology-agnostic and help in understanding what is really going on in the system. Scott stresses on the importance of understanding basic networking, linux systems and commands, bash scripting and knowing the core fundamentals and interactions of the underlying systems. He suggests going for online resources, tutorials and boot camps which are plenty nowadays and easily accessible as well.Nell advises listeners to pick a cloud provider such as Digital Ocean 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. The panelists talk about working on specific projects and getting hands dirty rather than traditional learning, to enhance their DevOps skills.Nell explains how they implement the 'learning by doing' concept at work. She mentions that understanding how virtual machines and physical servers work is crucial before moving on to learning about containers. Lee suggests Vagrant - a tool for building and managing virtual machine environments, as a good resource for the same. They caution that while it is important to learn things during our time off, self-care and setting healthy boundaries is paramount. It is ok to take longer to learn something given that DevOps as a whole can be extremely complex, and working in a non-pressure environment can be very beneficial. They recommend Ops School for beginners which is a comprehensive program aimed at people who want to get into operations engineering.They then share their insights on monitoring and how to get started with it. Lee recommends the book Practical Monitoring, and Sensu - a monitoring event pipeline, as good starting points.DevOps can be considered as a technical as well as a cultural movement. To that effect, they discuss where should people start learning the associated cultural elements. Nell recommends reading the books - Effective DevOps, and The Phoenix Project and Crucial Conversations. Lee advocates going old school with the writings of Richard Stallman, and books of the 80s and 90s such as The Art of C Programming. They mention that conversational skills and dealing with people are critical skills in today's work environments. Scott recommends Google's Site Reliability Engineering books which have a lot of great stuff to build a solid foundation and are also free to read online.Finally, they talk about how to keep learning and expanding knowledge. Some effective suggestions discussed include extensive practicing, working professionally, solving business problems, building expertise in programming, and attending DevOps Days events and Linux Users groups. They end the episode with picks.PanelNell Shamrell-HarringtonLee WhalenScott Nixon

Sep 3, 2019 • 47min
DevOps 008: Disaster Recovery

Aug 27, 2019 • 53min
DevOps 007: Monitoring in a Technical Environment

Aug 20, 2019 • 53min
DevOps 006: All Things Cloud with Bob Quillin

Aug 13, 2019 • 33min
DevOps 005: Chef Explained

Aug 6, 2019 • 40min
DevOps 001: What is DevOps?
PanelNell Shamrell-HarringtonLee WhalenScott NixonEpisode SummaryWelcome to the first episode of the Adventures in DevOps podcast! The panelists Nell Shamrell-Harrington - Principal Engineer at Chef Software, Lee Whalen - Principal Engineer and President at Fuzzy Logic Tech, and Scott Nixon - Founder at Cloud Mechanics, kickstart the show by introducing themselves and their work. They begin the discussion by attempting to answer the fundamental question - What really is DevOps? They discuss at length the intersection of DevOps with cloud native computing. They talk about what it means to implement the DevOps way of working, what factors does it depend on, the importance of having a DevOps measuring index to make its deployment successful, prioritizing disaster recovery especially for startups, and the security concerns associated with DevOps deployment in general. This being the first episode, they discuss what they would each like to cover in the future episodes and come up with interesting topics. PicksQuiverCaptain MarvelThe Rise and Fall of the DinosaursAWS Simplify