Principal Product Manager at Pivotal
At Pivotal Software, I established the product vision and strategy for expanding the capabilities of the Pivotal Cloud Foundry platform to enable the company to address the .NET enterprise software market, eventually serving 30+ enterprise customers.
In my time there, I…
- Built relationships with enterprise customers around product direction and feedback; served as R+D product line rep in sales pitches and customer support.
- Enabled collaboration across multiple orgs: Alliances, Product Marketing, Field Engineering, Enterprise Sales, Application Transformation Services, and more.
- Incepted and launched Pivotal Application Service for Windows (now called VMware Tanzu Application Service for VMs [Windows]), a product with greater workload serviceability, wider market reach, and better security posture.
- Launched Pivotal Application Service for Windows 2012 R2 in April 2017.
- Served as the Cloud Foundry Foundation project lead for Windows Server support (Garden Windows and BOSH Windows).
- For six months, managed GemFire for PCF, now called VMware Tanzu GemFire for VMs, a data-grid/in-memory data caching platform based on Pivotal GemFire (OSS Apache Geode).
The Pivotal Cloud Foundry platform was a technically complex system comprised of the efforts of over 40 teams, 75+ product and program managers at Pivotal, and the OSS Cloud Foundry community.
Now called VMware Tanzu Application service, Pivotal Application Service (for PCF) enabled enterprise developers to deploy and run their apps on the cloud without needing to manage the underlying infrastructure or build process. DevOps teams could also scale their applications out with simple commands, bind to services (like databases), and even manage security capabilities (like network traffic isolation). It's essentially Heroku for enterprises.
Large enterprises are roughly equally split between their adoption of Java and .NET (with a small growing segment of Node.js applications mixed in). With Java-based customers, Pivotal gained traction via its Spring Framework, but a number of hybrid customers (with Java and .NET application footprints), started asking for PAS to support their entire portfolios. In addition, many customers in Pivotal's main verticals were .NET shops, so the ability to service .NET and Windows-based workloads (and thus expand Pivotal's addressable market) became a strategic opportunity.
The platform's stack orchestrated the lifecycles of Linux and Windows virtual machines on AWS, Azure, Google Cloud, OpenStack, and VMware's vSphere. It also orchestrated the lifecycle and networking of containerization technologies on those operating systems and created consistent and reliable application executables directly from developers' code. Eventually, Pivotal started incorporating the work from Cloud Foundry's Eirini project to enable the container orchestration and networking with Kubernetes.
Enabling PAS to run Windows-based workloads was a complicated effort, as the ecosystem powered by Windows Server and Active Directory was built on a different set of foundational assumptions from the Java ecosystem. Customers' workloads (from major companies in banking, finance, retail, insurance, etc) ranged from Windows-native applications using features like the global assembly cache (GAC) and Integrated Windows Authentication (IWA) to future-forward, cloud-native applications built with early versions of .NET Core. We had to account for these differences and formulate a larger view of how to move workloads from traditionally managed Windows Server instances to automated, disposable Windows VMs with a pseudo-containerization runtime.
A major pillar of our product's strategy was to first service applications that didn't have deep dependencies on these Windows-native capabilities, or conversely, that already fit a critical subset of the 12 factors of cloud-native applications. Our .NET Developer Experience team (which I helped create), in partnership with our .NET Application Transformation (AppTx) organization, would expand the capabilities of the platform over time to service more and more of our customers' workloads. However, we also knew a significant subset of Windows-based workloads could never be hosted on the platform, so we guided our customers along a digital transformation journey that accounted for this. Ideally, the oldest mission-critical workloads could eventually be replaced by newer, greenfield .NET Core applications to be hosted on Kubernetes.