Tag: Microsoft Azure

  • Microsoft’s Windows Azure datacentres: some statistics

    Last week I blogged about designing a private cloud infrastructure, based on the practices employed by the major cloud service providers.

    Today I got a taste of the scale of some of those cloud operations, when Microsoft gave an online presentation on Windows Azure to their International Customer Advisory Board (ICAB) for Server and Cloud (of which I’m a participant).

    Remember the shipping contains that I mentioned as units of scale in a modern datacentre? Here are a few stats about Microsoft’s Azure datacentres:

    • Each datacentre runs at around 95°F (or 35°C): that’s pretty warm but, even though there is air conditioning installed, it’s rarely used, as the containers are self-cooling (using a water system).
    • Containers are stacked in units that are two high and then connected to power, water and networks. (Now that’s some appliance!)

    Microsoft's Azure appliances

    • Each container unit contains around 2500 servers and a whole datacentre has 360,000 servers.

    Inside onr of the containers

    • The containers are normally dark – I described resource decay in my earlier post – that means that it’s rarely necessary to enter the datacentre.
    • In fact, the datacentres are so highly automated, that there are just 12 staff: 9 armed security guards and 3 administrators. (I’m guessing that’s working 3 shifts, so only 3 or 4 on duty at any one time.)
    • Humans are never alone – systems exist to ensure that people can only enter in pairs, and leave in pairs too.
    • So far, Microsoft has spent $2.5bn on its six Azure data centres, with more planned (and that doesn’t include the datacentres for its other operations).
  • Azure Connect – the missing link between on-premise and cloud

    Azure Connect offers a way to connect on-premise infrastructure with Windows Azure but it’s lacking functionality that may hinder adoption.

    While Microsoft is one of the most dominant players in client-server computing, until recently, its position in the cloud seemed uncertain.  More recently, we’ve seen Microsoft lay out its stall with both Software as a Service (SaaS) products including Office 365 and Platform as a Service (PaaS) offerings such as Windows Azure joining their traditional portfolio of on-premise products for consumers, small businesses and enterprise customers alike.

    Whereas Amazon’s Elastic Compute Cloud (EC2) and Simple Storage Service (S3) offer virtualised Infrastructure as a Service (IaaS) and Salesforce.com is about consumption of Software as a Service (SaaS), Windows Azure fits somewhere in between. Azure offers compute and storage services, so that an organisation can take an existing application, wrap a service model around it and specify how many instances to run, how to persist data, etc.

    Microsoft also provides middleware to support claims based authentication and an application fabric that allows simplified connectivity between web services endpoints, negotiating firewalls using outbound connections and standard Internet protocols. In addition, there is a relational database component (SQL Azure), which exposes relational database services for cloud consumption, in addition to the standard Azure table storage.

    It all sounds great – but so far everything I’ve discussed runs on a public cloud service and not all applications can be moved in their entirety to the cloud.

    Sometimes makes it makes sense to move compute operations to the cloud and keep the data on-premise (more on that in a moment). Sometimes, it’s appropriate to build a data hub with multiple business partners connecting to a data source in cloud but with applications components in a variety of locations.

    For European CIOs, information security, in particular data residency, is a real issue. I should highlight that I’m not a legal expert, but CIO Magazine recently reported how the Patriot Act potentially gives the United States authorities access to data hosted with US-based service providers – and selecting a European data centre won’t help.  That might make CIOs nervous about placing certain types of data in the cloud although they might consider a hybrid cloud solution.

    Azure already provides federated security, application layer connectivity (via AppFabric) and some options for SQL Azure data synchronisation (currently limited to synchronisation between Microsoft data centres, expanding later this year to include synchronisation with on-premise SQL Server) but the missing component has been the ability to connect Windows Azure with on-premise infrastructure and applications. Windows Azure Connect provides this missing piece of the jigsaw.

    Azure Connect is a new component for Windows Azure that provides secure network communications between compute instances in Azure and servers on premise (ie behind the corporate firewall). Using standard IP protocols (both TCP and UDP) it’s possible to take a web front end to the cloud and leave the SQL Server data on site, communicating over a virtual private network, secured with IPSec. In another scenario, a compute instance can be joined to an on-premise Active Directory  domain so a cloud-based application can take advantage of single sign-on functionality. IT departments can also use Azure Connect for remote administration and troubleshooting of cloud-based computing instances.

    Currently in pre-release form, Microsoft is planning to make Azure Connect available during the first half of 2011. Whilst setup is relatively simple and requires no coding, Azure Connect is reliant on an agent running on the connected infrastructure (ie on each server that connects to Azure resources) in order to establish IPSec connectivity (a future version of Azure Connect will be able to take advantage of other VPN solutions). Once the agent is installed, the server automatically registers itself with the Azure Connect relay in the cloud and network policies are defined to manage connectivity. All that an administrator has to do is to enable Windows Azure roles for external connectivity via the service model; enable local computers to initiate an IPSec connection by installing the Azure Connect agent; define network policies and, in some circumstances, define appropriate outbound firewall rules on servers.

    The emphasis on simplicity is definitely an advantage as many Azure operations seem to require developer knowledge and this is definitely targeted at Windows Administrators. Along with automatic IPSec provisioning (so no need for certificate servers) Azure Connect makes use of DNS so that there is no requirement to change application code (the same server names can be used when roles move between the on premise infrastructure and Azure).

    For some organisations though, the presence of the Azure Connect agent may be seen as a security issue – after all, how many database servers are even Internet-connected? That’s not insurmountable but it’s not the only issue with Azure Connect.

    For example, connected servers need to run Windows Vista, 7, Server 2008, or Server 2008 R2 [a previous version of this story erroneously suggested that only Windows Server 2008 R2 was supported] and many organisations will be running their applications on older operating system releases. This means that there may be server upgrade costs to consider when integrating with the cloud – and it certainly rules out any heterogeneous environments.

    There’s an issue with storage. Windows Azure’s basic compute and storage services can make use of table-based storage. Whilst SQL Azure is available for applications that require a relational database, not all applications have this requirement – and SQL Azure presents additional licensing costs as well as imposing additional architectural complexity.  A significant number of cloud-based applications make use of table storage or combination of table storage and SQL Server – for them, the creation of a hybrid model for customers that rely on on-premise data storage may not be possible.

    For many enterprises, Azure Connect will be a useful tool in moving applications (or parts of applications) to the cloud. If Microsoft can overcome the product’s limitations, it could represent a huge step forward for Microsoft’s cloud services in that it provides a real option for development of hybrid cloud solutions on the Microsoft stack, but there still some way to go.

    [This post was originally written as an article for Cloud Pro.]

  • Resources from recent Windows Server User Group Live Meeting

    Thanks to everyone who attended the rescheduled Live Meeting last month on Connecting on-premise applications with the Windows Azure platform (with Allan Naim and Phil Winstanley).

    Unfortunately the gremlins didn’t subside – after rescheduling the event I was unable to get a microphone working – which is a bit of an issue for a facilitator (thanks to Phil for stepping up to the mark) and the Live Meeting recording has not worked completely either.

    Nevertheless, resources from the event (slide deck, audio recording, demonstration video, and readme file Live Meeting recordings) are now available.

    For information on future Windows Server User Group events, check the WSUG blog or follow @windowsserverug on Twitter.

    [A version of this post also appears on the Windows Server User Group blog]
    [Updated 18 April 2011: Live Meeting recordings are now available]

  • Rescheduled: Connecting on-premise applications with the Windows Azure platform (Windows Server User Group)

    Last week, I wrote about a Live Meeting I was running for the Windows Server User Group (WSUG), looking at using Windows Azure Connect to connect on-premise server infrastructure with Microsoft’s public cloud offering.

    If you tried to attend that meeting, I’m sorry, but due to some logistical difficulties that were outside my control, the meeting was unable to go ahead at the advertised time and, although we e-mailed everyone who had registered, I’m sorry if you didn’t get the message until it was too late.

    I’m pleased to say that this event has now been rescheduled for the same time (19:00 – although by then we’ll be on BST not GMT) next Monday (28 March 2011).

    Please accept my apologies for the short notice we gave last night, and please do register for the rescheduled meeting.

    [A version of this post also appears on the Windows Server User Group blog]

  • Connecting on-premise applications with the Windows Azure platform (Windows Server User Group)

    When Microsoft announced Windows Azure, one of my questions was “what does that mean for IT Pros?”. There’s loads of information to help developers write applications for the cloud, but what about those of us who do infrastructure: servers, networks, and other such things?

    In truth, everything becomes commoditised in time and, as Quest’s Joe Bagueley pointed out on Twitter a few days ago, infrastructure as a service (IaaS) will become commoditised as platform as a service (PaaS) solutions take over and there will come a time when we care about what hypervisor we are running on about as much as we care about network drivers today. That is to say that, someone might care but, for most of us, we’ll be consuming commodity services and we won’t need to know about the underlying infrastructure.

    So, what will there for for server admins to do? Well, that takes me back to Windows Azure (which is a PaaS solution). For some time now, I’ve been keen to learn about integrating on and off-premise systems – for example getting application components that are running on Windows Server working with other parts of the application in Windows Azure. To do this, Microsoft has created Windows Azure Connect – a new Windows Azure service that enables customers to setup secure, IP-level network connectivity between their Windows Azure compute services and existing, on-premise resources. This allows Windows Azure applications to leverage and integrate with existing infrastructure investments in order to ease adoption of Azure in the enterprise – and I’m really pleased that, after nearly a year of trying to set something up, the Windows Server User Group (WSUG) is running a Live Meeting on this topic (thanks to a lot of help from Phil Winstanley, ex-MVP and now native at Microsoft).

    Our speaker will be Allan Naim, an Azure Architect Evangelist at Microsoft. Allan has more than 15 years of experience designing and building distributed middleware applications including both custom and off the shelf Enterprise Application Integration architectures and, on the evening of 22 March 2011 (starting at 19:00 GMT), he’ll spend an hour taking us through Windows Azure Connect.

    Combined with the event that Mark Parris has organised for 6 April 2011 where one of the topics is Active Directory Federation Services (AD-FS), these two WSUG sessions should give Windows Server administrators a great opportunity to learn about integrating Windows Server and Windows Azure.

    Register for the Azure Connect Live Meeting now. Why not register for the AD RMS and AD FS in-person event too?

    [A version of this post also appears on the Windows Server User Group blog]

  • easyJet’s journey into the clouds

    Last month, I spent some time at Microsoft’s Partner Business Briefing on Transitioning to the Cloud (#pbbcloud).  To be honest, the Microsoft presentations were pretty dull, the highlight being the sharp glances from Steve Ballmer as he saw me working on my iPad (which led to some interesting comments in a technical session a short while later) but there was one session that grabbed my attention – one where easyJet‘s Bert Craven, an IT architect with the airline, spoke about how cloud computing has changed easyJet’s “real world” IT strategy.

    For those who are reading this from outside Europe, easyJet was one of the original UK-based budget airlines and they have grown to become a highly successful operation.  Personally, I don’t fly with them if I can help it (I often find scheduled airlines are competitive, and have higher standards of customer service), but that’s not to say I don’t admire their lean operations – especially when you learn that they run their IT on a budget that equates to 0.75% of their revenue (compared with an average of just over 4%, based on Gartner’s IT Key Metrics).

    Bert Craven quipped that, with a budget airline, you might be forgiven for thinking the IT department consists of one guy with a laptop in orange shed, by an airfield, operating a shoestring budget but it’s actually 65 people in a very big orange hangar, by a big runway…

    Seriously though, operating a £3billion Internet-driven business on an IT budget which is so much smaller than the norm shows that the company’s reputation for leanness is well-deserved. To deliver enterprise-scale IT with this approach requires focus – a focus on differentiation – i.e. those systems that drive competitive advantage or which define the business.  In order to achieve this, easyJet has taken commodity systems and pushed them “out of the door” – buying as-a-service products with demanding service level agreements (SLAs) from selected business partners.

    easyJet has had a cloud strategy since 2005, when they started moving  commodity systems to managed services.  But, in 2009, Windows Azure caused a deviation in that approach…

    Until 2007, easyJet was growing at 20% p.a. (the company is still experiencing rapid growth today, but not quite at the same level) – and that high level of growth makes it difficult to scale.  There’s also a focus on meeting the SLAs that the business demands: easyJet are immensely proud that their easyJet.com availability chart is so dull, showing a constant 100% for several years; and if their flight control systems were unavailable for more than four hours, the entire fleet would be grounded (which is why these systems are never “down”).

    So easyJet classified their IT systems into three tiers:

    • Commodity: operating system; security; backup; e-mail; access methods; file and print.
    • Airline systems: engineering; crew rostering; finance; personnel; flight planning; schedule planning; baggage handling; payroll; slot management; payment systems.
    • easyJet Systems (those differentiators that drive competitive advantage): reservation system; revenue management; departure control; crew systems; aircraft systems.

    easyJet High Level architecture (pre-cloud)The three tiers of classification are used to drive SLAs of silver  (99.9% availability), gold (99.99% availability) and platinum (100% availability), mapped onto the IT architecture such that platinum services operate as a high availability configuration across two sites, gold services can fail over between sites if required, and silver services are provided only from easyJet’s primary site.

    Alongside this, easyJet has a 5 point IT strategy that’s designed to be simple and cost-effective:

    1. Use simple, standard, solutions by default.
    2. Promote innovate use of mainstream technology.
    3. Use Microsoft technology for the technical platform.
    4. Provide scalable systems that never restrict the growth of the business.
    5. Provide 100% up-time for business critical systems.

    In order to take account the disruption from the adoption of cloud computing technologies, easyJet adapted their strategy:

    1. Use simple, standard, solutions by default: place services in the cloud only when to do so simplifies the solution.
    2. Promote innovate use of mainstream technology: continually test the market to measure capabilities and penetration of cloud technology (as it becomes more mainstream, it’s better suited to easyJet’s innovation).
    3. Use Microsoft technology for the technical platform: Windows Azure will be the natural choice, but look at alternatives too.
    4. Provide scalable systems that never restrict the growth of the business: look for areas where cloud will improve the scalability of systems.
    5. Provide 100% up-time for business critical systems: wait for cloud computing to mature before committing to high availability usage (no platinum apps in cloud).

    easyJet High Level architecture (planned cloud)Naturally, easyJet started their journey into cloud computing with commodity computing systems (buying in compute and storage capabilities as a service, outsourcing email to a platform as a service offering, etc.) before they started to push up through the stack to look at airline systems. They thought that silver and gold services would be offered from the cloud within the architecture but Windows Azure turned out to be more disruptive than they anticipated (in a good way…).

    With many commodity and airline systems now cloud-hosted, easyJet’s IT systems are able to cope with the company’s rapid growth.  But their departure control system (a platinum service) in 4 airports now has been running on Windows Azure since January 2010 and the easyjet.com sales channel has also been extended into the cloud, so that it may be offered more broadly in innovative ways (or as Bert put it, “when you suddenly expose your sales channel to Facebook, you need to know you can handle Facebook!”).  easyJet High Level architecture (post-cloud)Now easyJet’s high-level architecture has platinum systems crossing primary and secondary sites, as well as the cloud – something that they originally said they wouldn’t do.

    Bert Craven explained the crucial point that easyJet missed in their strategy was an aspect that’s often understated: integration as a service.  easyJet believe that the potential of the cloud as an integration platform is huge and they use Windows Azure AppFabric (formerly known as BizTalk Internet Services, then as Microsoft .NET Services).

    With a traditional secure service in a data centre, consumers are allowed to punch through the firewall on a given port then, after successfully negotiating security, they can consume the service. AppFabric turns this model inside out, taking the security context and platform into the cloud.  With AppFabric, the service makes an outbound connection through the firewall (security departments like outbound connections) and consumers can locate services and connect in a secure manner within the cloud. AppFabric is not just for web service endpoints either: it can do anything from send a tweet to streaming live video; and endpoints are getting smarter too with rich integration functionality (message routing, store and forward, etc.)

    easyJet see AppFabric as a game changer because it’s made them ask different questions:

    • Instead of “is a new service we’re building a  cloud service or an on-premise service?”, the question becomes “might this service have some cloud endpoints and components – is this in fact a hybrid service?”
    • “Could we migrate an existing service to the cloud?” becomes “could we extend an existing service into the cloud?”

    Bert Craven believes that AppFabric is the ace in the pack of Windows Azure technologies because it’s a small step to take an existing service and expose some endpoints in the cloud (easy to swallow).  It’s also more  of an enabler than a disruptor, so AppFabric is quite rightly perceived as lower risk (and almost certainly lower cost). Extending a service is a completely different proposition to move entire chunks of compute and storage capabilities to cloud. Consequently there is a different value proposition, making use of existing assets (which means it’s easier to prove a return on investment – delivering more value with a greater return on existing investments by extending them quickly becomes very attractive) – and an IT architect’s job is to create maximum business value from existing investments.

    AppFabric offers rich functionality – it’s not just a cheap shortcut to opening firewall and has a rich seam of baked-in integration functionality and, ultimately, it has accelerated easyJet’s acceptance of cloud computing.  18 months ago, Craven describes sharp intakes of breath when talking of running departure control in the cloud, but now that a few airports have been running that way for 10 months, it’s widely accepted that all departure control systems will transition to the cloud.

    Bert Craven sees AppFabric as a unifying paradigm – with Windows Azure AppFabric in the cloud and Windows Server AppFabric on-premise (and it gets stronger when looking at some other Microsoft technologies, like the Project Sydney virtual private network and identity federation developments – providing a continuous and unified existence with zero friction as services move from on-premise to cloud and back again as required).

    In summing up, Bert Craven described AppFabric as a gateway technology – enabling business models that were simply not possible previously, opening a range of possibilities. Now, when easyJet thinks about value propositions of cloud and cloud solutions, equal thought is given to the cloud as an integration platform, offering a huge amount of value, at relatively low cost and risk.

  • Upcoming events (including special #uktechdays) event

    We’re having difficulties scheduling WSUG events right now. Without going into all the gory details, Microsoft’s funding for rooms, etc. is not available in the way that it has been in the past, so we need to find another way to do things…

    Now that the summer holidays are over, I’d like to organise a “virtual” user group meeting, over Live Meeting – and have had some conversations with Microsoft about a session on “Azure for IT Pros” (how can we integrate our on-premise infrastructure with Windows Azure, etc.). Please leave a comment if you think this will be of interest.

    In the meantime, I wanted to tell you about a Microsoft-hosted event that may be of interest, although it may also be a bit “developery” for some Windows Server admins.

    In any case, Steve Ballmer will be the guest speaker at a special UK TechDays “Future of Cloud Development” event in London’s Docklands on 5 October.

    The site has not gone live yet but you can registration on the event page or at 0870 166 6670, quoting event reference 9886 – you’ll also need the invitation code: 6D4723.

    More details of the session content can be found below:

    • A lap around Windows Phone 7 (Mike Ormond) – In this session Microsoft will take a look at Windows Phone 7 and the developer ecosystem, from the capabilities and unique features of the platform to the development frameworks and tools you have at your disposal. Along the way they’ll build a simple application or two and explore how people can purchase your finished masterpiece.
    • A lap around the Windows Azure Platform (Eric Nelson) – Hear how the Windows Azure Platform provides a scalable compute and storage environment with Windows Azure, secure connectivity with Service Bus and Access Control Service, and a relational database with SQL Azure. Learn about these new services and see demos that show how to build applications that run in and take advantage of Microsoft’s new cloud platform.
    • We’re Not on XP Any More – A Windows 7 Application in 60 Minutes. (Mike Taulty) – In this code-only session Microsoft will use Visual Studio 2010 and any .NET assembly that we can beg, borrow, steal or even build in order to put together a simple, modern Windows 7 application from scratch using the journey to provide pointers on how your applications can shine by using features that Windows XP only dreamt about ( when it wasn’t dreaming of electric sheep in its world limited by 2 processor cores, 4GB of RAM and GDI based graphics).
    • Keynote: New opportunities and compelling experiences – Microsoft’s Chief Executive Officer, Steve Ballmer, will talk about new opportunities to deliver seamless experiences across many screens and a cloud, and why now is such an exciting time for developers
    • IE9 The Best Browser for Windows (Martin Beeby) – In this session Microsoft will use IE9 and a sprinkling of JavaScript and HTML5 to show you how to create an integrated and immersive experience maximizing the full power of your visitors Windows 7 PC.

    [A version of this post also appears on the Windows Server User Group blog]

  • Windows Azure: avoiding charges; feature voting; UK Azure Awareness week

    Windows Azure logoToday is the day that Microsoft’s cloud-based computing platform, Windows Azure, which has been running through a phased launch over recent months, becomes a chargeable service.

    I don’t know if it’s expensive or not – it looks a bit steep to me – but I don’t have a reference point (other than simple web hosting) and, because of the granular charging structure, it’s difficult to get a true idea of what the charges might be for any given application.  Expensive or not – what Azure provides is flexibility (i.e to mix on-premise and cloud-based infrastructure), elasticity (e.g. to cope with bursts in computing resources requirements) and familiarity (i.e. the code deployed to the web is still Microsoft .NET code, or  indeed it could be something else - like C++, Java, Ruby or PHP… although you might need a small amount of .NET “veneer”).

    I don’t pretend to understand all of the details of Windows Azure – I’m no developer – but Steve Marx has produced a great introduction to Azure video for non-techies:

    If this sounds interesting to you, then read on… because, last Friday, I was at Microsoft UK’s offices, where I was fortunate to see Microsoft UK Developer Evangelist Eric Nelson (Twitter @ericnel) present his seven things that may surprise you about the Windows Azure platform. In his presentation, Eric also highlighted a couple of offers that can be used to avoid paying for Azure – for example if you have a small cloud-based app (perhaps a demonstration), or if you’re just dipping your toe into the water:

    If you’ve already been having a look at Azure, you might want to take a look at the Windows Azure Feature Voting forum where it’s possible to vote (up to 10 times) for Windows Azure features – as the site is run by Mike Wickstrand, who is Microsoft’s Senior Director for Windows Azure Product Planning, it should be somewhere that opinions get noticed (and I’d like to see a few more Microsoft product groups take on this idea…).

    If you want to know more about Azure, then the Windows Azure Team Blog would be a good place to start but, for those of us in the UK, 20-27 February 2010 is UK Azure Awareness week – watch the UK fans of the Windows Azure Platform site for more information.

  • So, what exactly is Windows Azure?

    Windows Azure logoAt last year’s Microsoft Professional Developers’ Conference, Windows Azure was the big news. Finally, Microsoft had put its cards on the table and announced their strategy for cloud computing!

    But, since Ray Ozzie’s keynote in LA last autumn, it’s seemed pretty quiet on the Windows Azure front. That’s understandable – Azure is still in development and it will be some time before we see mainstream use of this computing platform – even so, I was interested to attend the inaugural meeting of UK Azure User Group (AzureNet – not to be confused with the hosting company by the same name) at Microsoft’s London offices, including a presentation from Microsoft’s James Conard about what Windows Azure really is.

    James is a Senior Director of Developer and Platform Evangelism at “corp” (i.e. he works in Redmond, not Reading!) and he looks after the Microsoft.NET Framework, Visual Studio and the Azure Services Platform – all things that I know very little about but, based on his presentation, I think I’ve got a grip on how Windows Azure hangs together.

    So what is Windows Azure? James Conard described it as:

    “An execution environment in the cloud for your applications.”

    Which begs the question of what is the cloud? Conard’s view is that this is being made out to be more complex than it really is – as normally happens with a platform shift. Analysts/reporters/experts [bloggers!] define new terms such as: cloud computing; platform as a service; software as a service; infrastructure as a service – and some of these terms are sticking as vendors snap their marketing onto the terms.

    But today’s application challenges are not specifically related to technology or to a platform – they are issues like:

    • How many users will an application need to support (after 1 month? 6 months? a year?)?
    • What are the bandwidth, storage, server, rackspace requirements?
    • How can we handle scalability (up and down)?
    • How can we provide high availability?
    • How can we quickly go live?
    • How can we reduce operational costs?
    • How can we move to a service delivery model?
    • How can we provision servers for the short term (without buying extra infrastructure)?

    Windows Azure is intended to provide three core services: compute, storage and management which are:

    • Scalable – with a virtualised hosting environment.
    • Flexible – providing storage with blobs, tables, and queues.
    • Manageable – with a model-driven service lifecycle management.
    • Usable – with a rich local and offline developer experience.

    Looking first at the compute service, applications are built (based on role definitions, modelled using an XML service configuration file), deployed to the web and run via a load balancing mechanism. Building the application in Visual Studio 2008 (SP1) with the SDK for Windows Azure and Visual Studio Tools for Azure ensures familiarity for Windows developers and the SDK’s Development Fabric simulates a cloud application whilst running locally for debugging purposes. The publishing process packages the application as a service package including all assemblies and configuration files ready for upload to the Azure Services Platform via the Azure Services Developer Portal. This portal allows the developer to create a hosted service and access production and staging environments. Once initialised according to the applications configuration, the appropriate number of instances (virtual machines) is started and the application deployed. Staging environments use a DNS name in the form of guid.cloudapp.net but friendly names are provided for production environments.

    Most applications need to store and manage data, and Azure provides access to tables and blobs, with a queuing mechanism for communications between roles (some of which may run asynchronously, others as batch jobs, with a worker process to handle the interaction).

    Management is concerned with ensuring that there are sufficient instances of a running application, monitoring when to bring more computing resources (extra instances) online, and when to take down one or more instances.

    In short, Azure provides the infrastructure to run an application in the cloud including the environments upon which to run code and the underlying servers, datacentre services and connectivity. There is no need to directly manage this as the application is abstracted from the infrastructure and Microsoft highlights that, whilst some vendors focusing on the infrastructure (physical and virtual machines up to the operating system layer), over time, Azure will expose more and more capabilities of the Windows Server operating system, Microsoft .NET framework, etc. and the available services will be expanded.

    Of course not all applications are as simple as the ones that Microsoft uses to demonstrate Azure. Some applications need additional capabilities in the cloud such as:

    • Relational database support.
    • Connectivity between on-premise applications and cloud applications (some applications cannot move to the cloud and the data needs to remain local, or the functionality does – hence hybrid applications).
    • Single sign on support.
    • Federation with existing identity providers.
    • Orchestration of several different services.
    • Access to user profile and contact data.

    Windows Azure is a baseline and there are also additional services within the Azure Services Platform, implemented as building blocks which may be consumed (as required, wholesale or piecemeal) from an application running on Azure, including:

    • Live Services, for building user-centric applications that require end user interaction and access to contacts, calendars, folders, etc.
    • .NET Services, providing key building blocks required by many cloud-based and cloud-aware applications including access control, a service bus and workflow.
    • Microsoft SQL Services, extending Microsoft SQL Server into the cloud for – cloud-based instances of SQL capabilities.

    In the future, these initial services will be supplemented with:

    • Microsoft SharePoint Services, for workflow, list management and document management.
    • Microsoft Dynamics CRM services.

    Windows Azure Services Platform

    SQL Data Services link applications to SQL Server using SQL’s tabular data stream (TDS) protocol. James Conard’s presentation only mentioned it in passing, but there is a session available online from the MIX09 conference with the detail on SQL Data Services.

    (At this point, I’d like to plug Jamie Thomson – SSIS Junkie – and my former rival for the top blogger spot when I worked at Conchango… Jamie was at the AzureNet meeting too – if you want to know about how SQL and .NET services fit together, he’s your man!)

    A few paragraphs back, I mentioned the service bus and this could probably do with a little more explanation. Referenced using a URI with a sb:// suffix, this provides a publisher/subscriber model based on service bus queues (queuing messages until a listener is available) and service bus routers (distributing messages according to the routing policy) with a REST-based interface for managing access control (via authorisation rules).

    So, what next for Windows Azure? The latest Community Technology Preview (CTP) was issued in March 2009 and includes a number of changes and improvements including:

    • Full-trust support for .NET applications, allowing native code to run as part of service package.
    • FastCGI support on IIS7 (for running PHP and other extensions).
    • A single SDK and tools installation.

    Soon, Windows Azure will be available in a second United States datacentre (and developers will be able to select which to run in via the portal) and, as Windows Azure approaches commercial availability, there will be a datacentre in Europe too.

    Finally, pricing and service level agreement information is expected during Summer 2009 with commercial availability in the Autumn.

    As an infrastructure guy, I might be scared by the idea of all of this infrastructure moving into the cloud, but there are a few things to remember:

    • The transition won’t happen overnight.
    • Many organisations will still require an extensive local infrastructure (if only for client connectivity to the cloud).
    • Someone has to build and run those cloud datacentres!
    • Security will be key to the success (or failure) of this brave new world.

    Regardless of my future job prospects, I’m looking forward to the day when someone asks me to integrate an on-premise infrastructure with Windows Azure.

  • Windows Live FolderShare – an example of Microsoft’s cloud computing platform that’s here to use today

    I started off writing this post on the train, as the stacation (taking a break from work but staying at home) part of last week became the vacation part (a few days by the seaside with my wife and sons – the fact that I woke up to snow in Buckinghamshire didn’t seem to put the boys off wanting to build sandcastles in Dorset… even with their winter coats on).

    The point of this is that I wanted to use the time on the train to good effect – and that meant catching up on my writing. Despite having spent a few days decommissioning my old file server in favour of a new NAS box, I still have a certain amount of local data that I need to access – spread across multiple Windows and Macintosh PCs. This is where Microsoft’s web services platform comes in. I’ve been using the Live Mesh CTP for a while now, but the current version of Mesh is just a starting point and there is another Live service in beta that I’m using here – Windows Live FolderShare.

    FolderShare is a web service for distributed folders across multiple devices – either personal or shared folders. If you’ve used Windows Live SkyDrive as file storage in the cloud, then imagine if that data was hosted on your PCs (phones, and other devices) rather than in cyberspace – and replicated automatically.

    Over time, I expect to see FolderShare move into Live Mesh and, in my coverage of the recent PDC keynote, I wrote about how:

    Live Mesh bridges [islands of information] with a core synchronisation concept but Mesh is just the tip of the iceberg and is now a key component of Live Services to allow apps and websites to connect users, devices, applications and to provide data synchronisation.

    My personal file data may not be the scale of enterprise service Microsoft plans for Windows Azure but Windows Live FolderShare does nicely demonstrate the concept in a way that most of us can appreciate. Here I am, creating content on the train using my Macintosh PC and I know that, when I hook up to a network, FolderShare will sync this (via Windows Live Services) to people/devices that I want to share the data with – for example my Windows PC in the home office. Then, whichever device I’m using, I can continue my work without worrying about where the master copy is. Add a phone into the mix and one would expect me to be able to access that data wherever I am as well as creating additional content – for example photos, or location specific data.

    Jasdev Dhaliwal has an interesting article about Microsoft’s cloud computing announcements over at the Web Pitch. Jas’ post includes: Microsoft’s “Overnight Success” video which talks about the greater sum of software plus services “moving beyond devices and across borders to capture the imagination of the world… a world where the richness of software and the ubiquity of services are rapidly converging”; a BBC interview with Ray Ozzie where he talks about how it has become burdensome to manage the computer we’ve got at work, the computer we have in the den, childrens’ PCs, a cellphone with contacts, photos and information, cable boxes with recorded movies and how “Windows in the sky” can bring all of those devices together and make it easier to manage – more than just applications in the cloud but a total computing infrastructure; another BBC film where Rory Cellan-Jones visits one of Microsoft’s vast datacentres; and finally Microsoft’s “Synchronizing Life” video where a Mum takes a picture of a child at play using her mobile phone and that picture appears on a display many miles away in Dad’s office, on his PC, on his Mac, and how the Live Mesh extends to his media player, phone, into the car and to the childrens’ games console.

    I started this post on the train, using a Mac. Now I’m ending it in the office, on a Windows PC – and I haven’t had to think about which copy of the data is current – it just works. That’s what connected synchronicity is about – it’s not about uploading everything I do to some website but about a mesh of devices working together to make my local data available globally… synchronising my life.