Azure Service Fabric offers a number of features out-of-the-box, which include the ones listed next:
- With ASF, you are not just limited to container-based applications but much more
- A number of Microsoft's own services are running on ASF, for example, Azure Event Hubs and, Azure SQL Database
- It gives you features to easily tune your microservice as stateless or stateful
- Some of the core infrastructure features are already built in, like scalability and low latency
- ASF offers Reliable Services or Actor Model (good for IoT solutions, for example, BMW implementation)
- It has a good Visual Studio Integration (build, test, debug, deploy, and so on)
All of the preceding features come at the cost of using Azure SDK using its own full-blown programming model. It means my architecture will be using yet another special or specific technology. I smell a vendor tie-in. Additionally, it has the potential to remove the focus from general cloud and container-based architecture to something specific to Microsoft Windows. Therefore, for our example project, we toss it up.