Tag: WebApps

PaaS

Azure Web Apps only in Current Portal from February 1, 2017

azure-app-service-web-app_colorMicrosoft has been working for a couple years to add support to all existing Azure services, as well as a plethora of new services, within the Current Azure Portal (http://portal.azure.com). One of the huge services that wasn’t available in the Current Azure Portal until recently is Azure AD; which is still in Preview within the Current Portal. However, Azure Web Apps have been supported in the Current Azure Portal for about 2 years or so at this point, and Microsoft is taking this new / current portal migration even further…

Starting February 1, 2017, Azure Web Apps will no longer be available in the “Classic” Azure Portal (http://manage.windowsazure.com). For most the duality of the Portals has been a bit frustrating, and it’s relieving to see that Microsoft is making the move to not just add support for services in the Current Portal, but also remove them from the “Classic” Portal.

This step is really a move towards an ARM (Azure Resource Manager) only world within the Microsoft Azure cloud. The “Classic” Azure Portal is built around the old Azure Service Manager (ASM) model. While the Current Azure Portal is built around the much newer, and feature rich ARM (Azure Resource Manager) model that brings features such as ARM Templates, RBAC (Role-Based Access Control), and is the set of APIs that all newer Azure Services only support.

ContainersDevelopmentInfrastructure

Deploy Docker Containers to Azure Web Apps on Linux

The PaaS (Platform as a Service) offerings within Microsoft Azure have been getting expanded out pretty impressively lately. The “extreme PaaS” that is the serverless computing of Azure Functions is a really interesting direction for cloud computing. However, one of the of the latest changes is the ability to host Docker Containers on Linux within Azure App Service Web Apps! It seems Microsoft is starting to add Docker support to everything.

App Service Web Apps on Linux

A few weeks ago the initial preview release of Azure App Service Web Apps for Linux was released. This offers a way to host OSS applications (Node.js, Python, PHP, etc) in Azure App Service with the use of a Linux Virtual Machine (VM). This provides a great alternative to hosting all Azure Web Apps with a Windows Server VM and IIS. While IIS works, the option of using Linux is definitely more appealing to Linux and non-Microsoft developers looking to use the Microsoft Azure cloud.

To provision a new Azure App Service Web App on Linux, you can follow these steps:

  1. Within the Azure Portal, search the Marketplace for Web App on Linux.
    azportal_webapponlinux_marketplace
  2. Enter the App nameResource Group, and select an App Service Plan to create the Web App on Linux.
  3. Next a specific Container needs to be selected in order to configure the specific Language / Platform that will be used to deploy a Web App to the Web App on Linux App Service instance.
    azportal_webapponlinux_pickbuiltincontainer
  4. Once provisioned the new Web App on Linux will be deployed out to an Ubuntu Linux VM with the specified platform container deployed and ready to go.

As you can see from the above screenshot of the available Built-in containers to choose from there are a number of Language/Platform versions to choose from. The list of language/platform versions supported by the current Preview release of Azure Web Apps on Linux are:

  • .NET Core v1.0
  • Node.js 6.6.0
  • Node.js 6.2.2
  • Node.js 4.5.0
  • Node.js 4.4.7
  • PHP 5.6.23
  • PHP 7.0.8

There’s also another thing that can be seen within the above screenshot…

Azure Web Apps + Docker

webapplinux-dockercontainerThe platform features of Azure App Service Web Apps on Linux support the deployment and configuration of the hosting environment through the use of Docker Containers. This is a huge departure and powerful feature addition to Azure Web Apps on Linux that differs from how the original Azure Web Apps hosted with Windows Server and IIS is implemented.

The use of Docker Containers to configure and host Web Apps on Linux opens up a huge amount of possibilities that help push Azure Web Apps to a more powerful service than before. The Built-In Containers that can be chosen to host Node.js, PHP, or .NET Core applications are built out as Docker Containers.

With the support for Docker Containers bring along the ability to deploy any Docker container image from Docker Hub (http://hub.docker.com) as the basis for hosting an Azure Web App on Linux. Not just Node.js, PHP, or .NET Core images can be deployed. It actually supports the deployment of any Docker Container Image from Docker Hub. It also supports both Public and Private images in Docker Hub.

azportal_webapponlinux_dockerhubcontainer

In addition to supporting any Docker Container Image from Docker Hub, Web Apps on Linux also supports deploying container images from any Private registry as well. To deploy an image form a private registry, you simply provide a couple additional properties: Server URL, Login username, and Password.

azportal_webapponlinuxprivateregistrycontainer

The Docker Container Images used to deploy out the language / platform to host an app can be used to simply host a Web App as normally with Azure Web Apps. However, the Docker Container Image can also contain the entire application to host within Azure Web Apps on Linux; including the language / platform and the full custom application as well.

Deploy “Hello World” Container to Web App on Linux

As an example of a Docker Container Image that can be deployed to Azure App Service Web App on Linux that contains the language / platform as well as a sample, “hello world” style application, the following Docker Images can be used:

This is just a sample of a couple Docker images that can easily be used, and any Docker Image can be deployed out to an Azure Web App on Linux.

Here’s what the dimkk/ng2-admin Docker Image from Docker Hub looks like once it’s deployed out and hosted within a Web App on Linux instance:

webapponlinux_ng2-admin-running

To deploy out a Docker Image from the Docker Hub, you can use the following steps when provisioning a new Web App on Linux, or when modifying an existing Web App on Linux:

  1. For the Image source property, select Docker Hub.
  2. Specify Public or Private accordingly for the Repository Access field.
  3. Enter the Docker Image Name into the Image and optional tag field.

To use the ng2-admin image you can specify the Docker Image of dimkk/ng2-admin”.

webapponlinux_ng2-admin_container

In this example, once the Web App on Linux initializes the deployment of the Docker Container image “ng2-admin” or another that implements a full application, the app will be running.

There is also the Startup Command field when configuring a Docker Container Image for a Web App on Linux to specify a specific startup command to execute once the Docker Container is deployed.

Azure Weekly

Azure Weekly: June 13, 2016

Build Azure Weekly is a series that offers a single source for a consolidated view on the weeks news, service updates, blogs, as well as other links surrounding the Microsoft Azure ecosystem. The links shared include those both from Microsoft and other members of the community. The goal of Build Azure Weekly is to help keep you up-to-date in the ever changing Microsoft Azure ecosystem.

Service Updates

Here’s a list of the Microsoft Azure Service Updates that have been announced this past week from Microsoft:

Read More

ArchitectureInfrastructure

Cloud vs On-Premises: Security, Reliability and Uptime

There’s a lot of buzz about the “Cloud” as a result of the rapid growth and adoption of cloud-based services like Microsoft Azure of the last 5 years or so. However, the “Cloud” is still a bit mysterious to some, and many others aren’t clear on the best way to design systems to run best in the cloud. While migrating on-premises solutions to run in the Cloud can be simple, there are many differences between Cloud and On-Premises data center and hosting environments. This article explores many of those differences, what they mean, and how to better design systems to run better in the cloud. Read More

ArchitectureAzure StackDevelopmentInfrastructurePowerShell

Azure Stack: Introducing PaaS Services and DevOps Tools

When Microsoft announced the initial Technical Preview release of Azure Stack it was also announced there would be additional services released in the coming weeks. This week, Microsoft announced the addition of Web Apps, SQL database, and MySQL database Platform as a Service (PaaS) services to the Microsoft Azure Stack platform, and some additional new tools too!

The recently released tools and services for Azure Stack can be downloaded and installed on top of any installation of the Azure Stack Technical Preview. This is really the first installment of many more Azure Stack services to come, beyond what comes with the Technical Preview itself. Read More