Sarah: 00:10 Hi everyone. Thank you for joining today's webinar on Modernizing Your Applications for the Cloud with Redapt. Redapt is a technology solutions provider focused on helping our customers navigate the ever-changing and complex landscape of enterprise technology. At Redapt, we believe that highly successful organizations are those who adopt highly successful technologies. Today we have an exciting webinar about Modernizing Your Applications for the Cloud with our app mod expert and practice area director, Rakesh Anantharaman. As you have questions, feel free to drop them in the chat, and we'll address those at the end of the webinar. Go ahead and take it away.
Rakesh: 01:05 Thanks, Sarah. I'm guessing you guys can hear me okay. Thank you for being here, and, as Sarah was just mentioning, this is going to be Modernizing Your Applications for the Cloud. Just a bit of background before we get started. I've been with Redapt for close to 10 years now and, as Sarah just mentioned the practice area director for the application modernization practice. I've been doing this for a while now, with close to 14, 15 years experience all over the East Coast, and I’ve been with Redapt close to 10 years.
We have a strong set of enterprise architects, as well as cloud engineers working on my team, and we've worked together to solve our customers’ interesting problems, mostly focusing on agility and cost savings for the customers. There are multiple other KPIs that we also have, but these are the core things we focus on. We also focus on end-to-end solutions irrespective of which platform, Web, mobile, desktop platforms, Microsoft Stack, so any kind of custom development work comes through our practice, and we are pretty good at that.
Moving away from my picture, these are the four different things we'll be covering today. The first one we'll be focusing on is current enterprise challenges. One of the different challenges facing companies, both enterprise, small, intermediate level as well as others.
Second would be around what makes applications modern. We talk about modernizing, but what it actually means. It doesn't mean new skin that we put on, it doesn't mean other kinds of stuff that can happen. What does it actually mean? Because every company today has three or four different types of applications - they have their own customer-facing applications, they have internal applications, as well as some B2B applications that are out there in the cloud. Of course there is data that goes along with it. Every user interaction with any kind of application works with data - consumes, and generates a ton of data. So, how does modernization fit in? Is it on the website or is on the data site? Because every business connects through another one of information, and our main challenge is how to turn this data into actionable insights and intelligence, so we can provide that superior customer experience when somebody comes to our website or downloads our mobile app.
Third, we want to go over this roadmap to modernized applications. Every application is unique in its own spectrum. How can we approach it and put a roadmap together so we can modernize the applications that we have?
And the fourth one, the good thing that I want to talk with you about today, is a case study for a company we helped move to the cloud, and actually are helping them with other features on an ongoing basis. We'll be covering that in the case study.
All right, so moving onto the first topic - current enterprise challenges. The two major challenges that we hear every day when we talk to customers at enterprise levels, SMB, any kind of customers that we talk to are speed and agility. Number one: How do you bring products to markets faster than competitors? Because it's an ever changing market. The second is finding efficiencies in workflows to reduce costs, as I was talking about initially. The two pillars - speed, agility, speed, agility. How we reduce the cost, how do we make sure that our customers can get their products out to market faster than what others can provide, as well as constantly update the products. Listening to the customers, absolutely and constantly updating the products using their best practices.
The third thing, under speed, is working faster to free up more time for innovation. That kind of goes into agility or speed, however we want to classify that because - what kind of different methodologies can we use, how do we speed it up? Again, it all depends on how we get to the market as soon as possible. Along with these two, there are a few other things that I would also like to mention. End customers, no matter how modern your application is, and how modern they look, three things that they care about - number one is speed, as it mentions here. When I say speed, not just delivering things to the marketplace very quickly, but how fast your application is. Nobody is going to return to a slow website, or a slow mobile app.
I think the second one, along those lines, is personalization. We focus on that a lot on the app website, as well, because customers care a lot about personalized experiences - experiences where they log onto a mobile app and they expect that mobile app, audio, and web app to remember who they are. It should be able to learn from them over time and deliver a personalized experience. That's also something we're hearing from enterprise customers, and that could very well translate to the speed and agility aspect.
The customer experience has to be the same across whichever device they use. It could be a mobile phone, or a tablet. The form factor - it should be fitted and they should not see any differences where it would be an inconsistent experience across platforms. It will drag the customers away. How do we ensure agility? Or, do we follow the best practices, being agile, and get that product out the door? It’s something we hear as a challenge every day.
This is just a quick data find that I wanted to throw in - more and more enterprises understand the key right now to achieving that speed and agility is through app modernization, and we have app modernization in the next few slide. A couple of indents here. In a global application app, mod services is expected to hit close to 11 billion by the end of 2020, and it's expected to shoot up, I believe, over the course of the next five years. Are these enterprises ready to make the transition, so as to satisfy the customer's needs? It is something they are introspecting. They are already making the application more cloud native.
As you can see, any kind of website that we talk about has evolved over the last several years. It used to be more like a static content before. A few websites are still static content, but right now it's going back more to the agility and the speed concept that we were talking about. The development of these Web applications, these mobile apps, they have to be way more agile - not just in terms of quick updates, but also being able to provide that consistent experience across different platforms. That's something that I'll be saying over and over again and talking about during the course of this webinar.
This is not news if you're not under a rock, if you have not been living under a rock in 2020. The pandemic has accelerated the need for enterprises to modernize the applications. That's what we have seen on the Redapt site, where more and more customers are interested. They want more. “Let's modernize and not just put a new layer on top. But what are some of the best practices that we should do to ensure that, even if something like this were to happen, how can people work remotely? How can we support them remotely?” You can be thousands of miles away. Do we have the business continuity - do we have the availability set up in place? Those are the things that have fast-tracked app modernization, that we have seen in the past few months after COVID-19 started happening. Again, this is important for us to look into, and we covered that in previous slides.
All right. The other thing that we have also seen during this phase is companies that have invested time and resources into modernizing the applications already, they were doing it before, and they've been able to provide greater flexibility to teams no matter where they work. No matter where they work, they have the flexibility because the applications are hosted on a cloud platform, and they can go and manage it pretty easily. Also being able to reduce cost by scaling in the cloud. As you know, cloud Internet scale. You can scale your applications - you can host your applications on any data center you want. And, how you actually reduce costs is by not having a machine running below your desk, in your office. It's all in the cloud, easily manageable, easily updatable, and easily controllable.
How did they achieve this? It is something that's interesting because we have seen a pattern in these enterprises that have already embraced cloud. They are familiar with DevOps practices. They are very familiar with the modernization concept. They have used the best practices that have been laid out to get modernized, to take that step into cloud and make it more cloud native, and they have been very successful from whatever they've been doing the last few months, that we have seen. That covers the first portion that we talked about.
We'll move into the second one. We talked about modern applications. What does modernization actually mean? According to us, it can be classified into four different categories: elasticity, resiliency, scalability, and efficiency. What does elasticity mean? Your application should be able to run on any device, on any platform or rather, the architecture, the applications that you've designed should be platform and device agnostic. We have seen that people who have embraced this technology - they are more elastic. They can scale easily. And once you are elastic, the next three things come pretty easily.
Resiliency, scalability - the applications are scalable, and their efficiency increases, as well. Elasticity is the main pillar behind it. Second one, of course, resiliency. If one part of your application goes down, it should not take the rest down with it. If you're unable to manage your inventory, you should still be able to run your reports to get some kind of profitability, or some kind of cash available while you're working on this. That is another key part of modernizing applications.
Third one that people always ask, "How scalable is my application?" And you scale infinitely, because I have customer demands. On Christmas Day I would probably need 15 different virtual machines that I don't need, but after Christmas I don't see that much traffic. So how does that help? Cloud helps you do it, as well as the other thing that's also kind of becoming predominant, is segments of the application. How do I scale only a portion of the application so that I don't have to pay for scaling the entire application? It's going to be a matter of cost savings there. Maybe think about modernizing applications. How do I keep it separate enough? How do I decouple this application, so I can individually scale these bits and pieces, these segments as we would like to call them, without having to scale the entire app, get some cost savings there, and also deliver data to the customers?
The fourth one, efficient. Every single application ... This kind of goes back to the agility conversation that we were having before, applications should be written in such a way that it needs to be updated repeatedly, because it has to be more agile. We have to keep updating it especially compared to the traditional apps. Traditionally used to meet some requirements. Let's go deploy it and come back later and fix it. That's not how it works right now. You have these agile methodologies where you release to your production environment every three weeks, so customers are happy with what they're seeing. They are seeing progress, not necessarily one huge chunk and then a year you're working on something in the field.
Just to sum it up - four main things that you would probably need to be focusing on: elasticity, resiliency, scalability, and efficiency. And that makes an application, Web, mobile app, however you think about it, makes the application modern.
We talked a little bit about what makes applications modern. What does it allow? It doesn't solve a problem that we were talking about before, right? Modernizing applications allows enterprises to use the native cloud builds that are available, rather than building from scratch. That is always the conversation that happens. But, by using the cloud native tools that are already there, by focusing on what we just covered, resiliency and efficiency, we are using what's already in the cloud to go and use it, rather than building your own platform, building your own data center, and go into it. That is one thing that's provided by going the cloud way.
Second thing would be scaling the components of software independently for greater elasticity, because we talked about elasticity. You don't have to scale your entire application. How have you segmented the applications into smaller pieces so you only have to scale that small piece and not the entire application?
Third focuses on cost and scaling as well. The workloads that are going to be used heaviest - you would have to scale depending on the traffic coming in, so enterprises will be able to do that and back down once the demand diminishes. The same example that I was talking about before - Christmas Day, Thanksgiving Day. I want to scale up the ordering platform, the ordering segment inside the application, because I see many customers coming in during these days to place orders. Once that's done I can take it down a couple of notches, because I'm not receiving the same number of requests and the same number of customers.
The third one that we are going to cover today is the roadmap to modernized applications. When I was talking about it initially, I said every application is different. It's going to be difficult putting ... I'm going to put a general application roadmap together, but we can focus on three or four different things that every application should be focusing on to start modernizing.
Just going into this a little bit more in detail, we have customers who are interested in simple lift and shifts. But, what we are seeing more and more every day, what app mod or app modernization should be focusing on, is not just simple lift and shifts into the cloud. Or, “Can I just lift from my on premise virtual machine and run it on an actual virtual machine whatever the virtual machine is going to be running on cloud?” It does give you a little bit of cost savings, but does it actually mean that you have modernized your applications? Probably not, because it does not develop the full benefits of modern platforms. It solves a few things, but I don't consider that as modernizing your application.
Second thing is - not every application and enterprise portfolio is suitable for the cloud. We have to analyze every application in your suite of applications and determine what makes sense to move into the cloud. In a few cases, you may say, "I don't see a lot of traffic here and it does not have to scale a lot. It's only going to be an internal application. I'm just going to keep it onsite.” Fine. We're not going to come in and suggest this is something that needs to be moved into the cloud, but there can be a few other updates that can be done to the application for us to maintain it easily, and make new updates easily in the future. Not every application in an enterprise's portfolio is suitable for the cloud.
The third thing that we have to be focusing on when we do the modernization, is once we identify which application needs to be architected to become more cloud native, and what we have seen, we call them legacy applications because they're running on the virtual machine on somebody's desktop or somebody's computer. What we have seen is that those need to be pulled out, pulled apart, and re-architected in such a way that it actually fits well when we move to cloud native. That's something we are recommending the focus should be when we think about app organization.
The fourth, this is just summing it up, application modernization usually means modernizing how an enterprise works. That's not actually meaning just an application, yes, make sure this application is up and running, make sure it's in the cloud, sure, but what other things we are achieving. Are we putting together the best practices for the customer, so in any future work they can take the right steps to think about it, as they move to the cloud and when they modernize it?
This is a generic list that we can think about irrespective of which application we choose. Once we choose a specific application to be modernized, then it will change based on the application, because the architecture is going to be different and how we deliver that to the customer is going to be different.
There are five different steps that we are suggesting any kind of application modernization to go through. Number one is - catalog all your existing applications in your platform. We would have no idea how many customers we have dealt with. They may have an application that's hiding somewhere that nobody has used over the last couple of years, but it's still there accruing cost, and it's not useful for anybody. So, take a step back, catalog all your existing applications in your suite, and make sure you've captured the relevant points.
Once you have captured that, understand the use cases for your existing applications, which is again rationalization. Think about why you would need this application. Do you actually need it? Look at the customers. Look at how many times this application has been used. Talk to folks who have used this application, if you can, to understand what it actually means. Why do they use it? Would they be okay if this application goes away in a broader sense? If that's the case, can we combine the small feature they're using into another application, so they are happy and it's not taking up space?
Third one, once you do that, identify the applications that are suitable for migrating to the cloud. Once you do one and two, the third becomes a little easier for you, because now you know they are different applications. You have identified the applications. These ones are important, these ones need to be scaled, these ones need to be re-architected, if needed, both on the cloud environments, the cloud that they would be focusing on, and how you would re-architect them to make it cloud native, focusing on the four lines we talked about initially.
Fifth one is - once you have identified the applications, once you have put together the architecture, let's create a proof of concept for the application. Let's do a crawl, walk, run approach, like they call it. Because, once you have architected the solution, check it out, create a proof of concept, and, once it looks good to you, okay now we have a path, now we have a roadmap to actually start implementing on the architecture that we put together, so you can get the run portion pretty quickly. You have crawled, so far. With the proof of concept, you are walking. When you go implement, you're actually running with the application.
Five main steps for you to focus on when we talk about app modernization, what it actually means, and how you can approach app modernization.
Okay, so the fourth one that we wanted to cover today was a case study. Today we'll be happy to talk about this case study, because this one is close to my heart. We've been working with Tandem Diabetes. We've been partners for the last three and a half years, and we've seen the company grow a lot during these three years. We have partnered with them, helped them grow, and we have grown along with them.
Tandem Diabetes is a medical devices manufacturing company based in Southern California. What they do is manufacture insulin pumps. They call them smart insulin pumps. And these pumps are attached to your body. Whenever you have to get your blood sugar level tested, it tests automatically for you. It's continuous glucose monitoring, so you don't have to do it every day, or every week. It monitors your blood glucose level continuously. And if it feels that it's going down, it gives you an insulin shot right away. It's not going to wait for you to take it. The continuous glucose monitoring and insulin pumps was a pretty good idea when that was launched, and we helped them launch it out of the gate by engaging with them.
They manufactured insulin pumps, and the company needed a better way to engage with customers, because it's a smart device. They have to sit with the customer to explain what it does, how it is, and all the different features that go along with it. And that was asking Tandem Diabetes a lot - it was costing them money they could've used to do other work and build other features. So, we helped them build a core customer portal to better meet the needs of the customers, where a customer can log into this portal and look at their blood glucose level. It's updated every minute, or updated every hour, if I remember right, which means that the customer no longer has to call Tandem's customer support and say, "Hey, what is my blood glucose level?" Here it is. This is how it is. And if your blood glucose level, if you see anything off with it, these are the things you have to do. This is the number that you have to call. But, here is the data. Here is the raw data for you.
When we designed this using Azure, we developed a virtual training module as well, that educated both the customers and met the FDA requirements. As you can imagine, this insulin pump generates a lot of data, because it's continuously monitoring blood sugar levels. It generates a lot of data and keeps pumping it in. The first thing we had to solve for them was - what data makes sense and what data does not? Putting on the end customer's head. So, we used Azure's IoT Edge device infrastructure here, where we are getting a lot of data pumped in from the insulin pump. We used Azure function to get the data, parse the data, massage the data, and land it into a sequel database that the customer portal can pull and get data from.
We used Azure platform, we used app services, and we used containers so we can get the resiliency, we can get the agility, and we can get the scalability that's needed, because this is a solution that will scale pretty quickly, with the number of people who are diabetic and who need insulin pumps in the US increasing. They help those people achieve continuous glucose monitoring, which could be life-threatening in a few cases.
It was a very good project for us to be involved in. The outcome of that was them being able to completely modernize their customer relationship, which increased Tandem's relationship with their customers, as well, because that gave them a good platform to run reports based on broad data. They also threw in virtual training, they created some training videos, as well as help them achieve what was possible. So I just wanted to talk about the case study that we did with them.
To sum everything up, going through the previous 15, 16 slides, app modernization is the key to achieving speed and agility, the two main pillars that we focused on before. How do we do it - leveraging platforms like Azure allows enterprises to scale applications, reduce the workload costs, goes back to resiliency again, create resilient applications, cut down on the cost, deploy new products to the customers faster, which is the key thing. How agile you are. Are you listening to the customers, making the changes, deploying it to the end customers as fast as possible? Also, reduce costs and create resilient and scalable applications.
The last slide here is: How does Redapt help? Because Redapt has extensive experience with app modernization on all cloud platforms, we are able to assist in every single aspect of what we talked about. We do app rationalizations, we do app modernization, we do proof concept, we do chat bots. We do a bunch of other things in my practice. And we do full assistant day two operations, assisting during migration, as well as day two operations, other practices. We also have other practices that help with day two operations and migrations, just to sum it up over there.
We are ready to get started. The link is there. Please get us up. Thank you.
Sarah: 31:11 Thank you, Rakesh. We have a few questions here for you in the Q&A. First question, will all of our existing services be available on the cloud when you migrate it?
Rakesh: 31:31 That kind of depends on the services. Over here, again, we go through the app rationalization and the app requirements first. We have to analyze what those services are. It depends on a cloud-by-cloud basis, but, at least from what we have seen on the app mod, we can technically get as close as possible to the services that are available in the cloud.
Sarah: 31:56 Great. Second question, how do you weight the remodel versus rebuild question?
Rakesh: 32:07 We weight the remodel versus rebuild. It's a good question. As far as remodeling your existing application, it again depends on the application, because once we go through the architecture and recommend what is needed, we would probably take a different approach. And the proof of concept helps here, because we've seen applications where there is no way for us to be able to move into the cloud. If you had a Windows application that's running on a legacy machine, just an example. For us to be able to move that into the cloud is going to be a little bit difficult, just as a lift and shift. Because, when we are doing the lift and shift, it makes sense for you to write that, or change the Windows application into more of the Web app, which is easier for you to manage, deploy, and then move over to the cloud.
In that case, it's not necessarily remodeling. We are actually rebuilding your application using the same business logic and business features that are out there, but rebuilding it so it's not Windows. It's more like a Web application that we move. It kind of depends on application by application, but once we do the analysis, once we talk to the stakeholders involved, we'll be able to make the determination on whether it's a rebuild, versus just remodeling to make it work.
Sarah: 33:36 Got it. Last question - is it best to migrate all at once, or in phases?
Rakesh: 33:45 Yeah, that's a good question. I think what makes sense is to do it in phases, because I was talking about the crawl, walk, run approach. It's much better to do it in phases, because you can create a proof of concept first and make sure that works. Again, every application's need is a bit different. But, it's always better to do it in phases, so you know which portion works and which does not. In a few cases, it makes sense to keep them where they are. It's always better to do it, rather than take a big jump.
Sarah: 34:20 Do you find it's more cost-effective to do things that way, or is it more cost-effective to migrate all at once?
Rakesh: 34:28 It is cost-effective. On the cost-effectiveness side, it is definitely better to do it in small phases, so you understand how much cost savings has happened, as well as to see how much scalability you actually need. It's definitely cost-effective. It's much more scalable if you do it that way. And, we can showcase the resiliency of the application.
Sarah: 34:56 Awesome. All right. That wraps up Modernizing Your Applications for the Cloud with Rakesh. If you want to engage with Redapt, our contact information is down here at the bottom. Thanks for joining us today for the webinar. Thank you, Rakesh.
Rakesh: 35:16 Thanks guys. Take care.