Microservices also known as the microservice architecture, is an architectural layout that structures an application as a collection of loosely coupled services, which implement business capabilities. It can be used to build e-commerce system, business application, and IOT.
ASP.NET Core 2.0 is the best candidate when you want to embrace this system architecture. The ASP.NET Core 2.0 framework is lightweight and its API surface can be minimized to the scope of a specific microservice. A microservice architecture also allows you to mix technologies across service boundaries, enabling for a gradual transition to ASP.NET Core.
Notice that microservices built with ASP.NET Core 2.0 can work together with services using other technologies such as the full classic .NET Framework, Java, Ruby, and even other more legacy technologies. This is a big advantage when you need to progressively transform monolithic applications into more (micro)service-oriented applications.
You are not bound to a specific underlying infrastructure, instead, you have a wide choice since ASP.NET Core 2.0 supports nearly all the technologies that you can think of today. Additionally, you can modify the infrastructure when needed so there is no technological lock-in for applications that have been developed based on it.
Your primary choice for orchestrating and managing microservices written in C# efficiently and at high scale, on-premises, and in the cloud, should be Microsoft Service Fabric. It was conceived exactly for that and is used by Microsoft for various Azure services (SQL Database, and more) for many years already.
A microservices Docker container approach might also fit your needs, we are going to explain its use cases in the next paragraphs. To sum it up, ASP.NET Core 2.0 is the ideal choice for implementing and hosting your microservices in any kind of technical environment.