Friday, February 20, 2009

Azure and Cloud Computing Posts for 2/16/2009+

Windows Azure, Azure Data Services, SQL Data Services 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.

• Update 2/18/2009: Several additions
Update 2/21/2009 11:30 AM PST: Several additions

Azure Blob, Table and Queue Services

•• Dan Vanderboom’s Windows Azure: Blobs and Blocks post of 2/21/20909 describes an extension to the StorageClientLibrary to use blocks (BlobContainerRest.PutLargeBlobImpl) when creating blobs smaller than 4 MB.

•• Joe Gregorio of the Google App Engine Team and champion of Atom and AtomPub protocols posted Back to the Future for Data Storage on 2/19/2009. Joe explains why relational databases aren’t well suited for scalability across a distributed system. He cite’s Michael Stonebraker’s paper, "One Size Fits All": An Idea Whose Time Has Come and Gone, that posits there are common datastore use cases, such as Data Warehousing and Stream Processing that are not well served by a general purpose RDBMS and that abandoning the general purpose RDBMS can give you a performance increase of one or two orders of magnitude.

Joe concludes:

It's an exciting time, and the takeaway here isn't to abandon the relational database, which is a very mature technology that works great in its domain, but instead to be willing to look outside the RDBMS box when looking for storage solutions.

And, of course, Google’s Bigtable is “outside the RDBMS box.”

mh415 asked How to mimic the RDBMS "auto increment" feature in Azure Tables? in the Windows Azure forum and MSFT evangelist Steve Marx replied:

With the functionality in Windows Azure tables today, the only thing you can do is query and then conditional write on a "last used index" entry, which will require a minimum of two round-trips to the storage service and retry logic.  The etag tracking you get from the ADO.NET client library should protect you from your race conditions; you'll just need to handle the retries.

So the algorithm looks like this:

  1. Query "last used index" value (stored in a table)
  2. Increment value
  3. Try to conditionally write new value, repeating steps 1-3 until successful
  4. Use the new index freely, knowing no other instance will be using it

In effect, you'll have created a lock by using the conditional write to detect races.

Simon DaviesChanging the Default SQL Server Instance For Windows Azure Development Storage post of 2/17/2009 shows you how to change the Azure Table storage instance from the default localhost\SQLEXPRESS instance to another default or named SQL Server instance.

Jon Udell advances Derik’s topics (see below) to Azure Services in his Using the Azure table store’s RESTful APIs from C# and IronPython post of 2/17/2009. Jon’s “general strategy” is:

    • Make a thin wrapper around the REST interface to the query service
    • Use the available query syntax to produce raw results
    • Capture the results in generic data structures
    • Refine the raw results using a dynamic language

Derik Whittaker’s Getting data from a REST service using C# of 2/15/2009 uses a helper method with HTTP GET to return data as plain old XML (POX), text string, or in JavaScript Object notation (JSON) format.

Derik’s Posting data to a REST service using C# post of 2/14/2009 shows the code to POST the following to a generic REST service:

  1. someValue which is a string
  2. anotherValue which is a string
  3. finalValue which is an Int32

SQL Data Services (SDS)

•• The .Net and SQL Services Teams report they are Resuming New .NET Services and SQL Services Account Provisioning as of 11:12 AM PST 1/20/2009.

Was the outage in deploying Azure projects and services reported by Steve Marx in his RESOLVED: Windows Azure Outage Windows Azure forum post caused by the account provisioning hiatus?

Niraj Nagrani and Nigel Ellis are interviewed at PDC 2008 by Keith and Woody in Deep Fried Bytes’ Episode 26: Discovering Azure SQL Services podcast of 2/13/2006. Probably will emphasize SDS because Niraj is a senior product manager with the Microsoft SQL Server Technical Marketing team and Nigel is SQL Data Services Development Manager.

.NET Services: Access Control, Service Bus and Workflow

•• Maureen O’Gara’s Call for Cloud Security Guidelines Heard post of 2/20/2009 observes “Chief information security officers concerned about software services’ security in the cloud” and goes on to report:

Infosecurity Europe, which granted is a show but one takes things as one finds them, says it surveyed 470 organizations and found that 75% of them intend to reallocate or increase their budgets to secure cloud computing and software as a service in the next 12 months.

