Thanks everyone for joining today! Anish, Dodd and I are excited to have you with us for this Tanzu Developer Connect Workshop covering Tanzu Application Platform.
Today, we’re going to give you a short introduction to Tanzu Application Platform, and then immediately dive into some hands on workshops to help you experience what the platform can do for developers, security teams, and operators to facilitate application delivery. We’ll then close things out with a short quiz.
If you have questions, please use the chat feature of Zoom to ask, and one of us will try to answer your question in chat or live. When we go into the hands on portion of things, we’ll break into smaller groups, and you can ask questions live, or via chat to the breakout room coordinators.
Let’s kick things off with a little something to learn a little more about each other. Use the QR code here, or head on over to the address you see on the screen and in the zoom chat, and enter the code to help everyone understand your role and rate some issues around application delivery that are important to you. And make sure you give this a try, because near the end of the workshop we’re going to use this service again for some quizzes to help test your knowledge and give you a chance to win some fabulous prizes.
Tanzu Application Platform is a modular, application-aware platform that runs on any compliant public cloud or on-premises Kubernetes cluster. It delivers a superior developer experience with a pre-paved path to production including all the needed components pre-configured for developer teams to build and deploy software quickly and securely. It is a composable platform so teams can customize it based on their organization’s preferences and changing business needs.
With Tanzu Application Platform you can deliver revenue-generating applications to market more quickly because your teams can spend more time building great software instead of wasting time stitching components together.
Before we go into the details I’ll explain what we mean by app-aware.
Tanzu Application Platform was influenced heavily by the Spring framework – ubiquitous open-source ecosystem that changed the lives of millions of enterprise java developers.
We’ve incorporated many things that made it so great into Tanzu Application Platform things like convention over configuration, instant insight into app performance, and templates so developers don’t have to start from scratch every time they start building an app.
This means the platform (or framework) does more so that app developers and app operators can focus on building the app (developers) or deploying (operator). When we add automation and environment-awareness to the platform - as we have with Tanzu Application Platform - this proposition becomes much more powerful than boilerplate configuration or template. It's what makes an application workload truly portable, adapting to an environment via the framework and/or platform – one that
Allows developers to focus better on defining requirements for apps rather than bogged down with technical details
Embeds organizational policies early in the development process
Supports full app portability from development to production
And Applies platform best-practice automatically
Let’s explore how Tanzu Application Platform enable developers to quickly get started with pre-configured templates for cloud native patterns and instant access to dev tooling to rapidly iterate and debug code.
Inspired by the open source Spring Initializr project, developers get a jump start on developing new applications using application starter templates, aka Application Accelerators instead of starting from scratch. Built by application architects and made available to developers these templates consist of the skeleton code, configuration and cloud native patterns combined with organization’s best practices and security policies that save developers significant time in bootstrapping new applications. Serverless abstractions built into the platform – make it easy to achieve advanced applications patterns like microservices and event-driven architectures, as well as address operational concerns such as automatic application scaling and connecting to systems not running in Kubernetes using APIs. The API-first centric design also makes API discovery and integration with other apps easy bringing all APIs together in one-management portal.
Tanzu Application Platform lets developers debug a running container on any Kubernetes cluster, whether running locally or a managed Kubernetes cluster or cloud, from the IDE itself. The tooling shortens the path for live updates of code changes by eliminating the steps of rebuilding, republishing, and deploying the container, instead directly injecting the updated code to the running container. So developers are able to test the code changes instantly as they iterate on code.
When iterating on the code developers often need to inspect a running application to analyze the behavior for troubleshooting, debugging or fine-tuning the runtime configurations of the application. Tanzu Application Platform provides a diagnostic tool App Live View for developers to drill into run-time characteristics of application e.g. resource consumption, incoming traffic pattern etc. It also allows them to change parameters such as log levels, environment properties for troubleshooting running applications.
Tanzu Application Platform graphical user interface (GUI) provides easy to access workload and application visibility to application teams, delivering a consistent and unified experience atop any Kubernetes. The GUI is a centralized portal where application teams can see what users are working on and get deeper insights into workloads and applications.
Tanzu Application Platform automates the entire app deployment with a pre-wired secure software supply chain that’s composable & customizable so app teams can bring their own opinions and swap components to meet their business needs.
Tanzu Build Service uses Cloud Native Buildpacks to turn source code into images that adhere to modern container standards. Additionally, it updates the Application Platform workloads when they fall out of date by executing new builds. When utilized within the Supply Chain, Tanzu Build Service helps the Tanzu Application Platform develop and automate secure containerized source-to-promotion or source-to-deploy workflows on any Kubernetes platform i.e., VMware, AWS, Azure, Google or others.
Tanzu Application Platform automates the entire application deployment process via an automated Secure Software Supply Chain workflow, relieving developers from the error-prone process of editing a “wall of YAMLs”. Tanzu Application Platform includes the entire end-to-end supply chain, with its components pre-instrumented to work together seamlessly out of the box. Having a set of strong defaults eliminates many decisions that teams would normally have to make when building the platform from the thousands of possible combinations of technologies available in the Kubernetes ecosystem.
While strong defaults make it easier to get started, if one of VMware’s choices of components doesn’t work for you, platform engineers and application operations teams can swap out components based on their organizations requirements and preferences. Built with modularity in mind, Tanzu Application Platform is composable and lets operations teams set their own guardrails based on their expert opinions. In other words, they can substitute individual components easily through adapters. From CI to container build system, developers can use whatever they prefer within the limits defined by the operations teams.
Intrinsic security enables a more secure software supply chain by inserting features for signing, scanning, and storing along the path to production. Scanning introduces source and image scanning capabilities along the path to production that will block the next set of activities if CVEs are identified. Image signing allows application operators to sign images at time of build or post-scan completion, and verify signature integrity, to increase trust in image provenance. And the Metadata store gives application operators a single location for storing all supply chain metadata, starting with image, package, repo/source, and CVEs, to allow more advanced automation and intelligence like deploy time policies, continuous monitoring for new CVEs, and more.
Tanzu Application Platform establishes a clear separation of concerns between developers and operators for seamless handoff of applications from development to production.
The typical process for a developer to create a running app on Kubernetes starts something like this. First, the developers need to decide on the best starting point for their application. They don’t want to re-invent the wheel, so they often go out to blogs, StackOverflow, and Github to find a project similar to what they want to achieve. The developers then insert their code into that starting point, and begin testing and iterating. Now, they need to create a DockerFile to create a container image, so they scour the internet again for a template. Once they have finally gotten the DockerFile right, they then push their image to some container registry they have access to. Next, they find another template on the internet to get the basic Kubernetes manifests working, and then try to apply the best practices they can to configure logging, security, etc. Next, they need to figure out and configure ingress into their applications to get them accessible outside the cluster. Finally, they apply all those configurations to a cluster, and they have a running app.
As you can see, this process typically leads to a variety of different standards even for the same app types and tech stacks. DevSecOps teams want to make this process easily repeatable so that development teams aren’t wasting time figuring out the right patterns to use for deployment, how to build images, where to store them, what recommended deployment configuration to apply, the Ingress networking config the production cluster uses or where that cluster is.
So how can DevSecOps teams work with the developers to enable them to begin the push to prod?
They need to provide a smoother experience for development teams across the entire delivery experience. And this smooth handoff between dev and ops is a critical factor in rapidly deploying code into production because hand offs are typically productivity killers. You see rework due to the way a container was built, or logging was done doesn’t lend themselves well to operating the app. Inconsistent automation maturity means more cycles spent to bring those apps up to standards. But there must be room for flexibility so that development and operations can still use the best tools for their needs.
Tanzu Application Platform makes the handoff between developers and operators frictionless, as it requires a simple code commit, or ‘git push’. As developers commit code, a software supply chain is triggered automatically, providing a path to production that is secure, scalable, modular, and can run on any Kubernetes.
So, delivering applications with Tanzu Application Platform looks like this. First, developers start by selecting a curated starting point for type of project and language they are working in from the Application Accelerator. Next, the developers write the code for their application and debug and update it live in Kubernetes. Then, the developer creates a tanzu workload definition which will be picked up by an approved supply chain for that app type. The supply chain picks up that workload definition and listens for code to be committed to source control. The supply chain has been configured in advance as a template of the overall process to deliver applications to the proper Kubernetes clusters. The supply chain then calls out to other tools like the Build Service to create container images, to the Convention service to apply all the best practices to the manifests generated for running that type of application in Kubernetes, and then deploy that final set of application manifests to their destination, which can be a completely different cluster from development.
Inner Loop – All the tooling developers need to produce code
Create ready made, enterprise conformant code and configurations (App Accelerator)
Find available APIs (API Portal)
Coding & Testing
Never leave the IDE to build, run & debug live code on Kubernetes (IDE Tooling)
View performance data (App Live View)
Outer Loop – Building and delivery code on approved paths to the desired environments
Supply Chains used to configure steps and configuration
Possible steps & tooling (default in parenthesis)
Test & Build(TBS + pipeline service)
Scan, Sign & Store (Security tools)
Configure (Convention Service)
Deploy (Cloud Native Runtimes)
With VMware Tanzu Application Platform you can build and deploy cloud native applications on Kubernetes in a multi-cloud environment. Tanzu Application Platform unlocks developer productivity enabling development teams to rapidly develop applications without disrupting their familiar workflows. It automates app deployment with a pre-wired secure path to production that is customizable so your app teams can bring their own opinions. Embodies DevOps for a smooth path to production by establishing a clear separation of concerns between dev and ops.
I know everyone is excited to get started, so I’m going to pass it over to Maggie and Corby to help lead us through the hands on workshops!
Alright! The workshops were certainly the core of this session, but apologies, Corby and Maggie, we know why everyone is really sticking around right? For prizes!
And while we’re waiting, feel free to ask further questions in the Zoom chat and we’ll answer them as quickly as we can. Good luck on the quiz everyone!
So, we have another link for you to go to here which will ask you a few questions to test the info covered in today’s session. We’ll give everyone 5 minutes answer and then count up the points and announce our winner.