Scott Hanselman

A Cloud and Azure Glossary for the Confused

August 27, 2013 Comment on this post [10] Posted in Azure
Sponsored By
Cloud by Karen Ka Ying Wong used under CC via Flicker

A parody Twitter account called Confused .NET Dev last week tweeted:

A "crazy" learning curve? CDN? Table? Drive? OK, if you say so, but still, point taken, there's maybe some terms in there that may not be immediately obvious. Here's a few things you should remember when developing for the cloud as well as a small glossary that I hope helps this "confused .net dev" and his or her mixed case Twitter account.

Cloud Concepts

IAAS

Infrastructure as a Service. This means I want the computers in my closet to go away. All that infrastructure, the boxes, network switches, even software licenses are a maintenance headache. I want to put them somewhere where I can't see them (we'll call it, The Cloud) and I'll pay pennies per hour. Worst case, it costs me about the same but it's less trouble. Best case, it can scale (get bigger) if my company gets popular and the whole thing will cost less than it does now.

IAAS is Infrastructure like Virtual Machines, Networking and Storage in the cloud. Software you wrote that runs locally now will run the same up there. If you want to scale it, you'll usually scale up.

PAAS

Platform as a Service. This means Web Servers and Web Frameworks in the cloud, SQL Servers in the cloud, and more. If you like Ruby on Rails, for example, you might write software against Engine Yard's platform and run it on Azure. Or you might write iOS apps and have them talk to back end Mobile Services. Those services are your platform and will scale as you grow. Platform as a service usually hides the underlying OS from you. Lower level infrastructure and networking, load balancing and some aspects of security is abstracted away.

SAAS

Software as a Service. Like Office 365, SharePoint, Google Docs or Adobe Creative Cloud, you pay a subscription and you always get the latest and greatest.

Scale Up

Get more CPUs, more memory, more power. Same computer, but bigger. Like, one 8-processor machine with 128 gigs of RAM, big. Gulliver.

Scale Out

More computers, perhaps lots of them. Maybe eight 1-processor machine with 2 gigs of RAM. No, maybe 32. More little machines, like Lilliputians working as a team to move Gulliver.

Compute

If a computer is working for you, its CPU is working and that's compute. If it's a Virtual Machine or a Web Server it doesn't matter. You get charged pennies per hour, more for larger CPUs.

IOPs

Input/Output Operations Per Second, pronounced "eye-ops." This is unit of measurement used to describe the maximum number of reads and writes to a disk or storage area.

Queue

Just like a Queue in computer science, it's a holding place that lets you store messages and read them back asynchronously.

Content Delivery Network (CDN)

Taking binary blobs within storage and caching them nearest where the content is request. If your customers are in Asia, serve the file from a data center in Asia.

Azure Specific Glossary

Web Sites

Web Sites are "PAAS," that's platform as a service. It's the IIS Web Server in the sky. This is the "Easy Button" as Jon Galloway says. You can take virtually any website and move them up to Azure using Azure Web Sites. You can run ASP.NET, PHP, node.js and lots more.

Azure Table vs SQL Azure

Azure Tables are similar to a document database or NoSQL store. Then there's SQL Azure, which is SQL Server in the sky. Great for SQL-like data with relationships and indexes, etc. There's Azure Storage Tables which is nice when you have a huge pile of records that maybe doesn't have a lot of interrelationships, but there's a LOT of it.

Access Control

Controls Access. Just kidding. No, actually I'm not. Also know as ACS, it's a hosted service that integrates with Microsoft ID, Google, Facebook, Yahoo and other identity providers as well as Active Directory. It supports .NET, PHP, Python, Java, Ruby, etc and you can use it as a centralized authorization store. You can call it with web services from any app and manage users and identities from the portal.

Notification Hubs

Push notification services for any mobile platform. Windows Store, Windows Phone, iOS and Android. Broadcast messages to a user across apps or send single notifications to a user,  a platform or any combination.

AppFabric Caching

In memory caching for apps that run on Azure. You can use existing memory on web roles or dedicate all of a worker roles memory to in-memory caching.

Mobile Services

This is a complete Backend in a Box for apps. This isn’t a great name because it’s not just for mobile devices. It’s a complete backend-as-a-service including authentication and CRUD data access with a dynamic schema in the backend. The services are server-side JavaScript and totally managed for you. Supports iOS, HTML, Windows Phone, Win8, Android, and more. 

Media Service