It also interviewed a panel of 20 chief information security officers (CISOs - a new ‘C') of large enterprises only to learn that they are concerned about the availability and security aspects of software services in the cloud. It said they were particularly concerned about the lack of standards for working in the cloud, SaaS and secure Internet access. All of them reportedly said they would welcome the development of guidelines.

•• David Pallman offers a two-part Introduction to Live Services:

Introduction to Live Services, Part 1: How Windows Live Fits Into Azure Cloud Computing, which “clarifies the intersection of Live Services and cloud computing.”

Introduction to Live Services, Part 2: A Guided Tour of Live Services is “a guided tour of the many capabilities in Live Services that are available to you.”

•• Wictor Wilén demonstrates Custom code with SharePoint Online and Windows Azure in this 2/20/2009 post, which describes a Worker Cloud Service for processing a SharePoint list with a SharePoint workflow in response to added documents.

Girish P’s Windows Azure bringing Cloud computing to the mainstream post of 2/19/2009 promotes Windows Live Services to “bring it all together” for developers and end users.

Folks giving presentations might want to borrow Girish’s better-than-average diagrams.

Update 2/21/2009: Girish’s diagrams originated on the How Does It Work? page of Microsoft’s main Azure Services Platform page.

Live Windows Azure Apps, Tools and Test Harnesses

•• Jason Young’s Azure – Performance, IoC, and Instances post of 2/19/2008 states that he’s “disappointed by [Azure’s] current reality” when it comes to performance. Azure’s currently in the pre-Beta stage and it’s unfair to judge the performance of even beta versions. My experience shows the Windows Azure OS to be reasonably performant; it’s Internet latency that appears to me to be the problem.

Check out my live Azure Table and Blob test harnesses, which include timing data for execution of storage operations without including time for HTTP request and response operations over my DSL connection.

•• Steve Marx suggests: Try Windows Azure Now! (Almost) No Waiting as of 2/20/2009. Steve writes that he’s:

[H]appy to report that these days you can expect to receive a token within two business days of registering. [Emphasis Steve’s.]

• Reuven Cohen’s Testing The World Wide Cloud post of 2/18/2009 describes SOASTA’s new CloudTest Global Platform. Reuven writes:

SOASTA has unveiled an ambitious plan to utilize an interconnected series of regionalized cloud providers for global load and performance testing Web applications and networks. They're calling this new service the CloudTest Global Platform, which is commercially available today, and is said to enable companies of any size to simulate Web traffic and conditions by leveraging the elasticity and power of Cloud Computing.

This probably won’t help many of us until we get a few more Azure instances.

John O’Brien and Bronwen Zande gave a Windows Azure: A developers introduction to coding in the cloud presentation to the Queensland MSDN Users Group on 2/17/2009.

The session included a demonstration of a port of John’s earlier Silverlight DeepZoom sample to Windows Azure. You can download John’s source code for the session from a link on his Qld MSDN User Group – Windows Azure talk complete post of 2/17/2009. Be sure to read John’s comment regarding edits to the configuration files and his earlier Silverlight Deep Zoom Sample Code and Silverlight Deep Zoom Sample Code Part 2 posts to understand the session code, which includes a Worker Role and a Web services.

Click here for a live Azure demonstration with images about print making from the Australian government: http://www.printsandprintmaking.gov.au/RSSFeed.ashx?mode=3&page=0&index=1&itemtypeid=3. Click the Go button at the top of the page to load the imanges, wait for their thumbnails to appear in the carousel at the bottom of the page, and then click one of the thumbnails to manipulate it in the upper pane.

Tanzim Saquib’s Building applications for Windows Azure of 11/7/2008 is an early (missed) tutorial that shows you how to build a simple ToDo list application with Azure.

Azure Infrastructure

•• Chris Capossela describes five issues he believes will be front and center for business customers as they prepare for this evolution in his The Enterprise, the Cloud, and 5 Key Drivers for 2009 post of 2/21/2009 on GigaOm. The five issues he details are:

  1. Value
  2. Due diligence
  3. Timing
  4. The right tools
  5. Trust

Thanks to David Linthicum for the heads-up on Twitter.

•• James Urquhart’s Infrastructure 2.0 and the New Data Center Culture article of 2/20/2009 for SNS News Service explains how and why:

The number of people and skill sets required to run computing is an increasing burden on corporate IT. …

It takes real expertise to tend to the routers and switches that form the basis of a network infrastructure, but most of that expertise is applied through highly manual processes. …

So IT relies on “clerks” to get the network job done. …

Virtualization also enables levels of automation that were previously impractical with highly customized physical infrastructure. As the virtual infrastructure has to be completely controlled through a computer program, it has not taken long for IT operations to begin to drive out the manual tasks that were once required to provision, maintain, recover, and retire computer servers in the past. …

The tactical IT administrator is about to become another excellent example of the effects of automation – thanks in large part to Infrastructure 2.0.

In other words, IT clerks will soon be asking “Do want fries with that?”

•• Kyle Gabhart offers 10 Steps to Successful Cloud Adoption when “Adopting your very own cloud” in this 2/20/2009 post. Kyle writes:

Adoption can be a scary process.  In your fear of doing something wrong, you may be tempted to buy a big, expensive consulting package and just have someone else handle everything.  You don’t need to do that.  Simply find a subject matter expert to serve as a mentor that can guide you through the process of pragmatically evaluating and possibly even adopting Cloud.  Along the way, make sure that this mentor is educating you and your team so that you are able to function effectively once this person has left the building

•• Gregg Ness’s The Coming Cloud Computing Wars post of 2/20/2009 claims “Cloud Isn't Hype - It's a Vendor Struggle for Relevance” as he leads with:

The cloud computing meme continues to billow as Juniper and IBM announce a cloud management partnership rumors swirl about heavy petting between VMware and shareholder/partner Cisco. A few months ago it seemed like every cloud discussion included Google and/or Amazon; now it appears that “the network infrastructure issue” has finally reared its head and ushered in networking and management leaders into the cloud conversation.

•• Christopher Hoff reviews the increasingly controversial "Above the Clouds: A Berkeley View of Cloud Computing" technical paper in his Berkeley RAD Lab Cloud Computing Paper: Above the Clouds or In the Sand? post of 2/19/2009. Chris’s critique concludes:

Given that it was described as a "view" of Cloud Computing and not the definitive work on the subject, I think perhaps the baby has been unfairly thrown out with the bath water even when balanced with the "danger" that the general public or press may treat it as gospel. …

That being said, I do have issues with the authors' definition of cloud computing as unnecessarily obtuse, their refusal to discuss the differences between the de facto SPI model and its variants is annoying and short-sighted, and their dismissal of private clouds as relevant is quite disturbing.  The notion that Cloud Computing must be "external" to an enterprise and use the Internet as a transport is simply delusional. …

However, I found the coverage of the business drivers, economic issues and the top 10 obstacles to be very good and that people unfamiliar with Cloud Computing would come away with a better understanding -- not necessarily complete -- of the topic.

Chris’s review is probably closer to my take on the paper than any other critique I’ve read so far.

•• Chris also expresses his views about What People REALLY Mean When They Say "THE Cloud" Is More Secure... on 2/20/2009. Chris writes:

Almost all of these references to "better security through Cloudistry" are drawn against examples of Software as a Service (SaaS) offerings.  SaaS is not THE Cloud to the exclusion of everything else.  Keep defining SaaS as THE Cloud and you're being intellectually dishonest (and ignorant.) …

I *love* the Cloud. I just don't trust it.  Sort of like why I don't give my wife the keys to my motorcycles. [Emphasis added.]

•• Chris Evans raises a question about the Storage Network Industry Association (SNIA) standardizing on AWS’s S3 SPI in his Cloud Computing: Common API Standards post of 2/19/2009. Chris writes:

What’s really needed, is to standardise on:

    • Security Model - users want consistency of security across cloud storage providers.  The security model needs to be consistent to provide ease of access, integration with technologies like Active Directory or LDAP.
    • Access Method - standardisation on the use of XML, REST, SOAP, FTP or other protocols to access storage.

Fortunately, Azure uses REST and SDS uses REST and SOAP protocols to access storage.

Dmitry Sotnikov points in his Gartner on Cloud and information control post of 2/18/2009 to a Gartner report entitled “Trusted SaaS Offerings for Secure Collaboration” and priced at US$195. Dmitry writes:

The report is really valuable for anyone either building clouds or cloud-related products, or considering to move sensitive data to a SaaS application.

The key areas they look into are:

  • List of typical SaaS applications which have high trust requirements.
  • Key security features which such applications should possess.
  • Transparency measures which cloud computing/SaaS providers need to implement.

Excellent report: short, to the point, and with material you can use while developing or evaluating SaaS application with trust requirements.

Simon DaviesDynamic Languages and Windows Azure post of 2/17/2009 discusses reflection and the Azure Development Fabric’s Code Access Security restrictions, as well as an implementation of Lisp called L Sharp created by Rob Blackwell at Active Web Solutions that you can read about on his blog here and try it at http://lsharp.cloudapp.net/default.aspx.

Paul Miller adds to the review traffic with his Digging into Berkeley's View of Cloud Computing post of 2/17/2009. “To understand more, [Paul] spent some time on the phone with two of the paper's authors this morning, [Armando Fox and Dave Patterson,] and the result has just been released as a podcast.”

Brenda Michelson’s Unintentional Cloud Watching -- Cloud Computing for Enterprise Architects post of 2/17/2009. Brenda spent 19 years in corporate IT, most recently as Chief Enterprise Architect for L.L. Bean. Previous to L.L. Bean, over the span of 10 years, she provided development services for insurance, banking, a chip manufacturer and a world leader in aircraft engine design & manufacturing. Brenda writes:

On "the morphing of boxes to platforms", what follows is a slide I created for last summer's ComputerWorld Data Center Directions conference.  I was asked to do a mini-presentation on server management, but as you can see, I started with a broader view of "boxes morphing to platforms" and then spoke of related management implications.

Dan’l Lewin, Microsoft’s Corporate VP of Strategic and Emerging Business Development, defines cloud computing with a 50,000-foot view of Azure in this three-minute BeetTV video (2/17/2009, thanks to Alin Irimie.)

Kyle Gabhart says the Industry [Is] Buzzing with Interest Around Cloud Computing and contributes more buzz with the slides from his The Role of Cloud in the Modern Enterprise webinar of 2/16/2009. Kyle claims that Owning Hardware is soooooo 2008 in this post of 2/17/2008, citing Fortune magazine’s Tech Daily post: "Goodbye hardware. Hello, services"

David Linthicum’s SOA needs to learn from the cloud, and the other way around post of 11/17/2009 warns that cloud hype will result in ignoring proper cloud architecture. David writes:

Cloud computing is indeed disruptive technology, and something that needs to be understood in the context of a holistic IT strategy, as well as understood, defined, and leveraged from domain to domain. The silliness that hurt the adoption in SOA is bound to infect cloud computing as well, if we let it happen. I urge you to get below the surface here quickly, else history will repeat itself.

Mike Kavis provided the backstory for David’s post (above) in his If SOA is Dead, Cloud Computing better start writing its will post of 2/12/2009.

Niraj Nagrani and Nigel Ellis are interviewed at PDC 2008 by Keith and Woody in Deep Fried Bytes’ Episode 26: Discovering Azure SQL Services podcast of 2/13/2006. There’s no explanation for the long posting delay.

Cloud Computing Events

•• Security Issues Receive Focus at IDC’s Cloud Computing Forum from OakLeaf ontains excerpts of stories by reporters who attended San Francisco’s one-day IDC Cloud Computing Forum on Wednesday 2/18/2009.

•• Cloud Computing Conference 2009 will take place 5/28 to 5/29/2009 at the the ISEP Conference Center - Instituto Superior de Engenharia do Porto (Engineering Institute of Porto), Rua Dr. António Bernardino de Almeida, 431 P-4200-072 Porto, Portugal. Free registration is here and the agenda is here. Discussion topics are:

    • Digital Identity: How could Identity 2.0 be the backbone (driving force) of cloud computing
    • Future of telecommunications: How Cloud Computing will depend on telecommunication development and network quality
    • User data protection and confidentiality: Reputation and trust, how to use old experiences and well known examples as starting points
    • Interoperability: How will Cloud Computing platforms talk together, and how users will be able to move their data among Clouds
    • IT departments perspectives and integration: How could we already start get benefits of Cloud Computing
    • User perspective: How Internet (the Cloud) will become our PC
    • Small companies and startups opportunities: How to become a Cloud Computing provider and how to use Cloud Computing to add (real) value to business.

The Cloud Computing Interoperability Forum will participate in an all-day workshop entitled "Strategies and Technologies for Cloud Computing Interoperability (SATCCI)" to be held in conjunction with the Object Management Group (OMG) March Technical Meeting on 3/23/2009 at the Hyatt Regency Crystal City, Arlington, VA.

According to his Joint CCIF / OMG Cloud Interoperability Workshop on March 23 in DC post of 2/19/2009, Reuven Cohen will present his thoughts on creation of an open unified cloud interface and opportunity for unification between existing IT and cloud based infrastructures (a.k.a. hybrid computing.)

OpSource SaaS Summit 2009, starts Wednesday 3/11/2009 at the Westin St. Francis, in San Francisco and continues through 3/13/2009. According to OpSource:

SaaS Summit 2009, the largest on-demand industry gathering in the world, is being held in San Francisco on March 11 – 13, 2009. This year’s agenda focuses on the opportunities emerging from the depths of the current economic downturn for SaaS, Web and Cloud computing companies.

Topics include:

      • Thriving, Not Just Surviving
      • SaaS Marketing in a Downturn
      • Cloud Confusion
      • Selling SaaS to the Enterprise
      • Funding the Cloud
      • Minimal Cost, Maximum Gain with Social Networking
      • SaaS Channels: Money Maker or Money Waster

OpSource recently received US$10 million funding from NTT.

2nd International Cloud Computing Conference & Expo will take place, 3/30-4/1/2009, at the Roosevelt Hotel in New York City, with more than 60 sponsors and exhibitors and over 1,500 estimated delegates from 27 different countries. The conference is gathering an array of cloud luminaries as presenters, including Amazon’s Werner Vogels as a keynoter. The Early Bird Price of US$1,695 ($300 saving) expires 2/20/2009.

2009.cloudviews.org promises to be an international conference with a lively discussion and a demonstration place of how changes are already happening. Following are the proposed discussion topics:

    • Digital Identity - How could Identity 2.0 be the backbone (driving force)  of Cloud Computing
    • Future of telecommunications - How Cloud Computing will depend on telecommunication development.
    • User data protection and confidentiality - Legal perspective.
    • Cloud Computing platforms interoperability and data management (mobility) .
    • IT departments and cloud computing integration
    • User perspective - how Internet (the cloud) will become our PC
    • Small companies and startups opportunities - how to become a Cloud Computing provider and how to use cloud computing to add (real) value to business.

What’s missing are the venue and conference dates.

Update 2/2-/2009: See the first entry of this topic (Cloud Computing Events)

Seems to me that cloud hype is overshadowed only be the number of conferences devoted to the topic.

Other Cloud Computing Platforms and Services

•• Jan Pabellon reports that Open Source Vendor SugarCRM Embraces Cloud Computing in a Big Way in his 2/22/2009 post from the Philippines. Jan writes:

Just recently SugarCRM launched a new way to meld Internet services and open source software by launching Cloud Services and Social Feeds. These new Cloud Connectors for SugarCRM allow for company and contact data residing in other cloud environments to be called and presented in SugarCRM. These services include such sites as LinkedIn, ZoomInfo and Crunchbase. The Sugar Feeds feature on the other hand provides a Facebook-like rolling set of notices and alerts based on activity within SugarCRM.

•• James Urquhart reports (along with many others) on 2/21/2009 that Ubuntu now has 'cloud computing inside', which probably would be a more accurate statement in the future tense.

•• Amazon Web Services has updated SimpleDB’s Select API with the Count(*) aggregate function and will now return the partial result set of entities retrieved during the five-minute time limit, as reported in this Announcing Count and Long Running Queries release note of 2/19/2009.

If SimpleDB can return Select Count(*) Where … aggregate values why can’t SDS and Azure Tables?

AWS’s New WSDL Coming Soon post of the same date announces “a new WSDL version which excludes the Query and QueryWithAttributes APIs” in favor of the Select API.

•• Thorsten vok Eiken’s The Skinny on Cloud Lock-in post of 2/19/2009 describes Thorsten’s Lock-in Hypothesis: “The higher the cloud layer you operate in, the greater the lock-in,” which posits that vendor lock-in increases as you move from Infrastructure as a Service (IaaS, e.g. Amazon Web Services) to Platform as a Service (PaaS, e.g. Azure or Google App Engine) to Software as a Service (SaaS, Salesforce.com).

The most interesting element of the post were the results of a survey RightScale recently conducted with their customers and prospects what concerned them most about lock-in:

What piqued my interest is RightScale’s confirmation of my conclusion that data lock-in is more important than vendor lock-in. However, I was surprised that concern for data lock-in outweighed single-vendor worries by 3.5:1. (Image courtesy of RightScale.)

•• Andrew Conry-Murray’s A Cloud Conservative post of 2/19/2009 reports that the Vanguard Group, Inc. chose a private cloud. Andy quotes Bob Yale, who runs technology operations for the company and is very concerned about client data in a public cloud:

"You read a lot about the providers and their security, but given the nature of our business and the criticality of our client data, we aren't comfortable that providers bring the same rigor around data protection as we do. We aren't ready to give up control of our data."

•• rPath, VMware and BlueLock will demonstrate how to maximize application portability, deployment options in virtual and cloud environments in a Webinar on 2/25/2009 according to a press release of 2/19/2009. Erik Troan, founder and CTO, rPath; Wendy Perilli, director of product marketing, VMware; and Pat O’Day, CTO, BlueLock will deliver “Blending Clouds: Avoiding Lock-In and Realizing the Promise of Hybrid Compute Environments — Today,” a webinar and live multi-cloud demonstration. You can register for the event here.

Paul Miller podcasts a 40-minute conversation with Armando Fox and Dave Patterson of Berkeley’s RAD Lab about their Above the Clouds: A Berkeley View of Cloud Computing, which has gathered considerable notoriety among the clouderati. You can listen to the “cloudcast” here.

When I was a kid in Berkeley, RAD Lab meant the radiation laboratory, a nickname for the cyclotron at the top of Strawberry Canyon.

Krishnan Subramanian describes the San Diego Computer Center’s new National Science Foundation’s grant in his Academic Research On Cloud Computing Gets Funded post of 2/18/2009. Krishnan quotes HPC Wire:

Researchers from the San Diego Supercomputer Center (SDSC) at the University of California, San Diego, have been awarded a two-year, $450,000 grant from the National Science Foundation (NSF) to explore new ways for academic researchers to manage extremely large data sets hosted on massive, Internet-based commercial computer clusters, or what have become known as computing "clouds."

John Foley wants more transparency from Amazon about its plans for Amazon Web Services (AWS), data center location and construction schedule, and granular income data for AWS. In his Amazon's Cloud Is Too Cloudy post of 2/18/2009, Foley writes:

So I was glad to see the interview with TechFlash, as it presented an opportunity to learn more about Amazon's groundbreaking IT service model. In the Q&A, Jassy talks about enterprise adoption of AWS, service level agreements, and how he and a group of buddies get together every month to scarf down chicken wings at the Wingdome.

But Jassy clams up when asked about the size of AWS and future plans. …

As I pointed out in a post a few days ago, Amazon is growing in influence in the IT industry, having struck agreements with IBM, Microsoft, Oracle, Red Hat, and Sun in the past 12 months. As Amazon's reach expands, its reticence becomes a bigger issue. How can IT pros, with confidence, turn over their IT workloads to a service provider that provides such limited visibility into its core operations?

Krishnan Subramanian’s Asterisk On The Clouds post of 2/17/2009 explains how open-source PBX and Telephony platform Asterisk can manage voice services from the cloud. He points to two articles that explain how to install and run Asterisk on Amazon EC2:

John Foley takes on VMware’s vCloud “initiative” in his VMware To Take Its Next Steps Into The Cloud post of 2/17/2009. John writes:

VMware’s work in private clouds entails bringing some of the capabilities of public cloud services, including self-service provisioning and usage-based billing, to the corporate data center. It’s also working on securing private clouds by isolating virtual machines in environments where multiple business units share IT resources (which describes most companies).

George Crump discusses performance issues with WebDAV, HTTP, NFS and CIFS in his Getting Data To The Cloud post of 2/17/2009 and points to his Web cast on Cloud Storage Infrastructures to learn more.

Reuven Cohen’s Describing the Cloud MetaVerse post of 2/17/2009 uses the Cloud MetaVerse term to describe the inter-relationships between the world of various internet connected technologies and platforms.

Reuven’s Red Hat Announces It's Kinda Interoperable, Sort Of, Maybe? post of the same date is skeptical of the capability of the

[R]eciprocal agreement with Microsoft to enable increased "interoperability" for the companies’ virtualization platforms. Both companies said that they would offer a joint virtualization validation/certification program that will provide coordinated technical support for their mutual server virtualization customers. …

Digging a little deep[er] it appears that Red Hat and Microsoft don't fully grasp what Interoperability actually is or more to the point who it benefits. But rather they seem to taking advantage of the buzz that interoperability has enjoyed in 2009. So now rather then slapping a "cloud" logo on your product, you slap an interoperable logo on there too.

Wednesday, February 18, 2009

LINQ and Entity Framework Posts for 2/16/2009+

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

Entity Framework and Entity Data Model (EF/EDM)

Danny Simmons describes associations between Room and Exit entities in his D3: Modeling Part 1 – Real-World Relationships post of 2/18/2009 for his DPMud multi-user dungeon application that uses an EDM as its data source.

Julie Lerman’s Logging Entity Framework Queries to Look for Perf Improvement Opportunities post of 2/16/2009 discusses using ObjectQuery.ToTraceString, SQL Profiler, and the eSqlBlast tool on Code Gallery to validate the T-SQL that EF sends to SQL Server.

She also offers a copy of The Acknowledgements from her book.

Doug Purdy’s “M”ix09 (Using “M” to write REST services and clients) post of 2/11/2009 includes the following diagram of “Oslo” Development Domains, which includes the Entity Editor and MEntity textual DSL (empahsis added):

See the entry for Doug’s post in the ADO.NET Data Services (Astoria) section for more details about the MIX09 session named DEVELOPING RESTFUL SERVICES AND CLIENTS WITH “M”.

LINQ to SQL

David Hayden’s updated LINQ To SQL and Executing ADO.NET Commands - O/R Mappers post of 2/16/2009 compares using LINQ to SQL with SqlClient.SqlConnection and .ExecuteNonClient for parameterized INSERT operations and concludes: “Using LINQ To SQL is much simpler by far.”

LINQ to Objects, LINQ to XML, et al.

Rhys Parry’s LINQ and Deferred Execution post of 2/17/2009 is yet another exposé of issues with LINQ well-known deferred execution feature. Rhys’s earlier LINQ-related posts are LINQ and Extension methods (2/15/2009) and Getting Started with LINQ (2/13/2009).

Eric White explores The Composability Thought Process for LINQ on 2/17/2009 with a pointer to his earlier Finding Paragraphs by Style Name or Content in an Open XML Word Processing Document post that incrementally develops the subject query.

Dmitry Robsman’s Channel 9 Interview: ASP.NET MVC using Visual Basic XML Literals shows how he implemented ASP.NET MVC views using Visual Basic's XML Literals instead of .aspx pages. (2/16/2009, Thanks to Beth Massi.)

ADO.NET Data Services (Astoria)

Doug Purdy’s “M”ix09 (Using “M” to write REST services and clients) post of 2/11/2009 announces that the “Oslo” team will use MIX09 to:

[U]nveil how “Oslo”/”M”  can be used to build RESTful client and services using domain specific models and languages.  

The net result is that RESTful clients and services are much easier to write, understand, maintain, etc.

Doug describes what appears to be a session named DEVELOPING RESTFUL SERVICES AND CLIENTS WITH “M”:

Learn how Web developers can use “M”, a new language for describing data, metadata and domain specific languages to enhance RESTful services like HTTP, JSON, RSS/Atom, and more.  Also see how “M” can be used on premise or in the cloud to achieve greater development productivity and to create more compelling customer experiences. [Emphasis added.]

I’m surprised that Doug didn’t mention Astoria in his post.

ASP.NET Dynamic Data (DD)

 

SQL Data Services (SDS) and Cloud Computing

This topic moved on 1/3/2009 to Windows Azure and Cloud Computing Posts for 1/5/2009+.

SQL Server Compact (SSCE) 3.5 and Sync Services

This topic was dropped as of 1/3/2009.

Miscellaneous (WPF, WCF, MVC, Silverlight, etc.)

Shawn Wildermuth announces that Prism Now Supports Silverlight 2! on 2/18/2009. Prism is a codename for new WPF guidance for the patterns&practices group’s Composite Application Block.

Steve Martin’s Higher Standards for Web Standards post of 2/16/2009 discusses Microsoft’s reluctance to join the IBM-sponsored Web Services Test Forum. Steve writes:]

