Wednesday, March 24, 2010

Windows Azure and Cloud Computing Posts for 3/24/2010+

Windows Azure, SQL Azure Database and related cloud computing topics now appear in this weekly series.

 
Note: This post is updated daily or more frequently, depending on the availability of new articles in the following sections:

To use the above links, first click the post’s title to display the single article you want to navigate.

Cloud Computing with the Windows Azure Platform published 9/21/2009. Order today from Amazon or Barnes & Noble (in stock.)

Read the detailed TOC here (PDF) and download the sample code here.

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. 

Azure Blob, Table and Queue Services

CloudHarmony’s Cloud Storage Showdown Part 2 - What is the best storage for your cloud server? post of 2/27/2010 (recently updated) analyzes data transfer performance of a variety of cloud service providers and hosting services, including Windows Azure blobs:

In the previous post we discussed cloud storage for consumers. Probably a more common use case for cloud storage is to enable backups and/or extended storage from cloud servers and platforms. Over the past month, we have used our network of 25 global servers running in various public clouds to measure bandwidth throughput and latency to and from various cloud storage services including Microsoft's Azure Blob Storage, Amazon's Simple Storage Service (S3), SoftLayer's CloudLayer Storage, Nirvanix Storage Delivery Network, Rackspace Cloud Files, and Box.net.

We conducted these bandwidth tests by reading and writing a 3MB test file (10MB for storage services in the same cloud such as EC2 to S3) to/from each storage services at random times twice daily. The results are separated by cloud server provider. The table displays all of the storage services tested within that cloud ordered by fastest downlink. We also tested storage in Microsoft's Azure platform.

The purpose of this test wasn't to measure the maximum throughput capacity between server and storage service, but rather to provide a comparison between different storage services. The 3MB test file is not sufficiently large for maximum capacity to be determined (for same cloud storage services the throughput will be more accurate because of the larger 10MB file size). Actual throughput for larger files will most likely be higher than the throughput calculations displayed here.

Following are CloudHarmony’s examples of Windows Azure data transfer performance:

South Central US (TX)

North Central US (IL)

North Europe (Amsterdam)

Southeast Asia (Singapore)

Cloud Storage Showdown Part 1 - Cloud to Consumer provides additional details on the techniques used.

<Return to section navigation list> 

SQL Azure Database (SADB, formerly SDS and SSDS)

My Enabling and Using the OData Protocol with SQL Azure post of 3/23/2010:

…shows you how to enable the OData protocol for specific SQL Azure instances and databases, query OData sources, and display formatted Atom 1.0 data from the tables in Internet Explorer 8 and Excel 2010 PowerPivot tables. A later post will describe using the OData protocol with SharePoint 2010 PowerPivot tables.

AdventureWorksAtomTableList600px_thu[6]

and continues with the instructions for munging OData content in Excel 2010 PowerPivot windows:

ProductsInPowerPivotWindow600px

(Repeated from Windows Azure and Cloud Computing Posts for 3/22/2010+ due to importance.)

David Robinson reports The SQL Azure Team is hiring in this 3/23/2010 post:

Are you passionate about the cloud? Do you think that data is cool? Are you looking to join one of the best teams at Microsoft? The SQL Azure team is growing and we are looking for talented Program Managers, Developers and Testers to join our team. Want to learn more about the opportunities? Check out the list of job postings here and either apply directly on the site or drop us an email @ cstref@microsoft.com.

The fact that the team is hiring bodes well for future SQL Azure features.

<Return to section navigation list> 

AppFabric: Access Control and Service Bus

The “Geneva” Team explains Using the Windows Identity Foundation SDK with Visual Studio 2010 RC in this 3/22/2010 post:

There are some known issues with using the WIF SDK on VS 2010 RC that do not exist with VS 2008. When VS 2010 is released, we expect to refresh the SDK to resolve these problems, but in the meantime, we have some simple guidance for using the SDK with VS 2010:

    • Request Validation …
    • Assembly References …

<Return to section navigation list>

Live Windows Azure Apps, APIs, Tools and Test Harnesses

The Windows Azure Team officially (and belatedly) announced Windows Azure Toolkit for Facebook Now Available on 3/24/2010:

