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.