InfoQ

InfoQ

News

My Bookmarks

Login or Register to enable bookmarks for unlimited time.

The content has been bookmarked!

There was an error bookmarking this content! Please retry.

Introducing Windows Azure - Cloud Services Platform!

Posted by Jonathan Allen on Oct 27, 2008

Sections
Operations & Infrastructure,
Enterprise Architecture,
Development,
Architecture & Design
Topics
SOA Appliance ,
.NET Framework ,
.NET ,
SOA Platforms ,
Cloud Computing ,
SOA
Tags
Visual Studio ,
Microsoft ,
Services

Today at PDC, Microsoft unveiled a major initiative: Windows Azure.  Azure is a "cloud services operating system". Specifically, it is intended to be a
single platform providing complete cloud-based development, hosting, and management services.

The Azure site contains the following platform diagram:

Azure Diagram


Ray Ozzie, Software Architect, opened the PDC with an emphasis on services and the "cloud". His main argument was that the needs of servers that are used by people all over the world are fundamentally different than the needs of servers used within a company. With servers been scattered in data centers worldwide and demand varying wildly due to news and blog coverage, product releases, and even the shopping season, a lot specialized knowledge is needed. Microsoft started working on their own cloud platform only a few months before Amazon announced EC2.

Windows Azure, or "Windows in the Cloud", represents the knowledge Microsoft has gained from years of working on high availability, high use systems like Windows Update. A major goal of this cloud framework is to offer a way to program in this new style using existing Native and .NET skills.

Something to keep in mind is that Azure is merely lowest level of Microsoft's cloud computing framework. On top of Azure will be components such as SQL Services, Live Services, .NET Services (Workflow and Identity), SharePoint, and Dynamics CRM.

Amitabh Srivastava, Senior Vice President, Microsoft Research, handled the first two demos.

Azure abstracts the underling hardware away from the application using what they call the "Fabric Controller". The Fabric Controller, which works at the service level, relies heavily on Service Models. These XML fragments describe each service in terms of permissions, endpoint, and configuration. Azure supports low-level concepts such as blobs, tables, queues, and locks, all of which are virtualized by Azure and the Fabric Controller.

The first demo was a standard ASP.NET website. The only difference was a second project in the solution that handled the Azure-specific settings. This allows debugging applications locally before they are deployed to the Web. In addition, a complete simulation of Azure is available on the developer's machine with all the services the application will have in production. Deployment was ridiculously easy. Basically all you need to do is just compile and upload it to either your staging or production environment through Azure's configuration site.

Their second example, Bluehoo, demonstrated how easy it is to scale-up applications. By designing systems to place incoming updates in a queue, production support teams can increase capacity simply adjusting the number of worker processes.

Bob Muglia, Senior Vice President of the Server and Tools Business, argues we are in the 5th Generation of Computing. The first four were Monolithic, Client-Server, Web, and SOA. He is making the case the next generation is Services. The difference between the SOA and Services generation is that SOA does not inherently scale well. It can be scaled up, but it has to be done manually for each company and project. With Services and Cloud Computing, the ability to scale out is fundamental to the platform. A major benefit touted by Bob was Azure is 24/7 uptime and reliability without the upfront costs associated with building your own data center.
.NET Services and SQL Services

Since security is important, they are developing a Service Bus that will create a secure connection between a company's internal systems and their cloud-based services. This is an essential component if companies are going to be willing to trust Azure for data storage. To handle identity, .NET Services will allow federating a company's Active Directory structure to Azure. Finally, Workflow services already being used in-house can be modified to work with Azure.

SQL Services is essentially the cloud version of SQL Server. Databases, reporting, data mining, and synchronization are all going to be offered.

Microsoft Online Services

David Thompson, a Microsoft veteran from the days if NT, covered the final part of the keynote, Microsoft Online Services. Microsoft is planning on offering literally all of their enterprise-class applications such as SharePoint and Exchange Server as a hosted service. While in-house versions will still be available for companies wanting tight controls, this new offering will satisfy the needs of companies needing quick deployment and easy management. It will be sold via partner companies, suggesting that the partners will handle high level configuration and support on behalf of Microsoft.

This will not be an all or nothing proposition. Access to Microsoft Online Services systems will be authenticated through the company's own Active Directory server. The users will literally be unable to tell if they are accessing the company's in-house server or the one hosted by Microsoft.

Pricing will be based on two components, the level of service guarantee and the resources consumed by the application. These will be determined by market conditions and will be competitive with other Cloud offerings. For the preview period there will be no charge, but there also won't be any reliability guarantees and breaking changes are possible.

  • This article is part of a featured topic series on SOA

No comments

Watch Thread Reply

Educational Content

New-age Transactional Systems - Not Your Grandpa's OLTP

John Hugg discusses high volume transaction processing applications with high and low frequency profiles, and how VoltDB can be used for that purpose.

Cool Code

Kevlin Henney examines code samples to see what can be learned from them starting from the premise that one won’t write great code unless he knows how to read it.

Collaboration: At the Extremities of Extreme

Jason Ayers share the observations he made watching a team of developers collaborating in real time on the same code base, pushing XP, pair programming and continuous integration to their extremes.

Yesod Web Framework

Michael Snoyman presents Yesod, a web framework written in Haskell and containing a web server, templating, ORM, libraries (templating, gravatar, etc.).

Transactions without Transactions

Richard Kreuter and Kyle Banker on how to avoid classical RDBMS transactional systems by using compensation mechanisms, transactional messaging or transactional procedures.

Attila Szegedi on JVM and GC Performance Tuning at Twitter

Attila Szegedi talks about performance tuning Java and Scala programs at Twitter: how to approach GC problems, the importance of asynchronous I/O, when to use MySQL/Cassandra/Redis, and much more.

10 tips on how to prevent business value risk

One category of risk that project teams need to ensure they address is business value failure – delivering a product that fails to provide value for the business investor.

Interview: Software Systems Architecture: Working With Stakeholders Using Viewpoints and Perspectives

InfoQ spoke to the authors of Software Systems Architecture on a couple of new topics, the System Context viewpoint and Agile, which have been added to the second edition.