Book Image

Feature Management with LaunchDarkly

By : Michael Gillett
Book Image

Feature Management with LaunchDarkly

By: Michael Gillett

Overview of this book

Over the past few years, DevOps has become the de facto approach for designing, building, and delivering software. Feature management is now extending the DevOps methodology to allow applications to change on demand and run experiments to validate the success of new features. If you want to make feature management happen, LaunchDarkly is the tool for you. This book explains how feature management is key to building modern software systems. Starting with the basics of LaunchDarkly and configuring simple feature flags to turn features on and off, you'll learn how simple functionality can be applied in more powerful ways with percentage-based rollouts, experimentation, and switches. You'll see how feature management can change the way teams work and how large projects, including migrations, are planned. Finally, you'll discover various uses of every part of the tool to gain mastery of LaunchDarkly. This includes tips and tricks for experimentation, identifying groups and segments of users, and investigating and debugging issues with specific users and feature flag evaluations. By the end of the book, you'll have gained a comprehensive understanding of LaunchDarkly, along with knowledge of the adoption of trunk-based development workflows and methods, multi-variant testing, and managing infrastructure changes and migrations.
Table of Contents (18 chapters)
1
Section 1: The Basics
5
Section 2:Getting the Most out of Feature Management
11
Section 3: Mastering LaunchDarkly

What this book covers

Chapter 1, Introduction to Feature Management with LaunchDarkly, explains the modern software development landscape, where feature management fits within it, and how feature management can be integrated into CI/CD processes. This context will lay the groundwork for the following chapters to explain how feature management can be used to add value to products, teams, and businesses.

Chapter 2, Overview of Feature Management, details what feature management is, how it empowers development and product teams, and how it can be used to reduce risk. Examples are provided for the two main types of feature flag with a comparison between them. The chapter concludes with information about testing in production.

Chapter 3, Basics of LaunchDarkly and Feature Management, introduces LaunchDarkly, explaining how to implement the tool, detailing the functionality available to create and manage feature flags, and exploring the concept of LaunchDarkly's user system. Additionally, the chapter details the role management functionality of LaunchDarkly to allow you to get started in the right way.

Chapter 4, Percentage and Ring Rollouts, focuses on the percentage and ring rollout use cases for feature management. Examples of this include new implementations that need monitoring to validate that they are working as expected in production, through to rolling out a new feature to only a small group of customers and validating that their experience is good.

Chapter 5, Experimentation, explains the opportunities for experimentation and how to test in production. It looks at the types of experiments that can be performed and shows how LaunchDarkly enables teams to run effective experiments.

Chapter 6, Switches, explains the use of switches, how they are useful in certain situations, and how they can be managed by LaunchDarkly. The chapter also explores how LaunchDarkly can be used to manage permanent feature flags.

Chapter 7, Trunk-Based Development, explores one of the more extreme opportunities available to teams using LaunchDarkly, trunk-based development. The ability to safely test in production presents the opportunity to remove the need for feature branches and bypass any test environments entirely and this chapter looks at how to achieve this.

Chapter 8, Migrations and Testing Your Infrastructure, explains how infrastructure migrations can be performed using LaunchDarkly, especially to reduce the risk of them negatively impacting your systems. The chapter goes on to detail how your infrastructure can be tested in novel ways through LaunchDarkly.

Chapter 9, Feature Flag Management in Depth, details, in depth, the feature flag functionality within LaunchDarkly to empower you to get the most out of the tool. This covers topics from viewing and managing all your flags to being able to configure, target, and experiment with a single flag.

Chapter 10, Users and Segments, provides an overview of the users and segment functionality in LaunchDarkly. It details how to view, set up, and edit users and segments. Understanding how to target features to the correct customers is crucial to the success of feature management and this chapter covers how best to accomplish this.

Chapter 11, Experiments, shows how to set up and make full use of experiments in LaunchDarkly by detailing the types of metrics and events available in the tool. Being able to manage and gain insights from experimentation is essential for the practice of testing in production and this chapter shows all the ways in which LaunchDarkly aids in working with methodology.

Chapter 12, Debugger and Audit Log, details the Debugger section and how it can be used to view what is happening with flag, user, and experimentation events. Information is provided to show how powerful insight details can be. The chapter concludes with exploring the Audit Log section, which is useful to understand any changes within a LaunchDarkly project and/or environment.

Chapter 13, Configuration, Settings, and Miscellaneous., explores the Account section of LaunchDarkly, which provides functionality to manage the members of the team, including roles and permissions. It details the security features that can be enabled to control access to the tool, which is especially important given how powerful it is. The chapter also looks at the billing and usage information provided by LaunchDarkly, before concluding with a look at the profile functionality and history logs. While this functionality does not directly impact the feature manager, it is essential for good governance and offers the flexibility for the tool to be configured to suit any business' needs.