Understanding Web App for Containers

Web Apps for containers is part of the Azure App Service on Linux offering. You can pull web app container images from Docker Hub or a private Azure Container Registry, and Web App for Containers will deploy the containerized app with all the dependencies to Azure. The platform automatically takes care of OS patching, capacity provisioning, and load balancing. Container image deployments can be automated and simplified using continuous integration/continuous deployment (CI/CD) capabilities with Docker Hub, Azure Container Registry, and Visual Studio Team Services.

Docker is based on open standards, which means it can run on all major Linux distributions (and Windows Server 2016). Docker containers are lightweight sandboxes on top of your OS. When your application is deployed inside a Docker container, the app cannot see or access all the other applications or processes that are running on the same OS. You can compare this to creating different VMs to host different types of workloads or applications, but without the overhead of the virtualization itself. Docker containers also share the same OS and infrastructure, whereas VMs need to have their own OS installed inside their own infrastructure.

With containers, you share the underlying resources of the Docker host and you build a Docker image that includes everything you need to run the application. You can start with a basic image and then add everything you need. Docker containers are also extremely portable. You can deploy a Docker container, including all its settings, such as configuration settings, a specific runtime, framework, and tooling on a VM with Docker installed. Then, you can easily move that same container to the Azure App Service on Linux, and the application will still run as expected. This solves the it-works-on-my-machine problem that (mostly) all developers face. This makes Docker not a virtualization technology, but an application-delivery technology.

Docker containers are very suitable for building applications using the microservices architecture, where parts of an application are loosely coupled and divided into separate services that all collaborate with each other. Each service can then be deployed into a separate container and written in their own programming language using their own configuration settings. A service can consist of a Web App, a web API, or a mobile backend. You can easily deploy multiple copies of a single application. The only thing to be aware of is that they all share the same OS. If your application needs to run on a different OS, you still have to use a VM.

In the next demo, we are going to create an App Service Web App for Containers.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset