I just sent out an email to our mailing list subscribers asking for feedback and early adopters that want to try Octopus 2.0. If you're not on the mailing list or didn't get the email, you can take the short survey here.
The vision for 2.0
In Planning Octopus 2.0, I shared a bit about our vision for the 2.0 release:
We're not going to go so far as to completely rewrite everything, as that would be a bad idea. But at the same time, 2.0 is going to be different. 1.0 was a great way to learn more about the problems we're trying to solve with Octopus, and 2.0 is where we'll apply those lessons. Octopus 2.0 will be the product someone else would have built.
There's a lot of big features we want to build over the next 6-12 months, but they didn't fundamentally fit with our existing architecture. The architecture of Octopus worked fine for Octopus 1.X, but when we looked across the horizon to what Octopus 2.X might be, we had a lot of internal changes to make in order to support many of them. We've learned a lot about how automated deployments ought to work since Octopus was first designed, so we bit the bullet and we've been busy refactoring for the last couple of months. The biggest changes we've been making are:
- Rewriting our server/agent communications stack to work on Mono and support push and pull-based deployments
- Creating a powerful and extensive RESTful API
- Rewriting our UI to be wholly dependent on that REST API - when 2.0 ships there'll be nothing you can do in the UI that you can't do via the REST API
- Big changes to the way steps and variables are modeled and stored, letting you share them between projects/environments much more easily
Initially, I'd imagined we'd make these changes, and then add a heap of features building on top of those changes, and call it 2.0. Instead, we're going to:
- Ship what we have as soon as possible to a small number of people (that's what the survey is for)
- Polish it up
- Release it
Once 2.0 is stable and ships, then we'll try to get back into our rhythm of fortnightly releases where we can add one or two features at a time.
What's in and what's out?
Our Trello boards have been updated to give you a better picture of what's in and what's coming later. Here's the board for what's going to be in Octopus 2.0:
And this is the board for the releases we plan to make after Octopus 2.0 ships:
Octopus 2.0 will still be a big release, but it won't be as big as I initially thought, which at least means we'll be able to ship it sometime soon. After all, software that isn't in the hands of real users isn't getting any better.