This post is the next in our Inside DevOps series, where we share lessons learned from those on the frontlines of DevOps.
Climavision is a climate technology weather solutions provider based in the US.
What is DevOps to you? How do you define it?
Dale: DevOps is a set of principles, practices, and tools that promote collaboration, automation, and continuous delivery to improve the quality and speed of software delivery. It's all about using those principles, practices, and tools to create a common ground and empower software engineers to own the entirety of the solutions they build. No more throwing things over the fence.
When you can take into account how you deploy your code, where it's hosted, and what services it has access to, the quality and completeness of the solutions you build increase exponentially.
How did your DevOps journey start?
Dale: Like many things in the field, it started from a need to solve a problem and add extra capabilities. I wanted to experience the entire DevOps cycle so that I could lead a product development team with a full understanding of the process. And that’s when I fell in love with Octopus! It allowed me to mature my DevOps thinking, with a set of best practices yet flexibility to customize the deployment process to our specific needs.
What’s the biggest challenge Octopus has helped you with?
Dale: It provides us with psychological safety around releases. Everything is a snapshot at the time of release creation, so I know that if anything goes wrong, I can re-deploy the previous version with certainty that everything will be back up again. Especially in a world of high service level agreements (SLAs), the ability to roll back almost instantly is critical. What could take 3-4 hours, we can do with Octopus in a matter of minutes.
What’s the most rewarding part of DevOps?
Dale: When you solve a problem so day-to-day operations become simple and the experience for developers is so much better.
Maturing as a DevOps organization also lets you focus more on solving business problems, rather than fighting technical issues.
Are there any pitfalls to avoid when implementing DevOps?
Dale: Deciding when you've gone too far with over-processing things. It's easy to want to automate everything, especially as you get better at it and see that growth in DevOps maturity. The challenging part is not making DevOps automation a given but evaluating which parts are actually worth the time and effort.
What are some DevOps best practices you’ve implemented at Climavision?
Dale: In our organization, alongside our source code, we have folders for Infrastructure as Code (IaC). We use IaC to automate the target resources we deploy to, but we also use it to create the repository and Octopus project.
What advice would you give to someone just starting their DevOps journey?
Dale: A little goes a long way. It's surprising what even the simplest bit of automation will do to improve day-to-day development. After you see that improvement, you'll become hooked and start to see more and more of these little quick wins. And these wins add up, and you can deliver more value to your team. This positive cycle allows for in-depth and informed discussions on implementing even greater improvements.
What DevOps book do you recommend reading?
Dale: I send 3 books to anyone who starts on my team:
- Terraform: Up & Running: Writing Infrastructure as Code
- Kubernetes: Up and Running: Dive into the Future of Infrastructure
- Learning Helm: Managing Apps on Kubernetes
And what is one thing about you that might surprise us?
Dale: Not sure if it will surprise you but I like woodworking quite a lot. It's enjoyable for me to do the upkeep around the house, modify or build as my wife desires, and build custom furniture.
That sounds just right - applying patterns and building things fits the developer persona perfectly!