Microsoft Azure is a whole bunch of different things, and can be pretty overwhelming when you first take a look at it. This blog post lists out terms frequently referenced in Compute, Data and Networking Services of Microsoft Azure. They are presented in a hierarchical order based on the context shown in the following schematic. Hopefully, they’ll be of use to you as you start(or continue) your cloud journey.
Compute: Refers to computation power, usually in the form of provisioned Virtual Machines (VMs). In Windows Azure, the compute containers are often referred to as ‘roles’. At the moment, there are three types of roles:
Web Role: A service definition to deploy a VM with IIS 7 for hosting a web application. Web server IIS has been preinstalled and preconfigured to readily host your web application.
Worker Role: A service definition to deploy a VM without IIS for running application code in the background similar to Windows processes, batch jobs, or scheduled tasks.
VM Role: A service definition to upload a VM to cloud (i.e. Microsoft Azure Platform) for deploying an application with a custom or predictable runtime environment.
Table: Provides structured storage that can be used to store non-relational tabular data. A Table is a set of entities, which contain a set of properties. An application can manipulate the entities and query over any of the properties stored in a Table.
Blob (Binary Large Object): Provides a highly scalable, durable, and available file system in the cloud. Blob Storage allows customers to store any file type such as video, audio, photos, or text.
Block Blobs: Block blobs are a scalable and cost-effective way to store large amounts of blob data reliably. The typical use cases include data sharing, big data and backups.
Page Blobs and Disks: Page blobs provide block-storage that are optimized for random access and frequent updates. Because of their high performance, durability and reliability, they are used as persistent disks for VMs in Azure.
Queue: A reliable and persistent messaging delivery that can be used to bridge applications. Queues are often being used to reliably dispatch asynchronous work.
Files: Files allows VMs in an Azure data center to mount a shared file system using the SMB protocol and access the file system using standard Windows file APIs. VMs can attach to these file systems concurrently, allowing you to share persistent data easily between various roles and instances. You can also access your data using Windows file APIs or file REST API.
Azure Storage is deployed in 15 regions around the world and also includes support for replicating data between regions. You have three options for replicating the data in your storage account-LRS, GRS and RA-GRS, as explained below:
Locally redundant storage (LRS): Data is replicated three times within a single data center. When you write data to a blob, queue, or table, the write operation is performed synchronously across all three replicas. LRS protects your data from normal hardware failures.
Geo-redundant storage (GRS): Data is replicated three times within a single region, and is also replicated asynchronously to a second region hundreds of miles away from the primary region. GRS keeps an equivalent of 6 copies (replicas) of your data (3 in each region). GRS is recommended over locally redundant storage.
Read-access geo-redundant storage (RA-GRS): provides all of the benefits of geo-redundant storage noted above, and also allows read access to data at the secondary region in the event that the primary region becomes unavailable. Read-access geo-redundant storage is recommended for maximum availability in addition to durability.
Azure SQL Database: This is a highly available and scalable cloud database service built on SQL Server technologies, that supports the familiar T-SQL-based relational database model. It can be used with applications hosted in Windows Azure, and with other applications running on-premises or hosted elsewhere.
Azure SQL Data Sync: A cloud-based data synchronization service built on Microsoft Sync Framework technologies. It provides bi-directional data synchronization and data management capabilities, allowing data to be easily shared between multiple SQL Azure databases and between on-premises and SQL Azure databases.
HDInsight: A Hadoop distribution powered by the cloud. This means HDInsight was architected to handle any amount of data, scaling from terabytes to petabytes on demand. You can spin up any number of nodes at anytime.
Caching: This service provides a distributed, in-memory, low latency and high throughput application cache service that requires no installation or management, and dynamically increases and decreases the cache size as required. It can be used to cache application data, ASP.NET session state information, and for ASP.NET, page output caching.
Content Delivery Network(CDN): The CDN allows you to cache publicly available static data for applications at strategic locations that are closer (in network delivery terms) to end users. The CDN uses a number of data centers at many locations around the world, which store the data in BLOB storage that has anonymous access. These do not need to be locations where the application is actually running.
Virtual Network Connect: This service allows you to configure roles of an application running in Windows Azure and computers on your on-premises network so that they appear to be on the same network. It uses a software agent running on the on-premises computer to establish an IPsec-protected connection to the Windows Azure roles in the cloud, and provides the capability to administer, manage, monitor, and debug the roles directly.
Access Control (ACS): This is a standards-based service for identity and access control that makes use of a range of identity providers (IdPs) that can authenticate users. ACS acts as a Security Token Service (STS), or token issuer, and makes it easier to take advantage of federation authentication techniques where user identity is validated in a realm or domain other than that in which the application resides.
Service Bus: This provides a secure messaging and data flow capability for distributed and hybrid applications, such as communication between Windows Azure hosted applications and on-premises applications and services, without requiring complex firewall and security infrastructures.
If you feel I’ve missed out anything or have feedback about this post, feel free to add a comment below.
This article was written using the following resources as references:
Simple Talk: An Introduction to Windows Azure by Wely Lau