In many cases, the right answer isn’t necessarily to define something new, but to instead carefully consider whether technology or initiatives already exist to solve the problem. In the end, we should judge the strength of standards on industry and customer adoption alone. As an example, IBM recently announced a consortium called “WSTF”:  Web Services Test Forum which leaves us a tad puzzled.

As of today, the WS-* standards are largely complete within W3C, OASIS, WS-I, DMTF, etc. and are widely implemented in infrastructure products and used by organizations all over the world. We were thrilled to participate in the Oasis announcement just last week on WS-RX, WS-TX and WS-SX. With regard to testing, we think it is critical that customers be able to propose scenarios that match their real-world interoperability needs. Equally important - both successes and failures must be made public. This is why we’re still evaluating our participation in WSTF.

Steve mentions the Web Services Interoperability (WS-I) organization, which has been very quiet lately, but mentions:

Greg Leake runs one of the largest interoperability labs in the world and publishes results and guidance on WS* / WebSpehere / .NET interop. Stay tuned for more here – Greg is just completing his work on WebSphere 7.

Monday, February 16, 2009

LINQ and Entity Framework Posts for 2/5/2009+

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

Entity Framework and Entity Data Model (EF/EDM)

Danny Simmons explains in his D3: Basic Architecture Decisions post of 2/15/2009 the basic goals of his forthcoming DPMud3 Data Programmability multi-user dungeon game. Danny writes:

The first goal for this exercise is to build a real application not just a collection of samples artificially glued together but at the same time to try out new EF features such as POCO, model-first, mockable-interfaces, the n-tier APIs, T4 for code generation, etc. Another key goal is to use good architectural principles and popular app building patterns which means carefully separating concerns, using Inversion of Control to facilitate mocking and test driven (or at least very carefully tested) development, to create an n-tier architecture with WCF-services and a Silverlight client, and to use a model-view-controller pattern to simplify the creation of multiple views and controllers which share a common model.

Danny’s DPMud post of 2/13/2009 recounts the history of the original multi-user dungeon game that he used as a test harness for Entity Framework v.1 and describes the start of “DPMud3: The Zombies Search for Spock,” v.3 of the game for EF v.2. Danny promises to share the source code as soon as he finishes “working out some details with legal.”

Wriju recommends using EntityClient and eSQL to improve performance in his ADO.NET Entity Framework: Using EntityClient and EntitySQL post of 2/12/2009 and shows you how to handle paging in ADO.NET Entity Framework : Paging EntitySQL of 2/13/2009.

Simon Segal tries to get Specifications, Repositories and (finally) Fetching Strategies bundled into a single approach for the Entity Framework in his The Entity Framework and a unified Lazy and Eager loading framework. post of 2/11/2009. Simon concludes:

