CloudBees has acquired Rollout!
Hot on the heels of our other recent big news, I’ve been itching to share this with the world and the day has finally arrived!
Developers are on the frontier of innovation, and at CloudBees we’re on a mission to give you the best tools to empower you to more easily harness that creativity and more quickly and safely realize value from your ideas. It’s something we really care about and are increasingly dedicating ourselves to.
We all live this day-to-day. We’re doing continuous integration and continuous delivery (CI/CD) to automate all the things and in doing so are at an immediate advantage in whatever we’re creating. Every day that passes CI and CD become an ever more important part of our workflows, fuelling continuous innovation and disruption across countless industries. It’s developers that are fueling those disruptions. Yet you still wish some things were easier. The reality is that you don’t always have the freedom to fully channel your creativity because much of the time you’re being inhibited by things that needlessly slow you down.
Best practice tells us we should integrate our code with that of other developers on our teams often, and continuously, allowing us to catch any issues as early as possible. But that’s difficult to do without the risk of breaking things when we’re developing anything significantly large and our work is incomplete, so we delay merging (merge paranoia anyone?), which leads us to end up with the anti-pattern of continuous isolation around long-running feature branches, where we spend a lot of time and effort keeping those branches in sync with the master and resolving conflicts from other peoples’ merges. If we don’t do this then when we eventually do come to merge, it’s even more painful and slow!
We also know that deployment to production always carries some inherent risk of breaking something. We do our best to minimize that risk with comprehensive CD pipelines and by applying best practices such as making the environments we test in resemble production as closely as possible, but we can never remove that risk entirely. And - ‘I like the sound of that pager beep that tells me that the changes I pushed through earlier have borked our service’ - is something no developer said, ever.
So how can we avoid merge paranoia and minimize the time-suck of conflict resolution it creates and simultaneously make deployments inherently safer?
Move fast and break nothing! Enter Rollout!
The Rollout team has built a developer-friendly feature flag (as a service) product that allows you to streamline the way you deliver value in the products you are building. It makes continuous integration easier, continuous delivery safer and makes it possible to deploy dormant (and even incomplete) code into production to be activated at a later time, and so allows you to decouple deployment from release.
In three simple steps, this is how Rollout works:
Define a set of feature flag objects in your application code.
Register your application with the Rollout dashboard, and add the App Key to your application’s code base.
Run your application.
And that’s it! Rollout automatically detects your feature flags and persists them to the Rollout platform. An easy-to-use GUI allows you to quickly enable and disable features in your application.
But that’s not all; Rollout helps in some other important ways too!
Testing in production
When you’re building large scale systems and services, it’s difficult (if not impossible) to replicate production environments and their interactions with users and other systems, so testing in production is a practice that’s increasingly important. Rollout provides a framework that makes it safe to do so. Using Rollout allows you to easily apply a progressive delivery strategy via canary launches for incremental exposure of features, or by targeting specific subsetted user segments. Whether the maintenance of your operational infrastructure is something that is the responsibility of dev teams, or separate ops/SRE teams, you can correlate incidents or operational issues detected in production to feature flag toggle events to quickly diagnose root cause, and then apply instant off switches without the pain of rollbacks.
Feature flag configuration as code
It’s not only easy to get started with defining feature flag objects in your code, but Rollout is super developer friendly in other ways too, providing the ability to configure every aspect of your flags via yaml files stored and version controlled right alongside your application source code. We’re huge fans of GitOps here at CloudBees, and the ability for Rollout feature flags to be managed as code means that those principles can be applied to control your application feature configuration across different environments without any changes to the deployed code. It also means that you can audit changes using tools like git diff as an alternative to using the Rollout GUI.
Beyond making your lives as developers simpler, and allowing you to get your code deployed faster than ever, Rollout is great for your wider product teams too; it makes experimentation via A/B and multivariate testing incredibly easy, with built-in feature analytics supporting modern product management and delivery practices such as hypothesis-driven development. Why argue about which implementation of a given feature or style of a menu is better, when instead you can let data inform you? Scientific method FTW!
Enabling customer success
Rollout also provides the feature visibility needed so that anyone in your organization across functions from support to customer success to sales, marketing and beyond can have immediate and clear information about the state of a particular feature in your products across all customers and customer segments.
New features or fixes can be rolled out to specific target customers or customer segments to gather focused feedback or to help address issues faced by specific customers in advance of wider availability. You can even securely give control of this to non-developer users to remove yourselves from being a bottleneck in the process.
By welcoming Rollout into CloudBees, we are taking another step forward in our quest to simplify the working lives of developers and increasingly cater for your software delivery needs to deployment and beyond. Whether you are creating your own solo projects, are part of a nascent startup, or are contributing to the products in organizations with thousands of developers - we got you fam!
What does this mean for you?
So what can existing and new Rollout users expect going forward? First of all, Rollout is now an important product within a larger organization. It will be getting even more love with further investment in making it even better! And Rollout users will benefit from all of the CloudBees expertise in building and supporting DevOps products at scale.
Co-founders Erez and Eyal are staying with the business and will remain focused exclusively on Rollout. Expect accelerated product innovation as the team is able to spend more time on creative product work. We’re already planning some awesome integrated functionality within the CloudBees suite - stay tuned :)
We’ve all been hugely impressed by the Rollout team’s vision and level of dedication to building innovative solutions that make developers more productive, and the passion that they bring to that. In all our discussions so far, I’ve been amazed at just how much synergy there is in our ideas for where we want to go with both Rollout and other developer-centric innovations. We’re thrilled to welcome them to the CloudBees fold and incredibly excited for what the future holds!
VP Product Management, CloudBees
PS: One more thing…….if you’re an existing CloudBees customer, we’ll have some special Rollout options for you soon!