One of the exciting announcements we made last week at SXSW Interactive 2010 was the release of the Windows Azure Toolkit for Facebook. This new toolkit, built by Thuzi in collaboration with Microsoft, enables developers to rapidly develop Facebook applications on Windows Azure.

To see the toolkit in action, check out Thuzi.com CTO Jim Zimmerman's session, Facebook Apps in Windows Azure, at Mix10 last week where he showcased live Facebook applications for Outback Steakhouse and CloudPoll that were both built using the Windows Azure Toolkit for Facebook.

The toolkit includes:

To get started, you'll need to:

Let us know what you think by posting a comment to this post; how are you planning to use the toolkit and what additional resources do you need to get started?

Jim Nakashima explains a workaround for “OutputPath Property is not set for Project” Error when building a Windows Azure Cloud Service in VS 2010 on 3/14/2010:

If you’ve even seen the following error when trying to build a Windows Azure Cloud Service Visual Studio 2010:

OutputPath property is not set for project 'CloudService1.ccproj'.  Please check to make sure that you have specified a valid combination of Configuration and Platform for this project.  Configuration='Debug'  Platform='HPD'.

The solution is to delete the Platform environment variable that may have been added to your machine as it conflicts with an environment variable of the same name that MSBUILD uses. (more info here)

image

This environment variable is added on HP machines and does impact a number of different scenarios with Visual Studio and Expression Blend.

Eric Nelson’s Rob Blackwell on interoperability and Azure interview of 3/23/2010 discusses writing Azure apps with Java and Ruby:

At QCon in March we had a sample Azure application implemented in both Java and Ruby to demonstrate that the Windows Azure Platform is not just about .NET. The following is an interesting interview with Rob Blackwell, the R&D director of the partner who implemented the application.

UK Interoperability Team Interviews Rob Blackwell, R&D Director at Active Web Solutions.
Is Microsoft taking interoperability seriously?

Yes. In the past, I think Microsoft has, quite rightly come in for criticism, but architects and developers should look at this again. The Interoperability Bridges site (http://www.interoperabilitybridges.com/ ) shows a wide range of projects that allow interoperability from Java, Ruby and PHP for example.

The Windows Azure platform has been architected with interoperable APIs in mind. It's straightforward to access the various storage facilities from just about any language or platform. Azure compute is capable of running more than just C# applications!

Why is interoperability important to you?

My company provides consultancy and bespoke development services. We're a Microsoft Gold Partner, but we live in the real world where companies have a mix of technologies provided by a variety of vendors.

When developing an enterprise software solution, you rarely have a completely blank canvas. We often see integration scenarios where we need to exchange data with legacy systems. It's not unusual to see modern Silverlight applications being built on top of Java or Mainframe based back ends.

Could you give us some examples of where interoperability has been important for your projects?

We developed an innovative Sea Safety system for the RNLI Lifeboats here in the UK. Commercial Fishing is one of the most dangerous professions and we helped developed the MOB Guardian System which uses satellite technology and man overboard devices to raise the alarm when a fisherman gets into trouble. The solution is implemented in .NET running on Windows, but without interoperable standards, it would have been impossible to communicate with the satellite gateway technology. For more information, please see the case study: http://www.microsoft.com/casestudies/Case_Study_Detail.aspx?CaseStudyID=4000005892

More recently, we were asked to build a web site to accompany the QCon 2010 conference in London to help demonstrate and promote interoperability. We built the site using Java and Restlet and hosted it in Windows Azure Compute. The site accepts feedback from visitors and all the data is stored in Windows Azure Storage. We also ported the application to Ruby on Rails for demonstration purposes. Visitors to the stand were surprised that this was even possible.

Why should Java developers be interested in Windows Azure?

Windows Azure Storage consists of Blobs, Queues and Tables. The storage is scalable, durable, secure and cost-effective. Using the WindowsAzure4j library, it's easy to use, and takes just a few lines of code. If you are writing an application with large data storage requirements, or you want an offsite backup, it makes a lot of sense.

Running Java applications in Azure Compute is straightforward with tools like the Tomcat Solution Accelerator (http://code.msdn.microsoft.com/winazuretomcat )and AzureRunMe (http://azurerunme.codeplex.com/ ).

The Windows Azure AppFabric Service Bus can also be used to connect heterogeneous systems running on different networks and in different data centres.

How can The Service Bus be considered an interoperability solution?

I think that the Windows Azure AppFabric Service Bus is one of Microsoft’s best kept secrets. Think of it as “a globally scalable application plumbing kit in the sky”.

If you have used Enterprise Service Buses before, you’ll be familiar with the concept. Applications can connect to the service bus to securely exchange data – these can be point to point or multicast links.

With the AppFabric Service Bus, the applications can exist anywhere that has access to the Internet and the connections can traverse firewalls. This makes it easy to extend or scale your application or reach out to other networks and technologies.

For example, let’s say you have a SQL Server database running on premises and you want to expose the data to a Java application running in the cloud. You could set up a point to point Service Bus connection and use JDBC. Traditionally this would have been difficult or impossible without punching holes in firewalls and compromising security.

Rob Blackwell is R&D Director at Active Web Solutions, www.aws.net , a Microsoft Gold Partner specialising in leading edge software solutions. He is an occasional writer and conference speaker and blogs at www.robblackwell.org.uk.

Joseph Albahari’s Webcast: LINQPad Version 2 and Beyond of 3/2010 announced built-in LINQPad support for SQL Azure and WCF Data Services, the .NET Implementation of OData, as well as SQLite.

Aleksey Savateyev announced RCA Framework and Sample Released to the Web on 1/31/2010, which I missed when posted:

I've finally published to MSDN what we've been working with our partner Murano Software for the last couple of months - Rich Cloud Application Framework and Sample. This is a proof of concept (POC) application based on RCA concepts I described before

To summarize - the RCA framework is contained entirely inside the POC solution and takes form of server-side Azure components and client-side Silverlight components. It provides best practices on how to build scalable applications with rich UX. It has  following components provided in a single package:

1. Scalable duplex notification infrastructure working with Azure and Silverlight 3
2. MVVM implementation in Silverlight 3
3. Data access implementation allowing Silverlight 3 apps to seamlessly access Azure Storage just like any WCF Data Source
4. Live Id Authentication and Authorization with Silverlight and Azure storage

The sample implemented on top of the framework to illustrate its capabilities is Product Support Online - a simple product support and feedback system which also provides reference Azure+Silverlight implementation for the following collaborative features:

1. Problem report and product feedback tracking
2. User profile management and administration
3. Peer-to-peer messaging
4. Rating system covering users,  their reports and comments
5. Attachment management system
6. Usage statistics – both in-place with Silverlight charts and outside with site analytics
7. Item search, both in-place and with providers such as Microsoft FixIt

The v.next of RCA POC will also include following features made possible with release of Silverlight 4 RC:

1. Full out-of-the-browser support (caching and fully functional offline mode a-la Outlook)
2. Using SQL Azure for storing messages and work items
3. Printing support for lists of discussions and work items being exchanged in the system
4. Integration with mic/webcam in SL4 for more effective collaboration
5. Using Silverlight 4 UDP multicast for peer-to-peer work to avoid heavy traffic (and costs) with Azure when possible

Product Support Online sample is also deployed live in Windows Azure: http://pso.cloudapp.net. Give it a try! [Emphasis added.]

Full source code is published on MSDN Code Gallery under MS-PL license and is free to use in your own social networking, project management and other products requiring collaboration features such as these. Enjoy! 

Return to section navigation list> 

Windows Azure Infrastructure

The Windows Azure Team announced Changed Limit on the Number of Applications Per Windows Azure Subscription from 20 to 6 in its 3/23/2010 post:

When we launched Windows Azure commercially last month, we allowed customers to deploy twenty applications per subscription. Each application in Windows Azure is mapped to a specific DNS name and assigned a public IP address from the Windows Azure IP range. After analyzing typical usage patterns, we have decided to lower the limit of Windows Azure applications to six per subscription in order to better serve all customers equally. This new policy goes into effect today.

If you need more than six applications, you can contact Windows Azure Support to request an increase. You can also create additional Windows Azure subscriptions, each of which will allow you to create up to six applications.
If you have an existing Windows Azure subscription with more than six applications, your applications will continue to run uninterrupted. However, if you delete one of the applications, you will not be able to create a new one until the total number of applications you have falls under six.

ToddySM offers more details in his Windows Azure Hosted Services Limit Lowered post of the same date.

Steve Clayton wrote Microsoft's Data Center in a box…more details emerge on 3/23/2010:

Welcome to Microsoft’s data centre evolution (previously called the “Generation 4 vision”). As earlier videos have shown, we’re heading towards the pre-manufacturing every part of the data centre: the IT, mechanical and electrical components as part of Pre-Assembled Components that we call an “ITPAC.” We placed one of these outside the University of Washington recently during Steve Ballmer’s cloud talk.

This pre assembled approach gives us more flexible deployment options in both speed and location for our data centres, plus it helps with environmental sustainability. All we’ll need in future is a concrete pad to land these things and the crucial Power Usage Effectiveness measure will be as low as 1.15 to 1.19. The units will house somewhere between 400 to 2,500 servers and could be built by a single person in as little as 4 days. I have ordered the parts to test this and plan to set one up in my garden (joke). 

Read more from Kevin Timmons on the MS datacenters blog.

image

And see Microsoft Envisions Ultra-modular Data Centers in PCWorld.

T10 Media, Ltd. updated its Windows Azure Review post on 3/24/2010:

This review is an update of  my first impressions of Azure I wrote back when it first launched. Having used SQL and Windows Azure for two months since its full release I thought it would be best to write a updated review (especially since there have been a few updates to Azure since the February 2010 launch).

The author continues with updated “observations in no particular order.”

<Return to section navigation list> 

Cloud Security and Governance

K. Scott Morrison announced WS-I Publishes Basic Security Profile (BSP) 1.1 in his 3/23/2010 post:

This morning the Web Services Interoperability Organization (WS-I) published the Basic Security Profile (BSP), version 1.1. This is a very significant milestone, because BSP is the definitive reference that we will all use to create secure and interoperable Web services for the foreseeable future.

I have a close personal connection to Basic Security Profile. I was one of the editors of both this specification and its predecessor, BSP 1.0. It took a lot of hard work to get this far, but the results of the our working group’s labours are important for the community. We all use Web services because of their potential for interoperability, but interoperability is only practical with the formalization that WS-I offers.

People have questioned the need for BSP in a world that already has OASIS WS-Security and the handful of WS-* standards that relate to it. The truth is, formal standards like WS-Security are so broad, complex, and new that it just isn’t realistic to expect vendor implementations to integrate perfectly. The WS-I approach differs from conventional standards efforts because the focus is strictly on promoting much needed interoperability. WS-I does not define new functionality, nor does it attempt to show people the “correct” way to use existing standards; it exists to profile existing standards by refining messages, amplifying important statements, and clarifying ambiguities so that systems from different vendors can communicate securely.

<Return to section navigation list> 

Cloud Computing Events

ComputerWorld announces SaaSCon 2010 to be held 4/6 and 4/7/2010 at the Santa Clara Convention Center, Santa Clara, CA:

The Industry’s Pre-Eminent Conference on SaaS and the Cloud

SaaScon is the destination conference in 2010 to learn everything about Software as a Service (SaaS) and related cloud-based services. Designed expressly for those engaged in purchasing, managing or developing cloud-based solutions, SaaScon will answer all of your tough questions about security, risk, integration and more.
Advance your efforts to become a secure, integrated and agile enterprise:
Through keynotes, panels and case studies featuring your peers, you will learn:

  • How can I negotiate the best contract terms for SaaS and cloud-based services?
  • How can I verify how secure my providers are?
  • What are the best techniques for integrating SaaS applications?
  • What are the evolving standards?
  • Does moving to Platform as a Service (PaaS) make sense for my organization?
  • What about TCO and ROI in the long term?
  • How can I help my IT organization adapt to a future in the cloud?

New for 2010: Special Developer Track

Developer attendees will have access to all of the IT-focused sessions above, plus a special program devoted to cloud-specific development and business topics. Sessions will cover:

  • Engineering for cloud-based applications
  • Should you migrate to PaaS?
  • Success factors for SaaS providers
  • Who’s getting funding in 2010 – a VC session

Register now

Forrester Research and Integralis will present Forrester Webinar: The Why of Cloud Computing on 3/24/2010 at 9:00 AM PDT according to this 3/23/2010 post:

Join Integralis and Forrester Principal Analyst James Staten for an information-packed presentation that will bring you up-to-date on what’s happening in cloud computing.

Get the answers you need to succeed:
• What is cloud computing?
• Who is using cloud computing today?
• How are they using it?
• What should you do today?

Click here to register for the replay.

PRWeb announces on 3/24/2010 Saugatuck CEO McNee to Present New Research at All About the Cloud Conference on May 5/10 to 5/12/2010 at the Westin St. Francis hotel in San Francisco, CA:

Cloud-based business applications (SaaS), infrastructure (IaaS) and emerging development and deployment platforms (PaaS) are dramatically reshaping the entire IT ecosystem. The combination of a lower upfront investment commitment, combined with increased business agility and potentially lower longer-term costs are driving accelerating adoption among all buyer segments (globally). At the same time, the shift to the cloud is dramatically disrupting and reshaping traditional channels, enterprise ecosystems, and routes-to-market - for on-premise ISVs, and for both traditional and pure-play Cloud Master Brands.

The broad and deep market impact of these issues is at the core of new research by Saugatuck Technology which will be unveiled by Saugatuck Technology founder and CEO Bill McNee at the upcoming All About the Cloud conference.

In the main-tent presentation entitled "Reshaping the Enterprise IT Landscape: SaaS and Cloud Go Mainstream," McNee will deliver insights and market predictions ¬from this just-completed global buyer demand study. The research will include new strategic market frameworks that focus on how quickly -mid-sized to large enterprises will adopt mission-critical SaaS, IaaS and PaaS, and what types of solutions will they be buying, building and deploying over the next three-to-five years.

Yet another cloud-computing conference (YACCC).

Amazon Web Services announces an AWS Cloud for the Enterprise Event on 4/13/2010 at the Hilton San Francisco Union Square hotel, 333 O’Farrell Street, San Francisco, CA 94012:

In this exclusive half-day event, featuring Amazon.com CTO Dr. Werner Vogels, learn how Amazon Web Services (AWS) offers enterprises a scalable, cost-effective, flexible, and secure cloud computing platform. The AWS on-demand resources combined with Amazon Virtual Private Cloud (Amazon VPC) allow you to use your choice of operating system and programming tools for moving your corporate applications into AWS, helping you spend less time procuring or managing IT resources and more time focusing on your business.

  • 10:30am – 11:00am: Doors Open + Partner & Solutions Expo
  • 11:00am – 11:10am: Opening Statements
  • 11:10am – 12:00pm: AWS Overview-Dr. Werner Vogels, Amazon CTO
  • 12:00pm – 1:00pm: Lunch
  • 1:00pm – 2:00pm: Customer Presentations & Q&A
  • 2:00pm – 2:45pm: Architecting Enterprise Applications in the Cloud
  • 15 minute break
  • 3:00pm – 3:30pm: Security in the AWS Cloud
  • 3:30pm – 4:00pm: Amazon IT Deployment in the AWS Cloud
  • 4:00pm – 4:30pm: Closing Keynote: Cloud Economies of Scale
  • 4:30pm – 6:00pm: Networking/Cocktail Reception

Peter Neupert announces that the Microsoft Connected Health Conference 2010 will be held on 5/19 and 5/20/2010 at the Meydenbauer Center in Bellevue, Washington.

The Microsoft Connected Health Conference 2010 will focus on how you can be a catalyst for driving change in healthcare, and will showcase technologies that enable a new paradigm in healthcare delivery. This year’s conference offers rich content delivered through visionary speakers, practical business and technical sessions, and networking opportunities. You'll be able to preselect attendance from multiple sessions offered in three concurrent tracks, and schedule peer-to-peer networking meetings prior to your arrival.

You'll also experience how technology is shaping the future of health by visiting the Connected Health Conference Partner Exhibit Hall, where the Microsoft Health Solutions Group team and their partners will showcase their solutions.

Registration fee to attend The Microsoft Connected Health Conference is:
Early Bird (Before April 16) $599.00
Regular (On or after April 16) $699.00

Log in with Registration Code CHCREG10 and click Agenda to check out the following Technical Breakout sessions:

May 19, 10:50AM - 12:00PM
Technical Track: Connected Imaging


We will focus on three key technical concepts in Health Solutions Group “connected imaging” solution:

  1. “Server side rendering” —enabling distribution and visualization of large datasets (high resolution CT, MR, etc.) across low bandwidth networks - We will describe the technology that enables Amalga UIS Imaging solution to provide high-performance and low-latency visualization of small and large (over 1GB) imaging studies in a distributed environment.
  2. Optimizing speed of data loading (time to first image), while keeping HW cost down—DICOM Querying and retrieving images from PACS or archives is known to have high latencies and low performance. We will describe technical solution Amalga UIS pursues to maintain high end-user performance.
  3. Connecting your PACS and/or Amalga UIS to HV for image exchange.

May 19, 1:50PM - 2:40PM
Technical Track: Population Health & Remote Monitoring


Through connecting to clinical systems, and via remote device connectivity, patient portals powered by HealthVault become the mechanism for communicating directly with your patients. This talk will focus on how patient data is imported into HealthVault and exported into clinical systems, using Amalga UIS as the example. Come learn how providers are using Microsoft technologies to implement a population health strategy with the goal of improving patient outcomes.


May 19, 3:00PM - 4:10PM
Technical Track: HealthVault Community Connect


Institutions face an increasing need to improve care team communication and connect with their patients. HealthVault Community Connect facilitates the exchange and synchronization of much-needed personal medical information and visit outcomes. HealthVault Community Connect combines the ease and familiarity of Microsoft Office SharePoint® Server with Microsoft HealthVault, a security-enhanced, flexible health solutions platform, to provide healthcare organizations with a single, secure way to connect patients, care providers, and institutions. During this session, we will provide an overview of how Miami utilizes Sharepoint, HealthVault, and Amalga UIS technologies. We will cover how our partners can customize HealthVault Community Connect to represent the brand of the institution and manage the necessary information exchanged between the institution’s facilities and departments.


May 19, 4:30PM - 5:40PM
Technical Track: Meaningful Use Standards Implementation, Integration, and Interoperability


We will describe how Amalga UIS connects to HV to send and retrieve images from patient accounts, as well as how the same connection could be accomplished for your non-Microsoft PACS.

<Return to section navigation list> 

Other Cloud Computing Platforms and Services

Sarah Perez announced Jolicloud Relaunches its Cloud OS, Now Built on Chrome in a 3/24/2010 post:

Jolicloud, one of the original standouts in the field of cloud-based operating systems, has just released their new Chrome-based web application platform as promised earlier this month. The company's operating system now features 600+ web apps, a faster browsing experience and HTML5 support, notes a company blog post. The switch in back-end platforms from Mozilla prism to Chrome is an interesting one, too, especially considering that Google's upcoming Google Chrome OS for netbooks will soon launch, supposedly with manufacturer partnerships in tow. Will Jolicloud's open source efforts at delivering an alternative end up being just as successful? Or will they become the also-ran of the forthcoming cloud computing landscape?

Jolicloud has always been an intriguing company to watch. Long before Google publicly announced its netbook-ready operating system, Google Chrome OS, Jolicloud had already envisioned a future where computers run apps over the internet instead of programs stored on a local hard drive. The company was launched in 2009 by Tariq Krim, a founder at Netvibes, the also ahead-of-its-time maker of online dashboards (a site, incidentally, also just now coming into its own thanks to the advent of the real-time web). The Jolicloud OS promises to take computing to the "cloud," the catch-all term meaning, in this case, a transition from installable applications to web services.

With its simple interface, Jolicloud lets you run a web browser and use applications like Twitter, Facebook, Gmail, Skype, Boxee, Meebo, Dropbox and hundreds of others from one webtop-type interface. Unfortunately, so will Google Chrome OS - when it launches, that is. And unlike Jolicloud, Chrome OS will have the power of the Google brand behind it, not to mention the marketing power of a company so profitable that it's literally creating new services just to have more places to advertise on the net. …

Sarah continues by asking is “Jolicloud to Benefit from Google Backlash?”

<Return to section navigation list> 

blog comments powered by Disqus