So far the results look promising. I will have more to say on this shortly and with a bit of luck will be releasing the code which rounds out the triad of a Repository, dynamic querying capability via Specifications and Fetching Strategies for a unified approach for lazy and eager loading that does NOT require you ever explicitly call the .Includes(), Load() or IsLoaded methods and property on the EntityCollection<T>, EntityReference<T> or ObjectQuery<T> objects.

Muhammad Mosa’s Domain Driven Design & Test Driven Development\Design with Entity Framework, Part 1.a Refactoring & Unit Testing post of 2/11/2009 has the following objective:

My target is to achieve decoupling between EF and all layers above it. This include Repository classes. This might not be of a big benefit to everyone, because my repositories implementation will still dependent on IDataContext. But for me it will help to do TDD more smoothly regardless of my underlying data access layer. Beside it might allow me in future to be able to switch from EF to LINQ to SQL and just implement my IDataContext interface for LINQ to SQL.

Downloadable source code for EF is included.

Julie Lerman announces Amazon is finally listing my book as "in stock" on 2/10/2009.

Grigori Melnik’s Thoughts on Agile Software Engineering and Beyond post of 2/9/2009 asks “DAAB and Entity Framework: possible marriage?” Grigori answers:

We’ve looked at this a little bit internally and we do not see any opportunity or value in this marriage. We might be missing something here. For those, who had asked for this, could you please provide more details about how this integration would work and what values you’d derive from it?

Danny SimmonsAvoiding Query Injection Attacks with the EF post of 2/8/2009 explains how to use ObjectQuery<T>’s builder methods to add filters, sorting and projections to EF queries. The builder fully parameterizes the queries.

See Kristofer Andersson’s Tools - Part 10 - Add-ins - Multiple diagram layouts per model in the Linq-to-SQL designer post of 2/11/2009 below.

LINQ to SQL

See Nathan Duchene’s Storing Values in XML & Using Linq to XML in VB to retrieve them post in the LINQ to Objects, LINQ to XML, et al. section.

David Hayden’s LINQ To SQL Tutorials - Lazy-Loading Properties for Performance post of 2/12/2009 shows you how to take advantage of the DelayLoading property to defer loading of large binary objects, such as images, to improve performance.

See Muhammad Mosa’s Domain Driven Design & Test Driven Development\Design with Entity Framework, Part 1.a Refactoring & Unit Testing post of 2/11/2009 in the Entity Framework and Entity Data Model (EF/EDM) for possible use of his interfaces with LINQ to SQL.

Kristofer Andersson’s Tools - Part 10 - Add-ins - Multiple diagram layouts per model in the Linq-to-SQL designer post of 2/11/2009 describes a new feature for LINQ to SQL mapping with his Huagati DBML/EDMX Tools: Layout View. Layout View enables developers to “‘chunk up’ models in digestable pieces; sometimes referred to as subject areas or functional areas.” Kris notes:

All data modelling tools support this, Visio 2003EA, Erwin, ERStudio, even the ‘diagrams’ feature in SQL Enterprise Manager all allow each model to have multiple diagram layouts/views. …

Unfortunately this feature is missing in both the Linq-to-SQL diagram designer and the Entity Framework designer in Visual Studio 2008. Also unfortunate is that the people responsible for those designers in Microsoft’s data programmability group don’t seem to prioritize that ability. Microsoft’s Sanjay Nagamangalam recently wrote “While we understand your scenario, it does not look like the next version of the designer will support viewing subsets of the EDMX at the moment.” in the comments section of the EFDesign blog as a response when a user asked for the ability to view subsets of a model in the EF designer.

Huagati offers a 30-day free trial of the v.1.62 beta version for LINQ to SQL. A decision is pending on extending this feature to the Entity Framework v.1 and will be influenced by user interest demonstrated during the beta.

Shefali Kulkarni takes on Single Table Inheritance using LINQ [to SQL] on 2/11/2009 and describes mapping a single table to a class hierarchy with LINQ to SQL.

Keven Kubasik’s Using Linq to Sqlite Providers: Updated post of 2/9/2009 provides step-by-step instructions for using the EF-enabled Sqlite provider.

Matthieu Mezil writes in his EDM Designer V0.9 post of 2/9/2009 that My first EDM Designer version was a viewer. It's now a real designer. Check it out.

Matthieu Mezil shows you how to Integrate cache in the query with the IntegrateContext(context, where.Compile()) method (2/6/2009) in a LINQ to Entities query.

LINQ to Objects, LINQ to XML, et al.

Nathan Duchene’s Storing Values in XML & Using Linq to XML in VB to retrieve them post of 2/13/2009 describes a project on which he was working:

Take uploaded XML files, do some file validation against a database using LINQ to SQL, and distribute these files across our network based on the values within the XML file.  Through all this, wire in notifications if the file fails a validation test.

The VB LINQ to XML implementation described in Nate’s post shows you how he accomplished the feat.

Bart De Smet hollers Help! Drowning in Expression Trees, What Now? on 2/12/2009 when attempting complex expressions that contain user-defined functions in LINQ to Objects predicates.

Suprotim Agarwal shows you how to Group By Multiple Values in LINQ in his post of 2/12/2009.

Matthieu Mezil wants to write an extension method Sum on IEnumerable<int> and an extension method Sum on IEnumerable<decimal> and then factorize this code in his Code factorization with delegate post of 2/11/2009. Matthieu asks “how to factorize the initialization (= 0 with an int and = 0 with a decimal) and the addition?” and then shows you the code.

LinqMaster’s 7 LINQ Tricks to Simplify Your Programs post of 2/9/2009 shows you how to:

    1. Initialize an array
    2. Iterate over multiple arrays in a single loop
    3. Generate a random sequence
    4. Generate a string
    5. Convert sequences or collections
    6. Convert a value to a sequence of length 1
    7. Iterate over all subsets of a sequence

