Microsoft is paving the way for the day when containers will run under Windows Server, as well Linux. At its Build developer conference, which kicks off April 29 in San Francisco, the software giant will demonstrate how its new Azure Service Fabric can be used to build distributed, microservice-based applications.
There's no way developers can actually start using Service Fabric, yet. They will have to wait for the first preview editions of the next version of Windows Server, coming out later this year, with general availability coming sometime next year.
At the Build conference Microsoft will offer an SDK and developer preview of Service Fabric in order to start getting developers acquainted with how it can be used. Microsoft executives will discuss the next generation of applications and Service Fabric technology on the first day of Build, according to Mike Schutz, Microsoft's general manager of cloud platform marketing.
In a blog posted April 20, Azure CTO Mark Russinovich called Service Fabric, "a high control platform that enables developers … to build cloud services with a high degree of scalability and customization."
Service Fabric reflects Microsoft's own experience in delivering cloud services. It provides the Azure core infrastructure with its ability to scale such things as DocumentDB, Azure SQL Database, and Bing Cortana. It's also used behind Skype for Business, Event Hubs, and InTune. Cortana uses Service Fabric to scale up to 500 million evaluations per second, Russinovich wrote.
[Want to learn more about what Docker containers will offer? See Docker 1.6 Emerges As A Platform.]
Service Fabric has built-in intelligence on the infrastructure resources available for an application, and can overcome a server failure by starting new instances and scaling to more hosts. It's been designed with "self-healing behavior" that makes an application using Service Fabric "durable and highly available" in a large scale-out setting.
"We are now making this battle-hardened technology available for everyone to use -- not a version of what we use but the exact technology we use ourselves," emphasized Russinovich.
Service Fabric, according to Russinovich, will include:
- Support for both stateless and stateful microservices. Many information lookup and sharing services are fast and stateless. Transaction services and some user interactions are stateful, with some accompanying overhead. Support for both allows complex, customer-facing applications.
- Orchestration of microservices, with knowledge of their application requirements.
- Manages state for distributed systems and provides application lifecycle management.
- Visual Studio tooling and command line interaction for faster building and debugging Service Fabric apps.
All of this is good, from a Microsoft developer's point of view, but its real value probably lies in the future as Microsoft gets support for Docker containers into Windows Server, which will become generally available sometime in 2016. Many developers want to build their applications, not only as a set of microservices, but also as microservices isolated in separate but interconnected containers.
The software in a container can be worked on and updated without endangering the operation of other containers and a new service swapped for an old one more easily than in earlier application designs. Microsoft plans to add Windows Server Containers from running on bare metal hosts, and Hyper-V Containers for running inside virtual machines.
Microsoft containers, combined with Azure Service Fabric, would give Microsoft developers technologies equivalent to what's already found in the Linux community, and command much developer attention. Microsoft may still be playing catch-up when it gets there, but Windows developers will have a reason to stay in place and consider switching operating systems if Microsoft can deliver the goods.