In this RedMonk conversation, Anu Srinivasa, director of product marketing at VMware Tanzu and Boskey Savla, staff technical product marketing manager at VMware Tanzu, demo and discuss Tanzu Platform with Kate Holterhoff, senior analyst at RedMonk. They explore the challenges faced by platform engineering teams and how Tanzu addresses these issues through its key tenets: enhancing developer experience, dynamic infrastructure configuration, and continuous application optimization. The discussion includes a detailed demo showcasing the platform’s capabilities, emphasizing its integration with both Cloud Foundry and Kubernetes, and the simplification of application deployment and management processes.
This RedMonk conversation is sponsored by VMware.
Links
Transcript
Kate Holterhoff
Hello, and thanks for joining me for this episode of RedMonk’s What Is How To series. My name is Kate Holterhoff, senior analyst here at RedMonk, and with me is Boskey Savla, staff technical product marketing manager at VMware Tanzu, and Anu Srinivasa, director of product marketing at VMware Tanzu at Broadcom. Boskey and Anu, thanks so much for joining me today. What is Tanzu Platform, and what problem does it solve for platform engineering teams?
Anu Srinivasa
great question and the purpose of our recording today, right? So let’s talk about the pain points first before I introduce tons of platform. The two main persona we typically talk to are the application teams. These are the ones that build the application and are responsible for delivering the app and then the app from teams, including ID Ops, SRE teams, cloud cost teams, etc. That support these application teams. Traditionally, all of.
These teams have different concerns and we need an application platform or they need an application platform that supports across all of these concerns. With Townsville platform, we are taking a proven approach on three key tenants, three key philosophies. The developer experience must be simple for it to be safe. Infrastructure must be dynamically configured to meet application and business needs. And third,
application and infrastructure must be continuously updated to mitigate risk. And I’m going to talk about each of these. What we mean by this tenets and what tons of platforms doing about it. But before that, like what is tons of platform? What it includes? So tons of platform is an end to end application platform that accelerates application development and delivery. So it includes pre integrated capabilities and services to that enable organizations to do three things or three stages.
of application delivery. Developing applications at scale with curated templates and golden paths. Operating these applications anywhere on any runtime and changing the infrastructure does not impact the applications. And then third, optimizing these applications on a continuous basis because once an application is pushed to production, it’s not the end of the job, right? Has to continuously be monitored and it has to continuously be improved.
to ensure that it is adjusting to necessary business needs. Now these applications can run on VMs in Cloud Foundry or containers in a Kubernetes environment. We support both Cloud Foundry and Kubernetes App Runtimes. And we support this and provide a singular and simple developer experience across both of those App Runtimes, which is really important because one of the things we hear from our customers is that they are looking at a dual stack
application platform and one support for both of these front lines. Second, when we talk about application development, 50 % of enterprise workloads are running or using Spring’s framework to develop these applications. And as custodians of Spring VMware Tanzu, we have tight integrations within Tanzu platform.
provide the best experience for developers using Spring and also provide rich capabilities for Spring applications. Now, one of the things that when we talk about the application platform, it’s not talked about enough, but it’s so important is no application runs in an island, right? It needs data. Actually, these applications are running because they are working with data. So Tanzu platform also integrates really well with data services and
Additionally, it actually provides data services that are well integrated with the application runtimes and the actual platform itself. We have relational database services, messaging services, data caching. So all of these work very well with Tanzu platform and therefore when our customers are looking to bind to these services, it becomes really easy for them to pull these in. And then of course,
VMware Tanzu, VMware Cloud Foundation, we are all part of Broadcom So Tanzu platform is uniquely tied into VMware Cloud Foundation and is optimized for this private cloud virtualization stack, which is something a lot of our customers are looking for.
Kate Holterhoff
I am also seeing a real demand among developers to have the sort of abstraction that an integrated cloud native app platform provides. So RedMonk, we often talk to folks about the context of the developer experience gap. So the developer experience gap basically acknowledges that the same market that is offering developers any infrastructure primitive they could possibly want is actually at the same time telling them that it’s the responsibility of the practitioners to piece them together. So the analysts on our team are seeing that a lot of opportunity in the space right now is on this subject of bridging the gap. So developer experience for these platform solutions like Tanzu Platform, they’re extremely difficult. And you have to walk this razor’s edge between an inaccessible black box solution on the one hand, and on the other, largely unopinionated solutions that have a tremendous learning curve and still require developers to make multiple significant decisions just to get up and running.
All of this is to say that making platforms intuitive for software engineering teams is not an easy thing to master, but it is absolutely the bedrock of developer experience. So I’m curious how Tanzu platform is prioritizing developer experience.
Anu Srinivasa
Yeah, and this comes up a lot. And bridging that experience that we give to developers and the experience we give to platform engineers is so important because these are not
two teams that don’t talk to each other and can just work in a silo. So let me connect the tenets and the belief systems to Tanzu platform as I answer this question and connect it to how Tanzu platform delivers this. So, you know, I had mentioned when it comes to developers or the developer phase of application development, the developer experience must be simple for it to be safe. What we mean by that, right? And you’re right. Oftentimes developers are just
in this ticket-based system where they are not sure if what they’re developing is within the security guidelines of the business requirements, et cetera, and they really want to be focusing on what they do the best and what they want to do the best, which is write code and build apps and push it to production. And we want to keep that simple as well. So we do that with four simple commands, build, bind, deploy, and scale.
So a developer can write their business logic and push it to Tanzu platform. And then Tanzu platform first builds a secure container with the right dependencies. Then the developer during the process can also seamlessly bind not just data services that I previously talked about, they can also connect to AI ML services because we know right now Gen.AI and LLMs are so popular and are.
We often hear our developers talking about wanting to create intelligent apps and actually bind to these LLMs. We provide that pathway for them to seamlessly bind to any of those services, whether these are data services that are available within Townsend platform or even external to it. Third, deploying these applications to their choice of app runtime with a single command. With CF push,
for applications running on VMs in Cloud Foundry and with Tanzu deploy for containers and Kubernetes environments. It’s a single command makes it easy for them to push the application. And then lastly, we talked about this, right? It’s not about just pushing an application production be done with this. There is day two operations. So during day two operation Tanzu platform continuously scales these applications by automatically looking for and maintaining CVS.
monitoring the application, making sure it has optimized performance and scaling it based on changing business needs, which is something, again, we hear pretty often is sometimes the needs of this application changes depending on what the business is trying to do or how they’re in consumers are using it and providing feedback. And so it’s important for the application platform to be able to scale to those needs.
So I’d say those are some of the examples of how we are making it really simple to enhance developer experience and also reduce the developer toil that is something that has frustrated developers for a long time. Thanks for that. A lot of my research at RedMonk lately has covered the increasing importance of abstractions for developers. So exactly what you’re speaking about. There’s this growing demand among practitioners to pass off the annoying sort of fiddly parts.
of IT operations to manage and automate its solutions in order to free up teams to focus on their org’s actual unique business problems. So what I’m hearing from you is that Tanzu is meeting this need by managing, provisioning, and administering these infrastructure concerns. Yep, exactly, exactly. And so if you look at this slide, we talked about the developer. Let’s talk a little bit about operator and optimize, and I think that will spotlight how we are addressing those concerns.
So the second tenant that I had mentioned was infrastructure must be dynamically configured to meet application and business needs. So to achieve this, we introduce a layer of abstraction with application spaces. It’s a new concept that we have announced and introduced, and Boskey is going to be showing this in action. What we mean by applications or spaces or what it delivers is it’s a place where developers can then deploy their application with a single command
And then the space is dynamically provisioned for set configurations that are required for that particular workload or that particular application. And it’s abstracted from the underlying infrastructure. And then what this facilitates is the underlying infrastructure can also change and it does not affect the application. And it also provides huge repeatability because for many more spring applications,
or workloads with those same profiles, you just push those applications to these spaces and because it’s pre-configured, it significantly accelerates the time to push an application production. And then like we talked about earlier, optimization is an important aspect of application delivery. So we want to make sure that these applications are continuously monitored and updated to mitigate risk.
I’d to talk about those three concepts of repave, repair, and rotate here. Now these are not new concepts for our Cloud Foundry customers. They’ve been using it for a long time. We are actually introducing these concepts also to Kubernetes-based applications. Remember I had mentioned to you, we want to provide the same experience for our developers and platform engineers, whether they are working on Cloud Foundry environments or Kubernetes environments.
And what I mean by these three Rs is basically repaving the workloads from unknown good states automatically, meaning I can patch my platform without impacting the applications that are running it if it goes into a viewed state. Repairing the application for CVs across whether the application or platform and then rotating. Rotating is basically talking about these rotating credentials to ensure that there are no leaks.
encryption keys, passwords, API tokens, etc. That’s keeping the application secure no matter how it’s running and anything that might actually go wrong from a security perspective. So with this, what ends up happening is with Tanzu platform, we are able to accelerate delivery of applications, whether it’s customer applications, commercial off-the-platform applications, etc. by providing
powerful abstraction, standardized automations or golden path that are secure and simple commands. And with this, we are moving the value line both for developers and platform engineers rather than getting stuck in ticket-based applications operations.
Kate Holterhoff
I appreciate you outlining this problem that the Tanzu platform addresses and explaining how VMware is meeting developers where they are in order to mitigate the pain of IT ops. This is an exciting platform and I’m
Really looking forward to having you walk me through it in this demo. And now I’m going to pass it to Boskey Savla, my colleague, to show us a demo of Tanzu.
Boskey Savla
Thanks, Anu and Kate. So let’s get into the Tanzu platform. So first, I’m going to walk through some of the capabilities that platform engineers can do. The ability for Tanzu app platform to take any application and deploy it into a runtime, whether it’s Cloud Foundry, whether it’s Kubernetes, all really requires
kind of a logical abstraction that understands the dynamic app runtime that Anu was talking about. That app runtime needs to understand what is it that workload has, how do I configure it, where do I deploy it, how does the routing work, how does, if there is, if let’s say the developer is doing a bind service to a SQL or any other database, how does Tanzu Platform understand?
where to get that database from binded, et cetera. So right now I’m going to walk you through how to set that up so that a platform engineer can pre-create something like that. And then the developers can come in and then just point their code to that space and do the commands like develop, build, deploy, scale, bind, et cetera. So that’s what I’m going to walk through.
So this is Tanzu platform and it has a lot of dashboarding capabilities. It also has a Chat GPT kind of like intelligent assist program where you can ask it questions and it will answer you things like what is happening with my cluster? Where are my apps? What are my metrics looking like, et cetera. But what I’m most interested is in showing these concept of application spaces. So application spaces is, it has multiple
properties that you can assign to it or capabilities that you could assign to it. Right now you can see I have two spaces running and I can assign profiles or pre-created capabilities to a space. So for example, there are out of the box capabilities that you can assign to a space. Like when an application gets deployed, I want that to be highly available.
or I want the app to have some predefined configs like, for example, it needs to have access to, let’s say, Bitnami catalog. I want the application to have, the services when the application is deployed to have automated certificate management from a CS certificate. I want the app to have egress as well, since it’s going to talk to other applications across a cluster or any other place.
I wanted to have Spring Boot. The application couldn’t be Spring Boot, so I want to have a Spring Cloud gateway configured, et cetera. So these are a lot of capabilities that Tanzu provides out of the box. And when I go to create a space, what I’m essentially doing is I’m just telling, I’m going to give it a name. I’m basically telling my…
I can define which data center or what cloud endpoint I want that space to deploy applications into, how many replicas I want. I can even have more than two if I have more than two sites. It’s going to do cross-cloud, cross-cluster deployments. And then I can define the profiles. This is a profile where I can say, OK, I want observability. I wanted to have.
Spring Boot capabilities, wanted to have Helm Charts, I wanted to have all the regular networking capabilities like self-management, active-passive workload deployments, et cetera, right? And then I create this. What Tanzu Platform then understands is any app that gets deployed over here, of course, it will enable the build-bind capabilities, but it also understands the rotate-repay capabilities that Anu was talking about is…
Any APIs that get deployed will have default mutual TLS. They will have default dynamic DNS mapping. So let’s say an app gets deployed. The space will automatically configure it to update the DNS for whatever domain we have defined in that capability. I have a domain called kanso.team that I’ve attached to that space, et cetera. So a space essentially allows an application to
not just deploy, but also configure things that are outside of regular application runtimes like Kubernetes. Kubernetes will deploy an app, but it cannot then configure dynamic DNS, or it cannot then configure, or it can configure mutual TLS inserts, but then somebody has to manually do that, right? There’s no automated way of doing that. So, Tanzu is really automating a lot of those post-deployment capabilities that are needed, or even the prerequisites like
Spring Cloud Gateway, cetera. So that is the concept of a space, and it has capabilities that you can define and give. So right now, I’m going to get into the space that I predefined called Spring Music. You’ll see that Spring Music really doesn’t have any applications deployed right now. There are no services. There’s no ingress, or there’s no ingress, et cetera. So what happens is I’m going to get into my developer
more right now. And so here is now me wearing my Dev hat. And I have this particular project that I’ve been working on. It’s based on Spring. It’s called Spring Music App that needs database service like MySQL, et cetera. But as a developer, I really don’t have any concern for that. All I’m really interested in doing is writing the source code.
writing down what the application needs, building the front end, et cetera. Now when it comes to deploying this, I’m not really going to do anything. Typically, I would have to either sit in, write a Docker file, I would have to build some Kubernetes YAML files, a lot of that just to push this application into an environment. But with Tanzu, I’m not going to do any of that. I just have to say, okay, build my app.
Tanzu will automatically detect what my application framework is, and then it will start building a container, store that container and artifact, whatever you specify, and then we are going to deploy that. So I can simply, now I’m logged into Tanzu right now, and I’m logged into the space, Spring Music, right? So I’m using that space.
And then I’m just going to say Tanzu build. And I’m going to say output file. Let’s say red mark. So what’s happening in the background is I’ve already specified which repo for my container image to store this to. So you’ll see that I’m storing everything in this repo on Docker Hub. What’s happening in the background is right now.
The build command is analyzing the application, looking at all the pom.xml, the application files, figuring out what build packs to use, and then it’s going to automatically create a container image for that. And it’s going to store that in this folder. And it will create a lot of the abstracted files needed for us to actually go ahead and deploy that. This takes a bit of a while, so I’m just going to…
let it run and in the meantime, I’ll open a new terminal and we’ll deploy from another build that I had created.
All right, so I already have created the same build and you’ll see this. This folder here has a lot of files that I pre created and then I’m going to what I’m going to do is I’m going to deploy my app from here. So I just do it on to deploy from build Thank
And so it’s going to ask me some yes or no questions. Is this really what you want to do? Because this is what it detected and it’s going to figure out. So I say yes. And then it’s going to start deploying this application into the space that we created, right? So if I go to that space on Tanzu platform and just hit refresh, you’ll start seeing that the application got deployed. Now the key thing to notice here is I didn’t have to do anything as a developer for even if.
Though I’m running this on a Kubernetes cluster, I didn’t have to write a single Docker file, a single YAML command, none of that happened, right? And the application is getting deployed. I can even bind this application to a MySQL instance. I pre-created a SQL instance, but I can then, you I can just simply go create a service and I can pick the service that is needed. Of course, I could even do this in a config file with very little.
YAML and do that, but I just wanted to show that this can be done in the UI as well. can say, let’s say this needs a MySQL instead. can, you select that. I can call it, let’s say, Spring Music SQL. And then, you know, create that service. What this is going to do is it’s going to dynamically bind that service, create a MySQL instance.
from a Bitnami catalog or from Tanzu data, and then it’s going to provision that onto that Kubernetes cluster where the space is running.
Now, I already had created one. The service creation will take a little bit of a while. And once I have this created, I can actually bind it to the application that I just deployed, right? So I created Spring Music. I can say, okay, deploy this to the particular container app. And then bind it. So that’s now going to bind the MySQL service to my Spring Boot application.
So it’s as simple as that, even connecting to a database. Now I can go to my ingress. This was again created dynamically by the space because the space is set up to configure to a particular DNS and to a particular router over here. So if I go to that ingress, you will see that my app is running over here. Again, very similarly, I can manage this application. I can scale it.
You know, right now it has one instance of the app runtime. I can say I need two instances and it will just, you know, update my or scale my app. I can even do this automatically. This is the I mean, I would say this is really an amazing experience for a developer who probably doesn’t even have to understand anything about Kubernetes. They just log into the Tanzu portal.
They see how their application is doing. They can bind it to services without even understanding where this is running. From a platform perspective, this is completely transparent to them. So that is my short demo that I wanted to run. If I go back and kind of walk through what really, you know, what really you know, summarize what this was.
Anu Srinivasa
Yeah. And one thing, Boskey, to add that you showed so well is this is not new to Cloud Foundry customers and bringing this kind of automation and abstraction to Kubernetes is the strength of the Tanzu platform. Many of our Cloud Foundry customers have been using CF command, CF push. It is just like so popular as a term and being able to do that with a Tanzu deploy even for your Kubernetes-based containers is huge leap of ability that we put in front of our developers.
Boskey Savla
Yeah. And I also want to mention one more thing is that although what we saw right now was just applications deployed onto Kubernetes, Tanzu platform can show you applications both from Cloud Foundry and Kubernetes runtime. So it’s really unifying everything that, you know, if customers are running on both runtimes, it will show you data capabilities around both Cloud Foundry and Kubernetes runtimes.
Right now you’re seeing business applications that were deployed by Cloud Foundry. I can get into any of this. These are the different, you know, Tanzu application service or Tanzu platform for Cloud Foundry. You know, business applications that were deployed. I can get into their kind of topology and what they’re doing, etc. So like it’s a very unifying way of showcasing that we’re really considering both to be included when it comes to managing applications.
Just to summarize now what I actually demoed and what Tanzu platform is. So Tanzu platform again revolves around building a very simple developer experience around both Cloud Foundry and extending that now to Kubernetes where customers can simply do deploy or CF push and their application gets deployed into this container runtime.
automatically gets routing created, automatically gets DNS mapping created, it automatically also manages the underlying platform, high availability. It will show you metrics, logging capabilities once the application is deployed, it lets you scale very easily those same workloads across the two runtimes. And apart from that, you have application integrations and cataloging services where you can bind those applications to different
know, services like databases, caching services, messaging services, et cetera, right? So, and of course we provide all the basic stem cells needed to even bring up that platform, whether it’s Cloud Foundry virtual machines, Kubernetes virtual machines, right on VCF or any other cloud provider. So that’s overall what, you know, Tanzu platform is. And from a developer perspective, again, we are building those same commands.
or we making it very simplified, whatever the team to kind of, you know, even roll out in a simple application or more complex applications using standardized commands around build, bind, deploy and scale where they don’t really have to deal with a lot of the complexity that the infrastructure has to offer, right? They can really stay at a very expected layer. And then from an operational perspective, we are providing those
the constructs of space that is highly available across clusters. You can make it across regions. It provides all the provisioning capabilities for application dependency management. can perform rolling upgrades. All of those amazing things that from a platform engineering perspective, operations teams will definitely need. Then we have
inbuilt capabilities within space where you can actually automate it certificate management. If something goes wrong and you’re doing a repair or you’re doing an upgrade of a cluster, it’s all Canary style updates that get employed. it’s nothing really from even a maintenance perspective, everything is really simplified.
I think that’s about it. So over to you Anu and Kate.
Kate Holterhoff
All right. I want to thank Boskey and Anu for taking the time to speak with me today. If you want to kick the tires on Tanzu platform, head over to the Tanzu.vmware.com website. I will include a link to this page in the show notes. Thank you, Kate.