Kai Jaeger’s JSINQ - LINQ to Objects for JavaScript CodePlex project of 2/1/2009 is a JavaScript library that allows you to write SQL-like queries against arrays and DOM node lists. According to Kai:

JSINQ is a complete implementation of LINQ to Objects in JavaScript. What that means is that if you know LINQ and you know JavaScript, you know JSINQ. JSINQ is both an API-compatible implementation of System.Linq.Enumerable and a complete query-expression compiler. That's right: you can write LINQ-style queries in JavaScript. And if that isn't enough: JSINQ is also very liberally licensed, well-document, reasonably well-tested (the Enumerable-part) and currently in beta. So give it a go!

Bart de Smet takes up matrix methods in his LINQ and The Matrix – Introducing MLinq post of 10/11/2009. MLinq provides “a very simple way to perform symbolic matrix calculations based on LINQ expression trees.” For consistency, I prefer the name “LINQ to Matrices”

Fabrice Marguerie’s Converting LINQ queries from query syntax to method/operator syntax post of 2/6/2009 describes how to “convert a LINQ query expression (query syntax) to a query operator call chain (method syntax or dot notation).” The solution definitely wasn’t intuitive.

ADO.NET Data Services (Astoria)

Steve Naughton’s back with an AJAX History in a Dynamic Data Website post of 2/13/2009 that explains how to improve users’ experience when navigating history with several filters on each list page.

Rob Bagby explains working with AtomPub in Exposing ATOM feeds from your services – part II – customizing and extending the ATOM feed of 2/13/2008 and the importance of RESTful interfaces in Exposing ATOM feeds from your services of 2/12/2009. Astoria and Azure services implement RESTful interfaces.

Shawn Wildermuth’s Twin Cities Developers' Guild Code Sample of 2/13/2009 includes the source code for a data application using Silverlight and ADO.NET Data Services to show how Line of Business apps can work in Silverlight.

Beth Massi is up to part 3 of her Astoria-powered Office Business Application series in OBA Part 3 - Storing and Reading Data in Word Documents of 2/12/2009. Earlier episodes are

Steven RobbinsSelf Hosting ADO.Net Data Services (Astoria) – Part II – A Basic WCF Service Example follows up his original article with a very basic introduction to WCF services in general using Astoria as the example. Source code is available for download.

ASP.NET Dynamic Data (DD)

Jonathan Carter’s Dynamic Data: Putting A New Dress On An Old Model post of 2/12/2009 starts with this observation:

Within the .NET 3.5 SP1 release, the initial consumer of Dynamic Data (and the newly introduced data annotations) was ASP.NET WebForms. This means that if you’re developing a data-driven web application, and your weapon of choice is WebForms, then you just happen to be in luck. Work is already underway to introduce some of Dynamic Data’s behavior into ASP.NET MVC that is appropriate to its style of development, and you can expect to see additional UI frameworks taking advantage of its semantics and data annotations as well in the near future.

And then asks and answers: “How can I begin taking advantage of it within a WebForms application?”

SQL Data Services (SDS) and Cloud Computing

This topic moved on 1/3/2009 to Windows Azure and Cloud Computing Posts for MM/DD/YYYY+.

SQL Server Compact (SSCE) 3.5 and Sync Services

Liam Cavanaugh’s Customer Spotlight - Synchronization Scalability and Live Toolbar post of 2/11/2009 discusses the scalability of syncing Website Favorites across multiple PCs with the new version of the Live Toolbar and the Microsoft Sync Framework.

Liam’s Customer Spotlight – Interscape Flip for the Mobile Sales Workforce of 2/10/2009 introduces another company, Interscape, who has developed a simple to use sales tool called FLIP Client. Liam writes:

Flip was built to incorporate features like scheduling, pipeline reporting, outlook and more.  I had a chance to talk with Matt Francis, CEO of Interscape and this is what he had to say about the Sync Framework and Occasionally Connected Applications.

Mary Jo Foley’s In Apple’s footsteps: Google licenses Microsoft ActiveSync post of 2/9/2009 describes how:

Google apparently is licensing ActiveSync in order to allow tighter synchronization between Exchange and its  newly unveiled Google Sync service.

Miscellaneous (WPF, WCF, MVC, Silverlight, etc.)

 

Azure and Cloud Computing Posts for 2/9/2009+

Windows Azure, Azure Data Services, SQL Data Services 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.

• Updated 2/15/2009 9:00 AM PST: Minor edits and additions
• Updated 2/16/2009 9:00 AM PST: Added James Urquhart’s critique of the “Berkeley Cloud Report” and David Linthicum’s podcast on same

Azure Blob, Table and Queue Services

Neil Kidd shows you Easy messages in Windows Azure on 2/14/2009 with a class that wraps and adds extra functionality to the queue in the StorageLib sample in the Windows Azure SDK and offers these added features:

    • Strongly typed access to the queue.
    • Warning when you forget to remove a message from the queue.
    • Automatic serialization/deserialisation of the message content.
    • Hooks to provide poison message detection and handling

Jim Nakashima explains Deploying a Service Package from Cloud Storage with “a new version of the Azure Services Development Portal” on 2/13/2009. The ability to upload the package and configuration files to an Azure Storage Services blob and deploy it from there can save you much time with large projects.

Alin Irimie’s strangely titled Debugging Tips For Windows Azure Applications post of 2/11/2009 offers a screencast by Bill Lodin that shows you “how to use queues to facilitate communication between Web and Worker roles in Windows Azure.”

Dominic Green shows you how to pass more DateTime objects in messages to Worker Roles in his Passing Objects via the Azure Message Queue post of 2/7/2009.

Umair Khan Jadoon’s How to create and deploy a simple “Hello World” application on Windows Azure post of 2/9/2009 is a fully illustrated tutorial for getting started with an Azure Web Cloud Service in VS 2008.

SQL Data Services (SDS)

See the Azure Issue Tracker post in the Live Windows Azure Apps, Tools and Test Harnesses section. 

The Azure .NET Services/SDS team has suspended processing new accounts until they add more capacity, according to their Temporarily Suspending New .NET Services and SQL [Data] Services Account Provisioning post of 2/13/2009.

.NET Services: Access Control, Service Bus and Workflow

See the Azure Issue Tracker post in the Live Windows Azure Apps, Tools and Test Harnesses section. 

The Azure .NET Services/SDS Team has suspended processing new accounts until they add more capacity, according to their Temporarily Suspending New .NET Services and SQL [Data] Services Account Provisioning post of 2/13/2009.

Live Windows Azure Apps, Tools and Test Harnesses

Steve Marx says the Wait Times for Windows Azure Tokens are now about 10 to 14 days.

However, the Azure .NET Services/SDS Team has suspended processing new accounts until they add more capacity, according to their Temporarily Suspending New .NET Services and SQL [Data] Services Account Provisioning post of 2/13/2009.

Bill Lodin’s Windows Azure Log Viewer is a new WPF app for reading Azure log files. It’s similar to David Aiken’s Windows Azure Online Log Reader but has a nicer UI.

Azure Evangelists has posted on CodePlex their Azure Issue Tracker application that they say:

Demonstrates a real-world SaaS architecture and scenario using the Azure Services Platform to perform federation and multi-tenancy. Technologies used include the Access Control service (part of .NET Services) as well as SQL Data Services (part of SQL Services).

The app has the following pre-requisites:

If you install the source code, be sure to read the instructions on CodePlex and in the ReadMe.txt file for setup and deployment instructions. You’ll also need to redeem an SDS token for data storage.

