TAP Series Articles | Technical Overview of Tanzu Application Platform

Tanzu Application Platform is committed to creating a simplified end-to-end development and operation experience path for development teams, application security teams, and application operation and maintenance teams to improve software development efficiency, strengthen application security, and simplify application operation and maintenance complexity, thereby accelerating App time to market. Empowering enterprises to deliver a great developer experience in a Kubernetes multi-cloud environment.

Leveraging cloud-native technologies such as Kubernetes to deploy and run applications is becoming a trend as businesses accelerate their digital transformation. It is true that Kubernetes simplifies the work of the operation and maintenance team and accelerates the deployment of applications. Nonetheless, as many enterprises embrace Kubernetes, they are faced with the challenge of navigating a large and complex cloud-native ecosystem and the steep learning curve that comes with it. While Kubernetes enables infrastructure and operations teams to automate application deployment and manage containers at scale, it presents different challenges for developers.


Addressing the challenges facing developers

Developers must build their CICD pipelines on Kubernetes, combining underlying infrastructure resources from infrastructure providers with fragmented technologies and tools drawn from the cloud-native ecosystem. It is very challenging and risky to piece together different open source tools in a "building block" way. First, a large number of open source tools are difficult to set up and maintain, and it is very complex to connect them to other applications and infrastructure through layered construction. , will inevitably force developers to spend too much time dealing with the underlying infrastructure, instead of focusing on writing business code.

Throughout the development cycle, developers need to quickly iterate on their code. Developers typically go through a loop of coding, running, testing, and debugging over and over, and we call this loop of iterative processes an "inner loop". It is conceivable that most of the developer's time is spent on the inner loop, so the faster the inner loop, the more efficient the iteration. Nowadays, in the development process of a large number of microservice and containerized applications, we will rely on the Kubernetes environment for development and debugging, and this inner loop process is bound to become longer, because each source code change not only requires rebuilding, rebuilding Publishing container images also requires redeploying Kubernetes resources before testing can take place, which of course greatly reduces developer productivity.

To be sure, Kubernetes is a great platform for building applications, but it shouldn't be up to developers to deploy, nor application operators to configure and implement basic requirements like IT and security for the application. Ideally, the Kubernetes infrastructure where applications are deployed should be transparent to developers and application operators, so that everyone does not have to spend time and effort.


Tanzu Application Platform Empowers Enterprises to Deliver Superior Developer Experience in Kubernetes Multi-Cloud Environments

In order to help enterprises solve the various challenges in the development of cloud-native applications mentioned above, VMware officially released the Tanzu Application Platform, a new generation of PaaS platform, in January 2022. TAP is a modular application-aware platform that provides a rich set of developer tools and a pre-configured, pre-assembled production pipeline to build faster and more securely on any certified public cloud or on-premises Kubernetes cluster. Deploy software to provide developers with a great development experience. At the same time, the Tanzu Application Platform is a composable, pluggable platform so enterprise teams can customize it according to their organization's preferences and changing business needs.

TAP interacts with developers by defining a workload abstraction. Developers only need to pay attention to the workload level, and the workload is handed over to TAP for automation, thus providing excellent developers for enterprises that build and deploy cloud-native applications on Kubernetes Experience, is an application platform for developers that enables application development teams to get into production faster with automated pipelines, and it clearly defines the roles of developers, security, and operations so they can work collaboratively .


Tanzu Application Platform Technical Architecture

Tanzu Application Platform can be deployed on top of Tanzu Kubernetes Grid and managed Kubernetes offerings from Amazon Web Services, Microsoft Azure and Google Cloud Platform to build modern applications on top of these community-aligned Kubernetes layers. Through TAP, enterprises can adopt a consistent development environment and workflow.

The following figure is the core component and service architecture diagram. Next, the functions of each module of TAP will be introduced in layers.

Introduction from bottom to top

  • The bottom layer of Tanzu Application Platform is a Kubernetes runtime environment, which can be any certified public cloud or private cloud Kubernetes;
  • The green part above the operating environment layer is the cloud native runtime layer. Based on the serverless runtime implemented by Cloud Native Runtimes, the advanced serverless runtime architecture of Tanzu Application Platform is formed by abstracting the operating environment of the underlying infrastructure;
  • The purple part above the cloud native runtime layer is the software supply chain layer, which realizes the fully automated process of applying Source to URL;
  • The blue part and gray part above the software supply chain layer, the developer interaction layer, realizes the interaction between developers and the platform, and provides development components to help improve developer experience and software iteration efficiency. The grey part is the API Portal, where API consumers can view the detailed API documentation and debug the API, as well as assemble their dashboards and detailed API documentation views by extracting the OpenAPI documentation from the source URL.
  • The orange part on the left side of the architecture diagram is the application service catalog and service binding, which can easily realize the online, planning, consumption and management of services on the Tanzu Application Platform.

