Windows Azure and the Information Worker

A while back (QUITE a while back, actually), Microsoft coined the term “Information Worker” .. a quick Bing search reveals:

The short version: an Information Worker (IW) is a non-developer person who works with the information exposed by applications and application activity by users.

That said, how would an IW benefit from Windows Azure? Reminding us all that Microsoft Excel is the tool of choice for those who want to slice-and-dice-data, that said, there are many ways IWs could benefit from information collected by applications and stored in Windows Azure:

    There are many more (there always are) ways to journey to the cloud.
    I’ll see you there.

Motorola LapDock 100

A few purposes for this post:

Lapdock™ for  MOTOROLA ATRIX™ 4GWrite a post on the My Shiny New Toy (the Motorola Atrix 2 4G) using the the LapDock.

Talk about the WordPress for Android application on the LapDock.

Talk about some of the other applications on the LapDock.

Talk about the LapDock.

Pretty clever device, overall. A nice keyboard (even though small, it’s bigger than the one on the device) and a 10.1" screen. Very handy. The device feels a lot like my Acer and Dell 10.1" notebooks; a tiny bit lighter as no hard drive.

Things that rock:

  • Having a screen
  • Having a keyboard
  • The battery (the battery charges the phone to capacity while connected)
  • Some applications, most notably, Firefox and QuickOffice
  • Other applications: The Email client, the WordPress
  • Keyboard navigation between applications is decent .. once you figure out the Function-row keys (hint: hold F1 to get back to the phone Home screen .. that was a seminal moment for me in application navigation).
  • Speaking of function row keys: the other icons on this row let you dim the screen, navigate media, audio volume and so on. Very nice.
  • The sync feature between the LapDock, WordPress and Windows Live Writer on my PC. While not perfect, the content flows between the applications rather nicely.
  • The Print Screen button works nicely.
  • The USB port (there are two) recognized my wireless mouse. Very nice.

Not so much:

  • Alt-Tab doesn’t work as expected when working with phone applications. The LapDock sees the phone as a single application.
  • To the point above, there are some inconsistencies as how to switch between applications .. in some cases, the Escape button takes you to the home page, in others, it acts as a ‘back’ button in the current application.
  • To that point, the Escape key may exit the current application.
  • Holding the F1 (Home) screen is manna to switch between applications. It’s reliable, and brings you up a list of currently-running applications.
  • I’d like to have more control over the battery; I can carry a spare phone battery, or charge my phone on my laptop .. I’d rather have more time on the LapDock and a dead phone battery than less time on the LapDock with a full one.
  • Speaking of battery, why doesn’t the LapDock charge from a micro-USB like the phone? I’m carrying yet another power brick.
  • The Delete key functions just like the Backspace key, removing the character to the left (instead of the character at the cursor). Ick.
  • Control-keys on the keyboard don’t quite behave as expected; Control-right arrow doesn’t leap from word to word.
  • Function keys on the keyboard don’t quite behave as expected; Function-page down, doesn’t. Function-Home takes you to the phone home screen; a bit annoying whist typing until you get used to it.
  • The Firefox browser is ‘seen’ by many applications as a mobile browser, and while powerful enough to function fully (including Adobe Flash), there doesn’t seem to be a way to override this perception on certain sites (Microsoft: I’m talking to you).
  • The USB port didn’t recognize my USB headset; while I get this, some device recognition (so I could search for a driver) would be nice.
  • The battery meter on the LapDock is a press-and-hold of the power button .. seems like there should be an app with a UI for that.
  • NO clue as to firmware updates for the LapDock on the Motorola site.

The LapDock is a new application platform and as such, is lacking in applications at the moment. The home page points you to a YouTube application and several others, but not as many as I’d like. The LapDock can run applications installed on the phone, but it does so in a stretched-screen view; usable, but not optimal, as the text is LARGE, and only allows for about a dozen lines. Let’s hope that the platform catches on, or that it is easy enough to write for the platform by managing the form factor.

On to WordPress. It’s great to have a keyboard and a full screen. It’s also great that WordPress saves drafts to my account when online .. this makes it handy to stub a post from the LapDock, save it to draft and then tidy it up in Windows Live Writer when back on the PC. I need to play a bit with this; for an archival post, I’d probably run it through WLW before posting .. for something of a more whimsical nature, this client would work just fine. Note: this is an archival post .. so I will pass through WLW.

