The Beauty of Serverless With AWS and LaunchDarkly featured image

The ever-evolving landscape of software development demands efficient and safe deployment of new features and updates. As enterprises strive to innovate, they also face the challenge of minimizing risks and ensuring a seamless user experience. LaunchDarkly, a feature flag management platform, offers a powerful solution to this dilemma by enabling providers to implement percentage rollouts and rollbacks of new front-end and back-end features on AWS. Notably, LaunchDarkly can be used with AWS CodeBuild and CodePipeline, providing a comprehensive and streamlined release management process. LaunchDarkly has direct integrations with AWS CloudTrail Lake, Amazon Kinesis Data Streams, and Amazon CloudWatch RUM.

The serverless reference architecture CI/CD pipeline

Entitlements

Feature sets are often grouped together under a subscription tier of a SaaS offering. Each tenant in a given tier receives the same set of features and functionality. These configurable features that are made available to some tenants but not others are called entitlements.

If you are maintaining different versions of your SaaS solution for your customers, or handling customer requests for customizations, you may already be struggling with the loss of agility your team is experiencing.

Consider as you read this post how configuration shifts you back to a single version of your solution, and shift your team's focus back to delivering innovation and away from the pain of supporting one-off customizations are customer-specific versions.

One of the design principles of the SaaS Lens for the AWS Well-Architected Framework is to “support one-off requirements through global customization.” This means we should maintain a single environment that operates all of our customers, and avoid customizing that environment for specific tenant experiences.

Rather, we implement all features as part of our core code base, then adjust those features through configuration, creating the desired combinations of tenant experiences.

LaunchDarkly is an AWS DevOps Competency Partner that provides tools for the management of feature flags that allow for the continuous delivery of features during deployments. In this post, we’ll show one way to use LaunchDarkly to manage entitlements with a combination of flags and advanced targeting capabilities.

Experimentation

Experimentation isn't about hitting the jackpot every time; it's about making consistent, incremental gains. While the occasional big win is undeniably valuable, it's the smaller, steady improvements that form the backbone of success. This approach significantly reduces the risk to your bottom line, making experimentation a valuable asset for organizations of all sizes.

Continuous improvement is a mantra we often hear from market leaders. It has become embedded in the DNA of large, successful organizations. These industry giants continually fine-tune the products and services they offer, consistently striving for that 1% or 2% improvement in product performance and revenue generation. However, they also understand the risks associated with shipping anything that could harm their product or slow down their momentum.

Even the most experienced teams face challenges when it comes to achieving desired outcomes through experimentation. Anecdotal evidence suggests that top product teams achieve positive impacts only about 30% of the time, with another 30% resulting in no change, and the final 30% causing harm. These numbers may seem disheartening, but they highlight the necessity of running experiments.

Running experiments ensures that you're not unintentionally damaging the progress you've made. It also prevents you from releasing unproven features that can add risk and technical debt to your product. In today's business landscape, where competition is fierce and customer expectations are constantly evolving, the incremental approach is more critical than ever.

Many teams ship what they “think” is going to drive business impact, but it’s guesswork in many cases. With LaunchDarkly, teams have the ability to create metrics that align directly with business objectives, and integrate them into the feature lifecycle.

  • Measure every product change: Increase conversion rates and customer acquisition by illustrating data stories with trustworthy results.
  • See how investments move the needle: Drill down into specific features and surface their measurable business results beyond basic events and clicks.
  • Maximize value: Align the right experience for users based on insights around user behavior, including user demographics, systems differences, or access points.

Gradual rollouts for reduced risk

LaunchDarkly's key feature lies in the ability to conduct percentage rollouts. Rather than releasing a new software update to all users simultaneously, providers can gradually increase the rollout percentage until all users have access to the new version. This controlled approach reduces the risk of major failures that could impact a large user base.

By starting with a small percentage of users, SaaS providers can catch any issues early on and gain valuable feedback from a limited group of users. This allows for quick bug fixes and adjustments before the update is released to a broader audience. The gradual rollout strategy ensures that any potential problems are detected and resolved before they escalate, providing a smoother experience for all users.

Customized user experience

In addition to percentage rollouts, LaunchDarkly allows providers to customize the user experience based on individual user segments. This means that specific features or updates can be targeted to different groups of users based on their preferences, behavior, or other attributes. By tailoring the software experience to different user segments, providers can optimize engagement and meet the unique needs of their diverse user base. 

Customization also extends to A/B testing, where different versions of a feature can be compared to determine which one performs better. This data-driven approach empowers providers to make informed decisions based on real user feedback, leading to improved product iterations and increased user satisfaction.

The safety net of rollbacks

Even with careful planning and testing, errors in production can still occur. However, these errors should not bring down an entire application or negatively impact a large number of users. This is where LaunchDarkly acts as a safety net for SaaS providers.

With LaunchDarkly's rollback feature, teams can quickly and easily revert to a prior state with a single click, without the need to redeploy the entire software. This ensures that critical issues can be addressed swiftly, minimizing downtime and disruption to customers.

Efficient rollbacks with integrations

To further streamline the rollback process, LaunchDarkly offers seamless integrations with AWS CodeBuild and CodePipeline with the use of webhooks. These integrations allow providers to automate the rollback process, making it even easier to revert back to a safe state in the event of an unexpected problem.

When an issue arises, LaunchDarkly can trigger an automatic rollback through CodePipeline, which will initiate the rollback process via CodeBuild. This automated approach ensures that rollbacks are executed efficiently, reducing the time and effort required to resolve issues.

Effective software release management

Software releases and updates are a critical aspect of maintaining a competitive edge in the SaaS industry. With LaunchDarkly's feature flag management platform, providers gain access to a comprehensive toolset for managing software releases effectively.

Feature flags, at the core of LaunchDarkly's platform, allow providers to enable or disable specific features remotely. This feature flag-driven development approach enables rapid experimentation and iteration, allowing teams to deliver new features faster while maintaining control over their deployment.

The benefits of effective release management

Effectively managing software releases and updates with LaunchDarkly and its AWS integrations offers several benefits to SaaS providers:

  1. Reduced risk: Percentage rollouts minimize the impact of potential failures by limiting exposure to a small group of users initially.
  2. Increased feedback loop: Early access to updates allows providers to gather valuable user feedback and make improvements before a full release.
  3. Personalized user experience: Customization based on user segments leads to higher user satisfaction and engagement.
  4. Quick rollbacks: Seamless integration with AWS CodeBuild and CodePipeline enables swift and efficient rollbacks to address any issues promptly.
  5. Continuous deployment: Feature flags enable continuous deployment and rapid iteration, keeping the software up-to-date and competitive.
  6. Improved user trust: A smooth and reliable user experience builds trust and loyalty among customers.

Conclusion

In the dynamic world of SaaS, ensuring a smooth and risk-free software release process is essential for maintaining user trust and gaining a competitive edge. LaunchDarkly's feature flag management platform, combined with its seamless integration with AWS CodeBuild and CodePipeline, provides a robust set of tools that enable providers to implement percentage rollouts, customize user experiences, and execute streamlined rollbacks.

By leveraging LaunchDarkly's capabilities and its AWS integrations, SaaS providers can confidently deliver updates to their users, catching potential issues early and reducing the risk of widespread failures. With the ability to manage software releases effectively and efficiently, LaunchDarkly empowers providers to continuously innovate and enhance their offerings, resulting in a superior user experience and increased customer loyalty.

Come talk to us at AWS re:Invent 2023!

Related Content

More about Best Practices