Welcome to part three of a blog series based on my latest PluralSight course: Applied Windows Azure. Previously, we’ve discussed Azure Web Sites and Azure Worker Roles.

Motivation

Windows Azure Active Directory (WAAD) is another important building block offered as part of the Windows Azure platform. You can think of WAAD as a repository for your organization’s directory data in the cloud. Directory objects include users and groups along with their identity and access information.

By externalizing the directory data into a common location (WAAD), it is possible to provide a single sign-on and sign-out experience for enterprise applications, as well as SaaS offerings.

While WAAD is a cloud-based service, you can use it for on-premises in addition to cloud-based applications. Read More…

Welcome to part two of a blog series based on my latest PluralSight course: Applied Windows Azure. If you missed part one, you can read it here.

Motivation

Azure Worker Roles are executing units that can be used to offload long-running, compute-intensive tasks. You can also think of them as “managed” VMs that execute custom tasks for you. I refer to VMs as “managed” because you don’t have to worry about OS, patches, fault-tolerant setup, etc. Worker roles are backed by a 99.95 uptime SLA. Furthermore, it is possible to dynamically scale worker roles based on load (both horizontally by adding more worker role instances, and vertically by provisioning larger VMs). Read More…

Welcome to the first of an ongoing blog series based on my latest PluralSight course, Applied Windows Azure.

“Applied Windows Azure” as the name suggests, is about utilizing various building blocks to develop practical, meaningful and cost-effective applications that run on Windows Azure.

This course is broken up into 10 modules (listed below). Within each module, after motivating the use of the relevant building Azure building blocks, I cover the core concepts, key mechanisms and design tradeoffs. Of course, no course can be complete without looking at some code – so  I’ll walk through important parts of an application built specifically for each module.  All source code is provided as part of this course.

Finally, the focus is on breadth learning — the ability to operate across the Windows Azure building blocks in a coherent and productive way.  My hope is that the viewer walks away from this course with an idea to apply these Windows Azure building blocks/patterns to a challenge specific to their own domain.  I encourage the viewers and readers to reach out to me at @vlele or comment below anytime to continue this discussion. The value of a course of this type is greatly enhanced by a two-way conversation.

List of Course Modules:

  • Readymade Execution Units with Azure Web Sites
  • Compute Intensive Apps with Azure Worker Roles
  • Identity & Access with Windows Azure Active Directory
  • HIPAA Compliant Apps with Windows Azure Trust Center
  • Loosely Coupled Apps with Azure Service Bus and Mongo DB
  • Offloading SharePoint Customization to Windows Azure
  • Mobile Services as a backend for any app (not just mobile apps)
  • Integration with Windows Azure BizTalk Services
  • “Big Compute” with Azure HPC Services for Excel
  • “Big Data” with Windows Azure HDInsight

I am going to assume some basic understanding of Windows Azure building blocks. If you are new to Azure, there is some excellent material on MSDN and Windows Azure Toolkit to get you started.

Here’s how each blog post for this series will be structured: For each scenario, we start out with the key motivation for the building block, followed by a discussion of scenarios where this building block may be applicable. Next, we will cover the core concepts in detail by walking through a diagram or some sort. Finally, we will look at some of the key design considerations and tradeoffs associated Azure Web Sites. Read More…

Let’s face it, keeping up with the latest on Windows Azure is hard. Whether it is a new feature announcement, a white paper, a code sample or just another attempt at “cloud washing,” it’s difficult to keep up with the latest, no matter how adept you are at mining the various social media channels.

This is why we built this “intelligent” twitter bot ( @AzureUpdates) as a weekend project. @AzureUpdates is designed to keep you to up to date with all things #WindowsAzure, in and around the Twitterverse.

Here’s how it works:

1) The bot looks for new tweets with the hashtag #WindowsAzure or #Azure *AND* have a (retweet_count + favorite_count) of five or more. Furthermore, we count retweets/favorites only if they are coming from a twitter user with a follower_count of 50 or more.

This way we know that we have a “tweet worth retweeting.” (Okay, fine, I admit I’ve been watching too many “ideas worth spreading”-themed TED talks lately.)

2) Since the #Azure hashtag is used by folks who are not just talking about Windows Azure (overzealous Azure developers may have likely forgotten that “Azure” also stands for a variation of the color blue), we apply a supervised machine learning algorithm based on Naïve Bayes classifier to filter out the tweets that are not referring to Windows Azure. (I am making it sound like I know a lot of machine learning when in fact I don’t. I only just completed a coursera course on machine learning. But if you are interested in this topic, I highly recommend it.)

3)  Now, some sneaky folks don’t retweet; they copy the tweet as a quote, modify it ever so slightly, and then tweet it. Now, we don’t want our twitterbot to be tweeting the same tweet again (remember our objective is to reduce the signal/noise ratio). Fortunately it’s not a tough problem to solve, at least for tweets that contain a hyperlink. Since we log every (re)tweet, we have an indexed inventory of all the “reduced”  hyperlinks. So if someone changes the text but points to the same “reduced” hyperlink, we will simply skip that tweet.

4) Okay, we know what you’re thinking. “I could use my super fancy twitter client, set up a search for the hashtag, language, set engagement counts for retweets, replies and favorite, and filter out unneeded tweets” Well, you certainly can, but who has time for that? Hopefully the sum of all the little “intelligent” features we described above is greater than the individual parts.

That’s it. Hope you follow @AzureUpdates.  Before we go, let me will give you one more reason to follow @AzureUpdates.  It is built on all-around favorite #WindowsAzure #MobileServices!

Thanks to Mohit Chabra from AIS for helping with the development of this bot.

Since PaaS and Windows Azure have both been in the news recently, thanks to a favorable report from Gartner, I thought it might be good timing to revisit a whitepaper I wrote on PaaS. 

There’s been a lot of talk about the different cloud-based services available today, including Infrastructure as a Service (IaaS), Software as a Service (SaaS) and Platform as a Service (PaaS). While each of these services is unique, PaaS stands out from the mix. This is not to suggest that PaaS is somehow better than IaaS; that would be an improper comparison. In fact, as shown in the diagram below, PaaS simply builds on the capabilities offered by IaaS.

But if you are a developer, IT shop or an ISV responsible for building, deploying and maintaining solutions, leveraging PaaS is where you reap the maximum cloud-computing benefits. Read More…

Our Windows Azure Media Services Manager (WAMS Manager) is a desktop-based application that makes it easy to upload, tag, encode and publish your media assets. It is designed to bring the benefits of Windows Azure Media Services to end users (typically business users responsible for managing media files) without the need to write any code.

(If you would rather skip the background and a high-level description of the overall architecture and simply get access to an evaluation copy of this tool, please email us directly.)

For everyone else, we are glad that you are taking the time to read this. Let’s start with some quick background…

Read More…

Mobile solutions are already transforming the way we do business and interact with customers, partners and colleagues, but many organizations are still struggling to fully embrace the changes and opportunities. Today’s workforce wants mobile technologies that allow them to work when they want, how they want, and from where they want. (And not to mention using whatever device they want.) Here are 10 reasons to rethink your current mobile strategy and fully embrace the concept of enabling a true mobile workforce.

1. Your workers want lightweight, handheld devices.

Slim and lightweight tablets are making it possible for mobile workers to carry them virtually anywhere without burden. Who wants to carry ruggedized bulky laptops anymore?

2. Tap into tablet innovation.

Innovations are happening at a breakneck pace in the tablet world. Even warehouses are now manufacturing tablets. Fold-up, roll-up or paper tablet, anyone?

3. Simplified app acquisition.

The app economy is expected to grow to $150 billion by 2017. Users simply love the ease of acquiring (and disposing) apps. Most of them already rely on a collection of apps to get their jobs done everyday.

Read More…

It was great fun presenting at Windows AzureConf 2013. I would like to thank the entire AzureConf team (Cory Fowler and Brady Gaster in particular) and my fellow speakers for their valuable feedback.

Click here to watch the video recording of my session on channel 9.

You can find recordings to all other sessions (including Scott Guthrie’s keynote) via this link.

Many of you asked me for a copy of the code I used during my session. You can find all my code snippets and slides here. (Of course this is just sample code so please treat it as such!)

Additionally, Pluralsight has graciously offered to make my newly-released Windows Azure IaaS Course for Developers available for FREE beginning Monday, April 29 at 9:00 a.m. MDT, and keep it freely available for 48 hours (ending 9:00 a.m. MDT on Wednesday, May 1). This is a three-hour course that goes in much more detail on the Windows Azure IaaS topics:

Windows Azure IaaS Course for Developers

Please feel free to send me additional questions via my Twitter account. Thanks!

Congratulations to StorSimple for building an innovative product that Microsoft was recently inspired to acquire. For those of you who have not had a chance to look into StorSimple yet, it offers an interesting hybrid storage capability: on-premises storage, combined with Windows Azure-based storage. Simply drop their storage appliance in your network and start using it as a storage device. You can expect capabilities similar to any enterprise-class storage device, including high availability through dual-controllers, battery-backed memory and RAID.

Under the covers, however, the StorSimple appliance will seamlessly spread your data between its three types of storage: high performance flash SSDs, high-capacity SAS disk drives and Windows Azure-based cloud storage — essentially giving you access to virtually unlimited amounts of storage. However, the technique to automatically move the data between high-cost and media is not new. For years, the industry has referred to this technique as HSM – Hierarchical Storage Management, or tiered storage. However, HSM products such as IBM Tivoli Storage Manager and Oracle’s SAM-QFS are considered high-end products and are typically outside the reach of most small- to medium-sized businesses. This is why some believe that StorSimple may have an opportunity to bring HSM to the masses.

So why is this interesting? Read More…

We recently deployed a five-node CRM 2011 topology using Windows Azure IaaS with the following objectives:

  • Understand how a multiple node CRM setup can be provisioned using Windows Azure IaaS. Specifically, how the networking capabilities offered by the Windows Azure platform (i.e. stateless load balancing) map to the CRM requirements.
  • Develop an automated way to provision and de-provision a CRM setup. This is not only useful for dev and test scenarios, but also for production scenarios where it is notoriously difficult to conduct capacity planning before acquiring the necessary hardware. For example, it is hard to know upfront what CRM functional building blocks (aka CRM roles) the business stakeholders will want to focus on, such as async processes, sandbox, reports, etc. By dynamically scaling out the “needed” features on demand, we can enhance the business agility of the CRM.
  • Offer our customers an educated choice between CRM Online (no setup costs but less control) and CRM On-Premises (extensive setup costs but complete control).
  • Take advantage of hybrid apps that combine CRM capabilities with Windows Azure services, such as Windows Azure Active Directory, mobile services, etc.

Read More…