Overcoming Common Serverless Challenges with Mainframe CICS Programs
Bypass the complex middleware and consider a lightweight node.js implementation to deploy serverless functions from your mainframe CICS applications
Join the DZone community and get the full member experience.
Join For FreeBy this point most enterprises, including those running on legacy infrastructures, are familiar with the benefits of serverless computing:
- Greater scalability
- Faster development
- More efficient deployment
- Lower cost
The benefits of agility and cost reduction are especially relevant in the current macroeconomic environment when customer behavior is changing, end-user needs are difficult to predict, and development teams are under pressure to do more with less.
So serverless is a no-brainer, right?
Not exactly. Serverless might be relatively painless for a new generation of cloud-native software companies that grew up in a world of APIs and microservices, but it creates headaches for the many organizations that still rely heavily on legacy infrastructure.
In particular, enterprises running mainframe CICS programs are likely to encounter frustrating stumbling blocks on the path to launching Functions as a Service (FaaS). This population includes global enterprises that depend on CICS applications to effectively manage high-volume transactional processing requirements – particularly in the banking, financial services, and insurance industries.
These organizations stand to achieve time and cost savings through a modern approach to managing legacy infrastructure, as opposed to launching serverless applications on a brittle foundation. Here are three of the biggest obstacles they face and how to overcome them.
Challenge #1
Middleware that introduces complexity, technical debt, and latency. Many organizations looking to integrate CICS applications into a microservices or serverless architecture rely on middleware (e.g., an ESB or SOA) to access data from the underlying applications. This strategy introduces significant runtime performance challenges and creates what one bank’s chief architect referred to as a “lasagna architecture,” making DevOps impossible.
How to Overcome
Bypass the middleware to connect directly to the underlying CICS application. This involves several considerations – for example:
- A protocol for directing serverless requests to the CICS TOR region
- A way to analyze serverless requests against URIMAP definitions
- A container to perform data-type conversions in a way that doesn’t load the CICS with unnecessary CPU-intensive workload
But direct integration with CICS applications is the only way to create a performant serverless architecture.
Challenge #2
Difficulty parsing data from the underlying mainframe applications. Digital services developers often lack context into how to access and parse data from, say, a COBOL copybook, to build APIs. And the experience deficit goes both ways: mainframe developers rarely have expertise with creating digital services on top of mainframe CICS transactions. The net-net is that development with data from mainframe CICS assets can be slow and manual.
How to Overcome
Create reusable digital representations of CICS application assets. Along with standardized API templates and a low-code environment, these will help ensure that digital developers don’t need to understand the mechanics of parsing transactions from the CICS application to leverage this data when building serverless functions.
Challenge #3
Overcoming the cold start problem. All enterprises adopting serverless technology face challenges in managing cold starts, but the problem is especially daunting for enterprises running CICS applications. That’s because Java libraries (used extensively by middleware providers) lead to large function size and slow initialization of serverless functions. This latency creates a sub-optimal user experience and ends up directly increasing cost since functions charge by execution time.
How to Overcome
Along with bypassing complex middleware and accessing the mainframe CICS application directly (see Challenge #1), consider a lightweight node.js serverless implementation. It might seem counterintuitive to use a scripting language for serverless functions. But in contrast to Java – which requires a JVM to initialize – Javascript enables a significant reduction in function size and much faster initialization. This helps significantly reduce or altogether eliminate the cold start problem, even with mainframe CICS applications.
These are exactly the challenges we set out to solve with OpenLegacy Serverless, the first serverless-native hybrid integration platform built for legacy systems. OpenLegacy Serverless offers organizations running mainframe CICS programs a low-code environment to rapidly build, deploy, and run serverless APIs.
Ultimately, a serverless strategy is a source of competitive advantage even for organizations that rely heavily on mainframe CICS programs. Mitigating the challenges mentioned above can help ensure the success of your next FaaS initiative.
Opinions expressed by DZone contributors are their own.
Trending
-
Mastering Time Series Analysis: Techniques, Models, and Strategies
-
Merge GraphQL Schemas Using Apollo Server and Koa
-
Exploratory Testing Tutorial: A Comprehensive Guide With Examples and Best Practices
-
SRE vs. DevOps
Comments