Tech debt and the value of API gateways and service meshes in application modernization

Nikki Rouda
| June 21, 2021

Any organization that has been around for more than a couple years has tech debt around their applications, even if they were making the best decisions with technologies and methodologies available at the time. Applications always need to evolve to meet the needs of customers, and those who stop innovating are doomed. Let’s look at a few patterns of application modernization.

One of the hottest trends today is migrating to Kubernetes for more efficiency and to better take advantage of cloud resource scaling. But moving to Kubernetes can be a massive undertaking even when planned out carefully. We explore how Kubernetes doesn’t deliver full value unless also accompanied by a service mesh, most often built with the open source project Istio. The blog Accelerate Kubernetes Adoption with a Service Mesh explores how to address the most common challenges and how Gloo Mesh can help.

Many developers and operations teams have to work with legacy web applications, and many of those applications were built on the Simple Object Access Protocol (SOAP). The challenge has been how and when to modernize them properly. A “lift-and-shift” to Kubernetes in the cloud won’t go far in solve what are inherent limitations (i.e. debt) in SOAP APIs as compared to modern REST APIs. Yet a complete re-write of an older application might be out of the question for many, or at least might need to be staggered over an extended period of time.

The good news is that Gloo Edge can help! With the inclusion of SOAP and Extensible Stylesheet Language Transformations (XSLT) in Gloo Edge 1.8 (in beta now) you can modernize your applications in chunks (the technical term) and not lose compatibility with the older application. Gloo Edge can now act as an API gateway and dynamically transform SOAP messages into JSON. To learn more, read our excellent blog Back to the Future: SOAP and XSLT with Gloo Edge 1.8.

Another consideration is not what is being modernized but where it will run, and a popular choice here is Microsoft’s Azure Kubernetes Service (AKS). Since a lot of the legacy application were build on Microsoft Windows as an operating system, and there is a functional gravity pulling to stay with Microsoft, so AKS becomes a natural choice of cloud operating environment. Just like trying to move from SOAP to REST is a non-trivial exercise, customers may hesitate about moving everything at once to .Net or .NetCore. We have detailed how to modernize both Windows and Linux workloads with an Envoy Proxy-based API gateway in the blog Gloo Edge on Azure Kubernetes Service (AKS) with Microsoft Windows node pools. We also describe how an Istio-based service mesh control plane helps with Microsoft applications in the blog Gloo Mesh and Istio on Azure Kubernetes Service (AKS) with Global Virtual Network Peering.

If Red Hat is more your wheelhouse, you might want to explore how to run OpenShift with Gloo Mesh and Gloo Edge on-premises and/or maybe natively on AWS. We summarize some of the considerations in the blog Connecting microservices on Red Hat OpenShift across operating environments.

Of course, technology like container orchestrators, operating systems, protocols, and cloud platforms are only part of the story, and really just the foundation. To really modernize how you deliver applications may involve changing develop and release approaches to a continuous integration/continuous delivery (CI/CD) model. GitOps, first introduced by Weaveworks, is becoming a popular approach. We take this a step further and look at how you might incorporate A/B testing with Flagger and do GlooOps: Progressive delivery, the GitOps way.

Finally, you might be wondering just where to get started, beyond the various resources linked above. For that we have put together a quick guide to help you go From Zero to Gloo Edge in 15 Minutes*. If you still have questions about how to design, build, or operate your modern application environment, check out our helpful blog on Enterprise support for Istio in production which details enterprise support, Slack help, assistance with common operating environments, including Kubernetes, VMs, AWS (Amazon EC2, Amazon EKS), Azure (Compute and AKS), Google Cloud, RedHat OpenShift, best practices guidelines and architecture reviews.

Whew! That’s a lot of things to explore, but you should be confident by now that Solo has all the angles covered for your application modernization journey. 

Don’t be shy about reaching out to us on Slack anytime. 

 

 

Back to Blog