To wrap up our 7-day blog series on App Modernization, I wanted to give you a sense of what some other companies have done in the App Mod space. Following are examples of some of Cardinal Solutions client projects in this space. These brief summaries highlight of the overall project and approach:
- Generally speaking, we have engaged with many companies to help them begin their respective journeys into the cloud, and quite a few of those have involved assessing their application portfolios and deciding which apps make sense to move to the cloud first, and how those apps would need to change in order to be more cloud-native. We already highlighted the criteria and options for these above.
- We’ve been working with a company since early 2014 who had embarked on an effort to take a new offering to the cloud. They wanted to use cloud-native services and approaches wherever possible, which would be a first for them. We wrote the initial solution, composed of a website, backend APIs, and miscellaneous services. For the most part we used a monolithic approach, except for some of the miscellaneous services. Most of the components are hosted in Azure App Service. For the past couple of years our team has been breaking off components and redeploying them as microservices, with most hosted in App Service, and a few as Azure Functions. There is a full continuous delivery pipeline built in Visual Studio Team Services, and deployments are fully automated (both infrastructure and apps), all the way through to production.
- We started working with another company in early 2016 who had an existing system that was hosted in their own data centers around the globe. That system was Windows-based, using monolithic apps and services. They wanted to migrate the existing app to Azure, but also create a new offering that would be microservice-based, containerized, and using entirely open source tech. The new app is hosted in Azure IaaS, with Docker containers deployed into a Mesosphere DC/OS cluster. As with the previous project, there is a full continuous delivery pipeline through to production, although using Jenkins.
- We worked with a company in 2018 to help them accelerate their current App Modernization effort. They had a very large suite of applications that were hosted in VMs on-prem, on AS400’s, and also on mainframes. (Note: I don’t see a path for *modifying* AS400 or mainframe apps to become “modern apps” and neither did our client.) Their goal was to rewrite all of their apps using a microservice-based approach, deployed in containers in Kubernetes, and hosted in Azure IaaS for now, but in Azure Kubernetes Service (AKS) eventually. They had already begun converting a suite of services to microservices, and they had used a tool to help stand up a Kubernetes cluster in Azure. We worked with them to provide guidance on best practices (regarding Azure, containers, Kubernetes, etc.), as well as fully automating the deployment of Kubernetes clusters. We also modernized a suite of services and automated their deployment into Kubernetes.
I’ve been working on App Modernization efforts for so long that I never thought it would be worth blogging about until “App Mod” became a thing. And so here we are. Having made it this far, you can now see there are a lot of aspects to consider when taking on an App Modernization effort. I hope this series of posts provided some valuable perspective for you. This was only an overview, so there’s plenty of room to dive into the details on your own. Cardinal offers hands-on workshops and multi-week engagement opportunities to help businesses modernize their legacy applications. If interested in learning more about the topic of App Modernization or our offerings, please contact us.