6 December, 2023
June 16, 2022
In the first part of this series, I described what Backstage is and some of the advantages it aims to solve. VMware uses Backstage to enable its Tanzu Application Platform (TAP). Before we can understand how, however, we need to understand what TAP is and what it aims to do.
So, what exactly is the Tanzu Application Platform?
TAP is a robust application development platform entirely focused on the developer experience. It provides a rich set of developer tools in a centralized user interface. It is the latest innovation in this space from VMware and is a true game-changer, building upon community-adopted tooling and the existing products within the Tanzu Advanced Suite to offer a next-gen PaaS solution that aims to solve the same challenges the traditional PaaS systems solve, as well as the issues they introduced.
With so many different platforms, each used and managed differently, the lack of standardization can be a major challenge. TAP enables developers to build and deploy applications quickly and is platform-agnostic. This means that TAP supports any compliant Kubernetes cluster residing on the public cloud or on-premises, effectively creating standardization across different platforms. TAP aims to standardize the build and deployment processes, regardless of where your application resides and reduces the complexity of configuring and managing your applications at scale.
TAP also helps define the path to production and enables application teams to get to production faster by automating source-to-production pipelines. It is capable of completely managing the lifecycle of containers through a GitOps approach, updating them every time there is a new code commit or dependency patch available for deployment.
It is also worth noting that with TAP, developers are not necessarily required to have prior experience or familiarity with Kubernetes. Normally, the transition to Kubernetes comes with a steep learning curve. TAP drastically reduces this learning curve.
TAP aims to simplify the development workflows as well as the deployment workflows.
When defining these workflows, we can separate them into three main categories:
1. Inner Loop – The inner loop is the local development environment. This is where the developers spend most of their time. It includes tasks such as writing code, committing that code to git, and deploying it to development and/or staging environments.
2. Outer Loop – The outer loop is the workflow of deploying apps to production and constantly maintaining them over time in a secure manner. This outer loop contains additional key components, such as image scanning, source code scanning, image signing, CI integration with Tekton, and more – all of which are integral to the process of promoting Apps to production.
3. Supply Chains and choreography – Supply chains provide a means of codifying all of the steps of your path to production, or what is more commonly known as continuous integration and continuous deployment (CI/CD). A supply chain differs from CI/CD in that you can add any and every step that is necessary for an application to reach production or a lower environment. TAP uses choreography inherited from the context of microservices and applies it to CI/CD to create a path to production.
Here is an example of a supply chain workflow from my lab:
Key Components in TAP
Some of the key components in TAP include:
• Tanzu Build Service (TBS) – automates and simplifies the process of building production-ready container images and deploying them. TBS is based on Kpack, an open-source Kubernetes-native implementation of the Cloud Native Buildpacks Specification.
• Tanzu Cloud Native Runtimes – a serverless application runtime for Kubernetes that is based on Knative.
• Application Live View – a lightweight insight and troubleshooting tool that helps application developers and application operators look inside running applications.
• Source Controller – Based on the industry-standard Flux GitOps tooling, the Tanzu Source controller allows the platform to work in a fully managed and supported GitOps manner.
• TAP GUI – Tanzu Application Platform GUI lets your developers view your organization’s running applications and services. It provides a central location for viewing dependencies, relationships, technical documentation, and even service status. Tanzu Application Platform GUI is built from the Cloud Native Computing Foundation’s project Backstage!
• Application Accelerator – helps application developers and operators through the creation and generation of application accelerators, or templates, that codify best practices and ensure important configurations and structures are in place.
Here is an example of the application accelerators from my lab:
• API Portal – API portal for VMware Tanzu enables API consumers to find APIs they can use in their own applications.
While these are some of the major components, TAP actually has over 30 different components, each solving a unique need and challenge in the application’s lifecycle.
In future posts, I will dive deeper into the technical aspects of each component and elaborate on some of the most common challenges TAP solves.
This blog was contributed by: Itay Talmi, Cloud-Native Applications Senior Consultant, TeraSky