Media squishing and delivery in the cloud. Production and transcoding workflow, secure delivery to any device, scale up and down elastically.

Service Bus

Secure messaging across firewalls and NAT gateways. It also offers relayed messaging services. Most large hosted and reliable systems need messaging services, sometimes request/response, sometimes peer-to-peer, and sometimes one-way.

X-Plat CLI

An open source JavaScript-written command line tool for Azure management. With node.js and npm installed go "npm install azure-cli --g" and get a complete management console for Azure that runs on Linux, Mac and Windows.

Big Data and HDInsight

Apache Hadoop in the Sky, running on Azure. Hadoop is a giant Java-based MapReduce system for creating data-intensive distributed apps. Azure adds lots to augment with .NET support, LINQ, reporting and more.

Blob

Binary Large Object...it's any binary blob you've put in Azure storage. Throw them in, get them back.

VHD

Virtual Hard Drive. Just like a VHD in Hyper-V or Virtual PC, this binary file represents a complete virtual disk.

Adding more than one disk to a Virtual Machine is a quick and easy way to get more speed for free. For example, if you've got a Virtual Machine running Windows AND a Database like MySQL, you'll have the database application and the Operating System competing for the maximum number of IOPs supported by the disk. Instead, make a new disk and mount it, putting the database on its own drive. This way you've doubled your IOPs with the OS on one drive and the database gets the maximum from its down drive.

Drive

You can mount an single Azure VHD as a disk drive within a Virtual Machine or you can mount Blob Storage as a virtual drive of its own.

Related Links

Did I miss anything major? I'm sure I did, but I wanted to show folks that it's a glossary, sure, but it's not rocket surgery.


Sponsor: A huge thank you to my friends at Red Gate for their support of the site this week. Check out Deployment Manager! Easy release management - Deploy your .NET apps, services and SQL Server databases in a single, repeatable process with Red Gate’s Deployment Manager. There’s a free Starter edition, so get started now!

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

facebook twitter subscribe
About   Newsletter
Hosting By
Hosted in an Azure App Service
August 27, 2013 6:39
BaaS (Backend as a Service) is another name for mobile services on azure.
August 27, 2013 7:13
numerous typos, not up to your usual standards.

Nice points though.
August 27, 2013 13:24
Azure is most probably the future and the path to follow and also a piece of cake for the people daily involved in this business or younger people which adopt more easy. But there are many like me, developing data based web applications who are hesitating to use Azure. I have been looking around, but the things I do now with my providers are still much simpler (I do not say easier) and the step is not so big as with Azure. For a lot of us, I believe we don't see the forest through the trees. I even followed a Microsoft Lab but there were so many things to show in their Powerpoint presentations that despite a free account that lasted for a month, we never ended up in logging into azure. I'm convinced it will come for me, but not yet.
Jan
August 27, 2013 18:03
that was helpful
what about "Virtual Machine Images" ? are they just software installed on the cloud server ?
Sam
August 27, 2013 18:14
@Sam "Virtual Machine Images" are VMs that are preloaded with software. There are many images available in the image library. Scott wrote a post about the 400+ open source images they have.

What's really cool is, you can create your own Image once you have a virtual machine set up as you like it. Very useful for QA on different environments or supporting different locales.
August 27, 2013 21:06
@Jamy Ryals: thanks Jamy
Sam
August 28, 2013 20:57
The problem with the tweet is that it mistakenly assumes Azure is a 'hosting service'. It is, but it's so much more, hence the glossary.
JMP
September 02, 2013 16:41
You know what - something like this would have been really useful for me about 18 months ago when I first started using azure! Defining the differences between azure websites, cloud services (web and worker) was a little confusing in the beginning.

Really great to have something in black and white!
September 13, 2013 0:41
This comment started as a rant on how completely un-obvious any of this is for someone that just wants to migrate an existing app, but then I found this video where Brady Gaster hooks us up - bottom of this page, 4 clicks into the windowsazure.com site (in case anyone else was looking) ...

http://www.windowsazure.com/en-us/documentation/services/web-sites/?fb=en-us

also here:

http://channel9.msdn.com/Series/Windows-Azure-Web-Sites-Tutorials/Migrate-a-Database-backed-Web-Site-and-database-to-Windows-Azure-Web-Sites/


September 13, 2013 3:24
Will, not to mention my article on Moving an existing WebSite to Azure

Comments are closed.

Disclaimer: The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.