DevOps is often touted as a way to speed up development and deployment of software but realising its full potential can be elusive.
For one thing, while many software teams can set up a continuous integration (CI) server rather easily, they struggle to achieve full continuous deployment (CD), often the hardest part of many software delivery pipelines.
Brisbane-based startup Octopus Deploy was formed in 2011 to tackle that challenge. After years of strong organic growth and profitability, it recently secured $172.5m in venture funding to grow and scale its business, with an eye on the enterprise market.
In an interview with Computer Weekly, Derek Campbell, senior solutions architect at Octopus and one of the company’s earliest employees, talks up the DevOps challenges that software teams are facing today and how Octopus is being used by enterprises to address those challenges.
Tell me more about Octopus Deploy and the problems it’s trying to solve.
Campbell: Octopus Deploy is a deployment automation tool that simplifies software deployments. It started as a .Net deployment tool developed by our founder and CEO, Paul Stovell, when he was working in Readify where he found that everyone had the same problems with complex deployments.
For example, when I was working in operations, there was some separation of duties. The developer stood over my shoulder and told me what to do if a DLL (dynamic link library) fails or to take things out of load balancers. What Octopus does is to automate all of that in your CI/CD pipeline and make it more repeatable and reliable. Our deployment process is the same for development and pre-production so when you get to production, you have a much higher guarantee that something is going to work. The more often you release and deploy, the more robust your deployment process.
More importantly, it takes that complex technical and people challenge – because development, operations, project management and databases administrators are all involved – and simplifies it through a user interface which you can use to manage your deployment and DevOps strategy.
What’s your pitch to DevOps engineers who might already be using other deployment automation tools?
Campbell: Over the years, Octopus has grown organically and spread through word of mouth. I was on a project that was implementing DevOps and CI/CD at the time and one of my friends pointed me to the tool. Everyone here is or has been an engineer of some sorts, so we know how to solve problems for DevOps teams.
The key thing when we talk to decision-makers about Octopus is repeatability, where you only need to define your deployment process once, whereas for other platforms, the process is slightly different for development, testing, and pre-production. That doesn’t inspire the same confidence.
Also, one of the key things we have is dashboards, which you can use to see exactly what fails. If you look at other products, dashboarding isn’t really in place. When you want to see all your projects, sometimes you’ve got that single view, which is good for some people, but when you’re looking at thousands of projects, you’d want to have a dashboard. That brings value for not just developers, but operations as well.
One of the key problems that we see with technology is that it enters your personal life, and you can use Octopus to get some of that time back. I’m not saying you’ll get all of it back, but you will definitely get some of that time back through scheduled deployments and Runbooks that automatically switches over to disaster recovery, for example.
Would you say that the flexibility of the platform is one of Octopus’s key value propositions, since DevOps practices differ across organisations?
Campbell: DevOps can mean different things to different people. But ultimately, it about breaking down silos and solving people problems. You’re absolutely spot on about the flexibility. As we’ve grown, the tool has become much more flexible, and it does so much more.
One of our key features is multi-tenancy that enables people to use Octopus at massive scale. Let’s say you have SaaS [software-as-a-service] product and you’re rolling that out to 1,000 customers. Normally, you’d have to configure 1,000 environments, but with Octopus, you configure once and attach the tenant to the project. If you scale that up to four environments per customer, then you could manage 4,000 environments through a single deployment process.
Are there any interesting use cases or deployments that people typically wouldn’t think of when they’re using your platform?
Campbell: We see a lot of people use it for geographical apps that take advantage of multi-tenancy. We’ve also seen configurations on point-of-sale systems at a large chain in the US with more than 85,000 stores. That’s generally not what we expected, but the release of the new Arm64 processors used by internet-of-things devices makes it possible.
Do these tend to be microservices-based deployments, for some of these use cases?
Campbell: Yes, we see microservices a lot, as part of a bigger technology trend. But we also see people deploying to virtual machines using .Net. Everyone’s doing DevOps but there’s also still a massive requirement for people who still have servers on premise.
Can you talk about how Octopus is helping to address the security related aspects of DevSecOps?
Campbell: On the security side, you normally do things like penetration testing. With Octopus, you can kick off things like your security tests. So, for instance in the past, I used a penetration and testing tool, and I was able to continue using that. You can also deploy things like certificates and call APIs [application programming interfaces] to do all sorts of security-related things. DevSecOps is definitely something you can do with Octopus. It’s not necessarily something that is built in yet, because there are so many aspects of security. It’s about securing the application as it is about traversing networking and those sorts of stuff.
Could you talk about Octopus’s international footprint?
Campbell: I was one of the first few employees outside Australia and we also had a support engineer in Argentina. We’ve grown aggressively and in the last three and a half years, we’ve hired people in the US and UK, and we’ve just brought on a New Zealand office. We have 80 people at the start of the year, and we’re now at 150. We will continue to grow a lot and we have aggressive hiring plans.
How did the Octopus name come about?
Campbell: When you think about an octopus, it’s really a visual representation of what goes on in DevOps. You’re the person doing the deployment, you’re the head of the octopus, and what you’re doing is to touch different aspects of DevOps. That was how Paul came up with it.
Read More:How Australia’s Octopus Deploy is simplifying DevOps