When Walmart wanted to upgrade its online web site and mobile platform, it needed to marshal its IT resources as skillfully as possible to keep up with the likes of Amazon.com, Target and CostCo.
Eighteen months ago, Alexander Grigoryan, Walmart senior director of software engineering, application platform and online grocery, knew that he would need to meet multiple requirements simultaneously.
The company's monolithic Java ecommerce application was no longer the right solution. The system needed to become a set of modules that could be updated separately. The modules would need to be high performance and be scalable to match Walmart's fluctuating consumer demand. And the site had to become more comprehensible to search engines.
Want to learn more about the use of DevOps? See DevOps: It's an Ongoing Culture, Not a Project.
"The unique requirement of Walmart is that you have to be search engine-savvy," said Grigoryan in a recent interview with InformationWeek.
React.js was invented at Facebook in 2011 for constructing an effective news feed interface. It was put into the public sphere as open source code in May 2013 and adopted by Netflix, Airbnb, Instagram and the Bleacher Report, among others. The first "stable" version was Version 15 released in April 2016.
"Ninety-five percent of our traffic now goes through the Electrode/React platform," he noted.
When Walmart wanted to open up its retail platform to third parties last year, the conversion to React using Node.js was a key enabler, said Grigoryan.
The makeover had other advantages. When it came to interactive interfaces, the React library already had many existing components that Walmart could make use of without reinventing the wheel. As it extended its platform to Sam's Club, those components could be re-used.
"We were doing agile development, but our agile was centralized," Grigoryan noted. With a standardized language and toolkit, development could be broken into smaller teams and decentralized to operate closer to Walmart business units.
Where Walmart had previously been limited to a two-week update cycle, the smaller agile teams "were authorized to release code by themselves," allowing several updates a week, when needed, Grigoryan said. "All the teams are empowered to act on a schedule that's best for them," he said.
That allows bugs to get corrected more quickly, and the frequent testing of small updates results in "a lowering of regression bug," he said.
As the Node.js code replaced more of the legacy Java application, consumer "response times improved" for features like the Walmart checkout cart, Grigoryan said. Better response times lead to "an uptick in customer engagement," a common result found with responsive web sites and applications, he added.
New features get tried out with customers more quickly but the change that Grigoryan most appreciates is the fact that the lines began to blur between developers who focused on some aspect of either the front-end user interface or the back-end processing system.
With 35 million items for sale and 2017 revenues forecast for $485 billion, Grigoryan's application platform staff has to be as productive and fast moving as he can make it. React.js, Electrode, OpsOne and Node.js code are all helping him achieve that goal, he said.