Developing Cloud-Native Applications – On IBM Z?

Back in the olden days (the 1980s), mainframe computers (now IBM Z) faced a major challenge from budding, new midrange systems that threatened to steal applications off of the platform and erode their market share.  In short: midrange systems cost less to acquire; turnkey, packaged applications were starting to evolve (enterprise resource planning, customer relationship management, supply chain management, and salesforce automation); and new development tools enabled line-of-business executives to build applications more quickly than dealing with mainframe application backlogs.  Given these advantages, midrange systems succeeded in establishing a significant market share.

The lesson to be learned from this slice of history is that the availability and price of applications are what drive systems sales.  In the 1980s, the mainframe was challenged by other systems types – and lost market share.  In the 2020s, IBM is determined not to let application availability and pricing, yet again, become a roadblock to System Z sales.  The playing field has changed – from midrange systems to the hybrid cloud – but the name of the game remains the same: Application capture and pricing are what drives sales.

What is IBM’s strategy to ensure that System Z captures its fair share of cloud applications?  Last May, the company addressed the pricing issue by structuring a cloud-friendly pricing model (see this link for more details: https://bit.ly/3dhZtD4 ).  And this month, IBM announced that it has put in place a “cloud-native” development and testing environment that makes building applications for System Z identical to development for distributed systems environments.

The name of this new environment is “IBM Wazi for Red Hat CodeReady Workspaces.”  By restructuring pricing to be more in line with commercial cloud models – and by eliminating cloud application development skillset hurdles – IBM hopes to make it possible for IT executives to avoid cross-platform development skillset issues.  By removing these hurdles, executives can now focus on running applications on the systems best suited to execute those applications.  And, for specific applications, it is more cost-effective to run workloads on System Z than on other distributed systems within the cloud.

IBM Wazi for Red Hat CodeReady Workspaces and IBM Wazi Virtual Test Platform

For those who are still wondering why IBM purchased Red Hat for $34 billion, IBM Wazi for Red Hat CodeReady Workspaces and IBM Wazi Virtual Test Platform are good examples of the kind of synergy the company has reaped from this acquisition.  From the outset, Red Hat has been deeply involved in open source code development – and over the years has become deeply involved in cloud development.  IBM Wazi for Red Hat CodeReady Workspaces showcases Red Hat cloud application development design environment and tools. IBM Wazi Virtual Test Platform, a complementary offering runs on containerized z/OS sandboxes on Red Hat OpenShift, or IBM Z, to shift application integration and transaction level testing left.

To build cloud-native applications for System Z, developers need to set up a containerized development environment, a z/OS sandbox that can be configured within an x86-based development environment (server/desktop).  Sandboxes are “play areas” – virtual environments where untested code can be developed without interfering with production workloads. The process of setting up the sandbox is simple.  Within the OpenShift UI, a cloud application developer is asked to run the IBM Wazi Sandbox operator. When the sandbox is configured, the developer opens-up his/her preferred IDE and connects it to the sandbox.

Technically, the sandbox resides within a Red Hat OpenShift container (a Kubernetes-based container orchestrator for enterprise app development and deployment).  Within the container, z/OS (the Z operating system) is run – as can be CICS (a transaction environment), IMS and Db2 databases, compilers and more.   Using this environment, cloud-native applications can be deployed, tested and readied before deployment in production mode on native z/OS running on IBM Z.

IBM Wazi for Red Hat CodeReady Workspaces product is an in-browser OpenShift-native developer workspace.  It allows workers to use well-known desktop integrated development environments (IDEs) for authoring, modifying, compiling, deploying and debugging software.  For example, cloud application developers can use popular desktop IDEs such as Visual Studio Code, Eclipse – or a containerized web-based IDEs such as Eclipse Che.

After setting up the z/OS OpenShift container, and choosing which IDE to use, developers can write their cloud-native programs, and then build/test that code with Git, and orchestrate that code using Jenkins.  The code can later be staged using popular artifact repositories like Artifactory or Nexus.

This combination of tools, methodologies, and approaches to cloud application development should already be very familiar to most cloud application developers.  The only thing that makes this different from everyday cloud-native development on other platforms is that an instance of z/OS is running in a sandbox container for troubleshooting and testing purposes.  In other words, if an application developer is used to creating solutions with the IDEs mentioned above and is used to testing with Git and Jenkins – the experience of writing and testing the code should be exactly the same as developing code on any other platform.

IBM Cloud Pak for Applications for Z

IBM Wazi for Red Hat CodeReady Workspaces is an add-on to the CloudPak for Applications, and uses the same Virtual Processor Code metric to allow for flexible deployment and re-allocation of licenses to use capabilities on-demand. While it is officially an add-on to the CloudPak for Applications, it works stand-alone without the CloudPak being a pre-requisite.

Summary observations

IBM’s announcements of Wazi for Red Hat CodeReady Workspaces and IBM Wazi Virtual Test Platform are more than meets the eye at first glance.  A knee-jerk reaction to this announcement could be: “Yup, IBM has created an identical cloud-native development environment that mimics cloud-native application development in the x86-world.”  That, in-and-of-itself, is pretty significant because it paves the way for companies that mainly utilize x86 systems to consider and more easily build applications that will run on IBM’s System Z – opening the door for thousands upon thousands of additional applications to find their way to the mainframe platform.

But what most observers might have missed is that, with this announcement, IBM has closed the gap for the next generation of System Z program developers.  Those developers can now use the tools that they are already very familiar with to structure their applications, test, debug, deploy and run applications on a System Z.  Everyone who writes cloud code using these familiar tools can now become a System Z program developer.  The concern about where next-generation application programmers are going to come from has, suddenly, gone bye-bye.

The one remaining question regarding these pricing/application development actions is this: “Will IT executives consider shifting their system/server buying patterns now that cloud-native applications can run transparently on x86-based servers and System Z?”  Most buyers usually stick with the purchase pattern they are most familiar with: if it ain’t broke, don’t fix it…

What this announcement represents is an opportunity to run applications where they can be executed most efficiently (and most cost-efficiently).  IT buyers who recognize this may venture beyond their familiar x86 buying patterns and start to host more and more cloud applications on IBM’s System Z.  And those that do will likely find that, by hosting the right apps on the right platform, they can save their enterprises hundreds of thousands or even millions of dollars.

Leave a Reply

Your email address will not be published. Required fields are marked *