Tuesday, April 30, 2013

StackOverflow Azure Contributions: April 14 - April 27

This week's post combines two weeks of StackOverflow answers. Last week was a bit hectic, as I flew DC-->Seattle (team meetings) -->San Francisco (customer visits) -->Louisville (CodePaLOUsa conference) -->DC in 5 days, then scrambled to Northern Virginia to help out with the Global Windows Azure Bootcamp. That, along with painful airport delays due to the Air Traffic Control furloughs, kept my blogging to a minimum (read: zero).

Whining and rambling aside: here are my StackOverflow contributions from April 14-27. Strangely, three of these have been closed by the Community at Large (2 of which I disagree with their closures).

  • Determining how many messages are on a Service Bus queue (link). This talks about the Queue Description API. Note: This is different from Storage Queues, which have a simple ApproximateMessageCount property on a queue.
  • Windows Azure Security? (link). This talks about connecting to an Azure-hosted VM with a database server, but limiting access. This question was closed due to being better suited for a discussion rather than a programming question (since there really is no direct programming question). However, I do believe you can upvote the question or my answer, since I feel the content is relevant and useful.
  • Azure endpoint monitoring: memory usage (link). This answer goes over options to monitor an Azure application, with both Microsoft solutions (e.g. MetricsHub) and 3rd-party solutions (e.g. NewRelic).
  • Optimize Windows Azure Table Storage? (link). This provides some insight into table storage scalability.
  • Windows Azure: What is the use of Internal IP addresses? (link). This discusses external IP (assigned to an entire deployment) vs. internal communication between virtual machines in the same deployment or talking over a virtual network.
  • DTC is disabled on SQL Azure; how to enable it? (link). This is about Windows Azure SQL-as-a-Service, vs. full SQL Server. Puzzling that this question is closed, as it relates to a programming feature of SQL...
  • How hard is it to upgrade an Azure Virtual Machine? (link). This answer shows how to change VM size via PowerShell. I don't quite understand why the question was closed (aside from it not being a programming question), as it does involve API calls (via PowerShell), and I do consider that peripherally programming-related (and I call this out in the comments under the original question). I do believe you're still able to upvote the question or one of the answers.

Wednesday, April 24, 2013

Headed to CodePaLOUsa 2013!

If you're in Louisville, and you're a software developer, you're in for a treat, as CodePaLOUsa kicks off tomorrow, April 25. What is CodePaLOUsa, you ask? Well... it's Software Development Madness! And Thursday morning, I'll be boarding a flight directly into this madness.

The pre-conference workshops are Thursday (which sadly I'll miss, since planes do not yet travel at light-speed). Then Friday morning, keynote speaker Richard Campbell (of .NET Rocks fame) kicks things off, followed by two days of awe-inspiring sessions!

I'll be presenting a look at the non-.net language stack landscape on Windows Azure: Node, Java, PHP and Python to be exact. This is a demo-heavy session, showing how consistent (and extensive) the various SDKs are (and available on github in case you want to tweak them). (hint: This is the session to attend, right after the keynote. I promise to make at least one stupid pun you can chastise me about...).

Of course, there's always the chance (however small) that you actually want to see other speakers present stuff. In that case, peruse the illustrious speaker directory and see what a great line-up you have to choose from!

While online registration is now closed, you can still register onsite. So... you have no excuse. Be there!

Tuesday, April 23, 2013

Windows Azure Global Bootcamp, April 27 in Reston, VA: Sign up, hang out, learn Azure!

This Saturday, April 27, Windows Azure MVPs and community activists are organizing Windows Azure Bootcamps worldwide, with around 100 locations (see Scott Guthrie's full writeup, here).

If you're in the Northern Virginia area, the bootcamp will be held at Microsoft's Reston, VA office, organized by Bruce Troutman and Robin Mattern. I'll be joining Bruce and Robin for this fun day of Windows Azure trianing!

More information and registration link is here.

To make your lives easier, please consider installing the Training Kit, registering for a free Azure trial account, and installing Visual Studio (the express version is free), along with the Windows Azure .NET SDK for Visual Studio. Note: All of this information is also on the registration page.

I hope to see a packed room Saturday!


Thursday, April 18, 2013

StackOverflow Azure Contributions: April 7 - April 13

Good Azure questions last week on StackOverflow. Here are the questions I contributed answers to:
  • WCF or Service Bus? (link)
  • Deploying Azure solution from dev to test server (link) - this is about whether an app can be deployed to a standalone Azure test server
  • Does Azure SQL Database support encryption? (link) - this is about the SQL Database service, not to be confused with SQL Azure installed on a Virtual Machine
  • Secure communication between internal roles in Azure (link) - this is about internal endpoints and communication between various role instances, as well as communication over a Virtual Network
  • Need further explanation regarding edge case (link) - this one is all about scaling, billing, and clock-hours
  • Issue with scale option in Windows Azure Web Sites (link) - this one covers the shift to Reserved Instances and how this is handled with multiple web sites
  • Azure Shared Cache: Unable to spin up in US East / US West (link) - this is about the shared cache service, not the new co-located in-memory cache option
  • Table Storage, more than 100 hits per second (link)
I also earned a Good Answer silver badge (25 upvotes) for my answer to Azure Table vs. MongoDB.

Windows Azure: Where to sign up for preview features

Windows Azure features are occasionally rolled out as a Preview feature that requires opt-in signup. Such is the case with the new HDInsight Hadoop-based Big Data service, as well as the Windows Azure Backup service and Hyper-V Recovery Manager service.

So... where are these features hiding, and how can you sign up???

First, head on over to the management portal. On the bottom, you'll see a button to add services:
Once you click new, select Data Services on the left. You'll now see both HDInsight and Recovery Services, and they'll initially appear grayed out. Here's what I see when selecting Recovery Services (which shows you Hyper-V Recovery Manager Vault and Backup Vault:


Note the link I pointed to on the right. Clicking this takes you to the preview program signup page:

At this point, just click try it now for whichever service you're interested in. You'll be asked to select a subscription and, if you received one (which I did not), the option of specifying a signup token:
And... that's it! You might see a status of "You are queued" which just means you'll have to wait a bit to get activated. Some services will activate immediately, showing active status:
One last thing: You may have noticed, in the signup box, the message that charges may be included. Simply put: Preview does not necessarily equate to free. You'll be consuming real cloud resources, so there's sometimes a charge for this (just look at Windows Azure Web Sites, which has a charge for shared and reserved instances, or Virtual Machines, which had discounted VM pricing when they were still in Preview, with discounted rates in effect through May 31, 2013). Preview services that do have charges are discounted due to their non-production status.

In this case:
  • Backup service is free for first 5GB, $0.50 / GB / month over 5GB, and discounted 50% during preview. More details here.
  • Hyper-V Recovery Manager is currently free during preview, with pricing to be announced later. More details here.
  • HDInsight is discounted 50% during preview, with Head Node at $0.32 / hour and Compute Nodes at $0.16 / hour. More details here.

Tuesday, April 9, 2013

Upcoming talk: Polyglot Persistence, May 7

On May 7, I'll be speaking at the monthly Central Maryland Association of .NET Professionals (CMAP) meeting. Our topic will be Polyglot Persistence. What's that all about???

Picture this: You're working on a storage problem, wondering how you're going to shoe-horn something into your database. Maybe it's SQL Server. Maybe it's MongoDB or some other NoSQL variant. No matter which database option you choose, there always seem to be situations where data simply doesn't fit right, and it becomes more of a code exercise than a storage exercise.
In this talk, we'll eschew the single-database tradition and look at a new approach gathering steam: Polyglot persistence, which simply means using multiple data storage mechanisms based on particular needs of your application. While polyglot persistence certainly includes both SQL and NoSQL variants (or even NewSQL), this demo-centric talk will cover NoSQL specifically.We'll look at (and demo) four fundamental NoSQL types: Key/Value, Document, Column Family, and Graph, and see where their sweet-spots are. We'll also work through a mock architecture on the whiteboard and see an example of how multiple databases could be combined in the real world.
If you're in the Columbia, MD area, feel free to come on out, grab some pizza, and (hopefully) enjoy the talk! More info about CMAP may be found on their website.

StackOverflow Azure Contributions: March 31 - april 6

Work and holiday celebrations kept me quite busy last week, but I did carve out time to answer a few (ok, very few) questions on StackOverflow (as well as a few comments and edits; full history here).
  • PHP <--> MySQL slow when database not on same machine as code (link)
  • Azure Cloud Role included storage: Extra costs? (link)

Monday, April 1, 2013

StackOverflow Azure Contributions: March 10-March 30

It's amazing how quickly time flies when traveling! Time for another StackOverflow recap post. This one covers my answers posted in the past 3 weeks, representing my time away in Israel, Czech Republic, Slovakia, Austria, and... a bit of vacation time in the Outer Banks, North Carolina.

While I also post several comments on StackOverflow, I figured they might not be as interesting to call out individually. If you're interested, they can all be viewed here.


  • Back up a Windows Azure Virtual Machine (link). This describes both async blob copy and blob snapshots
  • How to programmatically link resources in an Azure Cloud Service (link)
  • How to receive service bus queue messages in a Web Role (link)
  • What is the Azure Table Storage equivalent of T-SQL's LIKE command? (link)
  • Why is pricing for Web / Worker Role instances greater than Virtual Machines (link)
  • Azure queues: How to mark message as visible immediately after calling CloudQueue.GetMessages() (link)