|Windows Azure, SQL Azure Database and related cloud computing topics now appear in this weekly series.|
• Updated 3/28/2010 with weekend articles.
Note: This post is updated daily or more frequently, depending on the availability of new articles in the following sections:
- Azure Blob, Table and Queue Services
- SQL Azure Database (SADB)
- AppFabric: Access Control and Service Bus
- Live Windows Azure Apps, APIs, Tools and Test Harnesses
- Windows Azure Infrastructure
- Cloud Security and Governance
- Cloud Computing Events
- Other Cloud Computing Platforms and Services
To use the above links, first click the post’s title to display the single article you want to navigate.
Discuss the book on its WROX P2P Forum.
See a short-form TOC, get links to live Azure sample projects, and read a detailed TOC of electronic-only chapters 12 and 13 here.
Wrox’s Web site manager posted on 9/29/2009 a lengthy excerpt from Chapter 4, “Scaling Azure Table and Blob Storage” here.
You can now download and save the following two online-only chapters in Microsoft Office Word 2003 *.doc format by FTP:
- Chapter 12: “Managing SQL Azure Accounts and Databases”
- Chapter 13: “Exploiting SQL Azure Database's Relational Features”
HTTP downloads of the two chapters are available from the book's Code Download page; these chapters will be updated for the January 4, 2010 commercial release in March 2010.
Brad Calder started blogging about Windows Azure Storage Resources on 3/27/2010:
The following are some key resources to understand and use Windows Azure Storage.
The online MSDN documentation and Forums:
- Windows Azure Storage Client Library (Blobs, Drives, Tables, Queues)
- Windows Azure Storage REST Protocols (Blobs, Tables and Queues)
- Windows Azure Forums
There are 4 recent talks:
- Building Applications with Windows Azure Storage at MIX 2010 2010 – This talk provides an overview of Windows Azure Blobs, Drives, Tables and Queues. It focuses on showing how easy it is to code up these data abstractions using the Windows Azure Storage Client Library, and gives some tips on how to efficiently use them. The talk also gives a 10 minute demo on using Windows Azure Drives, showing how easy it is to use a VHD on Windows 7, then upload it to a Windows Azure Page Blob, and then mount it for a Windows Azure application to use.
- Windows Azure Blob and Drive Deep Dive at PDC 2009 – Provides a deep dive into Windows Azure Blobs and Drives. The first part of the talk focuses on describing Block Blocks and Page Blobs, Snapshot Blob, Lease Blob, Root Blobs, using Custom Domain Names, using Shared Access Signatures (Signed URLs), and using the new Windows Azure Content Delivery Network for accessing/caching blobs. Then the second part of the talk gives an introduction to Windows Azure Drives. This allows Windows Azure applications to use existing NTFS APIs through a mounted network attached durable drive (a Page Blob formatted as a single volume NTFS VHD).
- Windows Azure Tables and Queues Deep Dive at PDC 2009 – Deep dive into key areas for Windows Azure Tables and Queues. This includes how to choose partitioning keys and what makes for fast and efficient queries for Tables. For Queues, Jai describes some future features we will be providing such as (a) removing the time limit for how long a message can stay in the queue, (b) removing the time limit for how long the invisibility time can be, and (c) allowing you to change the invisibility time of a dequeued message at anytime.
- Building Scalable and Reliable Applications with Windows Azure at PDC 2009 – This talk describes the design target for scalability of Windows Azure Storage. It focuses on the target throughputs for storage accounts, Blobs, Tables and Queues, describes at a high level the partitioning we use for them, and how we automatically load balance them to meet their peak traffic demands. It also describes how to use Queues to create scalable and reliable workflow for your computation. Finally, the talk describes how to use rolling upgrades to perform a schema change (add a new property) for Windows Azure Tables.
Optimize the usage of Windows Azure Tables:
If you want the best performance out of Windows Azure Tables, please make sure to follow the tips here: .NET and WCF (ADO.NET) Data Service Performance Tips for Windows Azure Tables. …
Brad is Director/Architect of Windows Azure Storage, which provides scalable, available and durable storage for Microsoft’s cloud platform.
My Querying OData.org’s SQL Azure Northwind Sample Data Service of 3/27/2010 describes the “Astoria” (ADO.NET Data Services) query syntax for SQL Azure’s OData service implementation with the fully populated Northwind database:
… OData.org offers a publicly accessible full instance of the Northwind sample database, which is more suitable for testing queries that retrieve related items or collections because, unlike AdventureWorksLT, all but one item has a complete complement of related items. That is, all but one customer (FISSA Fabrica Inter. Salchichas S.A.) have related Orders records, all Orders have related Order_Details, all Order_Details have related Products, etc. Another Northwind benefit is that most Microsoft developers are more familiar with Northwind’s structure than AdventureWorksLT’s:
(Shippers, Suppliers, and Territories, as well as 11 views, are omitted from the preceding capture.) …
• Shawn Wildermuth’s SQL Azure's OData Support post of 3/24/2010 reports what OData features SQL Azure didn’t support as of that date:
While this rocks. it did expose some of the lack of full OData support in SQL Azure but they're working on them immediately. Michael Pizzo is working on this support and sen[t] this list of what is and isn't working currently.
Click here to read the list.
• Rob Collins delivers an overview of Microsoft SQL Azure - Microsoft Takes SQL Databases to the Clouds dated March 2010, which begins:
A brand new Microsoft SQL technology just hit the marketplace on January 1, 2010. Or maybe it would be better to say that a rebranded Microsoft technology just hit the marketplace. Azure services is Microsoft's most significant step into cloud computing. It functions as a complete platform in the cloud with computing, storage and fabric-tying individual systems into an integrated network that can balance processing load or share resources. …
Better late than never, Rob continues with a detailed answer to “What is SQL Azure.”
• See John Bodkin’s DEMO start-ups challenge Oracle, SQL with cloud-based data management tools post of 3/23/2010 in the Other Cloud Computing Platforms and Services section.
Ed Katibah’s Spatial Data Support Coming To SQL Azure post of 3/21/2010 begins:
Last Wednesday (March 17th), Dave Robinson of the SQL Azure Team announced upcoming support for spatial data in SQL Azure. You can view the announcement at the MIX Conference in the video of Dave’s presentation, Building Web Applications with Microsoft SQL Azure (go to 18:40 on the timeline for the start of the spatial data portion of his talk).
Dave reports that spatial will be available in the SU3 release of SQL Azure, tentatively scheduled for this June.
I’ve been using SQL Azure with spatial support for a couple of weeks now and it works just like the spatial data support in SQL Server 2008 – same spatial data types, spatial methods and spatial indexes. It works in SQL Server Management Studio just like you would expect (see below).
Query performance is excellent. In the above example, the query executed in under a second against a table containing over 1.8 million rows (GeoNames points-of-interest for the United States).
The only real differences that I have found between SQL Server and SQL Azure are true for all data:
1. You need to have a clustered index on the table you are inserting data into.
Note that this can be satisfied by a primary key, which in turn is a requirement for creating a spatial index. You can view this a good thing for spatial ;-)
2. You may need to break your data loads up into chunks to prevent the connection to SQL Azure from timing out.
If you are loading data from an existing SQL Server database, a great tool is the SQL Azure Migration Wizard found on CodePlex. It currently offers some minor complaints about spatial data when you run it (spatial indexes in particular) but does the right thing anyway.
If I’m not mistaken, SQL Azure will become the first pure cloud database to offer spatial support. It will be interesting to watch how this new feature is put to use…
The choice of pink is apt for a diagram resembling part of an intestine.
• See Oracle Corp. presents Addressing Attestation and SoD Head-On with Identity and Access Governance, a live Webcast, in the Cloud Computing Events section.
• Microsoft Europe’s Sopima introduces contract management ‘in the cloud’ case study describes a Finnish company’s BizSpark entry:
Microsoft BizSpark member Sopima Oy, has launched an innovative business contract service. Use of the Microsoft Azure platform has helped rapid deployment while reducing capital expenditure.
Program Fast Facts
Sopima needed a low-maintenance, low-cost solution for launching its contract life-cycle management application. It also wanted to provide customers with a secure, scalable, and high-performance service.
Sopima chose the Windows Azure platform for its cloud computing-based Sopima Online Contract Bank.
- Reduced costs and faster deployment
- Gives Sopima customers a cost-effective contract management service
- The Microsoft relationship has provided other benefits, including visibility and networking with potential partners, customers and investors
Helsinki-based start-up Sopima wanted to launch online solution for managing business contract life cycles, but needed to minimise its capital investment and wanted a fast route to deployment. To achieve this, the company chose the Windows Azure platform, which has removed barriers that would have otherwise prohibited Sopima’s entry into this competitive market. As a result, Sopima has introduced the Sopima Online Contract Bank which offers customers an affordable monthly subscription that appeals to a wide customer base. Furthermore, Sopima estimates that, without the Windows Azure platform, it would have had to hire additional full-time staff members at an annual cost of approximately 367,300 EUR (500,000 USD).
It is not surprising that contract management services are a fast-growing market: companies typically have hundreds or even thousands of contracts each year, covering a variety of arrangements with customers, suppliers, partners and employees. Contracts can also involve multiple stakeholders within an organisation – sales, administration and legal departments for instance - so managing contracts can quickly become time-consuming and inefficient, potentially leading to delays and complex negotiations. Also, companies often share contract documents using email, which brings the additional risk of information being stolen or compromised, as well as being unwieldy to manage.
• Riitta Raesmaa tells more about the preceding project in his Guest Blog: Sopima's Story post:
Sopima’s story started in January 2009 as a result of the daily struggles me and my business partners were having with contract creation and negotiations, and also to simply just search for the relevant information. I noticed that our existing ERP and CRM systems did not help much as there was a gap in the sales process right after the deal is agreed and before the contract documentation and more detailed negotiations begin.
This gave us the idea to create Sopima. At the moment we have a team of 15 and are simultaneously with the service building an ecosystem of partners around it. My role is to help build customer service, create an effective product management set-up and also to co-ordinate our communications.
So what exactly do we do? We have identified three major challenges we're now solving; poor efficiency in handling contracts, poor management of existing contracts, and poor co-operation and communication between business and legal. We are looking to revolutionize the way organizations control, create, negotiate and utilize its contracts. Our promise is to make contract management far more efficient and streamlined for any organization - also small and medium-sized businesses - thus helping them to grow and gain competitive advantage via good contracting.
What does it mean in practice? We take a different approach to the entire contract management process: we’re not an enterprise application that requires an IT project and contract professionals to make it happen. Our service consists of a smart and secure online contract bank, contracting best practices, and from autumn 2010 also online negotiation tools.
The value is brought to the customer by shortening the time to negotiate deals, saving time in daily tasks, and enabling transparency with extensive search and reporting on all contract assets. Sopima also takes risk management to a new level; no more expensive lessons in neglected or forgotten commitments! …
Riitta is a partner and co-founder of Sopima, a Finnish SME and part of the Microsoft BizSpark programme.
tbtechnet posted Hosted Remote Technical Support S+S – Keeping It One-click about RapidAssist on 3/27/2010:
There are several great remote technical support solutions available. Often, however, these solutions do not take in to account the completely non-technical end user and either these users' technophobia or the users' emotional state (just fix the darned thing!).
For home "power" users helping fellow home non-technical users, knowing the externally assigned IP address of the PC needing work can be good enough to remotely connect.
For users behind a NAT firewall or for companies offering remote technical support, a one-click experience for the end user is critical. These users do not want to be told to click through more than two steps and “type in this” or “make sure you are logged on as root or admin”.
One example I've used for five years without fail is from www.nteras.com called RapidAssist. A user is emailed or IM'd a web link, the user clicks on the link and then RapidAssist connects, asking the user for permission for a remote tech to connect. The screen performance is very fast, RapidAssist works fine with any firewall and I like the screen markup where I can show a user what I'm doing.
RapidAssist can be used via the nTeras hosted Windows environment or it can be self-hosted which is nice for companies that operate remote technical support operations.
Check out RapidAssist - their per-technician licensing is super easy and low cost. https://www.rapidassist.com/signup.aspx
Steve Marx apologizes in his Do Initialization in OnStart() post of 3/26/2010:
I’m embarrassed that I got this wrong in my blog post from a couple weeks ago about “Using other Web Servers On Windows Azure” (with the same code I showed in that week’s episode of Cloud Cover). In my code from a few weeks ago, I was initializing a web server (Mongoose) in the
Run()method of my worker role, when it really should have been in
OnStart(). To understand why this is a mistake, let’s take a look at the phases of the lifecycle of a Windows Azure role instance:
OnStart()– called when it’s time to do initialization
Run()– where you do your work (expected to run forever)
OnStop()– where you can do “graceful shutdown” (which is a bit overrated)
Until your code returns from
OnStart(), Windows Azure marks your role instance as “busy.” When a role instance is “busy,” no traffic is sent to it by the load balancer, and it does not appear in the
RoleEnvironment.Roles["whatever"].Instancesenumeration, which means internal traffic won’t get sent to it either. This allows your role instance to do its initialization without worrying about traffic coming in.
Once your role instance returns from
Run()gets called. At this point, your role instance is in the “ready” state, which means it's ready to receive traffic. In the case of starting a web server, you really don’t want traffic being sent to you before the web server is listening for that traffic. For that reason, the right place to start your web server (and do other initialization) is in
It’s nice to see Steve posting again.
David Makogon’s Azure: How to activate the MSDN Premium Special Account post of 3/26/2010 is an illustrated tutorial that similar to my How to Create and Activate a New Windows Azure and SQL Azure Account or Upgrade an Existing Account of 1/7/2010:
When setting up your Azure account, one thing you’ll need to do is select an Azure product to add to your shopping cart. Currently there’s only one product type available to the general public: Azure Platform Introductory Special. This is essentially a pay-per-use account, with a 25 free monthly compute-hours, one SQL Azure database for 3 months, and 500MB in/500MB out per month. Beyond that, you’re paying standard Azure rates. You can see the rate breakdowns here.
If you’re an MSDN Premium subscriber, you have a significantly-better offer available: Windows Azure Platform MSDN Premium. This plan offers 750 monthly compute-hours, 3 SQL Azure databases, and 7GB in/14GB out per month, for 8 months (see all details here). However, it’s not exactly easy to get this offer activated. Here’s how: …
Tony Bishop asserts “Latency will affect the quality of your delivery in the cloud...” in his Enterprise Cloud Design and Understanding Latency post of 3/25/2010:
Design of enterprise clouds incorporate multiple dimensions (security, data,service brokering, infrastructure management, etc..) and one of the most critical to understand is the impact of latency. With Network vendors starting to provide 10GigE connections, switches and fabric, and given the exponentially increasing demand for bandwidth, enterprises will buy this equipment.
Design considerations for eterprise clouds must be aware and accomodate for applications that can gobble up ubiquitous and on-demand bandwidth of cloud delivery model. It is becoming clear that those responsible for the applications in datacenters AND responsible for building Cloud like delivery models should also be concerned about the proximity of collaborating applications and the number of hops critical transactions take.
The importance of this can be better visualized in FEET.
10Gig E means that the communication medium will transmit 10 billion bits per second, but what does a billionth of a second mean to a message? It means about 11 3/4 inches, almost a foot. A message response time of 40 milliseconds between two virtual machines, which would be considered important to achieve, translates to about 39 million feet, equaling about 7,451 miles, or about one third around the world. While this seems like plenty of speed to play with, it is important to remember how much wiring goes into a single computer (or network switch) and the time involved in message translation and protocol switching. …
Tony is the Founder and CEO of Adaptivity.
James Urquhart’s Understanding cloud and 'devops'--part 2 post of 3/27/2010 to CNet’s Wisdom of Clouds blog begins:
In the first part of this three-part series on cloud computing and the convergence of development and operations known as "devops," I explained how cloud computing is shifting the unit of deployment from the server to the application. This fundamental change in the focus of operations is having a profound effect on the nature of IT operations.
Why? The answer begins with understanding the relationship between applications, services and data (aka "payloads"), and cloud services. The infrastructure and platforms that you find in cloud computing are designed specifically so they can handle as wide a variety of functional needs as possible within the stated purpose of the service.
Infrastructure services, such as Rackspace CloudServers, try to handle as many x86-based applications as they possibly can, within constraints like networking architecture, service latency, available capacity, etc. Heroku, a Ruby on Rails platform service provider, tries to support as many Ruby applications as it can; as long as its Ruby, there's a great chance it will run on Heroku with little or no modifications.
A generalized infrastructure service serves many application architectures
Thus, these services are designed so that they anticipate as little as possible about any valid payload delivered to them. They do allow configurability, to varying extents, but they must be told what to do.
So, what tells them what to do? …
Marine scene credit: Flickr/Phillip Capper, diagram: James Urquhart.
Christian Verstraete explains the need for Integrating Cloud and Enterprise data in this 3/26/2010 post to HP’s Connect with Others blog:
Despite all the hype in Cloud, despite Gartner's prediction that "by 2012 20% of businesses will get rid of all IT assets as they embrace cloud", large enterprises will not drop their ERP implementations any time soon. And guess what, their key data is embedded in their ERP systems. As David Linthicum points out in an excellent blog post titled: "The data-integration buzzkill for cloud computing", moving any business relevant functionality to the cloud requires addressing the issue of integrating the cloud based applications with the enterprise IT systems.
Identifying integration mechanisms is critical for the adoption of the hybrid cloud model, where public and private clouds are integrated to address the variable needs of enterprises. Discussing the latest RSA conference, Christine Dunlap points out in her blog post "Hybrid Clouds hit Data Centers", that security and infrastructure providers realize the importance of private cloud as a first step towards moving to public ones. Linking private and public cloud data is not only an issue related to privacy and legal requirements around the location of data, it is also an operational need.
Starting from the premise that CIO's and CEO's are not ready to put all their data in the cloud, there are two possible approaches to date:
- Keeping all the data in the private cloud and developing a mechanism for the public cloud functionality to fetch the data out of the private cloud when required (single location approach)
- Duplicating some data in the public cloud and synchronizing the data between the two locations.
Let's look at each of those in more details, but first let's point out that most companies today will only allow a small portion of their data to be available in a public cloud. This demonstrates the need for enterprises to clearly identify the confidentiality nature of each data item. It's a data classification exercise, a prerequisite for moving to a public cloud beyond initial proof of concepts. …
The Federal Trade Commission held a roundtable -- actually a series of talks and panels -- last week on the issue of privacy. The commission, it seems, is worried that rules to protect privacy have not kept up with technology. But is government in general and the FTC, in particular, the right place to create privacy rules? Should there be privacy rules at all?
It was a man I've never met, and hadn't even heard of until a couple of weeks ago, who started me down the path to this thought.
Tim Cole (the right-hand half of Kuppinger-Cole) wrote about Sven Gábor Jánszky who is the founder of 2B Ahead. He saw Jánszky on Germany's premiere news show (and asked "How often do identity gurus in the U.S. get to air their views on '60 minutes'?") and was intrigued by his premise.
Jánszky's premise is relatively simple: he thinks that the concept of the state protecting people's privacy is so 20th century. "They want to share their personal information", he says, and it's the job of business to help them do it in a controlled fashion. He thinks it's high time the industry takes the lead in creating a system that will allow everyone to distribute personal information freely, but retain a final say in where it goes and how it's used. The role of government, Jánszky says, is also simple: stop trying to build walls around the consumer and instead focus on passing laws that enable companies to use personal information, provided they do so in a responsible way and with the full consent and oversight of the consumer. …
• See Oracle Corp. presents Addressing Attestation and SoD Head-On with Identity and Access Governance, a live Webcast, in the Cloud Computing Events section.
• Bart De Smet invites developers to Come and join me for an Rx talk at VISUG on April 6th in Zaventem, Belgium in this 5/28/2010 post:
As part of my three week African and European tour I have the honor to talk to the local Belgian Visual Studio User Group (VISUG) on April 6th in the Microsoft Belux offices in Zaventem, Belgium. Seats are limited, but there’s still time for you to register. More info can be found here. Oh, and there will be catering as well :-). Other opportunities to see me are on TechDays Belgium and DevDays Netherlands, which are both held next week. I’ll post resources about Rx talks to my blog later on and hope to find the bandwidth to write an extensive series on the topic, so stay tuned!
Oracle presents a timely event featuring the Burton Group's, Kevin Kampman, who will provide an overview of the latest technology for identity management. Get guidance on compliance, security, identity management and other topics and participate in a live Q&A.
• Bruce Kyle invites you to See Microsoft Research Innovations Videos from TechFest 2010 in this 3/27/2010 post and includes links to these two cloud-related videos:
To make cloud computing work, we must make applications run substantially faster, both over the Internet and within data centers.
Inside the Cloud: New Cloud-Computing Interaction
With cloud computing, users can access their personal data anywhere and anytime. Cloud mouse will be a secure key to every user’s cloud data. And, with six degrees of freedom and with tactile feedback, the cloud mouse will enable users to orchestrate, interact with, and engage with their data as if they were inside the cloud.
Microsoft Research’s annual TechFest event showcases solutions to some of the world’s most challenging technical problems. It provides a strategic forum for Microsoft researchers to meet with the broader group of Microsoft employees and product managers.
• Colin Clark’s IaaS and Building a Private Cloud post of 3/28/2010 describes an event-processing application to be run under Eucalyptus and Ubuntu:
I was speaking with a company last week that would like to get into cloud event processing. For the sake of discussion, I’m going to define ‘cloud’ as the ability to dynamically, and upon demand, use more or less compute, storage, or network capacity. This is often referred to as ‘elasticity.’ I’m also going to add a few other requirements; this cloud must be able to:
- Host operations for a number of customers, all accessing the same data, but in different ways,
- Provide access to a lot of big data (see #3 – it’s all stored too),
- Able to handle messages rates approach 1MM per second (yes, that’s a million messages per second),
- Do something with those messages before storing them (in fact, we’re not even worried about storing them),
- And while we’re doing something with those messages, relate them to previously stored messages.
And I’m going to define cloud event processing as, ‘using many varieties of event processing; including complex event processing (CEP), map/reduce, and event, or message, driven agents to process events.’ Using DarkStar, we’re able to deploy these various forms of event processing without regard for underlying storage, compute or network – the event processing services are simply deployed and begin processing; if a particular service needs more resources, it asks for them and when it receives them, it uses them. …
Our recent work with Twitter will be our first deployment in this cloud infant. Using DarkStar, we’re able to analyze the Twitter feed to sense and respond to opportunities and threats. This relatively simple project includes components of event driven agents, NoSQL storage, CEP sliding windows & aggregation, visualization, map/reduce and analytics. (For those of you who’ve been reading all along, you’re asking, ‘analytics?’-we didn’t see any of those Colin! – and you’re right, you didn’t – we’ll share those when we’re ready.)
We’ll be starting off with some bog standard Intel hardware, Eucalyptus, and the Ubuntu Enterprise Cloud. There’s a white paper available on Eucalyptus’s site that details our initial approach.
• John Bodkin reports “FathomDB, Cloudscale look to solve database problems” in his DEMO start-ups challenge Oracle, SQL with cloud-based data management tools post of 3/23/2010 to NetworkWorld’s Data Center blog:
Two start-ups launching at DEMO are offering cloud-based alternatives to traditional database management systems, saying today's databases are too expensive and too difficult for business users to understand.
FathomDB and Cloudscale made their six-minute pitches during the afternoon cloud computing session at DEMO Spring 2010 Monday, taking two different approaches to a similar problem. Cloudscale is trying to give non-technical business users the ability to build "big data" applications right from Microsoft Excel, while FathomDB is offering a relational database service that runs on the Web.
"Today is the age of big data," said CloudScale CEO and founder Bill McColl. "Data is growing exponentially everywhere. … Excel is the world's No. 1 tool for processing and analyzing data, with hundreds of millions of users. But for big data, Excel is nowhere near enough."
Cloudcel, the service offered by Cloudscale, will let users create applications that processes billions of rows of data, "something that would normally take days to compute, and you get the results back in minutes," McColl said.
Cloudscale does not call its Excel-based service a database management system. Instead, it says Cloudcel is "the next major step" after SQL databases and parallel processing tools such as MapReduce and Hadoop.
FathomDB, on the other hand, is a database-as-a-service offering that runs on the Rackspace and Amazon EC2 cloud computing platforms. Prices range from roughly two cents an hour to $3 an hour for MySQL database instances.
FathomDB founder and CEO Justin Santa Barbara said he wants to solve the problem that "SQL doesn't scale," without charging Oracle-like prices. The advantages FathomDB claims include managed backup and monitoring tools, performance tracking, and use of standard database (MySQL) so users don't have to learn a whole new system. …