- Feature Flagging What is feature flagging?
- About Us What is LaunchDarkly?
- Use Cases Why should I use LaunchDarkly?
- Simple Setup Is it easy to set up and integrate?
- Integrating How does it work?
- Speed Is it fast and reliable?
- Calculating Users How do you calculate monthly active users?
- Learn More How do I schedule a demo?
- Free Trial How does the free trial work?
- Build vs. Buy Can't I just build my own LaunchDarkly?
- Flag Management What can I do with feature flags?
- Rollouts How do percentage rollouts work?
- Targeting What is user targeting?
- A/B Testing How does A/B testing work?
- Team Support Can non-developers use LaunchDarkly?
- Integrations Does LaunchDarkly integrate with my team's tools?
- Feature Flags What types of feature flags do you support?
- Platforms What platforms do you support?
- REST API Do you have a REST API
- Performance How do you ensure no latency?
- SSE Do you make a remote call every time a feature flag is requested?
- Firewall Do I need to modify my firewall to use LaunchDarkly?
- Reliability What happens if LaunchDarkly goes down?
- Consistency If I have a large number of backend servers, will LaunchDarkly serve features to my users consistently?
- Projects & Environments How do they work?
- Overhead What's the overhead of a feature flag request?
Feature Flagging - What is feature flagging?
Feature flags are a software development best practice of gating functionality. Functionality can be deployed “off”, then turned on via the feature flag, separate from deployment. With feature flags, you can manage the entire lifecycle of a feature. To learn more, read our feature flagging guide.
About Us - What is LaunchDarkly?
LaunchDarkly is a continuous delivery platform that powers developers to build better software, faster. It provides the benefits of feature flag driven development. to both small and large teams.
Use Cases - Why should I use LaunchDarkly?
LaunchDarkly revolutionizes continuous delivery by allowing you to iterate quickly and safely. We allow you to easily flag your features, which enables you to manage them from the LaunchDarkly dashboard. Learn more about our most popular use cases.
- Roll out a new feature to a subset of your users (like a group of users who opt-in to a beta tester group), gathering feedback and bug reports from real-world use cases.
- Gradually roll out a feature to an increasing percentage of users, and track the effect that the feature has on key metrics (for instance, how likely is a user to complete a purchase if they have feature A versus feature B?).
- Turn off a feature that you realize is causing performance problems in production, without needing to re-deploy, or even restart the application with a changed configuration file.
- Grant access to certain features based on user attributes, like payment plan (eg: users on the ‘gold’ plan get access to more features than users in the ‘silver’ plan). Disable parts of your application to facilitate maintenance, without taking everything offline.
Simple Setup - Is it easy to set up and integrate?
Yes! We've made LaunchDarkly extremely developer-friendly and easy to integrate. You and your team can start controlling your first feature in minutes. We also provide excellent customer support to help you get started.
Integrating - How does it work?
LaunchDarkly lets developers wrap features or application behavior in our feature flags. You can then manage your features on the LaunchDarkly dashboard, roll out to users, and see how well things are performing. LaunchDarkly gives you total control of your application.
- Turn features on and off for your users without waiting for engineering.
- Roll out to percentages of your population, segments, or whatever rules you define.
- Get faster feedback from the people you want. Measure the impact of your features with our NewRelic and Optimizely integrations.
Speed - Is it fast and reliable?
Our unique streaming architecture ensures that feature flags are updated instantly, without introducing any latency to your site. LaunchDarkly's performance is even faster than storing feature flags in your own database. We also have multiple layers of redundancy. All flags are served locally and are backed up by two layers of globally distributed CDNs. With the architecture, a feature flag will always be available.
Calculating Users - How do you calculate monthly active users?
We calculate the number of unique users across all environments over your billing cycle. Anonymous users are tracked by session, so a single user who visits multiple times will only be counted once.
Learn More - How do I schedule a demo or get more info?
Complete this form to schedule a free demo and we will be happy to demonstrate the platform and answer all your questions. Our feature flag platform is built to support both small and large development teams with enterprise-grade speed and reliability.
Build vs. Buy - Can't I just build my own LaunchDarkly?
Feature flagging is a straightforward concept that becomes difficult to manage at an enterprise scale. It’s easy to manage one feature flag by modifying a configuration file, but when you have multiple feature flags across different environments, it’s hard to manage employee access, track changes, and avoid severe technical debt. We have spent years building a feature flagging platform that allows teams to manage their flags at scale, control access, track changes, mitigate technical debt, perform boolean and multivariate rollouts, and measure the impact of their features. We built an intuitive UI that allows you to organize flags, track their status, and manage a team. Check out this article on building vs. buying a feature flagging platform to learn more.
Flag Management - What can I do with feature flags?
LaunchDarkly provides an intuitive dashboard that lets developers wrap features or application behavior in our feature flags. You can then manage your features on the LaunchDarkly dashboard, roll out to users, and see how well things are performing. See our list of benefits and use cases.
Rollouts - How do controlled rollouts work?
The Targeting tab allows you to roll a feature out to a percentage of your user base. For example, you can roll a feature out to 1% of users, then gradually scale up to 100% as confidence in the feature increases. You can also perform percentage rollouts on segments of your users. For example, rolling out a feature to 50% of your users whose email ends in gmail.com and who are from Canada. LaunchDarkly's rollouts ensure that a user will always see the same version of a feature until the rollout changes. Top tech companies have termed this a canary release - exposing features to some subset of users (whether it be opt-in, random rollout, or specific segments) is now used to describe what was once a beta.
- Microsoft: In development of Windows 10, Microsoft used “canary” releases to test with internal users within Microsoft. Gabe Aul, who leads the Data & Fundamentals Team in the Operating Systems Group (OSG), said “our Canary ring probably sees 2X-3X as many builds as OSG because we catch problems in Canary and don’t push to OSG.”
- Instagram: “Using ‘canary’ releases, updates go out to a subset of users at first, limiting the ability of buggy software to do damage.” Mike Krieger, Instagram co-founder and CTO, said he uses canary releases because “If stuff blows up it affects a very small percentage of people”.
- Google: For Chrome, Google offers Chrome Canary, which it labels with “Get on the bleeding edge of the web, Google Chrome Canary has the newest of the new Chrome features. Be forewarned: it’s designed for developers and early adopters, and can sometimes break down completely.”
Targeting - What is user targeting?
LaunchDarkly targeting lets you turn features on or off for individual users or groups of users. You can use the Targeting tab to roll out features for internal testing, private betas, or usability tests before performing a broader rollout. You can create your own custom rules to target who you want, when you want, and rollout to percentages of those user segments.
A/B Testing - How does A/B testing work?
LaunchDarkly lets you create goals to measure the effectiveness of a feature. You can track click goals, page view goals, or create custom goals. We also seamlessly integrate with Optimizely, so you can import your existing goals! We track all user events and let you see exactly how a feature is performing. Our analytics dashboard will help you see which feature variations are performing the best!
Team Support - Can non-developers on my team use LaunchDarkly?
Yes! While you will need a developer to integrate LaunchDarkly into your application, our dashboard allows non-technical team members to see how features are performing and toggle features without the need to rely on engineering. We strongly recommend you work closely with your developers to make sure that everything works appropriately.
Integrations - Does LaunchDarkly integrate with my team's tools?
Feature Flags - What types of feature flags do you support?
LaunchDarkly supports both boolean and multivariate feature flags. A boolean flag has two variations true and false, which works best for feature flags that will simply turn things on and off. A multivariate flag allows you to define two or more custom variations. These variations can be strings, numbers, JSON objects, or JSON arrays. View our SDKs
Platforms - What platforms do you support?
REST API - Do you have a REST API?
Yes! All of our SDKs are built on top of the LaunchDarkly REST API. In fact, the entire LaunchDarkly web site is driven via the same API, so it's heavily tested and complete. If you want to build a custom integration, export your data, or want to use LaunchDarkly on a platform that we don't currently support, this API reference is the place to start.
Performance - How do you ensure no latency?
Our unique streaming architecture ensures that feature flags are updated instantly, without introducing any latency to your site. LaunchDarkly's performance is even faster than storing feature flags in your own database. We also have multiple layers of redundancy to ensure your users always receive a flag.
SSE - Do you make a remote call every time a feature flag is requested?
LaunchDarkly uses a novel streaming architecture to serve feature flags without making remote requests. We use server-sent events (SSE), a protocol for one-way real-time messaging, to send messages to your servers whenever you change the feature flag rules on your dashboard. SSE is widely used for server-to-browser messaging, but it works equally well for server-to-server communication. The SSE connection is all handled under the hood by our SDKs.
Firewall - Do I need to modify my firewall to use LaunchDarkly?
In most cases no— our streaming connection only requires that your server be able to make an outbound HTTPS connection to *.launchdarkly.com.
Reliability - What happens if LaunchDarkly goes down?
Outages happen, but LaunchDarkly uses a CDN to continue serving your feature flags uninterrupted in case something goes wrong with our backend servers. Even if the CDN goes down (we use Fastly, a widely-used CDN provider), your servers will continue operating with the last set of feature flag rules, so your customers will continue seeing the right set of features.
Consistency - If I have a large number of backend servers, will LaunchDarkly serve features to my users consistently?
Yes. With our streaming architecture, updates will be reflected in all your servers within milliseconds. If you require even stronger consistency guarantees, you can configure our SDKs to read and write from a shared Redis store.
Projects & Environments - How do they work?
Projects allow you to manage multiple software projects under one LaunchDarkly account. For example, you can create one project called Mobile App and another project called Web App. Each project will have its own unique set of environments and feature flags. Environments let you manage the feature flags on your development, staging, and production instances separately. Each environment has its own separate flag data and API keys. You can use environments to manage feature flags during local development, pre-flight flag changes in staging before rolling out to production, and more.
Overhead - What's the overhead of a feature flag request?
Almost nothing. LaunchDarkly's SDKs use a streaming connection to asynchronously receive updates to your feature flag rules. Your actual feature flag requests are served from memory (or a Redis store, if you configure one). This adds less than 1 millisecond of latency to your page loads— about as fast as looking up a value in a hash table.