I’m not as impressed with the editing experience of the WordPress application served into the Lapdock on the phone. As above, it runs well enough, but it lacks a number of features that would make it world-class. While Bold, Italic, Underline, Strikethrough, Links and Quoted content is supported, bullets aren’t. What the heck?

A bit more annoying: there doesn’t seem to be a way to double-click on a word to select it; instead, it’s a right-click and ‘select word’, but then, no way to click one of the buttons to modify the formatting. The only way seems to hold the shift key while arrowing over the word to select it, then pressing the button. It’s a shame that Control-B (bold), Control-I (Italic), Control-U (underline) and Control-K (link) aren’t supported.

My gut tells me:

  • 60% of the Atrix-bearing population could use this device and be very, very happy with it. With a bit of workload adjustment and some laptop sync magic, it will far surpass trying to do any serious work on the mobile device by itself.
  • The other 40% will find they cannot do required things like write code, work on complex spreadsheets and play Facebook games with any performance. To this group (I’m one of them), the LapDock is a way to lighten my load while running errands, save some laptop battery on a long flight, and so on.

All in all, it’s an interesting device, and if you make the effort to work with it, you may find it meets your needs as a very portable option for light workloads.

Geographic Replication in Windows Azure

Windows Azure had some downtime this past February 29th. Let’s get the news out of the way:

Then, the facts from the Windows Azure Blog:

    I did some tinkering on a few late-nights this past week, recognizing that a reliable solution that does not include dedicated hardware (who wants to buy hardware that you might never need?) would be to locate a customer site in a site that is geographically distant from another. While this is not perfect (there are always risks):
  • Some higher-level controller goes out (in the case of Azure, this could be authentication in the Fabric Controller).
  • Risk of CNAME or DNS update delays.
  • Physical connection to a data center or region.
    What to do, what to do?
    Enter the Windows Azure Traffic Manager. Way back when (in fact, I administered a test with this question): load-balancing in Windows Azure was completely automatic. With the Windows Azure Traffic Manager, you have control over how traffic is routed to your virtual machines:
  • Performance
  • Round Robin
  • Failover

The Windows Azure Traffic Manager allows you to manage traffic between multiple instances of Web Roles for scalability and uptime, based on the criteria above. Further, you can create routing policies to manage geo-routing of incoming user requests so they go to an instance closest to the user. You can set these two policies to enable geographical failover in short order.

  • The first thing you need is a deployed hosted service. Please see the deployment lab in the WATK for details on how to set this up. Select as the primary geographical datacenter the one that suits your needs.
  • Then, you need multiple instances of your roles .. note that you need this to ensure you receive the uptime SLAs anyway. You can deploy this in your Service Configuration when you deploy your project, or in the Windows Azure Portal at runtime.
  • With your application deployed in one data center, repeat the steps above by setting up a hosted instance in a different data center and deploying your code to it. Note that these will have different URL prefixes; but don’t let that bug you.

Verify your deployments in the Windows Azure Portal. You should see both deployments in different data centers. Then:

  • Run the Windows Azure Traffic Manager from the Windows Azure Portal.
  • Create a Traffic Manager Policy, selecting your subscription and the ‘Performance’ option under Load Balancing.
    • Select the two internal DNS names for your disparate services.

With this, your solution is complete. The Traffic Manager will talk with the Fabric Controller, and when performance or access is degraded on one set of instances, it will redirect traffic to the other instances. This should increase your stability in the Cloud!

I’ll see you there.

My Shiny New Toy

Well, not exactly a toy .. my mobile phone is my life device, to be sure. However, if you’ve followed me for long .. you know I’m always ready to share about exciting bits and pieces as I encounter them.

MOTOROLA ATRIX 2The flavor of the week / month / year (my last mobile device performed for 2-1/2 years) is the Motorola Atrix 2: dual-core processor, larger-than-life (and pocket) screen, and best of all (tonight, anyway): wireless hotspot.

Handy?

Yes: it boasts all the usual applications, all the Google services, 8GB of onboard RAM, can hold a 32GB microSD AND supports multiple Exchange ActiveSync (EAS) profiles .. now I have no excuse to escape from work, customer or personal email.

