Walmart z/OS Services

TL;DR: That was kind of an unexpected outcome of today’s session… Walmart published the source code of their internal z/OS-CICS services (zUID, zECS & zFAM)on GitHub!

I visited a pre-Conference of the ceCMG group today, which was given the title: “IBM Z Modernization”. It turned out that two guys from Walmart came in and talked about their success story in turning their Mainframes to a modern system. We are talking about Rich Jackson and Randy Frerking. In fact, both published several Redbooks together with IBM, namely Creating IBM z/OS Cloud Services, How Walmart Became a Cloud Services Provider with IBM CICS and IBM CICS and the Coupling Facility: Beyond the Basics. We are not talking about some application services, but we are talking about system services. These two guys are pushing the limits of the current technology mostly to the edge, and we are talking here about IBM System Z limits.

Those guy started of there idea of a service with a alternative key-value cache based on CICS, VSAM and z/OS facilities. This was the beginning of a long travel, and they are currently running a self service for different z/OS system configuration and management things. And their starting point was the best you can have: make the live easier for you and the others.

Beside third party services, like MQ configuration for development purposes or RACF thing, they started with something else.. basically they implemented three “products”, which they offer to their internal customers (developers) as REST-ful services:

  • They started the story with zECS, which is mostly a cache storage implementation to store session (or other short living) information outside the running application server. These information need to be gathered fast and high available. Based on the services from the platform, they achieved high throughput rates.
  • Moving forward to fulfill developer needs, they implemented their own Key-Value store called zFAM. They can store binary information up to 1GB and do not rely on DB2, but are using VSAM.
  • zUID is the latest, but smaller, project, to offer sort of standardized 32bit UIDs, which are unique.

At the point where I was asking myself, why they do not publish this as a products, they revealed, that it is available to the public via Walmart’s Github account- for free in terms of a APACHE2 License. Currently, there are installation REXX provided for some of the code. Randy talked about moving to a proper git folder structure in the long term, because git is becoming more and more available on z/OS as well… It totally looks very interesting and it is worth a look. It gives you an idea what is possible with exploiting the z/OS services and OS features using assembler.