Walmart has recently put the finishing touches on a hybrid cloud platform that aims to allow its software developers to consume a variety of infrastructure types and cloud services through a single console.
Via the so-called Walmart Cloud Native Platform, the global retailer wants to provide its thousands of software engineers with an abstraction layer that allows public cloud and Walmart-owned and operated infrastructure and services to be consumed in a common way.
Building a common platform
“The idea is to abstract the underlying infrastructure so that it looks the same, so that application teams and developers don’t have to worry about the differences between Azure or Walmart infrastructure, for example,” Kevin Evans, vice president of infrastructure services at Walmart, told InfoWorld.
Evans works within the platform engineering team at Walmart, which focuses on three areas: building a common infrastructure layer and set of cloud capabilities for all developers at Walmart, maintaining a central data platform, and improving developer productivity through optimized common tooling and automation.
“We provide a container platform or a VM and that becomes the single point of interface for our engineers to write on, while also exposing the best of breed capabilities for them to consume,” Evans said.
Walmart developers can access this catalog of managed services via the internal DX.io console. “They can pick and choose an à la carte capability or resource they need,” Evans said. For example, Walmart engineers are free to choose between the Azure Cosmos DB or Google Cloud Spanner databases. “Those are capabilities that are specific to their platforms, but become part of our suite of best-of-breed options,” Evans said.
Developers currently have some flexibility in terms of how and where they run their applications, but there is also a growing range of pre-built patterns, or golden paths, that solve specific technology problems but give developers less flexibility over how they want to build and run something.
“As we mature we want to embed in the platform decisions for where something gets placed and drive that decision-making process based on codified requirements and configurations,” Evans said.
Naturally this creates a tradeoff between opinion and abstraction. Evans doesn’t want the developer platforms at Walmart to become too rigid as to stifle its developers’ ability to consume the best that the cloud providers have to offer. “We have to be cognizant of that,” he said.
The Triplet Model cloud takes shape
Walmart works with Microsoft Azure and Google Cloud as cloud partners, but notably not Amazon Web Services, as is the case with many retailers. Walmart’s so-called Triplet Model cloud strategy is hybrid by design, and hinges on allowing developers to work with existing Walmart data centers, either public cloud platforms, and a growing range of edge locations in a consistent manner.
“By pairing public clouds with our Walmart Private Clouds via a regional cloud model across the US (West, Central, and East), we’re enabling 10,000 edge cloud nodes at our facilities and bringing computational power and data closer to our customers and associates ,” Suresh Kumar, global chief technology officer at Walmart, wrote in a LinkedIn post.
In practice, this means Evans and his team need to maintain both a large fleet of containers, using Kubernetes, as well as a large OpenStack private cloud platform for VM-based workloads (called OneOps internally).
For now, containers are the preferred method for building greenfield applications at Walmart, but Evans admits that “it’s a very large landscape we have and VMs will be a part of that story for a long time.”
Then there is the edge, where Walmart hopes to leverage compute across the 6,000 or so stores, distribution centers, and fulfillment centers across the United States. While some enterprise applications are best placed in a central Walmart data center, other applications will be better hosted at the store or warehouse to enable greater operational resiliency and low latency for sensitive workloads like check-out and pricing applications.
Save money, streamline development
The Triplet Model opens up both developer productivity and innovation opportunities, and reaps as much as 18% in annual price optimization opportunities for the business. Walmart estimates that it is now able to make 170,000 adjustments to its website back end every month, a 1,700X increase over what was possible before these changes were made.
“Positioning workloads in the right places helps us drive increased application performance and low latency across the board,” Kumar wrote. “In addition, the Triplet Model offers increased capacity, allowing us to better react to moments of peak consumer demand, such as the holiday shopping season or a great price on an in-demand gaming console.”
Evans estimates that 70% of Walmart’s applications are “generic in nature” in that they can “run almost anywhere.” This makes them more portable across Walmart’s growing range of landing zones.
“We want to make it seamless to move workloads and make that a platform capability rather than a developer decision,” Evans said. “By eliminating as much friction as we can, that allows us to put something in a more cost-efficient location.”
While this sounds like a win-win in the short term, Evans is keenly aware that as Walmart becomes more reliant on public cloud services, that data gravity could lead to bigger cloud bills in the future if not carefully monitored.
“Those services are sometimes surprisingly expensive in the public cloud, so we have worked with our partners to figure out where best to run workloads,” Evans said.