Skip to content

Latest commit

 

History

History
210 lines (163 loc) · 6.57 KB

content.mdx

File metadata and controls

210 lines (163 loc) · 6.57 KB

Learning From the Death Star:
single-spa at Workfront

powered by minideck


What we will discuss

  • A breakdown of how we're going to use single-spa at WorkFront
  • A list of things to keep in mind while we're discussing micro-services
  • An opportunity to use as many Star Wars memes and references as possible
  • A discussion on MFE timelines

What we will not discuss

  • Step by step guide on implementing single-spa
  • An announcement that MFEs are ready at WorkFront
  • A Trap

Goals of MFEs

  • Teams own their code end to end
  • Independent releases
  • Independent development
  • Support multiple frameworks - Eventually
  • Excellent developer experience

Why single-spa

  • Meets goals better than all competitors
  • Unopinionated
  • Most popular MFE library
  • 2 single-spa maintainers hired
  • Excellent dev tooling

What does the Death Star have to do with this?

The Death Star serves as a warning on how easy it is to build micro-services poorly

Death Star History

Death Star Image{.h-32 .mx-auto}

  • Massive space-faring battle station (Size of the moon)
  • Primary weapon can destroy a planet
  • Built by experts (and one subversive)
Eventually destroyed by an attack to the reactor module! ---

How did one module destroy the station?

Tight coupling!

Migration Plan - Stage 0

Stage 0 - Where we currently are{.mx-auto .h-64}


Migration Plan - Stage 1

Stage 1 - Next Stage: Give single-spa/SystemJS control over the page{.mx-auto .h-64}


Migration Plan - Stage 2

Stage 2 - Move global context services out of Quicksilver{.mx-auto .h-64}


Migration Plan - Stage 3

Stage 3 - Move Primary navigation out of Quicksilver{.mx-auto .h-64}


Migration Plan - Stage 4 - Repeat

Stage 4 - Repeat{.mx-auto .h-64}


Migration Plan - Stage ? MFE Paradise

Stage X - Completed migration: All modules have been extracted from QS and now teams can tackle their shims/tech debt with MFE benefits{.mx-auto .h-64}


Timelines

Outlined Milestones in Notion Are we really doing this?{.mt-2 .mx-auto .h-32}


Learn from coupling


Where are we today?

Stage 1 - Next Stage: Give single-spa/SystemJS control over the page{.mx-auto .h-64}


Tell me more about the dev experience

Dev Experience demo


DX over stages

0 1 2 3 ... 10
no change X
WF-inspector for QS X X X X X
WF-inspector for most MFE utilites X X X X
WF-inspector for navbar X X X
WF-inspector for broken out applications X X
WF-inspector for most applications X

What can we do now to prepare?

  • Think about the boundary layers. How should the modules be divided?
  • Learn about single-spa MFE types
  • Help WebPlatform build/review MFE Utilities
  • Watch Star Wars - including the excellent "The Clone Wars" tv series
  • Play with single-spa
  • Ask questions in #ask-web-platform
  • Participate in checking your areas as we move Stage 1 through envs
  • Help improve single-spa documentation
  • Plan the eventual destruction of the Galactic Empire
  • Be understanding.

Resources


Darth vader saying "You have failed me for the last time."{.mx-auto .h-64}


Stay on target clip from Star Wars A New Hope {.mx-auto .h-64}