Designing new applications is tricky enough, but Microsoft shops must also choose from an array of overlapping options for microservices and container management before they can modernize their apps.
Microsoft plans to offer Windows containerization tools that expose container management knobs to user control, such as Windows Server Containers, Hyper-V Containers and the Azure Container Service, which was updated this week with Windows Server container support in limited preview. But elsewhere in the portfolio, a product called Microsoft Service Fabric offers its own approach to microservices and containers at the platform level.
Microsoft Service Fabric, originally developed to run SQL Azure, allows developers to create hyperscale apps and automatically provision and scale them on the back end. While Service Fabric will support containers, as well as virtual machines, managing containers or server infrastructure is beside the point -- Service Fabric is a platform-level offering that almost entirely abstracts the infrastructure back end from the user.
It's unclear how far Service Fabric's appeal will extend into enterprises, as opposed to the Azure Container Service, which Microsoft also offers for container management in the cloud. Right now, there is plenty of overlap between its functionality and that of Service Fabric, and both products are also relatively new, having become generally available this spring.
Microservices without micromanagement?
Still, some enterprises eyeing the abstraction of Service Fabric hope it will mean easier container management in their environments than an infrastructure-level service, such as the Azure Container Service.
"Since the team I work on is heavy on C#, we can easily convert our existing web apps and intermediate services into Service Fabric-compliant containers," said Bala Subra, a .NET architect for a large publishing company in the Northeast, which is testing out Microsoft container products.
Converting to microservices requires changing the company's app architecture to refactor monolithic apps, which is taking some time, Subra said.
His company plans to use Service Fabric, he said, to "bring us the benefit of managing all the overhead of containers, such as service throttling and discovery, without having to use a different product, like Rancher."
Meanwhile, Azure Container Service "is an infrastructure play," and Microsoft's way of selling what enterprises want to buy right now, according to an attendee at a recent Azure User Group meeting with experience in Microsoft products, who spoke on condition of anonymity.
The attendee added that "infrastructure is like asphalt -- it's necessary, but it's not the point."
Enterprises considering microservices options
Some enterprise customers are weighing whether to include Service Fabric in their plans for microservices, though the product was originally built for hyperscale web workloads.
"We're mainly hosted; we don't leverage Azure or Amazon right now," said Marc Priolo, configuration manager for Urban Science, a Detroit-based data analysis company specializing in the automotive industry.
While his company is strongly leaning toward on-premises Windows Server Containers, it has yet to decide whether to eventually transition to a cloud service such as Service Fabric, or stick with running containers outside the cloud in its hosted data centers.
"Service Fabric may be something we look into," Priolo said. "We'll look at whether we'd go with a hybrid approach and jump into the deep end, or not."
BMW, TalkTalk Group, Schneider Electric and Care Otter all currently use Service Fabric, and a game development company, Illyriad, presented at Microsoft's Build conference this year, saying it is using the service to develop a real-time online multiplayer game, called Age of Ascent.
Spin up a Windows Server container in Azure
IT pros take the reins on Windows container management
Podcast: Going reactive with microservices