Deploying Software AG Adabas and Natural Workloads on AWS
By Franck Mourlot, Sr. Solutions Architect for Migration and Mainframe Modernization – AWS
Many organizations have core business and critical workloads running on Adabas and Natural in a mainframe environment.
Customers are looking for ways to reduce cost, increase agility, and improve IT workforce productivity. For this purpose, Software AG provides products and services to deploy applications to Amazon Web Services (AWS).
In this post, we highlight how Adabas and Natural applications can be deployed and modernized on AWS, and run in a resilient and scalable way to deliver high service quality and business value.
While some customers are thinking to rewrite or refactor their existing applications, Software AG offers an alternative to keep the investments a company has made over decades of development. With minimal effort, applications can be deployed and modernized on AWS using Software AG components.
Software AG is an AWS ISV Partner that helps customers get the most of the cloud by guiding them along their modernization journey. Each customer can choose a classical deployment on compute instances, or a more agile architecture based on containers.
Overview of Adabas and Natural Components
Adabas and Natural are multi-platform components running on major operating systems. Natural applications can easily be moved or deployed from one platform to another with a low level of impact into the code. The integration of Adabas and Natural on AWS allows you to securely run critical applications with a high level of performance and resiliency.
Software AG has developed several components to allow the deployment of modern applications. Developers can use a development environment which supports agile practices and CI/CD pipelines implementation. End users can access their Natural application through a web browser, and Natural supports the development of new applications by enabling APIs.
The following diagram shows the different components of Adabas and Natural.
Figure 1 – Adabas and Natural components.
- NaturalOne is the Integrated Development Environment (IDE) of Software AG based on Eclipse. It can also run Natural and Adabas containers on a workstation providing a fully autonomous development environment. NaturalOne can be easily integrated with AWS CodeCommit and AWS CodePipeline to allow the support of modern DevOps practices.
- Online users can access Natural applications in Natural Online using SSH or through a web browser (HTTP or HTTPS based on a Tomcat instance) using the ApplinX component.
- Batch jobs can be executed by a dedicated component: Natural Batch.
- It’s possible to allow the access of business functions developed in Natural through APIs. Services are executed in Natural Services and presented by EntireX.
- Adabas is the multi-platform Software AG database management system (DBMS). Adabas is a NoSQL database that supports ACID transactions and can deliver high performance.
Adabas and Natural on Amazon EC2
As the first step of the Adabas and Natural cloud deployment and modernization on AWS, both can be deployed on Amazon Elastic Compute Cloud (Amazon EC2) with three options:
- Basic setup for development and test environments.
- Highly available and elastic Adabas and Natural for production environments.
- Adabas distributed storage solutions.
In this setup, all the components are deployed in one Amazon EC2 instance. This architecture is deployed in one AWS Availability Zone (AZ). The resiliency of the solution can be ensured with the “recover” action provided by Amazon CloudWatch.
All of the data are stored in Amazon Elastic Block Store (EBS) volumes; Adabas Datafiles (ASSO, DATA, and WORK), protection logs, Adabas backup files, and Natural files (work files, print files, configuration, and fnat/fuser).
The volume is backed up on Amazon Simple Storage Service (Amazon S3) using EBS snapshots, and this backup can be used to restore the complete configuration in case of AZ failure. Adabas backups and protection logs can also be stored on S3.
Figure 2 – Adabas and Natural basic setup architecture on Amazon EC2.
Highly Available and Elastic Adabas and Natural
In this configuration, Adabas and Natural are running on multiple EC2 instances. This deployment allows Natural to be deployed in multiple AZs and to be integrated in an auto scaling group for elasticity and high availability.
A Network Load Balancer in front of Natural instances ensures routing of the requests. Natural keep its context locally, so a request from a client should be routed to the same instance using Sticky sessions. In this configuration, a Natural layer can scale up and down based on the volume of transactions, meaning the cost of deployment is directly linked to the volume of activity of the applications.
For performance purposes, it’s generally recommended to install the Natural Batch component on the same instance as Adabas. It’s possible, however, to also install this component in dedicated EC2 instances.
For resiliency, this batch instance can be part of an auto scaling group with a number of instances of one. This means that in case of AZ failure, a new instance will be launched into another Availability Zone.
Adabas Datafiles are stored on EBS for distribution across AZs, and Natural files are stored on Amazon Elastic File System (EFS) to ensure file access in multi AZs.
Figure 3 – Adabas and Natural highly available architecture on Amazon EC2.
Even if this configuration is scalable and available at the application server level, Adabas is a single point of failure. In case of failure of the instance, it’s still possible to use the recover function of Amazon CloudWatch to automatically relaunch Adabas.
To avoid unavailability in case of failure of an Availability Zone, Adabas should be deployed with a distributed storage solution.
Adabas Distributed Storage Solutions
Different solutions can be used to allow Adabas to restart in another AZ without having to restore the full EC2 instance.
The first solution consists in leveraging CloudEndure Disaster Recovery to allow near real-time replication across AZs and possible restart of a second instance in less than 15 minutes.
The second solution consists in leveraging partner storage real-time replication solution like NetApp Cloud Volume ONTAP High Availability on AWS.
Adabas and Natural on AWS Containers
It’s possible to re-architect Adabas and Natural applications to leverage container benefits. All of the components can be deployed into containers and run on Amazon Elastic Container Service (Amazon ECS) or Amazon Elastic Kubernetes Service (Amazon EKS).
This describes a target architecture on Amazon EKS, the managed Kubernetes service of AWS, without having to manage the Kubernetes control plane. This provides to customers the ability to quickly provision and use Kubernetes clusters.
Amazon EKS provides an orchestration platform that automates manual processes required to deploy, manage, and scale containerized applications.
Figure 4 – Adabas and Natural architecture on Amazon EKS.
Each component of Adabas and Natural is deployed in separate containers running in PODs, with each focusing on its own task. All of these components are logically decoupled and can independently scale and get the benefits of the EKS orchestration capabilities.
Adabas Datafiles are stored in EBS, while Natural files are stored in EFS (for file sharing across Availability Zones). The PODs are deployed on an EKS cluster based on worker nodes (Amazon EC2 instances) that are launched in an auto scaling group and in multiple AZs to ensure the availability of the EKS cluster. The resiliency of Natural services is provided by Amazon EKS.
By default, Adabas does not provide a replication solution to ensure high availability in case of an AZ failure. To ensure resiliency of Adabas storage, it’s possible to use partner solution like NetApp Cloud Volume ONTAP High Availability on AWS or Portworx as replication solution dedicated to Kubernetes.
Increasing Agility Further
NaturalOne is an IDE based on Eclipse that provides all of the components to build an autonomous workstation for the development and maintenance of Adabas and Natural applications.
An IDE provides a complete set of functionalities for developers to develop software. It includes code editor, build automation, and debugging facilities. The IDE is associated with a code repository where developers can get the current version or store new versions of the code developed, and then trigger automated code build and deployment.
NaturalOne can be integrated with the DevOps services provided by AWS (CodeCommit, CodePipeline, CodeBuild, and CodeDeploy).
DevOps practices, with implementation of CI/CD pipelines, offer a fully automated process to deploy new software versions in integration and production environments. This brings more velocity to software deployment, resulting in a reduced time to market while improving the productivity of the development teams.
From the Eclipse client, developers can commit versions into CodeCommit and trigger an automated pipeline to build and deploy a version to an integration environment. After user acceptance testing (UAT), developers can deploy trigger the deployment of the new version to production.
Figure 5 – Integration of NaturalOne with AWS DevOps services.
- Developer pulls the code to the development branch.
- Development pipeline executes all the workflow: build, test, and deploy to the integration environment.
- After the user validation, a pull request is done from the development branch to the production branch.
- Production pipelines execute all of the production workflow to promote the new version in production.
UI Modernization and Digital Enablers
Applications running on legacy platforms are mainly accessed through a “green screen,” and their logic is based on chaining of transactions through hierarchical levels of menus while sometimes requiring knowledge of complex commands.
Now, everyone is used to modern user interfaces (UIs) using web-based technologies or mobile applications. User experience and adoption has become a key indicator for many companies. This outdated terminal technology also requires developers to use terminal emulators, which add more complexity in device configuration.
Adabas and Natural provide two kinds of solution to modernize user interfaces and/or enable the development of digital services.
Web-Based Terminal Emulation
Through its ApplinX component, Natural Online exposes a green screen UI through a browser-based terminal emulation. After a migration, there will be no need to maintain terminal emulation solutions.
Figure 6 – Natural browser-based terminal emulation.
We have seen before the usage of Natural transactions via Natural Online, but Natural also enables you to access business functions through APIs. This functionality allows you to develop digital services or web-based applications without having to rewrite business logic.
These functions are delivered by Natural Services and EntireX. These two components can be associated to the existing architecture (Natural Online, ApplinX, and Adabas). Natural Services are sharing the same data as Natural Online and can be deployed in a scalable and resilient manner both on EC2 instances or in containers.
The following diagram illustrates a possible deployment on EC2 instances.
Figure 7 – Adabas and Natural architecture on Amazon EC2.
Natural Services and EntireX offer the possibility to easily modernize UIs of existing applications.
Figure 8 – Sample web application using APIs to execute Natural functions.
Adabas and Natural Replatforming Process
Adabas and Natural are multi-platform solutions, and Software AG has developed all of the tooling that allows the deployment of Adabas and Natural objects cross platforms.
Adabas provides utilities to load mainframe source files to Linux platform. Natural objects can be easily moved from one platform to another.
In that kind of project, most of the source code is portable and only minor adaptions have to be done:
- Difference of sequence of characters between EBCDIC and ASCII (complementation of search keys with 9 on mainframe).
- Environment dependencies (NATRJE, for example).
- Conversion of JCL into Shell scripts.
- Changes of software landscape (scheduler, output management).
Based on more than 25 years of experience of redeploying applications on different platforms, Software AG has developed a proven replatforming methodology for Adabas and Natural in three steps.
As described in the following diagram, a deployment of Adabas and Natural to AWS is not a long-term project.
Figure 9 – Adabas and Natural replatforming process.
This strategy for the deployment of Adabas and Natural applications can maximize the return on investment (ROI) of the project.
Software AG delivers value by reducing costs and risks of the project:
- Shorter projects timeframe (6 to 18 months).
- 100 percent projects success.
- Reduced testing effort especially on end users’ side.
- Meets non-functional requirements.
- Retains differentiating business logic.
In this post, we have shown how Adabas and Natural can support several steps in the modernization journey of customers’ applications to the cloud.
- Replatforming Adabas and Natural applications on AWS is a low-risk process that allows customers to reduce their operating costs by retaining their applications value.
- The deployment of Adabas and Natural on AWS provides the opportunity to use modern software stacks to reduce technical debt and automate the deployment using infrastructure as code (IaC).
- Customers can get most of the benefits of AWS in terms of elasticity, agility, and resiliency. The modular architecture of Natural is an ideal candidate for containerization and evolution to microservices architecture. Natural can also bring modernization of the UI and capabilities to develop modern application that can use the existing business logic through APIs.
- Once deployed on AWS, it becomes easier to innovate and be agile, using the largest choice of services and features that AWS can provide:
- Speed and agility with on-demand resources (compute, storage, databases, network) in minutes. You can also go global with all of the available regions worldwide.
- Foster innovation with low cost of entry to experiment, choice of services available at fingertips, and new channels such as mobile, voice, and IoT.
- Business data analytics with rich data service ecosystem (data lake, data intelligence, data warehouse, AI/ML).
- With NaturalOne, customers can easily implement automated CI/CD processes on AWS to improve their staff productivity and reduce their time to market.
To reduce costs, improve agility and workforce productivity, many companies with mainframe environments are looking to migrate and modernize their applications to AWS.
Software AG is providing the technology to deploy Adabas and Natural applications on AWS. This offers a cost efficient replatforming solution by keeping the investments done with decades of development.
Furthermore, Adabas and Natural on AWS bring more agility by integrating with AWS DevOps services and allows the modernization of the applications through modern UIs and APIs enablement.
Software AG – AWS Partner Spotlight
Software AG is an AWS ISV Partner that empowers customers to innovate, differentiate, and win in the digital world by offering an end-to-end Digital Business Platform based on open standards.
*Already worked with Software AG? Rate the Partner
*To review an AWS Partner, you must be a customer that has worked with them directly on a project.