However, that’s exactly what Walmart is doing. Since acquiring performance lifecycle management start-up OneOps four years ago, in order to implement a DevOps approach to its e-commerce environment, the retailer is also prioritising open source over everything else - with it having made a big investment in OpenStack for its infrastructure.
I met up with Walmart senior distinguished engineer Andrew Mitry at OpenStack Summit in Barcelona this week, where he explained how the organisation is embracing a culture of open source and the shift in mindset that is required to be successful in community-based development.
Walmart is continuing to expand its use of OpenStack. Mitry said:
When they brought OneOps in, they evaluated various cloud options and decided that OpenStack was the best fit - because of the inertia around OpenStack, open source and the community around it. About four years ago they started a pilot running OpenStack within their data centres and running OneOps on top of it for delivering and managing their application lifecycle.
From there it has scaled it. We have actually moved 100% of our e-commerce workloads onto OpenStack and we are now moving the majority of our traditional retail workloads onto OpenStack - the brick and mortar workloads - as we develop them to be more cloud friendly.
Prior to the OpenStack environment, Walmart was running a lot of bare metal, with little automation behind it. It also had some VMware in the mix. However, Mitry said that the shift to open source didn’t mean a like-for-like lift and shift. The retailer was instead redesigning its services, and as a result its technology stack, to be fit for a digital age. Mitry said:
I don’t think it was an apple to apple shift. It was part of a complete re-architecture of how we deliver our .com. It was kind of ground up - here’s OpenStack, here’s OneOps, here’s the micro services layer. We rewrote the stack from the ground up, which is what we have done on the retail side as well.
Why open source?As I mentioned above, it’s rare to find an end user that is going all in with open source - particularly within its live production environments. So why did Walmart see this as necessary? Mitry explained that speed and agility were key, something he doesn’t think is as easy to achieve when you are tied to a particular vendor. He said:
It has probably been said a million times, but every company is a technology company now. You can’t just say ‘I’m a retailer and I’m not going to be a technology company’. How we do our logistics, how we integrate the online experience with the physical, all of that comes down to technology now. And to do that we need that agility and speed.
And to do that that means that we have to have things that are responsive. We can’t have months or years long release cycles. We need to have short release cycles, we need to iterate fast, add new features fast, deliver what the customer wants and prove that customer experience.
When companies decide to move fast, they realise it’s hard to move fast and be holden to a single vendor. Let’s be realistic. Yes if you’re a big customer you can put in a feature request, then you have to wait until you get that feature. Or you do it in house, but then it’s just you. And so you have to own all the development. We have projects that are in-house, but when it comes to something like infrastructure we have the benefit of moving faster. One of the things I love about about the OpenStack community, outside of the software, is the sharing of knowledge and best practices.
Sharing is caring
One of the criticisms that is often pointed at OpenStack - and the open source community in general - is that it’s difficult for large enterprises to get insight into the product roadmap, given the nature of community development.
However, whilst Mitry recognises that this is a valid concern, he also believes that it shouldn’t be a barrier if your organisation is willing to get actively involved in the development. In fact, he argues that he has seen more rapid progress in features being introduced being part of the OpenStack community, when compared to working with proprietary vendors previously. He said:
One of the things that Walmart heavily participates in is the OpenStack Operators Community. We get together with all the operators, small and large, all industries, and when you really boil it down to what we do - 98% of it is the same. I was talking with CERN and we are sitting there and realise we have the exact same problems. Completely different businesses - those guys are deep in the physics and we are selling paper towels. But almost an identical set of problems. Why I come here to OpenStack Summit is that I learn so much about how they fix problems and I share how we fix problems. I don’t have to reinvent the wheel anymore.
The old way of doing things was hiring some smart engineers and architects, designing stuff completely on our own, maybe we’ve read a few blogs, design it out, test it out and iterate on it. Now, a lot of the time, I can skip that proof of concept phase, skip that design phase. I can just talk to 12 different people running cloud like we do. I don’t need to spend 6 months on a proof of concept - I’m just going to do it, because my customers needed it yesterday.
According to Mitry, this does require a “mindset shift”, but once that’s achieved, the benefits aregreat. He said:
The old way of getting a product roadmap is that you go to your vendor and say ‘give me your roadmap’. They’ve got some product people and they produce some nice PDFs and PowerPoints and you have executive briefings, all those fun things. That’s not OpenStack, that’s not how it works. There is no benevolent dictator. There is no-one setting the roadmap.
For example, we needed IPV6 and IPV6 wasn’t in OpenStack yet. So we started to deploy OpenStack and said we needed IPV6 asap, it was critical for us. The complaint you would typically hear is that you don’t know when IPV6 is coming. We went to a couple of vendors, they couldn’t figure it out fast enough. So we said, you know what, it’s open source, we went and got one of our internal developers and one of our internal network engineers, put them together, submitted some blueprints, submitted some code, and six months later we had IPV6.
Instead of asking for a roadmap, the operators, such as Walmart, can actually change, accelerate and deliver the roadmap. Mitry said that this doesn’t have to involve huge investments, either. In the example above, Mitry took one developer and one network engineer and asked them to hash out the IPV6 feature. He said:
It was not a 30 person investment to get IPV6, which is a relatively major feature. I’m not saying it wasn’t work, it was work, but it was not insurmountable.
Open source first
Mitry explained that whilst shifting an organisation’s mindset to open source can have its challenges, most notably getting engineers to figure out how to contribute and be a good member of the community, he added that things can be done to drive the agenda. For example, incentivising the use of open source. He said:
Almost every engineer, if they’re willing to do a little bit of investment, can start to change the culture. Also, it helps if they’re encouraged by management. One of the things we have been doing a lot is not just saying open source is okay, but encouraging open source.
We are an open source first culture, across the board, not just for how we do cloud. Also making open source part of our goals, contributions back, making it part of our reviews. A lot of companies reward patents - it’s a very typical way of rewarding engineers - but we have made an equivalency with open source. We honour and respect and award open source contributions at the same level that we do our patents. Part of our recent shift is also to be public about what we do with open source, to get that visibility out there.
There are a few naysayers here and there, but i think most forward looking visionaries understand where this is going.