Interview with Josh Garverick. Cloud Solutions Architect at Xebia Xpirit.
Q: What is application modernization?
A: In short, application modernization means changing your application so that you can leverage capabilities that you wouldn’t be able to otherwise.
For instance, in a traditional setup, you will probably have a backup for disaster recovery, and that’s it. In the cloud, the entire world is at your feet. You can immediately start to broaden your reach as far as the audience and markets you’re aiming for to further advance your business. Another example is the elasticity of the cloud, allowing you to do things at burstable scales that data centers are not traditionally designed to deal with.
Data centers are primarily set up to deploy VMs. The cloud is different. Here, you’ll select pieces of functionality, put them into managed services (provided by cloud providers) and then use them to run things like web requests and long-running batch jobs, or you could spin up a complete risk analysis model within a cluster and spin it down when you’re done. The use cases for leveraging elasticity and taking advantage of the cloud’s burstable scale are nearly infinite!
Application modernization’s best-kept secret is that it takes quite some time before companies are ready to ‘push the button.’ From considering options and understanding which solution best fits your ambitions to designing and implementing.
Q: Are a lot of companies moving to the cloud these days?
A: While many companies still use data centers, there is a growing desire to leverage cloud components to work faster and increase business agility. I estimate that the number of companies looking to move to the cloud is growing at 30-40% per year.
But even if you’re not ready to move to the cloud yet, you can already start prepping your applications to take full advantage of cloud services later on. Examples include containerization or code changes like refactoring or rearchitecting. These design and code changes can (often) be made ahead of time, so when you do move, you only have to worry about the infrastructure in the back end.
Q: Are apps always modernized when moving to the cloud or just moved to a new place?
A: I’m happy that the data center craze has cooled down a bit. It means companies are looking at making meaningful changes instead of just lifting and shifting, moving problems from one place to another, and often not prioritizing application modernization.
Getting up to the cloud, setting up your landing zone, and ensuring people can leverage what the cloud offers enable Greenfield development. But, if you get stuck in that Brownfield space and you’re not actively looking at how to decompose things, make changes and rearchitect to improve, you’ll just end up taking your challenges with you to the cloud.
Q: Why do we see fewer lift and shifts?
A: It’s due to a combination of things. Firstly, there’s a growing general awareness that it’s simply not your best bet. If you think of it strategically, would you move boxes from one room to another and hope they unpack themselves? Secondly, there’s been a lot of positive press about all things cloud-native. On-prem VM management tools used to be just fine for many, but recently, we’ve seen a massive uptick in people realizing that it’s better, easier, and more cost-efficient to let, for instance, out-of-the-box cloud solutions, take care of certain parts of the infrastructure.
Don’t get me wrong, moving without modernizing still happens. But our industry is working on it — getting the word out, educating people, and actively sharing the cloud’s value proposition.
Q: What is the driving force behind app modernization?
A: The number one reason to start modernizing is a pain that can often be traced back to your people, processes, or technology.
In 85% of the cases, people are the problem. For example, they may have a different mindset, resist change, struggle with a knowledge gap, prefer another way of working, or a combination thereof.
Some people say the cloud will save you money, others say it will cost you money, and depending on your perspective, both are correct. At the end of the day, there’s a way to develop, architect, and deploy for cloud that embodies fiscal responsibility. For instance, FinOps helps businesses manage cloud spend by increasing transparency and offering tools to set budgets, put chargebacks in place, and implement shut-off valves.
Technology will always provide pain points because it changes so quickly. There’ll always be new features, platforms, and advancements, and you can’t always know everything. We advise people to focus on understanding the core stuff well. This will make it easier to make informed decisions when anything new pops up.
Q: Where in this process do companies need a partner, and why?
A: Over the past few years, businesses have gained a lot of knowledge of cloud-native development, architecture, and observability of applications. But, they still look for experts to help them in areas they want to improve but don’t have the time to dive into, like SRE, Infrastructure as Code, CI/CD pipeline management, or clean architecture. Often, clients ask us for help to do <X> better. They are looking for a knowledge injection, best practices, recommendations, guidance, and support to get their teams up to speed.
Q: How do we go about helping these companies?
A: When we meet a new company, we always start with a pre-assessment to find out what’s working and what’s not, their ultimate goal, and what success looks like. After that, we dive into specifics, like the current knowledge level, need for training, and way of working. Some companies want us to work with them in tandem. Others prefer us to do it, document it, and then let them know how it works so they can get themselves up to speed.
If a company is still not sure, we love to make benefits more tangible through numbers, facts, ROI, visuals, financial facts, or time (how much will you need to invest and how much will you gain, for instance in the test, build and release process)? Sometimes we ask, ‘If you could change two things, what would they be, and how would you benefit?’ Everyone’s got something they want to change, so we explore that together and show them how specific changes can help them improve!
Q: What’s next?
A: The market potential of a few essential shifts has not been fully realized yet, and one of them is mainframe conversion. A lot of financial companies and insurance companies are tied to mainframes, which also means they are trapped in a traditional way of working. In general, many companies are stuck in that late 1990s/early 2000s technology stack. For example, they run Web servers on IIS somewhere on Windows machines. And, what to think of the shadow IT concept, where people use innovative tech that the (old-fashioned) IT department knows nothing about?
Modernizing has so many advantages. I would be thrilled if we can accelerate this process in the next few years. Just look at what happened to the unemployment offices in the US still running on mainframes during the pandemic. Because of the sudden spike in people applying for unemployment benefits, the mainframes crashed, and there was a huge panic as not many people knew how to operate them. If this had been modernized (in time), this problem would not have occurred.
Companies choose us because we are an authority. Today, we have more Microsoft MVPs than any other company in the system integrator space. That speaks volumes to our people’s knowledge and commitment to sharing their expertise to help others do better.
Meet Josh Garverick
“I am a .NET developer, solution architect, and Azure practitioner. My first language was BASIC in 1986. I started with .NET when it was introduced in 2003 and have been learning ever since. I’m interested in continuing to learn as much as I can about new and emerging technologies, assuming I have enough spare brain cells to store the information in. I’m equally interested in helping others learn and grow through speaking at conferences, publishing books and online content, attending or hosting community events, and mentorship.
- Migrating to Azure (2018)
- Developer’s Guide to Azure (2022)
- Implementing Event-Driven Microservices Architecture in .NET 7 (2023)
Join Josh’s new 1-hour webinar about cost management in Azure