TuTechno – Technical Tutorials

SharePoint, ASP.NET, Enterprise Architecture, SOA, Silverlight, Design Patterns, Windows Azure

Archive for the ‘Azure Platform’ Category

Cloud Computing with Windows Azure Web OS

Posted by Apollo on March 16, 2009

This will be my second post on the Windows Azure and Services Platform or what is really Microsoft’s Web OS in the Cloud (ok cloud really means thousands of virtualized servers running Windows Server 2008).  Now let me just say from the start that I am presenting my thoughts and insight based on the CTP. Ok lets dig-in to the details.

What is Windows Azure all about?

After researching and working with Windows Azure I would define Windows Azure as “An operating system for the Web”.  So the next question is what is a Web OS?  Time for an anology. When you think about operating systems Windows XP, Mac OS, Linux, etc… come to mind.  Now all of these operating systems provide a platform for developers to create software.  For example, when someone watches a video, there is an application that lets a user view and hear something.  Or lets say you want to balance your checkbook. You typically open software like Excel and just do your thing.  In these examples, the operating system provides the platform and services so that applications like excel or media player can do what they need to do and the end user doesn’t care.  Well Windows Azure is very similar.  Windows Azure is a Web OS that provides both a platform with services that will allow developers to develop pluggable applications or services (Live, .NET, Sql, SharePoint and Dynamics are all services that can be leveraged to build out custom applications) and deploy them to Windows Azure.  The other huge benefit is that these applications that are deployed to Windows Azure can scale from 1 to thousands of users very quickly since the Web OS is running on Microsofts servers (or in the cloud).  The image below paints the Windows Azure picture.

    

Azure Platform

How does it work generally speaking?

I copied and created a couple images to simplify things a bit (basic description will follow each image).

Azure Fabric Controller

In the above image you can see that the Azure Platform is managed by what they call the Fabric.  This controller is responsible for communicating with the agents that are running on all the virtualized servers.  The Fabric checks for a heartbeat and if things are not working correctly notifications will be logged and sent.  What if a server goes down?  No problem there are thousands of virtual servers that can can pick-up the load (i think each server is running three VW’s or so that is what I heard).  I will address storage in another post, but there are two types of storage; Simple Data Storage and SQL Server Data Services.  Couple side notes 1. There are some folks that think life in the cloud will not affect the way development projects are delivered WRONG.  Windows Azure while allowing developers to code in .NET is a different world (more to come on this topic). 2. If you are a development shop and plan to dive, sorry I mean fly into the clouds, be sure to have your developers ramp up on Linq, REST, ADO.NET Data Services, and WCF.

Update: Microsoft will be delivering Sql Relation Data Services and moving away from ACE (Authorities, Containers, and Entities).  This will make it even easier to simply move existing applications to the Cloud.  You will be able to point your connection string to your cloud instance or to your local database NICE!!!. 

Azure Development Platform

The above image illustrates all of the moving parts.  As you can see Windows Azure provides a Web OS platform along with Azure Services.  What this all really means is that I can develop lets say an Applicant tracking system deploy it to Windows Azure (Web OS) and the application can use services from Windows Live, Sql and SharePoint ( In a future post I will take this applicant tracking system example to the next level). 

One final thought

I will end this post with a final thought.  Today’s operating systems are proprietary (for the most part) by proprietary I mean that I cant just install the same office suite software and it works on Windows XP, linux or Mac.  With Web OS that limitation is relatively gone.  I could theoretically develop an application on Windows Azure that pulls data from some service on Google’s Web OS.  The possibilities are endless.

In my next post I will walk through what I did to create and deploy a web application to Windows Azure.  Feel free to ask any questions and I will do my best to get an answer.

Posted in Azure Platform, Cloud Computing | Tagged: , , , , , , , | 2 Comments »

Microsoft Azure Cloud Service Introduction

Posted by Apollo on January 13, 2009

 The following bullet points provide an introduction to the Azure Service from Microsoft.  The next post will include some details on how to develop a cloud service using Azure.

  1. Cloud is a set of connected servers (1000’s all over the world)
  2. Azure is an OS for the cloud
  3. Azure has four primary features:
    • Service Management
    • Compute
    • Storage
    • Developer experience
  4. Utility computing is a metered services
  5. Azure provides a complete platform
    • Web Based UI for managing service
    • Compute and storage using cloud friendly API’s
    • Familiar developer tools
  6. Azure applications run in the cloud on a VM windows 2008 instance
  7. Azure is all about web or worker role
  8. Each role is assigned a VM with its own process
  9. Web role accepts http requests
    • ASP.NET
    • WCF
  10. No in memory session state
  11. You will store state in cookie or azure storage
  12. Worker roles
    • Like a windows service
    • Polling and long running workflows unattended
    • The web app can drop a message and the worker role can execute
  13. Azure storage
    • Blobs – Large items of user data
    • Tables – simple tables and caches
    • Queues – service communication
    • Azure data storage is not SQL server data storage.
  14. Services are accessible via RESTful based services
  15. Service Management
    • Automated service management
      • You define the rules and provide code
      • The platform follows the rules: deploys, monitors and manages your services
    • Automated service responsibilities
      • Developer is responsible for
        • Developing and modeling the service
        • Deploy service to the cloud
        • Configure service settings and constraints
      • Azure is responsible for
        • Running the service
        • Maintain health of the service
  16. Development Environment
    • Each desktop has a cloud environment via the sdk that will install mini applications that will simulate the cloud.
    • Several languages supported (.NET Languages, PHP, native code, etc…)
    • Visual Studio integration (Download the Azure SDK)
    • You will need to thinks to get started in Azure development
      • Azure SDK
      • Tools for Visual Studio (need vista or IIS 7 and Sql Server express)
      • Visual Studio 2008 and express
    • Applications can interact with local service via RESTful service endpoints
  17. Other Services that can be leveraged from Azure Service or local developed applications are
    • .NET Services
      • Service Bus
      • Workflow
      • Access Control (allows for integration with on premises AD)
    • SQL Services
      • Database
      • Analytics
      • Reporting
    • Live Services
      • Identity
      • Contacts
      • Devices
  18.  

Posted in Azure Platform, Cloud Computing | Tagged: , , , , , , , | Leave a Comment »