Comparing and Contrasting Azure PaaS Solutions

Well lets just start off in saying that I will not look at everything PaaS.  But we’ll compare and contrast the two PaaS solutions that many companies are looking at today.  We are not going to discuss Cloud Services.  While they are still strong and healthy, Cloud Services are so ASM aka “Classic”! Not that there is anything wrong with that.  Unless, you are building a new application or else migrating an application from on-premises to the Cloud.  In that case we definitely want to move in the direction of Azure Resource Manager (ARM) deployments. And in particular, we’l focus on two heavy weight contenders for the championship battle. Service Fabric versus Application Services.

Before we proceed in this battle, here is a shameless Azure plug for Azure vs AWS PaaS. Also, if PaaS is something you have just never seen of heard of before AND you didn’t even know what it stands for (Platform as a Service :)), then here is a good overview for you, or your, ahem, friend, on What is PaaS?

Let the Battle Begin.  And in this corner we have…

App Service Summary

App Service is a platform-as-a-service (PaaS) offering of Microsoft Azure. Create web and mobile apps for any platform or device. Integrate your apps with SaaS solutions, connect with on-premises applications, and automate your business processes. Azure runs your apps on fully managed virtual machines (VMs), with your choice of shared VM resources or dedicated VMs.

App Service includes the web and mobile capabilities that we previously delivered separately as Azure Websites and Azure Mobile Services. It also includes new capabilities for automating business processes and hosting cloud APIs. As a single integrated service, App Service lets you compose various components — websites, mobile app back ends, RESTful APIs, and business processes — into a single solution.

And in the other corner we have…

Service Fabric Summary

Service Fabric is a distributed systems platform that makes it easy to package, deploy, and manage scalable and reliable microservices. Service Fabric also addresses the significant challenges in developing and managing cloud applications. Developers and administrators can avoid solving complex infrastructure problems and focus instead on implementing mission-critical, demanding workloads knowing that they are scalable, reliable, and manageable. Service Fabric represents the next-generation middleware platform for building and managing these enterprise-class, Tier-1 cloud-scale applications.

Service Fabric powers many Microsoft services today, including Azure SQL Database, Azure DocumentDB, Cortana, Power BI, Microsoft Intune, Azure Event Hubs, Azure IoT, Skype for Business, and many core Azure services.

Service Fabric is tailored to creating “born in the cloud” services that can start small, as needed, and grow to massive scale with hundreds or thousands of machines.

Comparing App Services and Service Fabric Side by Side

Feature
Comparison

App
Service

Service
Fabric

Application
Design Scenarios

 

App using IIS? Then you will choose
App Service not Service Fabric

<!  Monolithic or tiered approach

  • Microservices
  • Stateless or stateful
  • High Density
  • On Clusters

Separation
of Application Layers

<!  Separated by functions e.g.

  • Web
  • Business
  • Data

        Separation by smaller services

Aka Microservices

Executable
/ Runtime Support

  • ASP.NET
  • Node.js
  • Java
  • Python
  • PowerShell and other scripts
  • ASP.NET Core 1
  • Node.js
  • Java VMs
  • Scripts

Development
Environment Requirement

OS Support

  • Windows 7*-10
  • Minimum of PowerShell 3.0*
  • Windows Server 2012 R2

Security
and Compliance

Application
Templates

Available in Azure
Marketplace
and Quickstart Templates

Available in Azure
Marketplace
and Quickstart Templates

Visual
Studio Integration

YES

YES