On handy: the Atrrix ships with QuickOffice, which recognizes all my Microsoft Office formats .. and now I can even get Microsoft Office OneNote for Android .. which (happily) synchronizes via SkyDrive to my PCs and other devices. This is huge. It doesn’t support Live Mesh, though .. this would be cool for file management and backup across all my devices (I used it on all my PCs and servers .. even cloud servers).

Speedy?

Yes: 4G speeds, thanks to AT&T, plus Wi-Fi.

How fast?

Right now, I’m getting 5 down, 1 up; very nice as the Wi-Fi in the restaurant isn’t working.

On to other toys:

  • The device has a standard dock for charging. Boooring.
  • Wireless keyboard with touchpad. Yawn.
  • Vehicle dock. Snore.
  • Warming up: the Multimedia Dock that connects the device via USB to mouse and keyboard AND a video interface to an external monitor. Wayy coool.

Coolest: the Lapdock.

Lapdock™ for  MOTOROLA ATRIX™ 4GThis spiffy (and expensive!) little device is what caught my eye a year or so ago (the Atrix 1).

Drop the phone into the Lapdock and you have a keyboard and monitor at your beck and call.

The real key here: will the software on the phone support enough tasks that this is a viable laptop replacement for email, browsing, blogging, editing and such for short trips?

In a word: maybe. I am looking to buy one on the cheap to give it a good test.

I’ll let you know what I find.

Windows Azure and Parallel Computing (HPC)

I had the opportunity to do some research the Windows Azure High-Performance Computing (HPC) / Parallel Computing scenario earlier today. In my travels, I encountered (and want to share):

    Jumping into the deep end of the pool:

How do you get started on all this good stuff? Well if you have the need (or want to get your developers started), point them to:

With the Windows Azure Training Kit installed, your HPC developers will want to review the following labs within:

  • Running a parametric sweep application with the Windows Azure HPC Scheduler
  • Running SOA Services with the Windows Azure HPC Scheduler
  • Running MPI Applications with the Windows Azure HPC Scheduler

Yes: HPC / Parallel Computing is in the cloud. In these interesting financial times, who needs:

  • Massive data centers
  • The cost for infrastructure, maintenance and upgrades to the above, year after year
  • Wasted capacity

The Cloud IS the place for HPC, and with a bit of work on your part, you’re ready to join in.

I’ll see you there.

Windows Azure and Node.js

In essence, Node.js is a server-side JavaScript environment that uses an asynchronous event-driven model to communicate between components. The intent is to create highly-scalable interactive applications. It has been compared to the Ruby Event machine but supports interaction as a language construct.

Although (as of this writing) fairly new, Node.js has been embraced by the developer community who have written thousands of modules to do common tasks.

Is it supported in Windows Azure? Why yes it is!

Other online resources for Node.js include:

Keen to hear your experiences installing and configuring on the platform. Please send me your experiences.

Windows Azure Learning Plan: Getting Started

Now that you’ve built your Windows Azure Development Environment, you might ask: what’s next?

If you’re new to Windows Azure and keen to get started on the right foot, your next step is to get some hands-on experience developing and deploying on the platform, and the Windows Azure Training Kit is here to help. In it, you’ll find a rich set of documentation, information and to my point: Hands-on Labs. So once you install the Windows Azure Platform Training Kit .. what’s first?

The WATK installs in the C:\WATK folder by default and creates a desktop default.htm icon. Double-clicking on the icon will open the home page with the links to the documents and labs.

So. Let’s get started:

  • Virtually all coding projects have a “hello world” application, and the WATK is no exception. If you’re new to Visual Studio 2010 as well as Windows Azure, start with “Introduction to Windows Azure”. In it, you’ll explore basic elements of a Windows Azure application.
  • Next, spin through “Building ASP.NET Applications with Windows Azure“, which has examples of MVC and Web Form applications.
  • Once your site is built, how do you get it into the cloud? The WATK provides a lab for this, called “Deploying Applications in Windows Azure”. In it, you’ll see how to deploy an ASP.NET MVC application three different ways.
  • Web sites and web applications hosted in Windows Azure are a little different than sites hosted on physical servers, in that local binary storage may not be attached to a physical drive (unless you include it in your project, which isn’t always practical if you have large, static binary assets). Windows Azure uses three types of storage: blobs, tables and queues, with which you can master in the “Exploring Windows Azure Storage” lab. Blobs are for binary data, tables are for structured (but not relational) data (rows and columns) and queues support application elasticity by providing a place to collect messages (transactions) quickly in times of high load.
  • Many sites are data-driven, and Windows Azure supports this with SQL Azure: database services in the cloud. To help you learn about SQL Azure, the WATK has a lab: “Introduction to SQL Azure”. Want to go deeper? You can, with the “SQL Azure Tips and Tricks” lab.
  • One of the keys to working with data in SQL Azure is getting data into SQL Azure. There are several ways to do this (although some may seem non-conventional at the start). For this you can review the “Migrating Databases to SQL Azure” lab.
    A little midnight oil, a little sweat equity, and you’ll be well on your way to to the Cloud!
    I’ll see you there.

