Developers and VMware. The pairing might not make sense to you at first. As an application developer, maybe you have only limited experience working with VMware software. It’s probably just the place where your software runs on-premises. Or it’s the thing you get access to a couple of days after putting in that infrastructure request ticket.
But make no mistake, VMware Tanzu is for you. If you are a developer working in a large enterprise, or even a small- to medium-sized business, you are now being asked to build “modern” applications or to “modernize” your existing apps. VMware Tanzu is a collection of software created expressly to help you with this application modernization effort. It brings together innovations via VMware’s acquisitions of Heptio, Bitnami, Wavefront, and Pivotal with lots of open-source DNA from projects like Kubernetes and Cloud Foundry. And don’t worry, this site isn’t about infrastructure software like vSphere or NSX. Instead, it covers the topics you need to know to write modern software: Spring, .NET, Python, RabbitMQ, Kafka, CI/CD platforms, and much more.
So now you see how a VMware-hosted developer site can be focused on app modernization. But what exactly is meant by “app modernization”? Is it simply the latest in a long line of technology fads that just means more work for you?
It can sometimes feel like that. Change is hard, and you’re already used to a certain way of building software. But the truth is, application modernization is meant to make things easier in the long run. Many companies approach it as simply moving to the cloud. Others frame it as migrating from VMs onto containers. You may have also heard that it requires refactoring or—sometimes—a complete re-architecture. Indeed, it can sometimes mean any or all of these things.
What it means for you specifically depends on your situation. Are you living in a land of Java servlets and app server configurations? Are you in a world where Windows developers deploy to the GAC and make registry entries? Or maybe you’ve already used containers before, and now you’re curious about Kubernetes but having a hard time seeing how it would make your life as a developer any easier.
No matter what your experience with modern app development is, we want to help you learn more. In this space, we’ll be collecting and publishing lots of different materials you can immediately use to refine your skills and explore the technology around modern app development.
There are plenty of ways to navigate the site and find what you’re looking for. Explore by topic or look for a particular piece of tech you’re interested in. Follow a step-by-step guide, watch a video to see how it’s done, or start with a code sample.
If you’re not sure what you’re looking for, our list of modern application patterns is the best place to start. It’s where you’ll find patterns that you can practically apply to specific use cases. Each one provides an overview along with a list of related resources to get you started with the technology that can enable that pattern.
We will continue to publish many more throughout the year, but we’ve started with three key patterns that our customers frequently work with:
Deployment. It’s all about getting your code into production, and there may be many steps needed to get there. There’s no single way to do it, but this pattern defines the four key elements that any path to production requires, including the importance of continuous integration and projects to provide better packaging, like buildpacks and Helm.
API. Integrations are the lifeblood of enterprise IT, and APIs are a critical way of realizing them. Here you’ll learn some best practices for writing and managing APIs and take a look at important related concepts, like the basics of REST and how to use a gateway.
Event-Driven. There is always a place for request-response and batch processing, but event-based systems have grown in popularity, with applications becoming increasingly distributed. Explore some of the common ways of implementing this architecture with technologies like Kafka, RabbitMQ, and Spring Cloud Stream.