Category: Development

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.

Development

Fluent API Libraries for Azure .NET SDK

Just as Microsoft is constantly working to update, upgrade and add to the overall Microsoft Azure platform, they are also working to keep updating and improving the development tools to match. The current Azure .NET SDK has been around for quite some time now. While it’s stable, there may be some room for improvement to the overall Azure developer experience. Microsoft recently announced they are working on a newer set of Azure API libraries for use with the .NET Framework that are based on Fluent Interfaces. This article describes both what a “Fluent Interface” is, as well as what the new fluent Azure SDK for .NET has to offer and how it can be used. Read More

ArchitectureCertificationDevelopmentInfrastructure

Microsoft Azure Certification Exams Get Major ARM Refresh

Over the last 2 years, since the 3 core Microsoft Azure certification exams were originally published there have been a tremendous amount of changes to the Microsoft Azure platform and ecosystem. These 3 core exams targeted towards Architecture, Infrastructure, and Developer roles were originally published before Azure Resource Manager (ARM) existed and fully covered Azure Service Manager (ASM). Not only has ARM been released since then, but also a very large number of new Microsoft Azure services have been released too! Newer services like Azure Functions, Logic Apps, DocumentDB, and others weren’t covered on these original exams.

However, these core Azure certification exams have been updated a couple times over the last 2 years. This has kept them relevant over the years, but the most recent previous update was published in March 2016, and it didn’t even full cover Azure Resource Manager (ARM) as well as a few other features and services. Since that latest update was about 8 months ago, it really is time for another refresh, and hopefully one that add much more than the last.

Luck is in our favor, as Microsoft will be publishing another new update / refresh to these 3 core Microsoft Azure certification exams on November 22, 2016. This update will include major ARM updates, including the removal of the old Azure Service Management (ASM) APIs, as well as the inclusion of Azure Functions, Logic Apps, DocumentDB, and other newer Azure services.

Microsoft will be publishing another new update / refresh to these 3 core Microsoft Azure certification exams on November 22, 2016.

For a full listing of the new exam objectives on these exams, see these links:

In addition to these 3 core Microsoft Azure exams, there have been 2 additional Big Data focused exams released. These 2 exams have been out for about a year now, and are not getting updated right now. I would expect these to be updated sometime in the next few months, perhaps. Here’s links to further information on these 2 Big Data focused exams:

Also, Microsoft recently announced some major changes to the Microsoft Certification program that greatly embeds the Azure exams into the various certification tracks. Along with these announcements was the release of the brand new Microsoft Certified Solutions Expert (MCSE): Cloud Platform and Infrastructure certification,and a few Microsoft Certified Solution Associates (MCSA) certifications it builds on top of.

There’s been lots changing technology-wise, as well as many major certification changes lately!

Happy studying!

CertificationDevelopment

Azure Developer Exam (70-532) Gets ARM Refresh

It’s been about 2 years since the 70-532 Developing Microsoft Azure Solutions certification exam was first release. Over that time there’s been a couple updates to keep it relevant with the ever changing landscape of the Microsoft Azure platform. The previous update was released in March 2016, which is a very long time when it comes to the cloud. The good news is that another update is on it’s way, and this time it will be including a full update of adding Azure Resource Manager (ARM) to the exam, in addition to many other new features and services. This update looks to be bringing the 70-532 Developing Microsoft Azure Solutions exam back to relevancy and not so outdated as it’s been for nearly an entire year now. Read More

BookDevelopment

Free eBook: Creating Mobile Apps with Xamarin.Forms

FreeEBookCreateMobileAppsXamarinFormsWritten by Charles Petzold, the “Creating Mobile Apps with Xamarin.Forms” book is a 1200 page deep dive for C# developers who want to write applications that target the 3 most popular mobile platforms: iOS, Android, and Windows! This free eBook has been made available by Microsoft Press and will definitely be a go-to guide on building Mobile Apps with Xamarin.Forms for any developer new to the Xamarin platform, or even for the more experienced looking for a deeper dive to learn more. Read More

BookDevelopment

Free eBook: Microsoft Platform and Tools for Mobile App Development

FreeEBookMSPlatformToolsForMobileAppDevIt’s important for today’s decision makers to understand how to create a mobile app development strategy. This can be key to opening up new business opportunities. The “Microsoft Platform and Tools for Mobile App Development” Free eBook written by Cesar de la Torre and Simon Calvert provides answers to this problem area. This book covers topics on how Microsoft defines an end-to-end platform for the agile creation of mobile apps tagging any platform from iOS to Android to Windows, as well as providing an easy to consume set of services in both the cloud and on-premises. Microsoft also offers DevOps tooling to help improve application quality and to achieve faster time to market. Read More

ArchitectureDevelopmentInfrastructure

Fixing Azure Portal Errors

All software has errors. The Microsoft Azure Portal is no different. When this happens you’ll receive one of two different alerts of the error; either an error message or a rain cloud. It’s easy to have a “table flip” moment when this occurs and start grumbling how “the cloud is horrible” or “why Azure sucks”, but there’s generally an explanation for these errors and they normally don’t last long. This post explains a bit of why these errors occur, when they’re more likely, and how to fix / workaround them. Read More

ArchitectureBookCertificationDevelopmentInfrastructure

35 Azure and Cloud eBooks for Amazon Kindle

Blog articles and Technical documentation are nice for learning technologies, but there are times when a good book just can’t be replaced. This is especially true when getting information from blogs that may have a snippet of “found code” that might or might not work as expected. At least properly technically reviewed book will have working code snippets and other directions / information.

So, here’s a bunch of eBooks on Azure topics that are available for the Amazon Kindle. After all, what better to read about the Cloud than with a “Virtual” book! Read More

ArchitectureDevelopmentInfographic

Azure Infographic: Cloud Design Patterns

Curious about how to design applications for the cloud? The Cloud Design Patterns infographic from Microsoft provides a nice reference of cloud architecture design patterns. This infographic depicts the most common problems in designing cloud-hosted applications, and it provides some design patterns to offer guidance to help you design better cloud-hosted applications within Microsoft Azure!

Screen Shot 2016-06-21 at 7.28.42 AM

You can download the full infographic PDF at the following URL:

https://azure.microsoft.com/en-us/documentation/infographics/cloud-design-patterns/