Cloud computing with Microsoft Azure

 Sep 09, 2014

In my previous blog post (The basics of cloud computing), I explained the concept of cloud computing, cloud services, types of cloud and the Microsoft cloud technologies available. Today, I’ll specifically look at Microsoft Azure, a cloud technology that provides a comprehensive set of services for building cloud-based solutions. Below I have explained in great detail the different app services, data services, services to support networking, and data storage options available with Microsoft Azure. App services
  • Media Services: Microsoft Azure Media services enable developers to create applications that provide live and on-demand streaming media, with capabilities for converting media formats, encoding content, and other media-related functionality.
  • Active Directory: Microsoft Azure Active Directory provides Active Directory based authentication and identity management for custom cloud-based applications built on Microsoft Azure. You can synchronise Microsoft Azure Active Directory with your corporate Active Directory to provide a single sign-on solution for cloud services.
  • Multi-Factor Authentication: Microsoft Azure Multi-Factor Authentication enables you to enhance security for cloud and on-premises applications by including identity verification checks, for example by email, phone call, or text message.
  • Service Bus: The Microsoft Azure Service Bus provides a message queuing solution for applications that need a scalable and reliable message-based communication architecture.
  • Notification Hubs: These provide a solution for push notifications that applications can broadcast to subscribers.
  • Caching: Microsoft Azure Caching provides a data cache service for applications.
  • BizTalk Services: Microsoft Azure BizTalk Services enables enterprise application integration (EAI) for business-to-business (B2B) scenarios.
Compute Services
  • Cloud Services: This provides the foundation for cloud applications and services, enabling you to deploy and manage custom services easily.
  • Web Sites: This provides a scalable cloud infrastructure for Web applications.
  • Mobile Services: This enables you to build cloud-based applications for mobile devices.
  • Virtual Machines: This provides cloud-based hosting for Hyper-V virtual machine images, which you can create from a gallery of built-in images or upload.
Data Services
  • Storage. Microsoft Azure Storage includes tables, for key-value pair and other NoSQL formats, and a blob store in which you can create a hierarchy of containers for binary large object (Blob) files.
  • SQL Database. Microsoft Azure SQL Database is a PaaS database server service based on SQL Server.
  • SQL Reporting. Microsoft Azure SQL Reporting provides SQL Server Reporting Services capabilities for Microsoft Azure SQL Database data sources.
  • Backup. Microsoft Azure Backup enables you to use backup functionality in Windows Server and System center to perform cloud-based backups.
  • Hyper-V Recovery Manager. Hyper-V Recover Manager provides cloud-based coordination and management of virtual machine replication and failover between private cloud data centers.
  • HDInsight. Microsoft Azure HDInsight provides a Hadoop cluster service for big data analysis.
Services to support networking
  • Virtual Network network provides a virtual private network (VPN) solution that you can use to create virtual networks for Microsoft Azure based services and connectivity to your on-premises networks.
  • Traffic Manager provides network load balancing for Microsoft Azure services.
In addition to the services described above, Microsoft Azure provides a marketplace where you can buy and sell application services and data sets. Most applications work with data, and Microsoft Azure provides multiple options for data storage as explained below. Microsoft Azure Storage Microsoft Azure Storage enables applications to store data in tables or blobs, or to read and write data to queues for asynchronous workflows. To use Microsoft Azure Storage, you must create a Microsoft Azure Storage account in your Microsoft Azure subscription. The Microsoft Azure Storage account name forms part of the URL used to access the data you have stored. When you create a Microsoft Azure Storage account, it is assigned two 512 bit access keys that applications can use to authenticate with the service. All Microsoft Azure Storage services include data redundancy across three replicas within the Microsoft Azure data center where the storage account is created, and by default all Microsoft Azure storage is also geo-replicated across multiple, geographically distributed data centers. Storing Data in Microsoft Azure Tables Microsoft Azure Tables provide a storage mechanism for structured and semi-structured data. Although the name “table” can give the impression that Microsoft Azure Tables are a relational form of data storage, the tables have no fixed schema and are used to store entities that are defines as a collection of namevalue pair properties. All entities have a PartitionKey, RowKey, and Timestampproperties which are used by Microsoft Azure Storage to identify individual rows. In addition, each entity can have up to 252 custom properties. Note, that entities in the same table do not need to have the same properties. For example, a table named “Products” might contain multiple customer entities, each with its own set of properties as shown in the following table.

Cloud computing with Microsoft Azure