The above module Tanzu Application Platform is based on mature VMware's main contribution to open source products and open source ecological composition. In the following chapters, the author intends to adopt a new way of thinking, focusing on combining the capability components of Tanzu Application Platform to provide enterprise developers, application operation and maintenance personnel, The three core values ​​brought by application security managers are elaborated. Of course, it is also very important for the various capability scenarios and technical implementation of Tanzu Application Platform, which will be analyzed in depth in the subsequent articles of this official account. Readers are requested to continue to pay attention.


Value 1: Multi-dimensional release of developer productivity

  • Application Accelerators : Inspired by the open source project Spring Initializr, writing code does not require starting from scratch, and developers through the Tanzu Application Platform can quickly start developing new applications using Application Accelerators (aka Application Starter Templates). Built by application architects and available to developers, these templates consist of framework code, configuration, and cloud-native patterns, as well as an organization's best practices and security policies, saving developers a lot of time in launching new application development.

  • Cloud Native Runtime : The serverless abstraction built into the Tanzu Application Platform, the Cloud Native Runtime, simplifies the operational complexity of implementing microservices and advanced applications based on event-driven architectures, such as automatic application scaling and using APIs to connect to applications that are not in Kubernetes operating system.
  • TAP GUI : Tanzu Application Platform provides a consistent graphical user interface (GUI) to present and manage application services and their APIs, making it easy to discover and integrate, thereby increasing developer productivity.

  • Provides abstraction for Kubernetes workloads

workload.yaml : When application architects build Application Accelerators, they contain a declarative workload resource specification that describes the characteristics of the workload, namely workload.yaml, which is the only YAML file that developers need to interact with. The developer configures parameters in workload.yaml such as the type of workload (web app, batch job, streaming function), the location of the source code, which backend services it should connect to (eg PostgreSQL, RabbitMQ with 10GB storage) cluster guarantees 1,000MPS), and its resource utilization. That is, in the process of one-click application publishing in Tanzu Application Platform, workload.yaml plays a huge role, through which it establishes a URL between developers and operation and maintenance personnel to publish source code to relevant environments and travel accessible URLs (Source to URL) contract. Based on the resource specification defined by workload.yaml, Tanzu Application Platform performs low-level interaction with Kubernetes to deploy and manage our workloads given the source code location.


Value 2: Supply Chain Choreography quickly builds a sustainable supply chain assembly line

Supply Chain Choreography : Tanzu Application Platform includes the entire end-to-end pipeline supply chain Supply Chain Choreography, with pre-configured components that work seamlessly together out of the box, TAP provides a range of powerful out-of-the-box supply chains that can be released The team has a huge amount of work to choose from the thousands of technology combinations in the Kubernetes ecosystem to choose the pipeline scheme available.

First, let's recall that deploying a workload on Kubernetes usually involves the following series of typical steps. Obviously, this process is extremely complex, each step is error-prone, and requires application operators to have considerable technical knowledge.

However, with Tanzu Application Platform, the process of deploying workload comparison will make the work of application operators easier and easier. Starting from the framework code provided by Application Accelerators, run a single CLI command "tanzu apps workload create ‑‑ file workload.yaml” to deploy workloads to run on a Kubernetes cluster in minutes. Tanzu Application Platform automates the entire application deployment process with Supply Chain Choreography, a secure software supply chain workflow, freeing everyone from the error-prone process of editing "YAML".

  • Introducing Enterprise Trusted Components in the Supply Chain Choreography Supply Chain

Although the Tanzu Application Platform provides out-of-the-box supply chain pipelines, if VMware chooses a component that does not meet an enterprise's current design or selection, the enterprise's platform engineers and application operations teams can be flexible based on their organization's requirements and preferences replace components. Tanzu Application Platform is designed with modularity in mind, composable and pluggable, so that the operation and maintenance team can set up the corresponding supply chain components according to the opinions of the internal organization. In other words, enterprises can easily replace individual components through adapters in Tanzu Application Platform, from CI to container image build, and developers can use components defined and selected internally by the enterprise.

  • Supply Chain Choreography supply chain visualization capabilities to ensure teams understand workload status in real time

The Supply Chain Choreographer (SCC) workload visualization capability enables users to view the execution status of the supply chain out of the box, allowing users to easily pinpoint problems and take quick remedial action. Below is an illustration of the Tanzu Application Platform GUI visualizing the test and scan supply chain out of the box in the SCC plugin.

There are two sections in this view to simplify the user experience:

  • Diagram view (top) showing all configured custom resource definitions used by this supply chain and information as output of supply chain execution
  • The Stage Details view (bottom) displays source data for each part of the supply chain that you select in the diagram view.

