Service Fabric is a state-of-the-art distributed system that allows developers to easily build and manage Internet scale services. Translation = this is the underlying system that powers Azure services such as: Azure SQL, Bing Cortana, Intune, Skype for Business, Event Hubs, PowerBI, and many other core infrastructure in Azure.
And Microsoft just released it to the public. WHOA!
Yesterday I went to a session presented by Gopal Kakivaya, Corporate Vice President, at Microsoft. He has been leading the implementation of the Azure Service Fabric for the last 5 years. Over that time, his team has worked to fine tune and perfect the concepts necessary to implement this service.
Commonly referred to as microservices, these services are the core of cloud computing. So, what is a microservice?
- Is (logic + state) that is independently versioned, scaled, and deployed
- Has a unique name that can be resolved
- Interacts with other microservices over well-defined interfaces like REST
- Remains logically consistent in the presence of failures
- Hosted in a container (code + config)
- Can be written in any language or framework
Why is a Service Fabric necessary?
Azure is a public cloud that has financially-backed SLA’s. Which means that Microsoft must keep its services running constantly to meet those SLA’s. What happens when a new feature is released? How are services updated? We all know that software fails. How does the service handle the failure? All of these questions are answered by the Service Fabric.
Microsoft has designed a platform that intrinsically understands the available infrastructure resources and needs of applications, enabling automatically updating, self-healing behavior that is essential to delivering highly available and durable services at hyper-scale. And they have released the exact version of what they use in production on Azure, not a smaller or different version, but exactly the same code they use.
This is HUGE! It will enable developers, ISV’s, Perficient or our customers to build our own Azure Services.
Think about that for a minute. Enabling the greater community to build new Azure Services has the potential to be extremely transformative for Azure.
Service Fabric offers the following benefits:
- It supports creating both stateless and stateful microservices – an architectural approach where complex applications are composed of small, independently versioned services – to power the most complex, low-latency, data-intensive scenarios and scale them into the cloud.
- Provides the benefits of orchestration and automation for microservices with new levels of app awareness and insight.
- Solves hard distributed systems problems like state management and provides application lifecycle management capabilities so developers don’t have to re-architect their applications as usage grows.
- Includes Visual Studio tooling as well as command line support, which enables developers to quickly and easily build, test, debug, deploy and update their Service Fabric applications on single-box deployments, test deployments and production deployments.
I haven’t been able to attend any sessions on the newly announced Azure Pack yet, but I believe the Service Fabric is a key component to Azure Pack as well. Azure Pack is Azure On-Premises. Again, not knowing any concrete details on Pack, I can’t give you much, but I can surmise that if you want to deploy Azure Services on someone else’s datacenter, Microsoft had a need to release the Service Fabric.
Stay tuned to this blog for more information as we continue to learn about these exciting new product offerings.