Providing contemporary and legacy applications with a scalable, modern infrastructure platform
In response to the demands of evolving legacy applications, Cloud computing and cross platform operations, a new paradigm is emerging to handle the infrastructure needs of this hybrid environment. Gartner has labeled this new infrastructure as Hybrid Infrastructure Platform (November 2018). While this need has existing for many years, there has not been a focus on how much this infrastructure helps the application achieve total platform independence. There are many challenges that bring this focus to bear on legacy applications, but usually they fall into one of three categories:
- Internal legacy skills tend to diminish as resources move on to new projects. Application service levels can decline without knowledgeable application maintenance.
- Vendor support of various underlying platforms is discontinued.
- Digital Transformation is driving a transformation of the software technology upon which most applications are built.
In this discussion, we will investigate the advantages of using a hybrid infrastructure platform (HIP) for hosting applications, rebuilding legacy applications and integrating them with the Cloud and contemporary architectures. Managers for maintaining legacy applications are looking for ways to improve productivity and enhance the future versions of their in-house applications as well as leverage the Cloud where it makes sense. Unfortunately many legacy applications are written in three GL languages and they don’t integrate very well with contemporary architectures and can’t be moved to the Cloud. Many companies have developed their own infrastructures, but they tend to be written for a specific purpose and are not easily modified for other platforms. To accommodate management of Cloud applications and cross platform integration, there are a number of vendors who say they have highly scalable infrastructures which can handle hybrid application management. The first step is to identify the platform dependencies that prevent multi-platform production.
Remediating Platform Dependence
The application dependencies can be language dependent, library or OS dependencies that are unique to each platform. There are subtle changes to the languages in spite of ANSI standards that make portability difficult. If you have a legacy application written in C, C ++, FORTRAN, COBOL, Pascal, Basic, PL/1 or,C# that needs to run on another platform, we will skip to the end of that effort to simply our discussion. Once ported to another OS platform, there will be issues you need to address on the operations side. The infrastructure that is needed to start and stop it is different depending on the OS. If you want one tool to do it across all platforms -that is what a Hybrid Infrastructure Platform (HIP) does. A HIP can do much more, but this is the basic need: start and stop your applications in a timely and performant manner.
Let’s say for the sake of argument you have an existing application that runs in a hybrid environment of onsite systems like Windows, Linux, Unix and Mainframe and you are moving selected applications to the Cloud. The on-site application servers or services could provide data to clients in a Federated SOA environment. The ability to start all of the components across Windows, Unix, linux and Mainframe would be a pretty complex task even with customized scripts on each platform. Complex diagnostic tools are often needed to discern the status of the overall system by testing each node in the network for valid connections and data.
Challenges of a Hybrid Environment
A hybrid environment is defined by Gartner as: “on-premises and cloud-based integration and governance capabilities that enables differently skilled personas (integration specialists and nonspecialists) to support a wide range of integration use cases.“ Hybrid environments can also include IoT, mobile and SaaS components as well. A truly hybrid environment has challenges in several areas like development, testing and deployment, but most focus on the operations aspect. For those companies who don’t know how to manage a hybrid environment, they try to mimic the existing operations built around the hardware and software silos. In lieu of an infrastructure that supports multiple platforms, they look to leverage existing knowledge and expertise to extend the management model to the Cloud.
Most companies don’t think that extending their deployment to the Cloud will affect their current development environment, but it inevitably does. Assuming the hybrid environment is dynamic and constantly changing, companies must account for a diverse development and testing environment. The development infrastructure must also allow the ability to generate automated builds with custom built scripts or with vendor supplied utilities like Jenkins. The ability to build and test applications and deploy them anywhere in the hybrid environment becomes an advantage. Having an infrastructure that allows you the flexibility to develop and test on any platform is a focal point for maintaining a competitive edge.
The next challenge is Deployment – having an automated build process that can be distributed is one thing, but being able to deploy new versions across a hybrid application environment on demand is a feature that assures the most critical aspect of Continuous Delivery. This means you can build and QA new versions and the intelligent infrastructure can coordinate what criteria is needed to deploy across all the platforms required.
The biggest challenge is Operations – being able to manage a hybrid application environment assures your company the continuity of performance that is necessary for a successful enterprise. This means you need an infrastructure that can coordinate across all the platform to ensure harmony during execution. This is known as application orchestration: application systems need to start and re-start on any node in the network in a repeatable, concise manner that minimizes the start up time and provides systematic, serial and parallel processes to ensure proper operation.
- Application systems stop and shutdown in a systematic fashion, with services shutting down in sequence and with a minimum of failures.
- A HIP contains intelligence on each managed service in a configuration, so that its health and proper operation are checked and assured.
- A really good HIP can do application health checking – ensure services start in order, prevent failures and resolve issues before the client knows there is a problem.
- A really good HIP is platform independent: its presentation remains consistent and the operations commands are the same on every platform.
- A HIP needs to record the details of the application infrastructure in a configuration files so that it can be replicated on every system.
- Orchestrate automated builds and analyze the success of the builds.
- Deploy an application environment to any node.
- Create a framework to effect seamless DevOps functions ensuring a Continuous Delivery model.
- Integrate with Eclipse to provide a distributed development environment.
In summary, the features of hybrid infrastructure platforms have to be ubiquitous across all platforms to effective. HIPs must provide the ability to do cross platform development, deployment and operational functions required to operate a hybrid environment. Having this infrastructure embedded in your environment can provide a complete solution that monitors and manages these discrete components and allows everything to work in harmony.
Is there one software package that does all this?
In reviewing the challenges and requirements of a hybrid environment, there is a question that arises from this discussion: Is there anything out there now that could do all of this? There is only one product which can meet each one of them and do it on any platform: NXTware.
The NXTware platform is comprised of three discrete components: NXTera, NXTware Remote and NXTmonitor. For the development challenge, NXTera and NXTware Remote combine to provide a modern, distributed environment for 3GL and 4GL applications. NXTware Deploy meets the challenges in deployment across a hybrid environment. NXTmonitor meets the operations challenge in a distributed environment and with the addition of web services connectors, it meets all the requirements of a hybrid infrastructure platform as well and can do it now. The NXTware platform can provide the infrastructure applications need to run on any platform or on the Cloud.