1. Home
  2. Training Library
  3. Microsoft Azure
  4. Courses
  5. Introduction to Microsoft Azure

Azure Cloud Services: Microsoft Platform as a Service

Start course

Begun in February 2010 after the announcement of its development two years before, MS Azure has quickly grown, adding many services - including the flagship Azure Virtual Machines, an IaaS compute platform.

This Introduction to Microsoft Azure course, created by our Azure expert Ganapathi Subramanian, is an introduction to the whole Microsoft Azure Platform. It will start from the most basic concepts you'll need to get started with the whole Azure family. We'll also give you a quick overview of the most important services in the platform for computing, storage, and database.

Who should follow this course

This is a beginner, introductory course to Azure, so you can enjoy it with no previous knowledge. You might, however, want to take a look at our introductory courses "Introduction to Cloud Computing" and "Introduction to Virtualization Technologies" to learn more about Cloud Computing and Virtualization from a low-level, provider-agnostic point of view.


Azure cloud services are based on the Platform as a Service (PaaS model) in which the cloud framework is responsible for managing the platform and the application is responsible only for managing its components. When applications are deployed in Cloud services the Cloud platform takes care of maintaining, patching and recovery from failures.

Azure Cloud services features 

Azure Cloud services supports deploying multi-tier, distributed, enterprise class applications to the Cloud. Cloud services supports two types of roles, web roles support hosting applications with a web front-end. Applications are hosted in a dedicated IIS web server and access through browsers. Web roles support building many types of web applications like ASP. NET, MVC, responsive web etc.

Worker roles host applications and processes which run on the background without user integration logic. Worker roles are ideally suited for running asynchronous long-running back-end jobs.

How to create and deploy an Azure Cloud services project

Cloud services are developed using Visual Studio. NET as Cloud projects, Azure supports an SDK, software development kit, for developing and testing Cloud services projects in a simulated environment. Cloud services projects are first created in the Visual Studio. NET and one or more web or worker roles are added based on functionality. The application logic is implemented in the web and worker roles.

Cloud services are deployed by creating a package and deploying the package through the portal REST APIs or PowerShell scripts. Cloud services are created in a specific data center in Azure. Azure supports more than 13 global regions where applications could be deployed.

Cloud services packages can be deployed in staging or production environments within a specific region. A staging deployment can easily be promoted to a production environment by using the swap option. The number of instances running in the Cloud services can easily be scaled up or down by modifying the service configuration file and redeploying the package. Azure Cloud services also support an autoscaling feature which enables scaling instances up or down based on patterns like CPU or memory usage. Instances can also be scaled based on a schedule. Azure Cloud services supports a guaranteed availability of 99.95% for two or more instances deployed.

Azure Cloud services monitoring

Cloud services can be monitored using the features supported in the Azure management portal. Azure portal supports two types of monitoring features. Minimum monitoring monitors the host of the Virtual Machine environment and collects data using the Performance Counters. Verbose monitoring monitors the health of the role instances and stores the log in Azure storage.

Applications hosted in Cloud services can use the diagnostic API supported in Azure SDK to monitor the health of the application. Applications log the data in the event log of the VN which is then transfer to a specified storage account by the diagnostic APIs. Data and logs in storage can be monitored using monitoring tools like Microsoft System Center Operations Manager.

Cloud services instances run on a specific version of the operating system known as Guest OS. Microsoft automatically patches and performs other maintenance tasks on the Guest OS. The version of Guest OS can easily be changed in the portal followed by an instance restart. Cloud services instances can be accessed using remote desktop by enabling the necessary certificates. Start up scripts can be use to perform any initial task, for example creating a specific folder before the roles start.

Azure Cloud services pricing

Cloud services are charge based on the type of instances, number of instances and usage. Instance type include extra small, small, medium, large, extra large with each type supporting varying CPU configuration and memory. Cloud services are charged pay-per-use rounded to the nearest minute. Instances start incurring charges when they are deployed and in running state. Unused instances can be stopped to avoid cost. In this demo we'll go through the process of creating a simple Cloud service and deploying it in Azure.

Create an Azure Cloud service using Visual Studio

The first step in creating a Cloud service is to launch Visual Studio. NET and create a Cloud project. A Cloud project and web role project are created. Cloud project is the container and web role contains the front-end logic.

The web role project is similar to any ASP. NET web application. Let's go ahead and implement a simple "Hello World" application.

The next step is to compile and create a package that can be deployed in the Azure portal. Now we switch to Azure portal and create a Cloud service. The Cloud service with this demo will be created in West-US region.

Once the Cloud service is created the next step is to deploy the package by selecting the deployment package and service configuration file. The deployment will take a few minutes as it needs to spin up a virtual machine and deploy the package.

Once the deployment is successful the application can be accessed through the URL in the dashboard link.

The instances tab of the deployment shows a number of instances that are running. The scale tag can be use to configure autoscaling and scheduled scaling. The monitoring tab allows configuring the monitoring requirements for the Cloud services.

About the Author
Trevor Sullivan
Microsoft PowerShell MVP

Trevor Sullivan is a Microsoft MVP for Windows PowerShell, and enjoys working with cloud and automation technologies. As a strong, vocal veteran of the Microsoft-centric IT field since 2004, Trevor has developed open source projects, provided significant amounts of product feedback, authored a large variety of training resources, and presented at IT functions including worldwide user groups and conferences.