windows-azure – What are the differences between Container(Docker), Application service(App service) and Service Fabric in Azure?

Question:

When we are going to publish an application, service or Web API, we now have a wide range of options. I particularly like Azure for its mindset of facilitating configuration through the dashboard and passing the complexity on to other parts of the application (when possible).

In that regard, I was left with some doubts about the latest options offered by Azure. From the Azure documentation it seems to me that multiple services can fulfill the same need.

What is the difference between publishing an application, service or Web API in the following tools?

  • Azure Container service

  • Azure Service Fabric

  • Azure Application Service

Answer:

Although you get some identical results with the 3 options, it is necessary to evaluate the scenario that best fits your problem, since it doesn't make much sense to upload a simple site with Container or Service Fabric.

Azure Container Service

Azure Container Service makes it easy to create, configure, and manage a cluster of pre-configured virtual machines to run containerized applications. It uses an optimized configuration of popular open source programming and orchestration tools. This allows you to use your existing skills or leverage a large and growing body of community experience to deploy and manage container-based applications on Microsoft Azure. One of the good reasons to use Container is:

  • similar environments
  • Application as a complete package
  • Standardization and replication
  • You need an infrastructure that can scale up or down based on the needs of each application.
  • You need fast deployments across all your environments.
  • Ensure that your application does not lack any dependencies, as everything is already inside the container.
  • If you have experience with some orchestration solutions like Docker, Swarm, Google Kubernetes.

Here are some links to better understand how the Azure Container Service works

Azure Service Fabric

Azure Service Fabric is a distributed systems platform that makes it easy to package, deploy, and manage scalable and reliable microservices and containers. Developers and administrators can avoid complex infrastructure issues and focus on deploying critical and demanding workloads that are scalable, reliable, and manageable. One of the good reasons to use Azure Service Fabric:

  • When we need large-scale services
  • When we need highly available services
  • When we need easily scalable services
  • When we need session-based interactive services
  • When we need services with high data analysis flow
  • When we need services for data collection and IoT processing
  • When we need to simply deploy services in both the cloud and on-premises (OnPremise).

Here are some links to better understand how Azure Service Fabric works

Azure App Service

It is a PaaS-type platform, ideal for deploying systems for various platforms, from Web applications, WebAPI, WebSites, etc… All of this can be used on .NET, Java, Node.js, Php and Python platforms. When we talk about Apps, we mean hosting features. Among the benefits of the Azure App Service, here are a few:

  • Support for multiple languages ​​and structures
  • DevOps Optimization
  • Connections with SaaS platforms
  • Pre-configured Application Templates such as WordPress, Joomla, Drupal, etc.

With Azure App Services you can deploy the following types of apps:

  • Applications / Websites
  • Mobile apps as backend hosting
  • RESTful type API
  • Logic Apps like Azure Functions

Here are some links to better understand how Azure Service Fabric works

Conclusion

We can host a simple website with Container Services, Service Fabric or Application Service, but with Container and Service Fabric, it requires a certain environment configuration, whereas Azure Application Service does not need any type of environment configuration.

Scroll to Top