IBM z Systems Supports Modern Languages, Tools, Optimization and Processes
Illustration by Martin O’Neill
Applications must be easy to run, test and deploy. For that, we turn to the runtime environment. The term refers to the collection of software that runs the code as well as the support libraries, configuration files and other binary files the software needs to function.
Consider a grocery store chain that’s developed a mobile coupon distribution app. It analyzes customer buying habits and identifies needs: A customer buying cat food will probably need cat litter. Over Node.js, the app can select the appropriate coupons and push them to the mobile device during the customer’s typical shopping time. When used with LinuxONE, Node.js delivers 60 percent faster response time compared with an x86 platform, and 2.5x better throughput (ibm.co/2eKyHtH/).
Building the perfect application isn’t enough. When it comes to deployment or testing, that perfect software may suddenly become erratic or fail because the software environment around the application has just as much of an effect on its operation as the code itself. If software is written on an older release of a language, the next release might not have the same permissions or exceptions. Or maybe the runtime environment is missing an essential library or the library lacks certain information.
These types of headaches led to the development of containers, which package an application plus the runtime environment and any other tools the software needs to run. The container is loaded to a hub from which it can be downloaded to other machines and devices as desired. Once it has been transferred, the application will run correctly, no matter what native runtime environment is on the machine.
This is an important attribute for developers, who often want to pass applications back and forth or test them on one machine and run them on another. It speeds production, testing and deployment, and eliminates considerable frustration. It also makes it easy to deploy alternative configurations—just set up different containers.
One of the most common containerization platforms is Docker, a popular choice for applications using Node.js. That’s one of the reasons the availability of the Ubuntu Linux distribution for the mainframe is so important. Ubuntu holds over 70 percent of Docker hubs (ibm.co/2gHJXbO). This brings the power of the mainframe to DevOps teams wanting to improve application development and performance.
IBM also has tools to support modernization of the workhorse COBOL applications that constitute the foundation of a business.
comments powered by