You’ll forgive .NET developers for being slower than others to jump on the cloud bandwagon. AWS started off with a Linux and OSS heavy lineup of cloud services before eventually embracing Windows and the .NET runtime. Google just added Windows images to Google Compute Engine in 2015. Platform-as-a-Service pioneers like Heroku and Engine Yard went big on Ruby and never added support for .NET applications.
The cloud hasn’t been a particularly friendly place for .NET developers like me. But now, the market has finally come around, and developers have legitimate choices. It’s exciting to see Pivotal at the forefront of delivering a cloud-agnostic, battle-tested platform for running .NET applications that power some of the largest companies in the world. We’re always improving things, and there are five major advancements we’ve made in partnership with Microsoft over the past few months that I’d like to share with you.
We’ve improved how you build, deploy, host, and operate .NET apps. Don’t worry, you can use any one of the capabilities below by itself, but we’ve also tried to ensure that .NET developers have an excellent end-to-end experience. Bring cloud native patterns into your .NET code with Steeltoe, consistently deploy ASP.NET Core apps using the new buildpack, run applications in Windows Server 2016 containers, take advantage of the Microsoft cloud by running Pivotal Cloud Foundry on Microsoft Azure, and simplify Windows lifecycle operations using BOSH.
#1 Cloud Native Patterns Via Steeltoe
A microservices architecture promises more agility for your business, but at a cost of greater complexity. These systems are far from trivial, and have complex interaction patterns that require a new way of thinking. Netflix was a trailblazer in this space, and they’ve constructed an impressive array of tools to deliver reliable, distributed microservices at scale.
Pivotal worked with Netflix to take the best of their open source projects and bake them into Spring Cloud. Java developers now have an envious collection of tools at their disposal, consumable through a simple code annotation. We thought that .NET developers should get in on some of this action.
Enter Steeltoe. This open source effort is all about bringing Spring Cloud compatibility to .NET teams. We’ve already built out a pair of .NET extensions: service discovery (based on Netflix Eureka), and configuration store. These are critical components of a microservices architecture, and .NET developers need access to the best implementations available. We’ve got additional Spring Cloud capabilities coming to Steeltoe, and we’d love your contributions! Check out our team members being interviewed about the project on Microsoft’s “On .NET” show.
#2 .NET Core Buildpack
Today, developers push compiled .NET apps to Cloud Foundry using our binary buildpack for Windows. What’s a buildpack? It’s a component of a build pipeline that bundles application dependencies, builds a deployable package, and defines how an application should start up. With the emergence of .NET Core from Microsoft, we saw an opportunity to build a first-class Cloud Foundry experience for .NET Core developers.
Along with our Cloud Foundry Foundation peers, we support a .NET Core buildpack that’s available today. This open source buildpack pulls dependencies from Nuget, compiles the app, and gets it fully prepped for containerized deployment to Linux. While Pivotal Cloud Foundry lets you also deploy apps packaged in Docker images, the buildpack approach helps you keep focus on your code, not image building. Let Pivotal Cloud Foundry take your code, package it up, and deploy it. You spend time building great apps that can take advantage of cloud scale.
Migrating .NET Apps to CF, A Strategy for Enterprises — Nicholas Grabowski, Schwab. SpringOne Platform, 2016
In the coming months you’ll find this buildpack baked right into Pivotal Cloud Foundry. But for now, try our beta to push your apps, and don’t hesitate to provide feedback so that we can make it even better.
#3 Pivotal Cloud Foundry Support for Windows Server 2016
Microsoft decided to shake things up and offer native support for Windows containers inside Windows Server 2016. Scheduled for release at the end of September 2016, Windows Server 2016 finally gives Microsoft developers a native container experience in the OS. Pivotal has been containerizing Windows workloads for over a year, and we’re excited about this new built-in capability.
The Pivotal team is happy to announce that we’ve fully tested Windows Server 2016 with our Diego Windows container runtime, and have added it as a supported operating system for Windows workloads. In partnership with Microsoft, we continue to invest in Windows Server 2016 containers and will ensure that Pivotal customers always have the most stable, high-performing container runtime powering their Windows-based apps.
Are you piloting Windows Server 2016 and interested in working with us on deeper integration? Send us an email and we’ll partner up!
#4 Pivotal Cloud Foundry On Microsoft Azure
We’ve built Pivotal Cloud Foundry to work across a multitude of hosts, on-premises or in the public cloud. One partnership we’ve particularly excited about is with Microsoft Azure. Right now, you can deploy a trial version of Pivotal Cloud Foundry from the Azure Marketplace in just a few clicks! Looking to take advantage of native Azure services from within your app? Microsoft built a service broker for you! Brokers are responsible for provisioning and deprovisioning application services, as well as providing credentials to your application. Microsoft’s broker makes it easy to consume Blob Storage, DocumentDB, Azure SQL Database, Service Bus, and Redis Cache. This presentation by Microsoft at SpringOne Platform does a wonderful job explaining our unique partnership and the power of Azure + Pivotal Cloud Foundry.
Keep Calm and CF Push on Azure — Gil Isaacs, Jason De Lorme; Microsoft. SpringOne Platform, 2016.
Additionally, we’re close to releasing full support for Microsoft Azure in the Pivotal Cloud Foundry Ops Manager tool. Operations teams use this tool to build out and manage Pivotal Cloud Foundry environments. Our goal is to make sure that you have the full power of the Pivotal Cloud Foundry suite at your disposal, regardless of which host you use!
#5 BOSH For Windows
BOSH is a powerful open source tool for building and managing distributed systems, and is the defacto standard for Cloud Foundry deployments. BOSH does a ton of things that would typically require the collaboration of many different products: communicate with cloud hosts, build environments, monitor service health, enforce the desired state, perform canary deployments, execute rolling updates, and much more. It’s such a game-changer because it helps Cloud Foundry customers get unparalleled high availability and resilience through dual-scheduling: BOSH ensures that the pool of virtual hosts remains healthy, and Diego does the same with application containers inside the Cloud Foundry.
Until recently, only Linux hosts could take advantage of this BOSH goodness. No longer. BOSH for Windows is now in beta and being used by customers to automate the Windows hosts that power Cloud Foundry. In the thrilling image below, you can see us build out a full-on Windows environment with BOSH.
The idea of quickly building and tearing down immutable Windows servers probably seems weird to .NET devs who are used to GUI-driven installations and regular patching. My colleague Jared published a fantastic blog post that looked at how BOSH improves infrastructure management for Windows, and I encourage you to check it out. Once you have Windows hosts beneath Pivotal Cloud Foundry and fully managed by the platform, the floodgates open for .NET apps. Below, see our team use platform to schedule 700 containers on top of those Windows instances. That’s right, we’re still the only platform with production support for containerized apps on Linux and Windows 2012R2/2016.
Pivotal customers can download the BOSH for Windows kit today. Let us know if you’d like to take it for a spin!
A Bright Future For .NET Developers
.NET finally seems to be getting the love it deserves from the technology community, and we at Pivotal want to ensure that there’s no better place for running .NET apps than Pivotal Cloud Foundry. We’ve made some great progress, but we aren’t done yet! Microsoft isn’t just a major investor in Pivotal, they are also a regular contributor and partner to our Cloud Foundry efforts.
Microsoft and Pivotal are continuing to heavily invest in the tools and frameworks you need to deploy cloud-scale .NET applications. Stay tuned for even more!
About the Author
Richard Seroter is a Senior Director of Product for Pivotal, a 10-time Microsoft MVP for cloud, an instructor for developer-centric training company Pluralsight, the lead InfoQ.com editor for cloud computing, and author of multiple books on application integration strategies. As a Senior Director of Product at Pivotal, Richard heads up product marketing and helps customers see how to transform the way they build software. Richard maintains a regularly updated blog (seroter.wordpress.com) on topics of architecture and solution design and can be found on Twitter as @rseroter.Follow on Twitter More Content by Richard Seroter