today I want to make few notes on Azure Services Fabric.
First of all, I'd like to point that Azure Services Fabric is a tool, intended for building scalable apps. Besides Azure Services Fabric, Microsoft Azure provides following options of working with scalable applications:
- Azure Container Service
- Azure Service Fabric
- Azure Functions
Azure Container Service is docker orchestration technology. If you feel yourself as cool admin you can jump right into writing docker files, manage running docker containers etc. But there are three tools for container orchestration available at Microsoft Azure:
- Docker Swarm
Azure Service Fabric is purposed for writing distrubuted applications. If to compare with Docker implementations 1, 2, 3 Azure Service Fabric is intended with taking out of your developers and system designers headache related to maanging infrastructure ( i.e. communication, discovery, telemetery ), and give them task writing code.
Programming models of Service Fabric.
I'd like to point that Microsoft themselves use Service Fabric. They use it for running Azure Event Hub, Azure IOT Hub, Azure Document DB, SQL Service Azure, Cortana and other staff.
There are three models on building software int Service Fabric:
- Reliable Services ( maybe the easiest ) similar to windows service or daemon in Linux
- stateless services
- stateful services
- Reliable Actors ( built on top of Reliable Services )
- Guest executables ( take any app, and run it as Guest executables )
If to summarize, Azure Fabric allows to put your attention to needs of your business instead of writing/configuring cloud infrastructure.
I want to point that from developer standpoint all that is needed for a developer in Azure Fabric, is just Visual Studio and deployment at local developer machine of Azure Fabric. Then developer should be able to reproduce any production bug on his workstation/laptop. One more tool that developer can use is Visual Studio.