The TED Comment Acquisition System is Cool

.. I’m sure there’s a better name. However, at the bottom of each video, you see:

image

IMHO .. that rocks.

Building a Windows Azure Development Environment

As I’ve been working with some of the best and the brightest the WAISG has to offer, I think it’s time to provide a link to assist others in some Windows Azure 101 (a/k/a “Getting Started”) bits and pieces. In this post, I’ll cover setting up your development environment on a Windows 7 or Windows Server 2008 R2 system.

  • Make sure you have the current Service Pack for your operating system. The easiest way to do this is to click on the Orb (or Start, in WS2008R2) and type ‘Windows Update’. Windows Update will detect if your system is patched to current levels.
  • Install Visual Studio 2010 or Visual Studio 2010 Express (the free version). Be sure to check Windows Update again after installation (and rebooting) to ensure you have the current Service Pack (SP1) installed.
  • Using the Web Platform Installer, Install the Windows Azure SDK for .NET.
  • Visual Studio 2010 Express installs SQL Express by default, but your development environment may include a full (or development) version of SQL Server. In either case, check Windows Update for a current Service Pack for your version. The SQL Express management UI is a separate download: SQL Express Management Studio Express. If you have full SQL Server, the UI is included. For help running the UI, please see “Using SQL Server Management Studio” on MSDN.
  • Install the Windows Azure Training Kit. This kit is chock-full of information, tutorials and source code. The current version is “January 2012″. As this is updated frequently, I suggest you do the full install (about 500 mb) and install into a separate folder on your hard drive.
  • Get the additional bits you need for the labs. To do this, click on “Prerequisites.htm” in the folder you installed the Windows Azure Training Kit. This will start an application that will interrogate your system and advise any components you need for the labs you want to run.

:: whew ::    Only a few more steps (I promise).In order to use the local emulators:

  • Compute: You MUST run Visual Studio as an administrator (link to a Windows 7 Forum, but works for both W7 and 2008).
  • Storage: Your logged in user MUST be a member of the SQL Server sysadmin group (link to David Browne, who provides a script that does this for a local user .. as long as that local user is an administrator of the local system .. otherwise, contact your IT). This is required as the local user must be able to create databases for storage of Blobs, tables and Queues during development.

With these bits installed, you should be able to conquer any of the labs in the Windows Azure Training Kit with ease .. and speed your way into the Cloud!

I’ll see you there.

WAISG: Windows Azure Enablement Resources

So. Where have I been this past TWO months?

I am pleased to explain my whereabouts: I’ve joined the Windows Azure  Inside Solution Group. The WAISG is a business and technology enablement team devoted to accelerating the velocity of Windows Azure deployments worldwide.

Whew. Quite a mouthful, that. The program statement is worse .. but contains only one comma.

Our team supports 35 countries in 7 languages and will get you to the next step of your Windows Azure deployments. In a lot of cases, we’ll point you to public resources; in others, we’ll emulate and escalate as we need to get the job done with you.

We’re easy to reach: navigate to the Windows Azure home page at http://windowsazure.com and select the ‘Click to Chat’ bubble. We’ll pick up.

The best part: I get to work with some amazingly talented people, all of whom subscribe to my favorite quote: “When you stop learning, you stop growing”.

Let me tell you: this team is growing like mad .. collective brains learning from our customers and each other .. every day. It’s a great group, and one with whom I am proud to be guiding, mentoring and growing my own knowledge.

You’ll be hearing from us.

Follow

Get every new post delivered to your Inbox.

Join 220 other followers