Title
AWS re:Invent 2023 - Feature management: De-risking migrations and releases for PowerSchool (ENT106)
Summary
- The session focused on de-risking software releases and migrations using LaunchDarkly, with insights from PowerSchool's experience.
- The speaker discussed the challenges of software releases, including unexpected bugs, control over impact radius, and measuring business impacts.
- LaunchDarkly's feature flags were highlighted as a solution to release frequently with stability, control impact, and run experiments.
- Adam Hisley, principal architect for PowerSchool, shared their journey from a monolithic architecture to a service-oriented architecture using LaunchDarkly.
- PowerSchool's approach includes micro frontends, domain APIs, new databases, data migration strategies, and a tiered release strategy.
- The session concluded with a demo of LaunchDarkly's release pipelines and migration flags, showcasing how to manage feature releases and database migrations.
Insights
- Feature Flags as a Risk Mitigation Tool: Feature flags are a powerful tool for managing the release process, allowing for incremental rollouts, A/B testing, and quick rollbacks.
- Micro Frontends for Decoupling: PowerSchool's use of micro frontends allows for UI changes without affecting the monolithic architecture, enabling independent deployment and scaling.
- Data Migration Strategy: PowerSchool's data migration strategy involves AWS Lambda, S3, EventBridge, and step functions, emphasizing the importance of flexibility and the ability to rerun migrations.
- Release Strategy Alignment with Business Needs: PowerSchool's tiered release strategy aligns with the educational sector's seasonal cycle, allowing for controlled availability and meeting customer needs.
- Developer Experience and Sentiment: The positive developer sentiment towards LaunchDarkly at PowerSchool underscores the importance of developer experience in successful architectural changes.
- LaunchDarkly's New Features: The demo highlighted LaunchDarkly's new release pipelines and migration flags, which provide visibility into feature flag statuses across environments and facilitate database migrations.
- Iterative Approach to Architectural Changes: PowerSchool's iterative approach to moving from a monolithic system to a service-oriented architecture has led to increased developer velocity and reduced technical debt.