The Azure Team released eight six new Windows Azure "How Do I" and two Live Framework videos on 2/11/2009:

  1. How Do I: Deploy a Windows Azure Application? (00:07:24)
  2. How Do I: Get Started Developing on Windows Azure? (00:05:29)
  3. How Do I; Store Blobs in Windows Azure Storage? (00:20:24)
  4. How Do I: Leverage Queues in Windows Azure? (00:12:00)
  5. Debugging Tips for Windows Azure Applications (00:07:24)
  6. How Do I: Store Data in Windows Azure Tables? (00:15:37)
  7. How Do I: Get Started with .NET Services? (00:11:01)
  8. How Do I: Harness the Microsoft .NET Service Bus? (00:13:28)

Live Services

  1. How Do I: Get Started with the Live Framework? (00:15:46)
  2. How Do I: Use the Microsoft Live Framework Resource Browser? (00:15:37)

Keep an eye out here for new additions.

Azure Infrastructure

• Sam Gentile’s Late Night Notes on Windows Azure post of 2/14/2009 contains “my notes on learning Azure and trying to keep things straight.” Sam adds his stamp of approval:

More to come....I'm really digging this stuff! [Emphasis added.]

• Sam continued adding more Azure notes in his More Notes on Windows Azure - Part 2 post of 2/15/2009 describes the differences between Web Roles and Worker Roles and how they communicate with each other and the network.

The Azure Team posted the transcript, Webcast and PowerPoint slides for Doug Hauger’s recent presentation to the Thomas Weisel Partners 2009 Technology & Telecom conference in its A Discussion of Windows Azure Strategy post of 2/13/2009.

Here’s your chance to find out first hand what Doug, who’s Microsoft’s General Manager for Business Strategy, has to say about the business case for and issues with Windows Azure.

Dave Graham’s Private Clouds & Storage: Considerations post of 2/13/2009 continues his concept of a common cloud file system or cFS initiative and points out that:

[Y]ou can have a portable file environment that is completely insulated from others within a global NOC.  This concept of a “private cloud file system” can obviously be coupled to an insulated processing/grid service as well (i.e., what a basic definition of a “private cloud” could be construed to be).

Dave’s earlier Cloud Optimized Storage Solutions: Part 3b - Service Level Agreements post of 2/12/2009 discusses Data Storage, Data Access, Expendable Data (for storage reclamation), and Critical Data SLAs.

And his Shared Filesystems in the Cloud post of 2/11/2009 observes:

[The C]oncept … that most hypervisors (notably VMware and [soon] Hyper-V) have a clustered file system that is used to extend the capabilities of a group of hypervisors into such things as dynamic resource sharing, failover/failback, HA, etc. The natural extension of this, when looked at from a longitudinal viewpoint, is extending the same basic model into the cloud. [Emphasis added.]

Mike Amundsen concludes in his MSFT-Amazon-GAE: and the future is? post of 2/13/2009 that “right now there are three serious players in the [cloud computing] mix. and, IMO, only one actually 'gets it.'” He then goes on to compare:

    • Amazon = big iron in the cloud
    • Microsoft Azure = enterprise software in the cloud
    • Google App Engine = the cloud

Michael Armbrust, Armando Fox, Rean Griffith, Anthony D. Joseph, Randy H. Katz, Andrew Konwinski, Gunho Lee, David A. Patterson, Ariel Rabkin, Ion Stoica and Matei Zaharia joined forces to write Above the Clouds: A Berkeley View of Cloud Computing, Technical Report No. UCB/EECS-2009-28 from UC Berkeley’s EECS Department. Here’s the abstract:

Provided certain obstacles are overcome, we believe Cloud Computing has the potential to transform a large part of the IT industry, making software even more attractive as a service and shaping the way IT hardware is designed and purchased. Developers with innovative ideas for new interactive Internet services no longer require the large capital outlays in hardware to deploy their service or the human expense to operate it. They need not be concerned about over-provisioning for a service whose popularity does not meet their predictions, thus wasting costly resources, or under-provisioning for one that becomes wildly popular, thus missing potential customers and revenue.

Moreover, companies with large batch-oriented tasks can get their results as quickly as their programs can scale, since using 1000 servers for one hour costs no more than using one server for 1000 hours. This elasticity of resources, without paying a premium for large scale, is unprecedented in the history of IT. The economies of scale of very large-scale datacenters combined with ``pay-as-you-go'' resource usage has heralded the rise of Cloud Computing.

It is now attractive to deploy an innovative new Internet service on a third party's Internet Datacenter rather than your own infrastructure, and to gracefully scale its resources as it grows or declines in popularity and revenue. Expanding and shrinking daily in response to normal diurnal patterns could lower costs even further. Cloud Computing transfers the risks of over-provisioning or under-provisioning to the Cloud Computing provider, who mitigates that risk by statistical multiplexing over a much larger set of users and who offers relatively low prices due better utilization and from the economy of purchasing at a larger scale.

We define terms, present an economic model that quantifies the key buy vs. pay-as-you-go decision, offer a spectrum to classify Cloud Computing providers, and give our view of the top 10 obstacles and opportunities to the growth of Cloud Computing.

This detailed and scholarly analysis, which primarily covers Amazon Web Services, Windows Azure and Google App Engine is a welcome change from the cloud computing hypemeisters who contribute much of this blog’s content.

You can watch a You Tube video of professors Armando Fox, Anthony Joseph, Randy Katz and David Patterson discussing some of the ideas in the paper here.

Krishna Sankar isn’t as taken with the report as I am. His A Berkeley View Of Cloud Computing : An Analysis - the good, the bad and the ugly would give the report an A+ as an undergraduate effort but he grades the report from “eminent academics” as a C- effort.

• Reuven Cohen’s Comprehension of Cloud Subjectivity post of 2/15/2009 is a critique by a cloud computing “thought leader.”

•• James Urquhart’s Berkeley cloud report gets mixed reviews post of 2/15/2009 calls the group’s Cloud Computing definition “controversial” and agrees with Krishna Sankar, whom he calls “a very smart DE at Cisco.” He also cites Reuven Cohen’s post.

•• David Linthicum’s Above the Clouds: A Berkeley View of Cloud Computing podcast of 2/15/2009 “reviews, and comments on, the recent cloud computing report from Berkeley.” Dave points out that the paper presents an excellent business case for cloud computing.

Howard Van Rooijen complains on 2/10/2009 about Windows Azure’s Hazy Terminology in his attempt to unravel:

[T]he overlap of functionality between Windows Azure Storage and SQL Data Services (SDS) – why are Microsoft offering two different data base solutions in the cloud, that have so many overlapping features? Which one should I use? What are the benefits of the two different systems? I know I was asking these questions – especially as I was quite familiar with SDS – thanks to our very own Jamie Thomson.

Cloud Computing Events

•• IDC Cloud Computing Forum, 2/18/2009 8:30 AM, Stanford Court Renaissance Hotel, 905 California Street, Nob Hill, San Francisco. Details at http://www.idc.com.

Jeremy Geelan lists 2nd International Cloud Computing Conference & Expo: Themes & Topics in his 2/14/2009 post that provides a “round-up of the Cloud Computing themes & topics being discussed March 30-April 1, 2009, in New York City.”

Other Cloud Computing Platforms and Services

Markus Klems fluid Operations offer SAP deployment in the Cloud post of 2/12/2009 recommends that you keep fluid Operations on your radar because “they use VMware ESX and NetApp to deploy SAP applications in an enterprise cloud environment,” which lets you “provision new systems on demand as your business grows.”

Intuit expands its Intuit Workplace Web-based add-ins for QuickBooks and QuickBase that it claims offer:

    • One single log-in for all apps
    • Use as many or as few apps as you need for your business
    • Access your data anytime, anywhere

and its Intuit Partner Platform, which the company describes as “the platform-as-a-service from IDN.”

