How to Accelerate Digital Transformation: @WalmartLab’s Migrated to React and Nodejs in Less Than a Year / Alex Grigoryan

This is a summary of Alex Grigoryan’s talk from @WalmartLabs, at Nodevember 2016.

The story of how @WalmartLabs successfully migrated to React and Nodejs with efficiency and speed. At the end of this talk, you should be able to make your own successful strategy to transform your technology stack quickly and successfully.

What does a migration mean?

  • FE apps take about 10,000/rps
  • 400 engineers
  • 2 dozen apps comprise @walmartlabs
  • 70% of traffic is on React and Node
  • Next year traffic will be on Electrode too

Took less than a year for them to migrate.

Why migrate?

  • 50 - 60% walmart users on mobile
  • responsiveness here was slow
  • productivity of engineers was slowing down (java, handlebars, etc)
  • Performance, Productivity, Reusability, Responsiveness
  • multiple components being rebuilt
  • services are similar, multiple ecommerce sites (react component model helped here)
  • Use 500 different React components

How did we start?

  • Built the Electrode platform first:
  • Built the platform team first, small, cohesive, and versatile (full stack)
  • while simultaneously building organizational alignment - met with leaders, set realistic expectations, talked through concerns
    • anxiousness can spread through organization quickly; talk to leaders thougout the org, and talk through why it’s happening; make sure the business side is onboard and understands why
  • with some headway into the platform, we then built the vertical team: senior, bought in, vocal, distributed
    • distributed in terms of organization location
    • this team will be your future ambassadors
  • next we united the Platform and Vertical teams
  • Now you needed to decide on the first application to migrate: not too simple or complex, not business critical, server side render, bought in
  • we chose the ‘collections application’, choose collections of things
    • once we hose collections and started building, there was a constant feedback loop, to refine the platform and process
    • the application went live (about a month)
    • we continually monitored and fine-tuned: performance, conversion, scalability, reusability
  • Next Application? Checkout: client-side rendered, complex, single page application, business critical
  • Rinse and repeat
  • Finally, all the other applications start migrating (search, login, my account, profile pages)
    • This is where the ambassadors Play a Key Role
    • the small team is protected, and you don’t get crushed by requests from the organization; this larger vertical team can help with that (every single team has a person there with deep knowledge of the system)
  • currently onboarding

What are the benefits we’re seeing?

  • impact on customer experience:
    • 90% functional automation
    • 40% reduction in bundle size
    • 60% improvement in response time
  • impact on developer productivity
    • 3x faster from code to production
    • Training days down from 5 days to 1 day
    • First commit from 7 days to 1
    • Improved talent recruiting
  • these kinds of things, changes the culture of the company

Electrode Focuses on Three Things -

  • getting you up and running quickly
  • making your server side render fast
  • enabling you to reuse across multiple applications