Some notes on the recent UK Windows Azure User Group (@ukwaug) Microsoft Cloud Day held in the Vue cinema in Fulham Broadway; a place close to my heart, as Fulham was the first place I rented in London well over a decade ago. The cinema wasn’t there then. Nor was the mall which houses the cinema.
Nor, more significantly, was Azure (pretty sure Microsoft was though..)
To be fair, even though Azure *was* around a couple of years ago, it certainly was not a first class citizen in my tekky box of tricks; more of a "this is pretty cool – think I’ll wait until it’s finished first."
Now it’s pretty much ready; not quite "stick a knife in it, comes out clean" ready, but more "better give it five more minutes" ready.*
The first Azure attempt had a reasonably complex and confusing Silverlight interface that attempted to convey the full capabilities of Azure. If you really gave it your attention then you could develop some really complex and clever solutions via cloud-based computing.
:: Silverlight portal
If you already had a chance to catch the recent Azure keynote then you’ll probably already know that Azure has a wonderful new HTML5 portal (tata Silverlight – though you can still get that version if you want), WebSites (sort of an extension/simplification of the Web Role cloud service), git support, tfs support, and loads more; I’m not going to list and explain everything new here as I just wanted to cover some of the notes I made during the UKWAUG MS Cloud Day.
:: HTML5 portal
Given that the Spring release has been out a couple of weeks now I’ve already had a chance to play with what I found to be the more interesting changes namely: git support, tfs support, websites (sort of lightweight web roles), and support for non-.net languages, such as Node.js.
After a short intro from Andy Cross of Elastacloud (and co-founder of UKWAUG) we are presented with the trademark red polo shirt of Scott Guthrie, ready to show off the great new developments in the Spring Azure release.
- The Azure SDKs are published on github, they take pull requests, which actually makes Azure SDKs actual OSS! Amazing!
- The azure servers themselves are, located close to hydroelectric generators or wind powered generators. They are site managed by 1 person per 15k servers.
- There is a 99.95% SLA, with a money back guarantee
- The new release supports node.js, java, php, and python
- The Azure SDKs run on linux, mac, and windows
- There is a much simplified pricing calculator
- :: new
With regards to licensing for software installed on VMs in Azure (such as SQL): you can use the standard licensing from vendor, volume licensing/SA is also supported.
You can attach a "data drive" to vm, which is a virtual fixed disk of 1TB. You can attach multiple data drives and these can be RAID-ed should you want. The data stored on these is persistent and will survive a restart.
The VMs all have a D drive which is just temporary swap file drive; the data on these is temporary and will not survive a restart.
One interesting point was raised by an audience member: why does the Windows Server 2012 VM in Azure have a floppy drive listed in "My Computer"?.. Scott couldn’t answer that one!
All endpoints on a VM are locked down initially and have to be explicitly opened up.
You can create an Availability Set; these are multiple VMs which will be guaranteed to be deployed on separate servers, separate racks, etc. This gives a sort of automatic "High" Availability.
There’s a great blog post by Maarten Balliauw about using Azure VMs to create a cloud-hosted web farm!
Since the VMs support other OSs which will also support these data drives etc, they can be formatted to whatever file format is required (such as EXT3 for example).
Scott then proceeds to use git bash to ssh into his unbuntu server VM.
Within the new portal there is a "My Images" section under the VM area; you can upload your own VM image or use a capture/snapshot created from within Azure itself.
One thing that was wonderful for a real nerd like me (whose degree was based on Unix) is the Azure cmd line support!
From the command line you can run "azure vm list" which executes a REST query against your Azure management portal. Adding a "–json" flag returns json formatted data.
From within the portal a VPN can be created by simply selecting New -> Network -> Address Range. This is virtualised so no conflicts exist between customers using the same address range.
It is then possible to download these VPN settings to make the Azure VPN link with your local network, making it work as if it’s just in the next room.
Supports UDP and TCP but not multicast.
There is hypervisor support for porting VMs to and from Azure.
VMs are setup with a persistent drive; these are HA drives accessing data from Azure storage. As such, they are always-on.
The High Availability is implemented with a layer of SSD & caching above the HA triplicate drives with continuous storage georeplication; this covers for natural disaster (however these are always within same geopolitical boundary). This is automatically on but can turn it off to save money.
Azure now supports Chef, the open-source systems integration framework!
No AV is provided on the VM image by default, but you can install it yourself on the VM.
My big take-away from this session is the plan to utilise VMs to spin up dev/test environments within the VPN and turn them off outside of office hours to save money. This could potentially be covered within a standard MSDN subscription; something to look into.
Each Azure account has 10 websites for free. These start in a shared location, but you can pay for private.
All Azure accounts include 10 websites and the MSDN subscription includes bandwidth, storage, vms, etc which can be used to enhance the website (i.e., install a SQL backend or something)
Supports git, tfs, ftp, and web deploy
supports incremental deployment; first one is big, subsequent ones are incremental/smaller
The free Azure account already includes 10 websites, 1gb bandwidth, 20gb db, and 1gb storage.
In terms of DNS, you can map cnames to websites and but would need to use a VM to map anames.
At this point there was a major network outage eventually resulting in a dodgy, insanely long RJ45 cable to be laid from the projection room at the back all the way to the front of the auditorium! Apparently this cable was actually longer than the max allowed length for a wired ethernet connection, so only worked on a couple of laptops; neither of which were Scott’s.. Note to self: always have a backup *everything*, even a backup network!
When creating a website in Visual Studio you can just deploy to azure as a website; the only additions to your file system might be a web.config and a csdef file.
You can convert a website project in VS to cloud service which includes cloud services within your solution and then deploys as an Azure Cloud Service
It is possible to programmatically scale; currently this is by using the Wasabi library, but does need to be scripted. This functionality will be added as a feature in future releases.
The Azure Application building blocks for Cloud Services:
- big data,
- traffic caching,
- id (authentication),
- Reporting services has been added recently for BI
- SQL Server 2012 denali (?) is a subset of full SQL Server 2012
- VS2012 can support data projects to target the correct SQL DB type for Azure and can identify incompatible features (remember ye olde SQL Azure’s incompatibilities? Yuck..)
- SQL is PAYG.
- It is possible to restore a db to a specific point via the constantly backed up transaction logs
** Unfortunately the earlier network outage during this session meant we had to cut it short here as we were already overrunning quite significantly **
:: Scott Guthrie delivering the Spring Release Azure Keynote
Next up – IaaS, Mongo DB, Node.js & git & Cloud9IDE >>
* yes, I like cooking. So?!