IBM captured most of the attention early in the week with new cloud services announcements in conjunction with the IBM Pulse conference.

Krishnan Subramanian analyzes IBM’s new Amazon Web Services AMIs in his IBM Amazon Team Up To Offer IBM Middleware on EC2 post of 2/10/2009. Krishnan reports:

After announcing some cloud related intiatives yesterday, IBM has teamed up with Amazon Web Services to offer IBM middleware products on EC2 running Suse Linux. This includes IBM DB2, IBM Lotus® content management, and IBM WebSphere® portal. This is significant for Amazon as it helps them to position themselves as a serious enterprise player. The AMIs are available in IBM's Cloud Computing Space.

John Foley describes Amazon Web Services As The Center Of The Software Industry in his laudatory 2/12/2009 post.

PR2WEB’s IBM Blue Cloud Initiative Advances Enterprise Cloud Computing press release of 2/10/2009 describes a major promotion by IBM of it’s Blue Cloud initiative, which highlights new cloud customers: Elizabeth Arden, Nexxera, The United States Golf Association, and Indigo Bio Systems. The release also notes:

IBM is today revealing that it will launch a Tivoli Storage as a Service offering through its Business Continuity & Resiliency Services cloud. Beginning later in 2009, clients will be able to consume Tivoli data protection technologies via a cloud and pay for only what they use.

Reuven Cohen’s IBM and Juniper Team Up for Cloud Migration of 2/10/2009 describes the newly formed IBM Enterprise Initiative Group, “which will focus on accelerating adoption of the cloud related technology” and .will be headed by Erich Clementi as general manager [who] will report directly to IBM CEO Sam Palmisano.” According to Reuven:

In a news conference IBM and Juniper Networks jointly demonstrated what they describe as a means of seamlessly migrating workloads over private and public clouds enabling enterprises' existing data centers to seamlessly interact with the public Internet.

[T]hey outlined a plan to use a hardware based virtual private lan which allows any-to-any (multipoint) connectivity in conjunction to a Multi-Protocol Label Switching (MPLS) system. In case you're unfamiliar with MPLS, it is a protocol agnostic, data-carrying mechanism.

James Urquhart takes IBM to task for the lack of “sizzle” of IBM’s Cloud strategy for Tivoli in his IBM cloud announcement disappoints...again of 2/9/2009:

I looked forward with great anticipation to Gordon Haff's post on Monday covering the Tivoli announcements at IBM's Pulse conference.

Specifically, I was especially interested in what Tivoli was going to offer to support dynamic infrastructure, in part because IBM's cloud DNA holds so much promise, and I have yet to see any magic from them.

I could still be surprised in the coming year, I guess, but right now IBM has failed to capture my imagination when it comes to actual cloud computing products and services. All of which saddens me, because I was truly hoping for more.

•• David Linthicum’s Cloud Computing at IBM Pulse and Avoiding Cloud Mistakes post of 2/12/2009 “talks about his visit to IBM's Pulse conference and how to avoid making SOA mistakes in the emerging cloud computing space.”

John Foley casts a jaundiced eye on IBM’s new offerings in his IBM Drifts Slowly Toward Mainstream Cloud Computing post of 2/10/2009. Foley observes:

Building on its 15-month old Blue Cloud initiative, IBM today introduces additions to its cloud computing portfolio and named new customers and partners. Big Blue's cloud strategy remains focused on the enterprise; customers can't pay by the minute with credit cards, as they can with Amazon Web Services and other general purpose cloud offerings.

Krishnan Subramanian weighs in on IBM’s announcements with IBM Wants Us To Believe That They Are Serious About Cloud Computing of 2/20/2009. Krishnan summarizes:

Today, IBM made a series of announcements, under their blue cloud banner, to make us believe that they are serious about Cloud Computing. It includes

  • A backup and recovery service for desktops and laptops in IBM’s Cloud (using Tivoli)
  • A Secure platform to test Cloud Applications before putting into production systems (Skytap, beware)
  • A partnership with Juniper networks to install public-private hybrid clouds. Depending on the resource needs, enterprises can extend their private clouds to public clouds with a click of a button
  • A new IBM dashboard to manage cloud computing environment
  • Appointment of enterprise cloud computing czar

Paul Miller offers a detailed post-mortem of the Powered buy Cloud conference held in London last week in his Looking back at Powered by Cloud conference post of 2/9/2009. An “unprecentented” snowfall wreaked havoc on the first day’s morning sessions.

Joe Gregorio offers A roadmap update! for the Google App Engine in this post of 2/6/2009. New features in the pipeline are:

    • Support for running scheduled tasks
    • Task queues for performing background processing
    • Ability to receive and process incoming email
    • Support for sending and receiving XMPP (Jabber) messages

Thursday, February 12, 2009

Azure Table Storage Services Test Harness Source Code (Finally) Available for Download

Several readers have asked me recently “When will you finally make the source code available?” for the Azure Table Test Harness.

I did make it available for download on 1/31/2009 from my “Retire Your Data Center” cover story for Visual Studio Magazine’s February 2009 issue (click the Get Code Download link).

However, I didn’t update each of the following episodes of the story with the source code availability details:

I corrected that oversight today by adding

Update 1/31/2009: Code is now available for download.

to the beginning of the post and providing the download location.

For more about the VSM cover story, see My “Retire Your Data Center” Article about Azure’s Table Storage is VSM’s February 2009 Cover Story post of 1/31/2009.

Hope this helps.

Tuesday, February 10, 2009

All 10 Licenses for the Huagati DBML/EDMX Tools Have Been Sent to Purchasers of My Latest Book

My Free Huagati DBML/EDMX Professional Tools License for 10 Purchasers of my LINQ and Entity Framework Book post offered the first 10 purchasers of my new Professional ADO.NET 3.5 with LINQ and the Entity Framework book have claimed their licenses.

Sorry, folks, there are no more free licenses left

My earlier Professional ADO.NET 3.5 with LINQ and the Entity Framework: Table of Contents post of 11/8/2008 contains a chapter-level TOC.

Free Huagati DBML/EDMX Professional Tools License for 10 Purchasers of my LINQ and Entity Framework Book

If you follow my LINQ and Entity Framework Posts for MM/DD/200Y+ posts, you know I’m a fan of Kristofer Andersson’s Huagati DBML/EDMX Tools add-in to VS 2008 Standard and higher for LINQ to SQL and the Entity Framework.

To promote his tools and help me promote my new Professional ADO.NET 3.5 with LINQ and the Entity Framework book, Kristofer has provided me 10 Huagati DBML/EDMX Tools Professional Edition single-user promotional licenses to distribute as I see fit. The licenses don’t expire.

I’ll send I’ve sent one license to each of the first 10 individual purchasers of Professional ADO.NET 3.5 with LINQ and the Entity Framework who sentd an email to me at roger_jennings[at]compuserve.com with the first two words of the first line of page 84 of the book in the email’s body.

This offer is not a lottery or contest and is subject to revocation without prior notice. Void where prohibited. Only one license per purchaser will be sent until the 10 licenses are transmitted. The estimated retail price of a non-promotional license is US$ 119.95 as of 1/29/2009.

Update 2/10/2009 2:00 PM PST: Following are the folks who received the ten Huagati licenses:

  • Gary Progar
  • Delmer Johnson
  • Tai Nguyen
  • Glenn Paulley
  • Daniel C 
  • Bassam Mansoob
  • Abdu Bukres
  • Dan Knight
  • Larry Hunt
  • Alan Thorpe

No licenses are left.

My earlier Professional ADO.NET 3.5 with LINQ and the Entity Framework: Table of Contents post of 11/8/2008 contains a chapter-level TOC.