“If you’re building cloud native .NET applications specifically to run on Cloud Foundry, you’re going to be embracing 12 factor principles,” – Matt Horan, Pivotal
Microsoft’s .NET is among the most loved technologies, according to a Stack Overflow survey. By open sourcing .NET Core, Microsoft has renewed interest in the framework. However, .NET has its own limitations and set of challenges for cloud-native applications.
“Yesterday’s best practices are today’s anti patterns,” said Matthew Horan, Manager, Software Engineering at Pivotal Software., which means many .NET developers’ practices need to change. They need a reset.
.NET has been missing the rich community of cloud-native, 12-factor microservices projects. .NET developers also face newer challenges with microservices, as compared to monolithic .NET applications, such as troubleshooting microservices, setting global configurations across the whole application, looking up dynamic addresses of consumable services, what happens when the service stops responding, how to find healthy instances, and more.
Netflix already solved these problems, but only for its own deployment on AWS. Pivotal’s Spring Cloud team has been working on making generic implementations for a lot of Spring Cloud open source libraries for Java, and Pivotal created Steeltoe, a fully open source project to help .NET developers implement industry standard best practices when building resilient microservices for the cloud. It brings client libraries for Netflix Eureka, Hystrix, Spring Cloud Config Server, and Cloud Foundry services to .NET. Steeltoe also provides tooling that makes it easy to deploy and run .NET applications on Cloud Foundry and leverage Cloud Foundry services.
Horan provided a great overview of some of the core components of Steeltoe and the problems it solves, followed by a demo from Zach Brown, Cloud Product Strategy & Marketing at Pivotal.
.NET developers who are trying to solve these problems should check out this talk.