Josh Dougherty (00:10):
Thanks for joining me today. I'm excited to have a discussion on Revitalizing Legacy Applications for Azure and Its Effects on Nonprofits. I'm your moderator, Josh Dougherty, and joining me today is Rakesh Anantharaman, practice director for application modernization, and Michael Kimbro, who's a senior architect and practice lead. Thank you both for joining me today.
Rakesh Anantharaman (00:34):
Thank you. Glad to be here.
Michael Kimbro (00:36):
Josh Dougherty (00:38):
Today, we're talking about how application modernization can have a big impact for nonprofits. Rakesh, can you share a bit about what application modernization is, if someone isn't familiar, and why nonprofits, specifically, should be concerned about it?
Rakesh Anantharaman (00:57):
As far as app mod is concerned, consider this a practice of updating older software, taking a newer computing approach to it, as well as updating to newer languages, a newer framework, and new infrastructure platform. I know legacy is a bad word right now. This is re-architecting, rehosting, or re-platforming an older application, or a suite of applications, so it's future-proof. To put it simply, app mod is putting new tools and processes in place that help the evolving needs of the customer and your organization, and to accelerate growth and assist in the achievement of your mission.
In this case, we are talking about nonprofits. There are a few reasons why nonprofits need to think about modernization and go through the modernization journey. Nonprofits work a lot based on funding. With the pandemic, funding is really flat. It has definitely changed donor patterns, based on our conversations with customers. Modernizing their legacy applications allows these nonprofits to increase their impact and provides an easier management to leverage new platforms using newer technologies. We might ask, "How do we bring in data? What do the trends look like? Social media? How do we use AI?" Because they collect a lot of data. How are they using this data to identify new donors? How do they get new funding? That's important for nonprofits.
The second point is that providing the tools and resources that create efficiencies in the organization itself allows you to do more with less. There are a few things we'll be talking about today, including efficiency, scalability, security, and mainly focusing on the cost, especially since we are talking about nonprofits.
The third point would be allowing for better marketing analytics. This means showing data in a way that allows people to take action where they weren’t able to do so before. They can make sense of the data, creating good browsing patterns and creating good data mining options. With the latest technology, the latest advancements on Azure, it's important for nonprofits to go through the modernization journey.
Last but not least, and this is something that we talk to our customers on a day-in and day-out basis, is security. Security, security, security. With the amount of money flowing in, it's always important to talk about security. PI data is always there and is something they have to consider. These are a few reasons that, when we talk to the customer, we say, "Hey, these are the things you have to think about when you're going through the modernization journey."
Josh Dougherty (03:57):
Michael, I'd love to throw it over to you now and walk through the benefits, or the reasons to move forward with an app mod initiative. What are some of the drawbacks of not taking action, if you're a nonprofit thinking about app mod?
Michael Kimbro (04:15):
You're losing out on these opportunities to grow your donor base, to try to reach your mission faster, to broaden that. There are so many useful technologies in Azure that you could take advantage of. Another aspect is really looking at where you want to spend your limited resource of time. Do you want to spend that time maintaining legacy applications? Even with a lift and shift migration where you're just picking things up and putting them in the cloud, that's still on you to maintain that from a systems perspective. Whereas, if you can re-architect that a bit, refactor those applications to take advantage of those services, then you're taking advantage of administration features Azure has built in. You don't have to worry about patching an OS. Instead, you could spend those resources figuring out how to reach your donors better.
Look at those analytics Rakesh was talking about and create new, innovative applications to help drive that mission your organization is trying to fulfill. Consider adding resiliency to your application as you grow your reach. You don't want your application to falter. Your website, any application, whatever it is, that is the basis of your operations. You want those to keep pace with the performance you need.
Cloud architectures allow you to do that very easily. You don't have to go buy a new machine to scale up your application. You can provision things very quickly in the cloud and also gain cost efficiency, because you'll have climbs when your donors are more active, perhaps. It's holiday season right now, and a lot of people are thinking about giving. You want to be able to scale those applications up to take advantage of those times when people are really active. Even if it's on a very granular basis—maybe people are more active during the work week, or on weekends. You can use the tools in Azure to scale things accordingly and optimize your cost.
Josh Dougherty (06:56):
Rakesh, what are some of those key tools available in Azure that help with app mod and make the process simpler?
Rakesh Anantharaman (07:21):
We see this more as a modernization journey that we take our customers through. It is not a Magic 8-Ball where it says, "Hey, this is where an application would land." We walk through with the customer and go through an application rationalization, an engagement where every single application is categorized and classified into where this particular thing is going to fit. In a few cases, where plenty of tools are available on Azure, this helps us be able to do it. Once we get to, "Hey, this particular application needs to be on Azure or cloud in this case," then what we say is, “We can use a few tools.”
The first one that we typically use is what's called Azure Migrate. It typically fits into more of a rehosting. It falls into the rehosting use case where, as Michael was talking about, it's an easier lift and shift. And as long as those applications, databases, API calls, and the servers serving those API calls can be moved, Azure Migrate is a fantastic option. You can create a project and be pointed to your set of virtual machines and you'll be able to move it pretty quickly to Azure. So, that takes care of the virtual machine side of it.
If you're truly talking about using Azure's managed services, let's talk a bit about the databases first, because that's where you have a bigger footprint, especially for the nonprofit side. There are a few services available. One is called Azure Data Migration Services. It is comprised of two different services. One is called Migration Assistant, and the other one is called Database Migration Service itself.
When I talk about applications I can classify them to, "Hey, you have your application here." The application is talking to a bunch of databases, including a reporting database, transactional database, etc. Those databases will also be a bit legacy, a bit older than what is currently available. For us to be able to transform it and move it over to a managed service, we have to assist the database first. Application database needs to go through an assessment. The Azure Data Migration Assistant helps us create the list of issues of what we would face when we do the migration. We help the customers resolve those issues before we actually migrate them using the Azure Database Migration Service. So, there are two different components there.
The third thing in play here is the SQL Server Migration Assistant. Think of this more along the lines of, "Okay, I have a SQL server or a database that's running locally on-premise, and I want to move it to Azure." That's an easier move to something like Azure SQL and, in a few cases, Azure SQL Managed Instance. Or, with a little bit of a refactoring and code updates, we can move the reporting database directly to something like SQL Data Warehouse in Azure.
Those are the application and database levels. I did want to talk about the backup and disaster recovery, because it's so important for nonprofit customers. There are two different services available on Azure called Azure Backup and Site Recovery. Azure Backup is the cloud-based backup solution for your Azure virtual machines, managed discs, file shares, and on-premise server. You can use them for a variety of options. This one is especially used for migrating your virtual machines, and restoring the backup data into an Azure virtual machine pretty quickly.
Site Recovery is going to be your cloud-based disaster recovery solution. Especially for nonprofits where they may, for example, have their virtual machines or managed servers on an East US data center. If something were to happen, Azure takes care of switching it over automatically to a West data center, if the resources are replicated over there. Site Recovery makes the switch over easier. Even if the data center were to go down, the business would still be up and running using the West side. Yes, there'll be a bit of latency, but the business will be running. The donors will still be able to contribute. And this Site Recovery is more of a, "Hey, click, click, click," and it takes care of your DR options pretty easily.
There are a couple of other tools available. We can go into detail, but these are ones, at a high level, we use on a day-to-day basis with our nonprofits, to help them through the modernization journey and help them migrate over to Azure.
Josh Dougherty (12:26):
Michael, was there anything else you wanted to add?
Michael Kimbro (12:34):
So Rakesh talked about the data side of things, and that's definitely important. There are also some tools, and they're tied into Azure Migrate, around taking your existing web applications and a variety of platforms. They could be .NET, they could be Java applications, or web applications of many flavors, and transforming them into something that can run on the cloud with very minimal effort. Tools that will help you containerize it. Basically, you don't even have to touch your code, but it'll analyze the traffic going to your website and figure out how to containerize it effectively, so you can move it over to the cloud very quickly. Whereas that's just the first step in that journey for that side of things—you're getting into the cloud, you're getting some of that resiliency, but you're still not optimized.
Josh Dougherty (13:42):
Michael, if a nonprofit is committed to modernizing their legacy apps, and they're committed to migrating to the cloud, what are a few pitfalls they need to look out for? Where are the places they need to stop and do some thinking before moving forward?
Michael Kimbro (14:05):
There are a handful I see frequently. One of the big ones, in my experience, is an organization trying to bite off more than they should in one shot. That ties into other pitfalls. It's hand-in-hand with a limited expertise in the cloud. Most nonprofits aren't really focused on engineering. They have something else that is their primary focus. It's natural that they're not going to have the expertise in the day-to-day activity. Really educating your organization about what this means, trying to dive in and generate some knowledge around it is very, very helpful. Also, partnering with experts who can help with this journey is important.
Financial sources. Nonprofits, especially, are often strapped. You need to think about where you're effectively applying those limited dollars. There are going to be applications that make more sense, where you can get some cost savings right away. Other things that are going to be a longer-term play. This is something you need to think about over the course of several quarters, or even years—whether it makes sense for your journey.
And, now we're all working from home. When you're doing these migrations, you have to think about data security. You can't be backing up a database across the network to your laptop at home. That's not a good practice to get in the habit of. It's better, maybe, if you're in an office in a secure location, but you have to think about data security at all times. Fortunately, with the tools that we've talked about, these can all happen remotely. They don't really happen within the cloud and your on-premise environment. So, there shouldn't be any real risks there, unless you're doing something that is not advised.
Rakesh Anantharaman (16:36):
I wanted to add, in addition to what Michael mentioned, that I talk to nonprofit customers on a weekly basis. They do have a lot of data they collect, which is good, but they don't pay enough attention to the data quality issues. They have to. That's something, on a day-to-day basis, where we say, "Hey, you are collecting a lot of data, but let's talk about your data quality issues.” Which donor? What's the dollar amount? Where are they doing it from? Using more social media and using more AI to play with it. Of course, helping them choose a platform that is more scalable, something like Azure, where they can scale based on need. This, again, ties back to cost and efficiency.
If your application is resilient enough, so you can scale portions of the application to achieve your goal, then you don't have to scale your entire application, and you can save a lot on your cost. We usually achieve that using Azure, containers, microservices, and helping them redesign their architecture. That's something we also pay attention to while working with nonprofits.