Feature Management De Risking Migrations and Releases for Powerschool Ent106

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.