This is a guest post contributed by Shadow-Soft Solution Architect James Hendrix.

Imagine this, you’re one of the world’s largest, multi-billion dollar defense contractors providing cutting edge hardware and software in the engineering, powerplant, and vehicle manufacturing space. You’re pursuing a large defense contract to provide them with the software tools to keep them effective, efficient, and protected. The problem? Allowing your existing legacy software and emerging technologies to be brought together to make this solution work. We looked to Red Hat OpenShift, as the keystone solution to this particular defense contract solution, but alas, what about those existing and legacy tools?

Challenge

A mission-critical subsystem for application delivery, testing, and deployment was required on a localized, security -restricted, offline environment. The contractor selected Shadow-Soft due to our enterprise open source history, multiple successful OpenShift engagements combined with expertise and experience with complex integrations.

The defense contractor had identified, with the help of Shadow-Soft and Red Hat, that OpenShift 4.3 was the central solution to provide this functionality, but had to integrate it with existing tools and legacy applications. 

The contract would be awarded to the contractor who was able to put together a Proof-of-Concept (POC) that would demonstrate the required, mission-critical functionality to keep essential defense systems and applications running, updated, and deployable in an expedient and reliable fashion. The problem this contractor ran into with two weeks to go before the deadline for the POC, was their inability to integrate other external solutions and a legacy application into a centralized, self-contained solution: OpenShift.

The customer faced two challenges:

First, integrate existing external tools like a Nexus Repository, an external SCM (corporate GitLab), as well as a Jenkins pipeline service into the CI/CD process needed for updating, delivering, and deploying crucial software components.

Second, rearchitecting a legacy, mission-critical C application into container images for deployment onto the localized OpenShift cluster

With two weeks until the deadline, given the existing challenges the defense contractor was facing, for Shadow-Soft and Red Hat, this was no easy task to turn around in such a short timeframe. 

Solution

Shadow-Soft first identified that the legacy subsystem application needing to be containerized was going to require some refactoring in order to work properly in a microservices environment. The initial approach of the contractor was to package all components of the application into a single container image, however; this resulted in a giant container image that was unwieldy in a container environment. Shadow-Soft worked with the contractor to pare down the application components to ensure the only libraries needed were ones necessary to compile properly.

Secondly, the application was architected for traditional infrastructure and as such, required a shared memory space that posed another challenge for the contractor. At the time, the contractor was unable to get the application to run properly due to this shared memory issue as it wasn’t translating to the OpenShift environment well. 

A Shadow-Soft engineer was able to figure out a solution in time for the POC deadline. He was able to leverage a dummy sidecar container to achieve the shared memory functionality the application required to function. Now the application was running successfully within the OpenShift cluster.

The next phase of challenges to overcome regarded the external components to integrate into the cluster itself. A key component of any CI/CD pathway is the SCM utilized for code commits and critical application updates/patches. 

The contractor had a pre-existing GitLab server that they initially wanted to access through webhooks. This hosted service GitLab would require a connection coming from outside the local network of the cluster. 

Unfortunately, between the strict, security-minded OpenShift environment and required firewall rules in addition to the separate team and red tape required to open a secure pathway into the environment to use said webhooks, the contractor was at a standstill here with limited time until the due date. Shadow-Soft engineers, in tandem with Red Hat OpenShift experts, found a workaround in the form of a locally deployed Gogs Git server within the OpenShift cluster for SCM.

The final components were ready to be integrated into the cluster to finish the POC solution for the contractor. The initial step here was deploying a Jenkins pipeline service inside the cluster with a persistent database for pipeline runs. This was achieved thanks to Red Hat’s catalog of certified services for developers included in OpenShift. The next step was integrating the external Nexus Image Repository into the cluster, which again, presented significant networking challenges due to the security requirements of the environment. With the help of Red Hat OpenShift and networking expertise, Shadow-Soft was able to overcome the networking challenges to integrate an external image repository for stable image builds to leverage in application updates and deployment. 

Result

The result of all of these efforts was a complete, end-to-end CI/CD solution for a localized, security restricted OpenShift environment along with rearchitecture of a mission-critical legacy application. 

Over many OpenShift service engagements that Shadow-Soft has performed, we have seen several instances where legacy applications, whether written in C, Java, Perl, or even COBOL, have needed rearchitecting in order to work in a containerized or cloud-native environment like OpenShift. 

This was the first time we had been presented with a  compressed achievement window of two weeks to achieve rearchitecture of a legacy application in combination with a series of complex integrations given the security networking challenges present. Through the strong collaboration of Shadow-Soft and Red Hat, combined with extensive, deep experience with OpenShift, complex integrations, and application modernization, were able to achieve a successful demo environment for the POC in the short timeframe required.

Shadow-Soft is an award-winning Red Hat Partner with experience helping customers to adopt and implement Red Hat OpenShift and Kubernetes, Cloud-Native computing and digital transformation, as well as a complex systems integrator.  Learn more about Shadow-Soft and CI/CD pipelines with OpenShift via our Webinar with Red Hat.