This blog was originally published on tanzu.vmware.com by Sriram Krishnamachari, Vice President, Cloud Portfolio Solutions, GTM Leader, Mphasis, and an advisor in VMWare Tanzu Partner Tech Advisory Board
Mphasis is a trusted VMware services partner and is a participating member of the Tanzu Partner Advisory Council. They’ve also participated in the Tanzu Application Platform Design Partner Program, which afforded them the unique opportunity to influence the future of VMware Tanzu Application Platform, by having first access to features before the general release and by providing valuable feedback to VMware’s product teams about both the developer and operator experiences. In this guest post, Vice President Sriram Krishnamachari, an advisor on the VMware Tanzu Partner Advisory Board, explains how Tanzu Application Platform has brought in composability and developer experience capabilities at its core to assist customers modernizing their businesses on Kubernetes infrastructures.
In recent years, adoption of Kubernetes has steadily accelerated within the enterprise space, from smaller startup groups creating net-new microservices to the most prominent global technology companies undergoing application modernization and replatforming efforts. This rapid adoption has led to a larger Kubernetes footprint inside of mainstream production environments, and Kubernetes has become the critical container management infrastructure for application deployments.
However, this growth has also introduced challenges to the software development lifecycle. As organizations increasingly place Kubernetes at the center of their application infrastructures, they often struggle with issues around consistency and scale.
At Mphasis, we see VMware Tanzu Application Platform offering great value to our enterprise customers and believe it is a superior multi-cloud platform, best positioned to deliver successful adoption of Kubernetes.
Kubernetes in the field
As a technologist, it is gratifying to see tier-1 enterprises spanning many industries—from banking capital markets to healthcare—steadily modernizing their application portfolios by utilizing hybrid infrastructures that include their own Kubernetes deployments and public cloud infrastructures.
Recently, we have seen adoption patterns that do not take full advantage of what Kubernetes has to offer. For example, we saw a leading logistics enterprise moving to the cloud, quickly embracing Kubernetes as a common container plane. During this move, there were pockets of in-house champions who moved isolated applications rapidly and built internal guardrails around their own security postures that best suited their business’s needs. While this gave the client speed, it was heavily locally optimized. As a result, the people, processes, and systems were not appropriately aligned to the enterprise’s needs. We also saw people in other business units struggling to discover and replicate what was being produced within the silos that had been put up by the early adopters. In effect, those silos of duplicate apps and ecosystems led to container inefficiencies. Further adding to this chaos, the enterprise operations team struggled to run a consistent, dependable, and continuously compliant platform.
A root cause of this problem was that the Kubernetes ecosystem was not mature enough to address critical capabilities needed for success, such as a separation of concerns between developers and operators. For example, each developer created their own path to production while considering factors such as traffic steering while routing, scaling, budgeting idle times, providing appropriate event triggers, and managing direct services. As the enterprise architects began to see inconsistent app patterns creeping in, their operations teams also realized that their developers’ approach was not sustainable and was an anti-pattern for scaling their business across the entire enterprise. What emerged was a desire and need for a platform that could bring order to the infrastructure, while ensuring that developers shipped code quickly and without compromising their own freedom.
Tanzu Application Platform was born out of this precise need and designed to bring to enterprises the automation needed for consistent scaling. In my opinion, it is currently, perhaps, the only enterprise-grade solution that comprehensively addresses the enterprise challenge of scaling with consistency, without compromising autonomy, on any cloud or container distribution.
The comprehensive approach of Tanzu Application Platform
Tanzu Application Platform alleviates these challenges by centralizing and standardizing the entire application stack, services, tooling, and infrastructure required to successfully implement the Kubernetes engine with a single and consistent user interface for developer and operator teams. Tanzu Application Platform also streamlines the development environment from end to end by providing developers more autonomy through a standardized developer portal, which, in turn, frees engineers from getting bogged down by infrastructure complexity.
One of the critical gaps that we have seen in the evolution of Kubernetes has been the separation of concerns between developers and operators, which Tanzu Application Platform elegantly addresses by bringing in inner and outer loop automation. This has become even more critical as enterprises grow in terms of both people and complexity within their own organizations.
Tanzu Application Platform improves developer experience by:
• Jumpstarting the dev process – Developers can spin up new microservices using templates that have been built by their operations teams utilizing their organization’s own best practices. They can easily discover available services and can reuse them, instead of re-creating them. This saves a significant amount of time, especially when we consider the scale of enterprise development.
• Offering push-button deployments – With a single click, developers can create Spring Boot projects that include repositories, which are automatically configured on GitHub, automating their inner loop by running their first build.
• Letting them choose their preferred tools and services – Go instead of Java? CircleCI instead of Jenkins? Serverless instead of Kubernetes? Google Cloud Platform instead of Amazon Web Services? Tanzu Application Platform is designed to allow users to customize their recipes with their developers’ own best practices baked in.
• Providing prepaved and multi-cloud paths to production – In a scaled development, it is critical for developers to get access to proven golden paths to cloud so they can ship their software without getting bogged down with Kubernetes complexity. These golden paths then become the easiest way for developers to get running faster while feeling confident in the software they ship. Now, when we add the complexity and opportunity of multi-cloud environments, it becomes more critical that the code behaves consistently and predictably across any cloud of choice. This approach of software development and deployment, untethered by cloud-specific mandates, is a powerful design abstraction pattern that Tanzu Application Platform brings to enterprises.
• Providing customizable software templates – Tanzu Application Platform provides the capability to build your own templates and post in the developer portal, thereby promoting reusability and extensibility. When it comes to the software development talent shortage in the industry today and the need to produce code quickly and reliably, it is key for the developer community to leverage their own work, promote excellence, and reuse existing services. For instance, a large real estate enterprise was looking to build an intuitive developer exchange platform that would provide a uniform view of their services and software catalog in one place. Mphasis utilized the power of Backstage (a major component of Tanzu Application Platform) and designed a dev-community-friendly platform that provided a one-stop medium to deliver all the information related to their catalog. This enabled Mphasis to promote reusability and quick-start mechanisms for new developers, which allowed them to compose applications at a higher speed.
• Strong platform roadmap for the enterprise – By design, Tanzu Application Platform incorporates the most popular and powerful open source projects, such as Backstage, Carvel, Cartographer, and Tekton. When combined, these help accelerate the overall development supply chain by doing the heavy lifting of the end-to-end, test-driven software development lifecycle, such as packaging and providing guardrails and the golden paths to production. This provides an efficient mechanism and assurance for enterprises to capture the open source innovation that is moving at a fast pace and across the supply chain, but doing so consistently and systematically.
• Enabling rapid iteration and acceleration at scale – One of the most powerful—and my favorite—components of Tanzu Application Platform is Application Accelerator, which enables enterprise architects to provide developers and administrators in their organization with ready-made, enterprise-conformant code and configurations. Developers can use accelerators to create new projects that follow enterprise standards. The user interface also makes it easy to discover accelerators and to enter additional information used for processing the files before downloading. Imagine the reusability this provides for scaled enterprise development.
Kudos to VMware Tanzu Application Platform, which has successfully brought together a compelling proposition of enterprise-scale software supply chain automation and offers a mechanism for what I call dev acceleration at an enterprise scale, by simply abstracting out the complexities of learning and managing cloud-specific Kubernetes distributions and thereby drastically simplifying the software development process for developers.