Audio transcript:
How to Overcome the Challenges of Application Modernization
Jillian
Hello, and welcome to another episode of "Insight Tech Talk." I'm your host, Jillian Viner, and today we're going to get a little bit technical. We're going to help you address the challenges and complexities of embracing the application modernization journey. Managing a modern application ecosystem can be complex. We're talking containers, APIs, microservices, oh my. But in this episode, we're going to get some guidance from someone who's been there, done that, and has the technical insights to help you manage your evolving application delivery architecture. So with no further ado, it's my pleasure to welcome to the podcast Dominic Lucia, Senior Solutions Engineer at F5. Welcome Dominic.
Dominic
Thank you, Jillian.
Jillian
So there's a lot of buzzwords in there, application modernization has really been a topic for what seems like a long time. Well, let's go take it back to basics for just a moment. Explain to us what is application and modernization, and why does it matter to businesses, especially right now?
Dominic
Yeah, so at its core, modern application delivery is the practice of updating older software for newer computing approaches including like, newer languages, frameworks and infrastructure platforms. Application modernization enables organizations to make the most of the current digital technologies, and to quickly change to meet customer needs and build a flexible foundation for future innovation. It's really the best way to manage and securely deliver applications in a world that's, you know, rife with cyber crime and the need for high cybersecurity.
Jillian
Sounds like you may have just answered this, but does that mean that all legacy applications need to modernize?
Dominic
Ideally yes. In short, yes, there are a few exceptions, but you know, without getting too much into the weeds, you know, we know that pretty much everybody is under intense competitive pressure to be more innovative, to deliver features faster to market and to quickly adopt new capabilities in their apps. In order to respond to those pressures, the way that we're seeing customers do that is by taking technology innovations and aligning those with changes in process to achieve the speed and agility that they're looking for.
Jillian
It sounds a little bit ambitious. So what are some options to begin that journey to evolve those legacy applications and meet those modern demands?
Dominic
Yeah, so most customers are familiar with the concept of virtualization. You know, VMware really popularized it 10 or 15 years ago, maybe more, I'm getting old, but that's essentially that's a layer of abstraction that allows us to install, kind of, multiple entire servers on a single piece of hardware. And it allows companies to stand up, you know, virtual machines, which is taking a hardware solution and then virtualizing it.
Jillian
I feel like virtualization came into a lot of conversations in 2020. Sounds like a good path forward, but I'm getting the sense from you that's not really enough, is it?
Dominic
No, definitely not. What we're seeing is that developers are still demanding, like, more speed and more agility, and more granular capability. So the next IDuration of virtualization allows for smaller and smaller components within an application and let's developers make updates quickly to, like, single components, like very, very granular sized components or services versus updating the full application code base. And that's what's often referred to as microservices.
Jillian
Okay, that makes sense. Little increments of improvements. And then are there new challenges that come with managing containers? That's another word that we keep hearing a lot about.
Dominic
Yeah, for sure. You know, when we went from a data center where you could like, count the number of boxes to virtualization, where you could say like, "Okay in vCenter, I have this many VMs on these many boxes." Containers are rapidly proliferating and getting even more and more numerous. So you might have, you know, one application broken up into 10 or a dozen components and then, (clears throat) excuse me, it can become hundreds or even some cases thousands of microservices that are all interconnected and working with each other. So finding a way to interconnect, orchestrate and manage these containers becomes really the single most difficult challenge of the entire ordeal. So folks who have heard of the funny sounding word Kubernetes, or it's sometimes shortened to K8s. Some people say Kate's, which I have a little bit of a problem with, but do, as you will. So they'll know that Kubernetes was created specifically to solve that problem.
Jillian
Okay, I've definitely heard Kubernetes, K8, I don't think I've heard Kates. So that's a good one to add to my vernacular. So what does this mean for F5? How are you working with Kubernetes?
Dominic
Yeah, so I've liked to conceptualize Kubernetes, like a Kubernetes cluster, as kind of a mini data center, that's my mental model for it. And Kubernetes doesn't have a native way of elegantly handling policy that the traffic uses that's coming in and out of those Kubernetes clusters. So in our data center mental model, that would be like a border router or a load balancer. You know, maybe something like an F5 BIG-IP. Sometimes people call them, in the modern day, like, application delivery controllers, right? So Kubernetes calls this object, the ingress controller, and an ingress controller works by applying policies to north/south traffic in the Kubernetes cluster. And north/south is just a fancy way of saying that you're going successively deeper into the system.
Jillian
I can tell you've been in this industry for a very long time. I'm sure that your tech speak is resonating with some of our deeper engineers and technical experts that are listening. If Kubernetes breaks up an application into more manageable, or more management components, what is needed then, to stitch that application all back together? I mean, you made it sound like it's a bit complicated, so.
Dominic
Yeah, it's super complicated. You know, if you're, again thinking about, you know, taking this entire data center and kind of shrinking it down into one set of components, sometimes even just inside of one virtual machine, it can get really, really complicated really, really quickly. So the components in Kubernetes, and remember those are containers, they still need to talk to each other. And that's where a service mesh can come in. And a service mesh like NGINX Service Mesh, that provides communication policies for the service to service, or container to container connectivity. And, you know, I'm going like this, so obviously that's west. So, it can do advanced things. Like, usually that's just a big kind of flat network. But once you put in a service mesh, you can do all kinds of crazy things like monitor service to service traffic, securely encrypt with mutual TLS, the service to service traffic, So really lock down everything.
Jillian
Makes sense. Now, at the top of this conversation, I mentioned APIs. That's another word we hear a lot. How does that play into building out a modern application architecture?
Dominic
Yeah, so API's are really the entire way that these application services speak to each other. It's like the connective tissue, you know, kind of the gristle. So the services communicate with each other pretty much exclusively through APIs. You know, API literally means, you know, application programming interface. So it's how the services interface and talk to each other. That can be east/west or north/south. So the concept of an API gateway, which is something that when you use F5s NGINX Ingress Controller or NIC, it can also serve as an API gateway. So it can not only do border routing, and security, and firewall and DDoS and all of those things for your mini data center, but it can also do all of this API gateway work.
Jillian
So all of these complex connections, gateways, north,/south, east/west, ultimately, how does this all come together? How is an application then delivered to that end customer?
Dominic
Yeah, so all the components and services that are needed to support an application there's, you know, if you think about even, you know, this is why I like the data center analogy, going back to something like the legacy application, you need to have load balancing you need to have SSL termination and visibility. You want to be protected against bots and DDoS and attack and fraud. So these are all still important. Now they just need to integrate into this rapidly changing application delivery process where you can, you know, really quickly swap out any sub component at any time and still have the whole thing work. So F5 does this by supporting the underlying technology. And the strategic points of control are actually able to be defined as infrastructure as code, which is something that, you know, we've been talking about for several years now. And the policies that they're enforcing are defined as configuration, this code.
Jillian
And how does that all scale?
Dominic
Very well if you do it right.
Dominic
So, the value that F5 brings and, you know, this is obviously with the support of Insight, 'cause you can't just throw a product at the problem and magically solve it, is a way to address all the challenges and points of complexity in delivering and securing a modern application through a platform as a service, or, and combined with software as a service.
Jillian
So again, everything sounds complicated, but doable, it still sounds ambitious. What about customers that are potentially very early in their modern application journey?
Dominic
You know, I think that's really the most important question. And it's one that when we get really excited about technologies and shiny things, and hey, I want to try this new piece of JavaScript code or whatever. It's a question that far too many people forget to ask. Like, "Hey, are, are you ready for this? Or is this going to be a lot of pain too early?" You know, are we going to actually be able to pull this off? Now, F5 has built a suite of products that really meets a customer wherever they are on that modern application journey. So, you know, if you're still managing legacy applications and you want to start to add microservices into that, or if you want to take that legacy application and migrate it in whole or in part, up into a cloud, you know, we've got really specific products to help with those problems. And obviously, you know, we've got all the highest speed stuff where you can go full bore, you know, microservices and Kubernetes, and fully embracing containers. So the F5 products are there, but as I said before, it's more than just the products. It's really, you know, people process technology, and customers really have to have the guidance and expertise of Insight to actually make that transformation successful and not just end up with, you know, a half migrated nightmare in a couple of months.
Jillian
Yeah, we definitely don't want that. Well, if you've got ambitious, modern, excuse me, ambitious application modernization goals for your business and you need some help, I encourage you to go to insight.com and you can search for F5 for more information. Dominic, it was a pleasure to have you. It was kind of fun to geek out for a minute. I mean, application modernization really is a hot topic. As you said, it does provide a lot of strategic advantage, competitive advantage, for businesses if they do it correctly. So thank you so much for your insights today.
Dominic
Absolutely, my pleasure. Thank you.
Jillian
And again, if you want more information, you can visit insight.com and search for F5. Thank you, and we'll catch you next time.