The URL for a table is in the form <Storage_Account_Name>.table.core.windows.net. Storing Data in Microsoft Azure Blob Storage Microsoft Azure Blob Storage provides a storage solution for unstructured binary files. When you create a Microsoft Azure Storage account, you are provided with a Blob Storage host at <Storage_Account_Name>.blob.core.windows.net. You can create a hierarchy of containers in this location in a similar way to the use of folders to organise files in a file system. Microsoft Azure SQL Database Microsoft Azure SQL Database was formerly known as SQL Azure, and provides a SQL Server based PaaS solution for relational data storage and management. A SQL Database provides a subset of the functionality available in SQL Server. Developers can use familiar Transact-SQL syntax to access data in SQL Database, but because it is provided as a PaaS offering, database administrators do not need to manage hardware or server configuration. If you need greater control over server configuration than SQL Database allows, or you need to use SQL Server features that aren’t supported in SQL Database, you can provision a Microsoft Azure virtual machine image that includes SQL Server and use it as a database server for your application. Microsoft Azure virtual machines are Hyper-V images, where you can install any software you require, making them a highly flexible IaaS solution. The virtual hard disk files for the virtual machines are stored in a Microsoft Azure Blob Storage account, providing a highly available, redundant storage solution. Applications can connect to SQL Server in a Microsoft Azure virtual machine in the same way as any other SQL Server instance, making it easy to migrate existing applications from on-premises SQL Server data stores to Microsoft Azure. Backing Up Databases to Microsoft Azure One of the ways in which you can take advantage of Microsoft Azure in a hybrid cloud environment is to use Microsoft Azure Storage as a target for SQL Server database backups. Backing up databases to a Microsoft Azure Blob Storage container ensures that backups are safely stored offsite, and are protected by the built-in resiliency of Microsoft Azure Storage. To use Microsoft Azure for SQL Server backups, provision a Microsoft Azure storage account and create a Blob Storage container, complete the following steps: Step 1: Create a credential, specifying the Microsoft Azure Storage account name as the identity, and either of the secret keys associated with the Microsoft Azure Storage account as the secret. The following code example shows how to use the Transact-SQL CREATE CREDENTIAL statement to create a credential for a Microsoft Azure Storage account named AzStoreAct:

CREATE CREDENTIAL AzureStore WITH IDENTITY = ‘AzStoreAct’, SECRET = ‘XXXXXXXXXX-Access Key-XXXXXXXXXX’;

Step 2: Back up the database to the URL for the Microsoft Azure Storage container where you want to store the backup, specifying the credential you created previously. The following code example shows how to use the Transact-SQL BACKUP DATABASE statement to back up the MyDBdatabase to a container named backups in the AzStoreActMicrosoft Azure Storage account.

BACKUP DATABASE MyDB TO URL = ‘AzStoreAct.blob.core.windows.net/backups/mydb.bak’ WITH CREDENTIAL = ‘AzureStore’;

Using an AlwaysOn Availability Group Replica in Microsoft Azure for High Availability Another way that you can leverage Microsoft Azure for disaster recovery in a hybrid cloud environment is to include one or more Microsoft Azure virtual machines running SQL Server as a secondary replica in an AlwaysOn Availability Group. To use a Microsoft Azure virtual machine in a SQL Server AlwaysOn availability group, consider the following guidelines:
  • Use asynchronous commit instead of synchronous commit to avoid performance issues created by network latency.
  • The Microsoft Azure virtual machine must be a node in the same Windows Server Clustering Services (WSCS) cluster as the on-premises replicas, and must therefore, be joined to the same domain. To support this requirement, you must create a Microsoft Azure virtual network so that the virtual machine in Microsoft Azure can connect to the on-premises domain controller.
  • If you plan to use multiple replicas in Microsoft Azure virtual machines, they should be provisioned in the same Microsoft Azure availability set.
  • When multiple availability group replicas are hosted in Microsoft Azure virtual machines, you may experience IP address conflicts caused by cluster nodes being assigned the same virtual IP address for the cluster name.
  • Similarly, using an Availability Group Listener with multiple Microsoft Azure virtual machines requires a workaround as described here.

How do your Excel skills stack up?   

Test Now  

About the Author:

Adam Keats  

With over 25 years of real-world IT experience Adam is one of New Horizons’ most senior Database and Software Development trainers. Starting out as a physics teacher Adam displayed exceptional mathematical and technical capabilities early on in his career. He went on to work in a variety of programming and technical management roles within several government agencies including the Department of Defence and Maritime Patrol. In 1998 Adam found his true calling, gaining MCT status and thus beginning his technical training career specialising in SQL Server administration, development, BI, and .NET development. Since then he has worked for several training organisations and found a home at New Horizons where he is now our resident Database and Development specialist. Throughout his tenure at New Horizons, Adam has assisted over 500 students in their endeavours to improve their skills, knowledge, and to achieve industry certifications.

top