Growth

Micro-frontend Upscaling

My Role
Product Manager
Timeline
Spring

Situation

The candidates team is not only a feature focused team, but we are also a platform team serving about 20 internal teams consistently. Our team has three work streams:

  1. Feature Delivery (40%) (addressed here)
  2. Platform Maintenance and Reliability (30%)
  3. Manage Feature Requests for Internal Teams (30%)

The Maintenance responsibilities and the contribution management makeup our Platform team and represent where we spent majority of our time as a team.

Problem

Platform Maintenance and Reliability

  • Our team owns and manages about 8 deployables
  • Significant legacy code that hinders rapid development
  • Our pages are not performant
  • SLOs have not been defined and can’t be defined independently due to the feature teams building in our product not having pre-defined SLOs
  • Depend on a plethora of services that break frequently upstream, disrupting our implementation ability
  • 1/4 of our dev resources are allocated to releases
  • We release daily - not monthly or weekly

Solution

Revitalize our micro frontend architecture

  • Externalize critical plugins from the current host webapp
  • Consolidate 4 host webapps into OneHost
  • Modernize our micro-frontend system by leveraging Webpack 5
  • Similar federated modules (plugin system)
  • Embedded analytics (datadog monitoring)
  • Open source = consistent with industry standard and documentation accessible to all