Building and Operating at Scale with Feature Management Prt261

Title

AWS re:Invent 2022 - Building and operating at scale with feature management (PRT261)

Summary

  • John Kodemal, CTO and co-founder of LaunchDarkly, discusses the importance of feature management in evolving software at scale.
  • He emphasizes that software is in a constant state of evolution due to changes in scale, user input, and business requirements.
  • Kodemal explains the difference between deployment and release, advocating for their separation using feature flags.
  • He provides insights into how LaunchDarkly uses feature flags to manage changes in their technology stack, including database migrations, compliance requirements, and cost optimizations.
  • The talk includes examples of how LaunchDarkly and its customers have successfully used feature management for application modernization, compliance, and performance improvements.
  • Kodemal concludes by reinforcing the idea that feature management is not just about user-facing features but is a critical tool for safely evolving backend systems.

Insights

  • Feature management is a transformative practice in software development, akin to the impact of distributed version control systems (DVCS) and continuous integration/continuous deployment (CI/CD).
  • The separation of deployment and release through feature flags allows for more controlled, incremental changes with reduced risk and the ability to roll back specific features without affecting others.
  • Feature flags can be used for more than just user interface changes; they are instrumental in backend operations, compliance adherence, and performance optimizations.
  • LaunchDarkly's approach to database migration from MongoDB to CockroachDB using feature flags is a practical example of managing complex transitions without downtime.
  • Compliance requirements, such as HIPAA and FedRAMP, can be managed within a single codebase using feature flags to enable or disable features for specific customer segments.
  • Cost and performance optimizations, such as migrating to AWS Graviton processors, can be tested and rolled out incrementally using feature flags, allowing for real-time traffic routing and monitoring.
  • The talk highlights the importance of feature management platforms in modern software development and the wide adoption across various industries, including non-traditional software companies.