Microservices with .NET
Build independently deployable, highly scalable & resilient services using the free and open source .NET platform.
Supported on Windows, Linux, and macOS
Microservices are a design pattern in which applications are composed of small, independent modules that communicate with each other using well-defined contracts. Each microservice focuses on a single concept.
Microservices make it easier to develop, test, and deploy isolated parts of your application. Once deployed, each microservice can be independently scaled as needed.
Containers combine an app plus its configuration and dependencies into a single, independently deployable unit. Containers are an excellent fit for bundling and deploying independent microservices.
ASP.NET, the web framework for .NET, makes it easy to create the APIs that become your microservices. ASP.NET comes with built-in support for developing and deploying your microservices using Docker containers.
.NET includes APIs to easily consume microservices from any application you build, including mobile, desktop, games, web, and more.
.NET is fast, with a higher throughput than any other popular framework in the respected TechEmpower benchmark.
Geocaching, the world's biggest game of hide-and-seek, leverages the power of .NET APIs to power their hybrid tech stack. They have been able to grow from thousands to millions of customers and scaled across the globe because their entire back end is built with .NET.
Our API supports millions of customers around the globe, and it's 24/7. That's actually more than 1,000 calls per second. We have over a billion geocache logs recorded in our system. Our API supports over multiple dozens of partners as well as our internal client, including our mobile app and our websites."
The Visual Studio family of products has built-in support for working with Docker on Linux, macOS, and Windows. Easily configure your application for Docker, then step through your code line-by-line as it runs in a Docker container.
If you have an existing application you can begin adopting microservices without completely overhauling your app.
Containers aren't just for microservices, so your existing app can be moved into a container. As you add new functionality, or update existing functionality, you can split this off into a microservice running in a separate container.
This is also a great approach for adopting the latest version of .NET, without having to upgrade an entire legacy codebase.
The microservices architecture allows a mix of technologies between each service. You can use .NET for parts of your application without adopting it everywhere. .NET microservices can be mixed with those written in Node.js, Java, Go, or any other language.
.NET is built from the ground up for scaling in the Cloud. Microservices built with .NET run on all major cloud platforms.
If you haven't yet decided on a cloud, we recommend Azure. Azure is the best cloud for .NET developers because it was built with .NET developers in mind.
This guide is an introduction to developing microservices-based applications and managing them using containers. It discusses architectural design and implementation approaches using .NET Core and Docker containers.
This guide introduces the basic concepts of building a development lifecycle around Azure using .NET tools and processes. After finishing this guide you'll have the knowledge needed to build a mature DevOps toolchain.