Value 3: Improve productivity while coordinating development and operations

We organize the work of the application development team as a software producer into an inner loop and an outer loop. The inner loop consists of a shared or local development environment where developers can self-service access corresponding resources and cloud-native application patterns. The outer loop refers to the DevOps, platform operations, and security teams working together with the development team to deploy and operate the application into production. Tanzu Application Platform facilitates collaboration between development, operations, and security by coordinating around inner and outer loops.

  • Create a seamless inner loop experience

After quickly launching a new project, developers enter an inner loop cycle of iteratively writing code, building, deploying and testing code changes, and debugging. The inner loop work needs to be done in the developer's integrated development environment (IDE) to ensure that Continue to follow their familiar development workflow.

VMware Tanzu Developer Tools: Tanzu Application Platform provides VMware Tanzu Developer Tools, including IDE plugins and extensions, so developers can easily interact with the platform or its open source components in its inner loop environment for developers to debug running containers, Avoiding the steps of rebuilding, republishing, and deploying containers to shorten the live update path for code changes, rather than injecting updated code directly into a running container, means developers can test code changes immediately as they iterate on the code. VMware Tanzu Developer Tools provides VS Code Plugins, with plugins for IntelliJ, Eclipse coming soon.

App Live View: When iterating on their code, developers often need to inspect a running application to analyze behavior for troubleshooting, debugging, or fine-tuning the application's runtime configuration. Tanzu Application Platform provides App Live View, a diagnostic tool that provides developers with insight into application runtime characteristics (for example, resource consumption or traffic information). It also allows them to change parameters such as log levels and environment properties to troubleshoot running applications.

  • Standardized way to use service bindings

Service Binding: Service binding for middleware on Tanzu Application Platform, which simplifies the experience of discovering and consuming services connected to applications in a standardized way. Combined with the service toolkit, it provides simple enterprise management and a consistent service binding experience on that cluster or across clusters.

  • Establish separation of concerns

Tanzu Application Platform creates separation of concerns between application developers and DevOps engineers. DevOps engineers in an organization are responsible for configuring software supply chain workflows to ensure consistency between development and production environments. The software supply chain that the developer configures in the development environment is optimized for in-loop work, and the same supply chain tools are used to deploy the source code to the development environment. This consistency that the application operations team establishes between the two environments gives developers a high degree of confidence that code developed in their personal environment will work correctly in production. Design mechanisms like Tanzu Application Platform allow developers to build portable applications and avoid expensive debugging in production environments.

  • Experience smooth switching between developers and operators

After a developer completes a version iteration and commits the code to the code repository, the development life cycle transitions from the inner loop (individual development environment) to the shared outer loop environment, and then deploys it to the production environment. Because operations teams have configured security and compliance requirements into the supply chain, the path to deploying code to production is seamless for developers.

This smooth handoff between developers and operators is a key factor in rapidly deploying code into production. The Tanzu Application Platform makes this transition smooth, as TAP only requires developers to commit their code (eg, git push ), after which the software supply chain is automatically triggered, providing a continuous path to production.

  • Follow runtime best practices for efficient application deployment

Convention Service: There are some best practices that should be followed when deploying applications in Kubernetes, without which the deployed workloads may experience unpredictable runtime exceptions that disrupt business continuity. However, application developers who are not Kubernetes experts are often unaware of such runtime best practices. The Convention Service (aka, Runtime Configuration Conventions for Workloads) in Tanzu Application Platform provides operators with strategies for configuring these best practices and automatically applying applicable configuration conventions to workloads.


As mentioned above, with the Tanzu Application Platform, enterprises can build and deploy native applications on Kubernetes in cloud multi-cloud environments. The Tanzu Application Platform increases developer productivity and enables development teams to work without disrupting their familiar workflows Rapidly develop applications and allow DevOps professionals and application operators to deploy developers' code into production faster with built-in security and compliance. I believe that everyone now has a clear understanding of the overall capabilities of Tanzu Application Platform and the value it can bring to you. Next, we will prepare a number of introductions to various capability scenarios and detailed principles of technology implementation. Please Keep watching everyone!

about the author:

Xiao Lin, senior solution architect of VMware's modern application platform, mainly responsible for the architecture and design of VMware Tanzu cloud-native technology solutions; before that, he worked at IBM in charge of cloud-native technology solution architecture in Greater China, leading multiple cloud Design of native solutions. With 16 years of personal experience, Cloud Native supporter & Agile practitioner, he has accumulated technology in containers, large-scale distributed services and governance, application modernization, Spring and other fields, and has CNCF CKA, CNCF CKS, Spring Professional and other certifications.

Source|Public Number: VMware Tanzu Cloud Native

{{o.name}}
{{m.name}}

Guess you like

Origin my.oschina.net/u/4238514/blog/5531737