Service Fabric is a microservices platform to build, deploy, discover, and scale services with message routing, low-latency storage, and health monitoring. It powers both first- and third-party applications including core Azure infrastructure and cloud services along with several mission-critical applications for enterprises.
This week at the Microsoft Ignite conference in Orlando, Florida, we are announcing an update of the Azure Service Fabric Mesh preview, the serverless microservices platform that was released in July this year. We are also announcing Service Fabric runtime version 6.4 with corresponding SDK and tooling updates which will start rolling out in the coming weeks and come with a bevy of enhancements.
Support for Windows Server version 1803 and multi-tenancy features
We are announcing support for Azure clusters running Windows Server version 1803, as well as those running containers based on the same image for Azure clusters and Service Fabric Mesh. Windows Server version 1803 includes several improvements and fixes.
Customers have often asked us to provide network isolation in addition to compute isolation to help enable multi-tenant scenarios. With this update, Service Fabric enables isolated networks per application as a preview. With an isolated network per application, service endpoints can only be reached from other applications if they are explicitly configured as such.
Mesh: Auto-scale and resources
This update brings significant enhancements to the Azure Service Fabric Mesh environment which are enabled through the Mesh Application model. Since the runtime that Mesh is based on is the same Service Fabric 6.4 runtime, Mesh also now supports Windows Server version 1803.
The Azure clusters provided support for auto-scale of stateless instances, and we’ve now brought this functionality to Mesh Applications. Your services can now be automatically scaled simply by specifying your CPU and memory thresholds in the application model. Thus, you no longer need to worry about the number of nodes to handle your scale demands. You don’t even need to think about what the right number of instances is for your services – just let Mesh take care of it!
We’ve added support for the Secret, Network, Gateway, and Volume resources in Mesh. You can now specify inline secrets using the Secrets resource in the Mesh Application model and deploy them to Azure Service Fabric Mesh. Network and Gateway resources enable multiple-ingress and routing, which let you specify per-request routing to services within your Mesh Application. Using secrets and routing, you can now host applications with HTTP and HTTPS endpoints in Service Fabric Mesh.
In addition, the support for the Volume resource allows you to mount Azure Files, as well as the Service Fabric Volume Disk, for HA scenarios (more details in the next section).
The runtime enhancements that allow new scenarios to be supported are only part of the story. We’ve enhanced the tooling through Visual Studio for Mesh Applications and Maven CLI integration, and improved the Azure portal experience for Mesh Applications. Now you can browse and manage Mesh Applications through the Azure portal.
Low-latency storage improvements for stateful services
We are announcing the general availability of the Automatic Backup and Restore service for Service Fabric stateful services, which makes it easy to reliably back up your stateful services across the cluster. Furthermore, we’ve added support for viewing the data as well as editing in a human friendly format before you restore. Backing up and restoring data becomes easier, as users do not need to code for either backing up or restoring data.
For fast read and writes required by low latency scenarios, we have enabled support for volatile storage that allows the state to be replicated in-memory across VMs without persisting to the disk.
One of the unique features supported by Service Fabric is the state storage with Reliable Collections. Until today, Reliable Collections required you to adopt a Service Fabric programming model. With this release, we are previewing the Standalone Reliable Collections library which allows you to use Reliable Collections as a key-value store from any code or programming model. Not only that, since it is now just a library, you can even run it outside of Service Fabric without needing the runtime. And then, when you run it on Service Fabric, the state becomes HA through built-in replication and co-location to support your mission-critical applications. We are releasing this as a preview for both .NET Core and Java.
Containers are often used with volume disks for state. Consistency, fast recovery from failures, and routing of requests are complex with remote storage. Furthermore, local mounted disks are not HA, and data can be lost. And, with remote mounted disks, latency can be an issue, so in order to address these issues, we’re releasing the Service Fabric Volume Disk backed by Reliable Collections to provide a HA low-latency storage volume co-located with compute. Your application will need no changes to use the Service Fabric Volume Disk. It becomes easier than ever to lift-and-shift your containers that are backed by NoSQL DBs and migrate them to the cloud and make them HA.
The above only touches on a few features in this update. Sign up for the Service Fabric blog RSS feed to get the details as we start the roll out.
This release makes the EventStore APIs generally available and thus makes it easier to diagnose your cluster and services with short-term historical data that is queried and presented to you.
Try the latest release and give us your feedback. Let us know what’s working well and what’s not. Read our docs, learn from customers using Service Fabric, and try it out on a free Azure cluster. For direct interaction with the product team, tune into our monthly community calls.
If you’re at Ignite, make sure to join us at the booth or during our talks to ask your questions and learn more. Find out more information regarding the schedule and booth details.