I have a application that can be broken down into multiple communicating services. My current implementation is monolithic and I want to reorganize it so that individual com
Peter has done a great summary. And here are my additional points:
Cloud Service is not designed for micro service pattern, while Service Fabric is. If you want to enjoy the benefits brought by micros service, Service Fabric is your best choice. With Cloud Service, if you want separate your application into autonomous services, you either
Cloud Service doesn't support cross region/DC deployment, while Service Fabric does. That means you can turn a DC level disaster recovery into a normal failover, which automatically handled by Service Fabric, see this.
I think this page compares it well: https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-cloud-services-migration-differences/
I can't tell it better than this.
There is not really a rule of thumb. Service Fabric might seem more complex but offers some things that Cloud Services / Web Apps don't.
A quick summary (taken from the link provided):
Service Fabric itself is an application platform layer that runs on Windows or Linux, whereas Cloud Services is a system for deploying Azure-managed VMs with workloads attached. The Service Fabric application model has a number of advantages: