Co-authored by Ian Damianov and Alex Hardman.
Every company wants to ship faster. To ship faster, you have to ship safer, streamline your releases, and reduce the stress of release on your development team. Cody De Arkland, Head of Developer Relations at LaunchDarkly, and Taiji Hagino, Senior Technical Advocate at Datadog, got together to explore and explain how it’s possible to go faster, more safely, and with less stress.
Separate deployment from release
Although many teams equate deployments and releases, it doesn’t have to be this way. If you deploy your code to production and the feature is immediately available to your customers, you deal with significant risks. When deployment and release are coupled together, the risk of a deployment is as high as it can be – every time you ship code, the blast radius of your changes is 100% of your user base.
What if you could separate deployments from releases by treating them as separate events and thus drive out that risk? The first step in this process is to decouple deployments from release. When you decouple deployment from release, you can safely ship anytime and release on your own terms, when you’re ready.
As a mental model, to separate deployment from release, think of it this way:
- Deployments ship new code and shipping code is a technical decision and function.
- Releases expose new capabilities and experiences, decidedly a business decision.
With this model in mind, you can deploy code any time without releasing the feature to your users. When you're ready to release, you turn on new functionality for users with the flip of a switch. When you use LaunchDarkly, you can release features to targeted audiences, carefully controlling the blast radius of any change. For example, you can roll out a feature for internal testers only, make it available for a percentage of your customer base, or release it to a specific geographic region. When you're confident that the feature works as expected, you can ramp up your release on your terms.
When you separate deployment from release, you reduce the blast radius of deployments, avoid complex branching strategies, and simplify both your deployments and your releases.
How does feature management relate to this release process?
Feature management empowers your organization to easily roll out new functionality while increasing the precision of who you roll it out to. This allows you to maintain granular control during the release process. Engineers ship code at their pace, while business stakeholders retain the full control of when those features are enabled for your end users.
LaunchDarkly goes far beyond the ability to simply release new capabilities by integrating with the tools your team is already using to build, ship, observe, and collaborate. With over 25 SDKs for both the front- and back-end, integrations with IDEs, APM platforms like Datadog, collaboration tools, and project management tools, LaunchDarkly fits seamlessly into your existing development ecosystem.
Connecting progressive delivery and observability with Datadog
As you progressively release features, you need to be able to make informed decisions as to whether your rollout is working and if you should continue the rollout. Without deep observability into your system and data to back you up, it is all but impossible to make the right decision on whether to continue rolling out a new feature. Your observability strategy is paramount to the success of a progressive delivery strategy.
As you progressively release a new feature, there are a number of questions to pose as you decide to roll forward or roll back. These questions broadly fall into two categories: technical concerns and business concerns.
Technical questions like “Is latency still acceptable?” and “Has the error rate increased?” are essential for understanding the health of any change to a system.
Business questions like “Are we getting the business effect we were looking for with this change?” and “Are users discovering the new feature?” help you understand if you’re seeing the increased sales, customer satisfaction, or conversion rate you’re after and are just as critical.
Observability platforms like Datadog enable you to answer these questions with confidence grounded in real-world data. Datadog’s tools such as Application Performance Monitoring (APM), Real User Monitoring (RUM), and Log Management allow you to confidently adopt progressive delivery and accelerate your pace of release.
Watch the webinar to hear it all
This is just a small sampling of what we covered during the webinar, which includes answers from Cody and Taiji about questions like:
- What happens when feature management and performance monitoring join forces?
- What is the necessary set of stages when progressively releasing a new feature?
- Can I see a live walkthrough of the LaunchDarkly and Datadog integrations?