We’ve reviewed what Application Modernization is (Part I), and where to start with your app modernization effort (Part II). Now it’s time to select the tech stack.
With such a broad range of modern languages, architectures, and hosting platforms, which options will you choose when modernizing your apps? You may already have some of these decisions sorted out, which would be great. But you may also have disparate groups with strong opinions about their preferences, and some serious debates to deal with. We’ll walk through some of the options worth considering in just a bit, but first let’s talk through some of the factors to consider when selecting your go-forward technical approach.
One simple first set of questions to ask is whether a given technology option will alleviate the pains you’ve been experiencing with your current applications. (I’m counting that as one question per pain point.) It only makes sense that you’d like to feel confident that your App Modernization process will alleviate many of your current issues.
What about the various factors that impact your overall development costs? You need to consider your current developers, their expertise, and the various learning curves they’ll face with new technologies. There may be new languages to learn, new architectural patters, new design patterns. How much effort is involved in using the new technologies to develop and test apps? Is there a possibility that some developers might jump ship just because they fear the change?
Next, what about your operational costs? With each technology option being considered, how will that influence the cost to deploy, host, and manage your new apps across your environments? Will your deployments be bigger or smaller, and require more or less effort? Will they incorporate new features such as blue-green deployments, and how much automation will be involved?
Another type of operational cost is your hosting costs. Will you host your apps just as you do now, or will that change, with an associated change in cost? Will the new technologies allow you to host your apps more efficiently, potentially deploying your suite of applications across fewer servers/VMs/services? Will they make it easier to scale out your apps & services as needed to meet increased demand, and then scale back afterward. Will they ease the effort of supporting apps in production, perhaps with some self-healing abilities, or with better logging and monitoring?
I list all of these development and operational cost considerations because each option we’ll discuss actually does impact each aspect listed. Please keep them in mind as we proceed.
Up Next: An Overview of Architectural Options