<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-11646261</id><updated>2012-02-01T16:19:58.718-08:00</updated><category term='SubSonic'/><category term='SharePoint BCS'/><category term='datajs'/><category term='Indexes for Objects'/><category term='SQL Server Database Publishing Wizard'/><category term='salesforce.com'/><category term='LINQ to Entity Base'/><category term='Data Connections'/><category term='Red Jet'/><category term='LINQ to XPO'/><category term='ASP.NET'/><category term='Project &quot;Houston&quot;'/><category term='LINQ to Mock'/><category term='Codename &quot;Dallas&quot;'/><category term='SQL Server 2005 SP1'/><category term='Amazon S3'/><category term='ADO.NET Entity Framework v4.2'/><category term='QCon'/><category term='Debugging'/><category term='SQL Data Services'/><category term='SQL Azure Database'/><category term='SQLce RC1'/><category term='SO-Aware'/><category term='Windows Azure Toolkit for iOS'/><category term='Megastore'/><category term='ASP.NET 3.5 Extensions'/><category term='VS 2008'/><category term='Windows Azure Drive'/><category term='SQL Server 2005 SP2'/><category term='Closures'/><category term='ASP.NET Dynamic Data Extensions'/><category term='Microsoft Dynamics'/><category term='Volta'/><category term='Hyper-V'/><category term='MIX09'/><category term='Windows Azure Platform Appliance'/><category term='Citrix'/><category term='Sesame Data Browser'/><category term='C# 3.0'/><category term='Structure 2010 Conference'/><category term='Access Control Services'/><category term='VBA'/><category term='Windows Phone 7'/><category term='Azure+'/><category term='Service Outages'/><category term='Windows Geneva'/><category term='Google Data Services'/><category term='Oslo'/><category term='Object/Relational Modeling'/><category term='LotusLive Engage'/><category term='Live Mesh'/><category term='LINQ to SubSonic'/><category term='Atom 1.0'/><category term='MIX08'/><category term='Unisys'/><category term='LINQ to Financial Markets'/><category term='Google Marketplace'/><category term='Live Framework'/><category term='Erik Meijer F#'/><category term='LINQ to RDF'/><category term='Azure AppFabric Application Manager'/><category term='Umbraco'/><category term='Intel'/><category term='Azure AppFabric Caching'/><category term='DataContractSerializer'/><category term='LoadStorm'/><category term='SqlMetal.exe'/><category term='Exchange'/><category term='Water Sports'/><category term='RDA'/><category term='AppFabric'/><category term='Moq'/><category term='LotusLive'/><category term='ObjectDataSource'/><category term='Microsoft Business'/><category term='LINQ to LLBLGen Pro'/><category term='MIX07'/><category term='Windows Azure AppFabric Application Manager'/><category term='SQL Azure Sharding'/><category term='TechEd 2008'/><category term='ASP.NET Membership Services'/><category term='Amazon IAM'/><category term='LINQ to Objects'/><category term='Fiddler'/><category term='Exchange Online'/><category term='CloudBerry'/><category term='ESP'/><category term='Qumana'/><category term='SQL Azure Vidalia'/><category term='Microsoft Dallas'/><category term='SQL Azure Data Migration'/><category term='LINQ to DataSets'/><category term='Traffic Manager'/><category term='Continuous LINQ'/><category term='VS 2008 SP1'/><category term='Excel DataScope'/><category term='VMforce'/><category term='Huagati DBML/EDMX Tools'/><category term='Management Studio Express SP2'/><category term='TechEd 2009'/><category term='OakLeaf Blog'/><category term='PLINQ'/><category term='SharePoint'/><category term='Oracle CRM'/><category term='Access 2010'/><category term='Microsoft Cloud Partner'/><category term='Occasionally Connected Systems'/><category term='LINQ to Atom'/><category term='LINQ to OneNote'/><category term='WSS 3.0'/><category term='Pig'/><category term='Cloud Computing Performance'/><category term='Joomla'/><category term='SQL Server Reporting Services'/><category term='Ruby'/><category term='IronRuby'/><category term='Dynamics AX 2012'/><category term='Databases'/><category term='Project Huron'/><category term='Repository Pattern'/><category term='Red Hat'/><category term='SharePoint 2010 Online'/><category term='EntityDataControl'/><category term='OopenFlow'/><category term='Persistence Ignorance'/><category term='XSD'/><category term='Hubpages'/><category term='Visual Studio Magazine'/><category term='.NET Framework 4.0'/><category term='HPC Server 2008 R2'/><category term='Codename &quot;Social Analytics&quot;'/><category term='Lang.NET'/><category term='Private Clouds'/><category term='Google Docs'/><category term='Windows Server 2008'/><category term='Mon.itor.us'/><category term='Market Research'/><category term='SQL Server 2005 Express'/><category term='Google Megastore'/><category term='Pomegranate'/><category term='Infragistics'/><category term='RSS 2.0'/><category term='LINQ to Lucene'/><category term='OakLeaf Mobile'/><category term='DryadLINQ'/><category term='Bindable LINQ'/><category term='CAP Theorem'/><category term='Oracle Database 11g'/><category term='Squidoo'/><category term='OData'/><category term='The New Yorker'/><category term='IsMyServerUp'/><category term='VB 9.0'/><category term='DAO'/><category term='Cassandra'/><category term='Pattern Matching'/><category term='SQL Azure Labs'/><category term='jQuery'/><category term='WebMatrix'/><category term='SQL Azure Migration Wizard'/><category term='CRM'/><category term='Amazon VPN'/><category term='Google Base'/><category term='DLinq'/><category term='Rackspace'/><category term='LINQ to Named Pipes'/><category term='Apache Foundation'/><category term='SharePoint 2010'/><category term='Amazon Cloud Drive'/><category term='Visual Data Tools'/><category term='Clark Foam'/><category term='Writely'/><category term='CardSpace'/><category term='CouchDB'/><category term='LDAP'/><category term='SQLce'/><category term='Visual Studio. .NET Framework'/><category term='Drupal'/><category term='LINQ to Entities'/><category term='Cloudwashing'/><category term='PostgreSQL'/><category term='Apache Hadoop on Windows Azure'/><category term='Bugs'/><category term='DB2'/><category term='Performancing'/><category term='ISO/IEC 27001:2005'/><category term='ADO.NET 3.5'/><category term='Google Dart'/><category term='LINQ to XML'/><category term='Serialization'/><category term='Codename &quot;Atlanta&quot;'/><category term='MVC'/><category term='Hyper-V Cloud'/><category term='Velocity'/><category term='Cloud Service Pricing'/><category term='Chef'/><category term='Microsoft .NET'/><category term='MSDE'/><category term='&#x9;SQL AzureNoSQLAstoriaAzureAzure AppFabricCloud Computing&#xD;Windows AzureADO.NET Data ServicesSQL Azure Data MigrationWindows Azure AppFabricVMware'/><category term='PDC 2009'/><category term='TeraData'/><category term='Dynamic LINQ'/><category term='Amazon Web Services'/><category term='Visual Studio LightSwitch'/><category term='Hadoop'/><category term='Northwind'/><category term='FathomDB'/><category term='ADO.NET 3.0'/><category term='Windows HPC Server 2008 R2'/><category term='Office 2007'/><category term='Yahoo'/><category term='Unit Testing'/><category term='Windows Azure Traffic Manager'/><category term='QuickBase'/><category term='LINQ to Mesh'/><category term='Blue Jet'/><category term='Amazon S3 RRS'/><category term='Heroku'/><category term='LAMP'/><category term='Visual C# Express'/><category term='Windows Azure Platform Cloud Essentials'/><category term='LINQ to SAP'/><category term='OLE DB'/><category term='MarketPlace DataMarket'/><category term='CAML'/><category term='Linus Torvalds'/><category term='Jon Udell'/><category term='Google Health'/><category term='eSQL'/><category term='System Center Virtual Machine Manager'/><category term='Google App Engine'/><category term='xRM'/><category term='SOAP'/><category term='Hadoop on Azure'/><category term='VistA'/><category term='Microsoft Azure'/><category term='TrialTool'/><category term='LINQ to Matrices'/><category term='SQL Azure Reporting Services'/><category term='POCO'/><category term='System Center Operations Manager'/><category term='SQL Server 2008 R2 SP1'/><category term='ODBC'/><category term='LINQ to Active Directory'/><category term='SQL Business Intelligence Services (Azure)'/><category term='Google Apps'/><category term='ADO.NET vNext'/><category term='Project &quot;Daytona&quot;'/><category term='Electric MapReduce'/><category term='Redmond Magazine Group'/><category term='Surfboards'/><category term='Dublin'/><category term='Outlook'/><category term='ADO.NET Synchronization Services'/><category term='ServiceModel Trace Viewer'/><category term='DevOps'/><category term='Amazon RDS'/><category term='Windows Azure Pricing'/><category term='Apprenda'/><category term='SQL Server 2012'/><category term='SQLite'/><category term='Open XML'/><category term='O/RM'/><category term='AdventureWorks'/><category term='Azure SDK 1.5'/><category term='EF v1 Manifesto'/><category term='RSA'/><category term='Azure CDN'/><category term='Concero'/><category term='EntityBag'/><category term='ParallexFX'/><category term='Google App Engine for Business'/><category term='SAP'/><category term='Query Notifications'/><category term='TDD'/><category term='Windows Server 2008 R2'/><category term='LiveID'/><category term='FTP'/><category term='Monad'/><category term='HBase'/><category term='LINQ to SQL Azure'/><category term='Microsoft Research'/><category term='iOS'/><category term='ATT DSL'/><category term='NUnit'/><category term='Office 365'/><category term='Amazon WebServius'/><category term='LightSwitch'/><category term='PDC 2008'/><category term='Windows Vista'/><category term='Cloud Ninja Project'/><category term='JSINQ'/><category term='LINQ to Bing'/><category term='Formspring'/><category term='OakLeaf Blog Statistics'/><category term='WindowsAzure4j'/><category term='Apache Hadoop'/><category term='DataContract'/><category term='Real-Time Stats'/><category term='Cloud Essentials Pack'/><category term='LINQ to SQL Entity Base'/><category term='LINQ to ADO.NET Data Services'/><category term='GData'/><category term='Mashups'/><category term='Microsoft System Center'/><category term='Eclipse'/><category term='Plinqo'/><category term='Firebird'/><category term='Access Services'/><category term='T-SQL'/><category term='Windows Server 2003'/><category term='DefiningView'/><category term='Codename &quot;Data Explorer&quot;'/><category term='Python'/><category term='Pat Helland'/><category term='Crowbar'/><category term='PaaS'/><category term='Cringely'/><category term='Health Information Technology'/><category term='Azure Storage Analytics'/><category term='SSX'/><category term='Amazon CloudFormations'/><category term='Windows Azure Logs'/><category term='Microsoft Biology Framework'/><category term='Windows Live Writer'/><category term='Encryption'/><category term='Silverlight 2'/><category term='Merge Replication'/><category term='BizSpark'/><category term='Oracle'/><category term='.NET Framework 3.5'/><category term='Windows Azure Applications Monitoring Pack'/><category term='Sybase Fuji Beta'/><category term='Business Intelligence'/><category term='LINQ to SimpleDB'/><category term='Windows Communication Framework'/><category term='GFS'/><category term='Project Sydney'/><category term='WCF Message Logging'/><category term='Geneva'/><category term='Open Data Center'/><category term='StikiPad'/><category term='TerraService'/><category term='oSQL'/><category term='Redmond Developer News'/><category term='Entity Framework v4'/><category term='Silverlight 3'/><category term='DataContractJsonSerializer'/><category term='Google Gears'/><category term='Microsoft Pinpoint'/><category term='Facebook'/><category term='Codename &quot;Houston&quot;'/><category term='LINQ to Reflection'/><category term='Database.com'/><category term='HP'/><category term='Microsoft Watch'/><category term='Entity SQL'/><category term='Amazon ELB'/><category term='SLAs'/><category term='Azure Web Roles'/><category term='RemoteFX'/><category term='Amazon VPC'/><category term='Google'/><category term='SQLX'/><category term='LINQ to NCover'/><category term='OCS'/><category term='Jim Gray'/><category term='Bing'/><category term='Huron Project'/><category term='Workflow 4.0'/><category term='Databinding'/><category term='CloudBees'/><category term='Entity Framework v5'/><category term='Complex Event Processing'/><category term='SQL Server 2008 R2'/><category term='Service Broker'/><category term='Amazon MFA'/><category term='ARRA'/><category term='Windows Azure Marketplace DataMarket'/><category term='Electronic Health Records'/><category term='Novell'/><category term='Concurrency Management'/><category term='EHR'/><category term='Technorati'/><category term='ODBCDirect'/><category term='Codename &quot;Cloud Numerics&quot;'/><category term='Business Analytics'/><category term='Server App-V'/><category term='Squoop'/><category term='LINQ to CRM'/><category term='eBay'/><category term='Azure VM Roles'/><category term='Windows Azure Compute'/><category term='OpenStack'/><category term='MongoDB'/><category term='Team Foundation Services'/><category term='LINQ4SP'/><category term='NIST'/><category term='Longhorn'/><category term='LINQ to LDAP'/><category term='Business Connectivity Services'/><category term='TOGAF 9.0'/><category term='IronPython'/><category term='Azure Platform Appliance'/><category term='SLINQ'/><category term='LINQ'/><category term='EMR'/><category term='Microsoft Synchronization Services'/><category term='SDS'/><category term='Windows Developer Previews'/><category term='Codename &quot;Data Transfer&quot;'/><category term='InterLINQ'/><category term='Flickr4Writer'/><category term='WCF Configuration Editor'/><category term='Entity Data Model'/><category term='Bang Operator'/><category term='Scaffolding'/><category term='SQL Azure Federations Migration Wizare'/><category term='Oracle Database 10g XE'/><category term='TechEd 2007'/><category term='SharePoint 2010 Beta'/><category term='Blogger'/><category term='FlockDB'/><category term='Big Data'/><category term='SAML'/><category term='Orcas'/><category term='XPath'/><category term='Infrastructure 2.0'/><category term='Amazon Kindle'/><category term='Amazon Elastic MapReduce'/><category term='Appistry'/><category term='MIX 2011'/><category term='JavaScript'/><category term='Codename &quot;Denali&quot;'/><category term='InfoPath'/><category term='PHPAzure'/><category term='Rx'/><category term='Windows Azure Toolkit for Windows 8'/><category term='Microsoft Vidalia'/><category term='DLR'/><category term='Blogger Mobile Templates'/><category term='wiki'/><category term='LINQ to MDX'/><category term='VS 2005'/><category term='WLW'/><category term='Mosso'/><category term='Velocity Conference 2011'/><category term='SQL Server'/><category term='Downtime Reports'/><category term='Azure Table Storage Updates'/><category term='Pingdom'/><category term='Cloud Computing Security'/><category term='MEntity'/><category term='Cloud Foundry'/><category term='Azure Blob Storage Services'/><category term='Google Web Services'/><category term='Dryad'/><category term='Categories'/><category term='ASP.NET MVC'/><category term='Labels'/><category term='DropBox'/><category term='Sync Services'/><category term='SaaS'/><category term='Amazon SNS'/><category term='Windows Azure Diagnostics'/><category term='Windows Azure Logging'/><category term='Visual Basic Express'/><category term='Value Objects'/><category term='Public Clouds'/><category term='Cloud Security Alliance'/><category term='Windows Azure AppFabric'/><category term='SQL Azure'/><category term='Sarbanes-Oxley'/><category term='LINQ to CSLA'/><category term='PHPLinq'/><category term='Amazon SES'/><category term='SQL Compact'/><category term='HTML5'/><category term='Windows Phone 7.1 Mango'/><category term='IntelliTrace'/><category term='ASP.NET Dynamic Data'/><category term='Google Fusion Tables'/><category term='DSL problems'/><category term='S#arp Architecture'/><category term='Windows Identity Foundation (WIF)'/><category term='Azure Connect'/><category term='Cloudscaling'/><category term='ReportViewer'/><category term='Stored Procedures'/><category term='Fiddler2'/><category term='OCS Sync Framework'/><category term='CEP'/><category term='LINQ to MPI.NET'/><category term='NoSQL'/><category term='Azure Queue Storage Services'/><category term='Azure AppFabric'/><category term='ADO.NET'/><category term='IBM SmartCloud'/><category term='TechEd NorthAmerica 2010'/><category term='CloudKick'/><category term='Windows HPC'/><category term='RubyCLR'/><category term='San Francisco'/><category term='SQL Reporting Services (Azure)'/><category term='LINQ to REST'/><category term='Ripley Project'/><category term='WinFS'/><category term='ADO.NET Data Services'/><category term='Parallel LINQ'/><category term='Cloud Identity Summit'/><category term='C# 4.0'/><category term='Aggregate Functions'/><category term='NuoDB'/><category term='Visual Studio'/><category term='Structure 2011 Conference'/><category term='Cosmos'/><category term='LINQ to Google'/><category term='VBx'/><category term='Oracle Public Cloud'/><category term='T4'/><category term='Quadrant'/><category term='Web Forms'/><category term='LINQ to Outlook'/><category term='PHR'/><category term='Windows Azure Storage Analytics'/><category term='SSMA for Access v4.2'/><category term='OGDI'/><category term='AWS Storage Gateway'/><category term='Security Development Lifecycle'/><category term='XML Schema'/><category term='Lang.NET 2006'/><category term='ORDER BY'/><category term='.NET 3.5'/><category term='Virtual Server 2005 R2'/><category term='SQL Azure Federation'/><category term='Dynamics AX code-named &quot;6&quot;'/><category term='Amazon ElastiCache'/><category term='Data Mining'/><category term='GraphDB'/><category term='Dell Computer'/><category term='Blob Storage Services'/><category term='Azure AppFabric SDK'/><category term='Writely Beta'/><category term='Amazon DynamoDB'/><category term='NuGet'/><category term='Windows Phone 7.5 Mango'/><category term='Microsoft Access 2010'/><category term='Sync Framework'/><category term='Live Framework SDK'/><category term='Expression Trees'/><category term='NHibernate'/><category term='Microsoft Management Summit 2011'/><category term='Windows Azure Marketplace'/><category term='HITECH'/><category term='Entity Framework'/><category term='Text Template Transformation Toolkit'/><category term='Surfing'/><category term='Windows Azure AppFabric Applications'/><category term='Quadrant Entity Editor'/><category term='LINQ to JSON'/><category term='LINQ to Amazon'/><category term='Huagati Systems'/><category term='ecto'/><category term='SimpleDB'/><category term='Starterbase'/><category term='Microsoft Convergence 2010'/><category term='Blog Editors'/><category term='Dynamic ADO.NET'/><category term='Tech Ed 2006'/><category term='Access 2007'/><category term='PowerShell'/><category term='SAS 70'/><category term='Virtual PC 2007'/><category term='SQL Server 2008 R2 Management Studio'/><category term='SDL'/><category term='MOAX 2007'/><category term='Framework'/><category term='Persistence Instance'/><category term='MashSSL'/><category term='Windows Azure CDN'/><category term='Ruby on Rails'/><category term='Virtualization'/><category term='Personal Health Records'/><category term='Hummer Winblad'/><category term='LINQExtender'/><category term='Wndows Live Mesh'/><category term='SQL Azure Data Sync'/><category term='Dynamics CRM'/><category term='Informix'/><category term='ManagedEsent'/><category term='Formbuilder'/><category term='Chrome OS'/><category term='WPC 2011'/><category term='SQL Azure Spatial Features'/><category term='Known Bugs'/><category term='Windows Server 8'/><category term='SQL Server Data Services'/><category term='Project &quot;Apollo&quot;'/><category term='ClearDB'/><category term='PHP'/><category term='Data Explorer'/><category term='Vordel Cloud Broker'/><category term='SkyBox'/><category term='WPC 2010'/><category term='BigTable'/><category term='VistaDB'/><category term='Firefox 4 Beta'/><category term='WPF'/><category term='Mocking Frameworks'/><category term='Silverlight'/><category term='Database Mail'/><category term='Entity Framework v2'/><category term='Amazon'/><category term='SQL Compact v4.0'/><category term='TOP (100) PERCENT'/><category term='WF'/><category term='LinqDataSource'/><category term='Amazon EC2'/><category term='LINQ to NHibernate'/><category term='Grubby Clark'/><category term='LINQ to CSV'/><category term='Extension Methods'/><category term='Roger Jennings&apos; Access Blog'/><category term='Naming Conventions'/><category term='Mono'/><category term='vSphere'/><category term='LINQ to SQL'/><category term='LINQ to TerraServer'/><category term='Access Data Projects'/><category term='Sample Code'/><category term='HealthVault'/><category term='Real-Time Search'/><category term='Dreamforce'/><category term='Sun Microsystems'/><category term='SQL Server CE'/><category term='TechEd Europe 2010'/><category term='XML'/><category term='Entity Data Model Designer'/><category term='SQL Server 2005 Express SP2'/><category term='Array Initializers'/><category term='Google Analytics'/><category term='Geneva Framework'/><category term='Electronic Medial Record'/><category term='Model-View-Controller'/><category term='LINQ to Firebird'/><category term='SB1386'/><category term='NCommon'/><category term='SkyDrive'/><category term='SQL Server Compact Edition'/><category term='Twitter'/><category term='Visual Basic 9'/><category term='SSMA'/><category term='Force.com'/><category term='SQL Server Denali'/><category term='SCOPE'/><category term='Spec#'/><category term='vCloud Director'/><category term='WCF Data Services'/><category term='Quaere'/><category term='Entity Framework v4.2'/><category term='Democratizing the Cloud'/><category term='Visual Studio 2008 Service Pack 1'/><category term='Front Runner'/><category term='LINQ to XSD'/><category term='HP Cloud Services'/><category term='Collection Initializers'/><category term='OAuth WRAP'/><category term='EF Extensions'/><category term='Project &quot;Austin&quot;'/><category term='MGraph'/><category term='Windows Azure'/><category term='Amazon Elastic Beanstock'/><category term='Entity Framework v4.3'/><category term='Microsoft Office'/><category term='DataMarket'/><category term='Table Storage Services'/><category term='PASS Summit 2011'/><category term='InfoJet'/><category term='Amazon SQS'/><category term='Microsoft Velocity'/><category term='Terremark'/><category term='JET'/><category term='Atlas'/><category term='Java'/><category term='Azure Data Services'/><category term='Blinq'/><category term='NHibernate Shards'/><category term='Entity Framework v4.1'/><category term='Test Driven Design'/><category term='Cloud Computing Futures (CCF)'/><category term='WCF'/><category term='LINQ 2.0'/><category term='Test Harnesses'/><category term='Server Explorer'/><category term='Microsoft Access'/><category term='JotForm'/><category term='Queries'/><category term='PBwiki'/><category term='ISO 27001'/><category term='Amazon Connect'/><category term='LINQ to AD'/><category term='Entity Framework SP1 Beta'/><category term='Windows AppFabric'/><category term='Ocean Beach'/><category term='Azure Accelerator for Web Roles'/><category term='Clustrix'/><category term='Performance'/><category term='TechEd Australia 2010'/><category term='da Vinci Toolset'/><category term='PowerPivot'/><category term='Cisco'/><category term='Azure Drive'/><category term='Cloudera'/><category term='LINQ to Streams'/><category term='Personally Identifiable Information'/><category term='Project &quot;Dallas&quot;'/><category term='DB2 9 Express-C'/><category term='LINQ to GAC'/><category term='Hailstorm'/><category term='IPOCO'/><category term='OSCON'/><category term='ESENT'/><category term='System Center App Controller'/><category term='Entity Data Platform'/><category term='AppFabric Applications'/><category term='FISMA'/><category term='Visual Studio 2011 Developer Preview'/><category term='Virtual Machines'/><category term='Julie Lerman'/><category term='Sentiment Analysis'/><category term='PopFly'/><category term='Forms'/><category term='SubSonic Makai'/><category term='SQL Server Denali CTP'/><category term='MSchema'/><category term='SQL Server Mobile'/><category term='Workflow Foundation'/><category term='IBM'/><category term='Data Services'/><category term='PinPoint'/><category term='IBM Smart Cloud'/><category term='SQL Server 2005'/><category term='Hybrid Clouds'/><category term='Orcas March 2007 CTP'/><category term='HPC'/><category term='Dynamic Language Runtime'/><category term='Dynamics NAV'/><category term='SyncLINQ'/><category term='Zend'/><category term='DataDude'/><category term='SqlMethods'/><category term='IDC'/><category term='VSM'/><category term='Virtual Networking'/><category term='LINQ to MSI'/><category term='Michael Arrington'/><category term='LINQ to Expressions'/><category term='Amazon Route 53'/><category term='Dependency Injection/Inversion'/><category term='Microsoft Cloud Essentials Pack'/><category term='VMware'/><category term='Orchard CRM'/><category term='Azure Diagnostics'/><category term='WPC2010'/><category term='Astoria'/><category term='IndexedDB'/><category term='Fawcette'/><category term='Amazon GPU Clusters'/><category term='WAPA'/><category term='Puppet'/><category term='EntityDataSource'/><category term='Project &quot;Hawaii&quot;'/><category term='Windows Azure Storage'/><category term='LINQ to Anything'/><category term='MOSS 2007'/><category term='BPOS'/><category term='OAuth'/><category term='NuPack'/><category term='MapReduce'/><category term='ActiveRecord'/><category term='MLinq'/><category term='Open Data Center Alliance'/><category term='Deep Zoom'/><category term='Windows Azure Platform Training Kit'/><category term='Live Services'/><category term='ADO.NET 4.0'/><category term='LINQ to Stored XML'/><category term='Open Government Data Initiative'/><category term='Node.js'/><category term='XQuery'/><category term='Hortonworks'/><category term='System Center Orchestrator'/><category term='ServiceBus'/><category term='Anders Hejlsberg'/><category term='SQL Azure Services'/><category term='JSON'/><category term='Global Foundation Services'/><category term='VS LightSwitch'/><category term='C# Express'/><category term='LINQ to HPC'/><category term='Amazon SimpleDB'/><category term='Opalis'/><category term='Jasper'/><category term='SQL Server 2008'/><category term='Cloud Computing'/><category term='Excel PowerPivot'/><category term='Windows Hyper-V Server 2008 R2'/><category term='iCloud'/><category term='Windows Experience Index'/><category term='NetDataContractSerializer'/><category term='TerraServer'/><category term='Tivoli'/><category term='SSCE'/><category term='SkyMarket'/><category term='OPath'/><category term='RavenDB'/><category term='RDO'/><category term='EntityData Platform'/><category term='Tesla'/><category term='Load Testing'/><category term='Social Analytics'/><category term='TechEd North America 2011'/><category term='Entity Framework SP1'/><category term='Katmai'/><category term='3Tera'/><category term='Specification Pattern'/><category term='GDrive'/><category term='LevelDB'/><category term='Windows Azure AppFabric SDK'/><category term='Wetpaint'/><category term='Cerebrata'/><category term='BCS'/><category term='Data Entry'/><category term='TechCrunch'/><category term='Web Developer Express'/><category term='Lambdas'/><category term='Project &quot;Concero&quot;'/><category term='EDM Designer'/><category term='BizTalk'/><category term='Windows Azure Connect'/><category term='Eucalyptus'/><category term='VS 2010'/><category term='AtomPub'/><category term='Fawcette Technical Publications'/><category term='Windows Azure Security'/><category term='Entity Framework Beta 3'/><category term='Sharding'/><category term='BUILD Conference'/><category term='DabbleDB'/><category term='LINQ to SharePoint'/><category term='MSDN'/><category term='PCI-DSS'/><category term='RSS'/><category term='Amalga'/><category term='Data Centers'/><category term='LINQ to SSDS'/><category term='Spotlight on Azure (Quest)'/><category term='Codename &quot;Daytona&quot;'/><category term='Microsoft Platform Ready'/><category term='LLBLGen Pro'/><category term='LINQ to DataReader'/><category term='SkyLine'/><category term='LINQ to JavaScript'/><category term='Amazon CCI'/><category term='MySQL'/><category term='XSLT'/><category term='Wufoo'/><category term='Geneva Server'/><category term='Web Services'/><category term='Dot Cloud'/><category term='LINQ to WMI'/><category term='Entity Framework August 2007 CTP'/><category term='VB Express'/><category term='Sync Designer'/><category term='EDM'/><category term='Identity Framework'/><category term='.NET Framework'/><category term='Refactoring'/><category term='MIX10'/><category term='VB 9'/><category term='William Finnegan'/><category term='Worldwide Partner Conference 2011'/><category term='HIPAA'/><category term='O/RM Persistence Ignorance'/><category term='Orcas June 2007 CTP'/><category term='CLINQ'/><category term='OOXML'/><category term='Codename &quot;Juneau&quot;'/><category term='LINQ to Excel'/><category term='App Harbor'/><category term='Hierarchical Updates'/><category term='DataSift'/><category term='Remote Data Access'/><category term='LINQ to PHP'/><category term='Orcas Beta 1'/><category term='SOX'/><category term='Windows 8'/><category term='Windows Azure Billing'/><category term='Service Level Agreements'/><category term='SvcTraceViewer'/><category term='Azure Table Storage Services'/><category term='Intuit'/><category term='Reactive Framework'/><category term='Woldwide Partner Conference 2010'/><category term='SharePoint Online'/><category term='VS Express'/><category term='JotSpot'/><category term='SQL Azure Data Services'/><category term='Open Data Protocol'/><category term='Windows DNA'/><category term='VoltDB'/><category term='Erik Meijer'/><category term='Azure'/><category term='Visual Studio 2010'/><category term='Ajax'/><category term='Amazon CloudFront'/><category term='Orcas Beta 2'/><category term='LINQ Extensions'/><category term='SQL Azure Federations'/><category term='Lexical Closures'/><category term='Task Parallel Library'/><category term='SugarCRM'/><category term='Federated Identities'/><category term='LINQ to Esent'/><category term='Lucene.NET'/><category term='AppFabric Labs'/><category term='SQL Server Migration Assistant'/><category term='Entity Framework June 2007 CTP'/><category term='Windows 7'/><category term='1105 Media'/><category term='Microsoft Partner Network'/><category term='ObjectSpaces'/><category term='Windows Azure App Fabric Labs'/><category term='Wikia'/><category term='REST'/><category term='IBM Pulse 2009'/><category term='LINQ to Flickr'/><category term='Hibernate Shards'/><category term='Common Criteria'/><category term='.NET Services'/><category term='SSDS'/><category term='SQL Server ODBC Driver for Unix'/><category term='.NET 3.5 SP1'/><category term='LinqPad'/><category term='Windows Azure Platform Live Services'/><category term='IaaS'/><category term='Wyacracker'/><category term='StorageClient Library'/><category term='XLinq'/><category term='Office Accounting Express 2007'/><category term='Fujitsu'/><category term='Entity Framework Beta 2'/><category term='Patterns'/><category term='SQL Express'/><category term='Amazon Simple Email Service'/><category term='Uptime Reports'/><category term='i4o'/><category term='Sawzall'/><category term='Social Bookmarks'/><category term='Azure Compute Services'/><category term='Web Platform Installer 2.0'/><category term='Visual Studio 2011'/><title type='text'>OakLeaf Systems</title><subtitle type='html'>OakLeaf Systems is a Northern California software consulting organization specializing in developing and writing about Windows Azure, SQL Azure, SQL Azure Data Sync, SQL Azure Federations, Windows Azure Platform Appliance (WAPA), Windows Phone 7, LINQ, ADO.NET Entity Framework, OData and WCF Data Services, Microsoft Synchronization Framework, SQL Server 2005+, SQL Server CE, .NET database, and XML Web services projects. TIP: Click the latest item's title below to speed loading.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://oakleafblog.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11646261/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://oakleafblog.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/11646261/posts/default?start-index=101&amp;max-results=100'/><author><name>Roger Jennings (--rj)</name><uri>http://www.blogger.com/profile/01700526164060680385</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-0GeAX5t9PtI/TocwxoAK69I/AAAAAAAAQos/p5d6F13mkiw/s220/OakLeafLogoMVP100px.png'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>1345</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-11646261.post-7183944615089029395</id><published>2012-02-01T16:19:00.001-08:00</published><updated>2012-02-01T16:19:58.733-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Hadoop on Azure'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL Azure'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL Azure Data Migration'/><category scheme='http://www.blogger.com/atom/ns#' term='Azure'/><category scheme='http://www.blogger.com/atom/ns#' term='Codename &quot;Cloud Numerics&quot;'/><category scheme='http://www.blogger.com/atom/ns#' term='ADO.NET Data Services'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows Azure'/><category scheme='http://www.blogger.com/atom/ns#' term='Hadoop'/><category scheme='http://www.blogger.com/atom/ns#' term='Astoria'/><category scheme='http://www.blogger.com/atom/ns#' term='Amazon Web Services'/><category scheme='http://www.blogger.com/atom/ns#' term='Codename &quot;Data Explorer&quot;'/><category scheme='http://www.blogger.com/atom/ns#' term='LightSwitch'/><category scheme='http://www.blogger.com/atom/ns#' term='OData'/><category scheme='http://www.blogger.com/atom/ns#' term='Open Data Protocol'/><category scheme='http://www.blogger.com/atom/ns#' term='Cloud Computing'/><title type='text'>Windows Azure and Cloud Computing Posts for 2/1/2012+</title><content type='html'>&lt;p&gt;   &lt;table border="0" cellspacing="0" cellpadding="0" width="640"&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td valign="top" width="320"&gt;A compendium of Windows Azure, Service Bus, EAI &amp;amp; EDI Access Control, Connect, SQL Azure Database, and other cloud-computing articles. &lt;/td&gt;          &lt;td valign="top" width="320"&gt;&lt;img title="image222" border="0" alt="image222" align="right" src="http://lh5.ggpht.com/-OsoKl-OJ6tQ/TgtZhIThImI/AAAAAAAAMWc/azK-WT3s8xY/image2222.png?imgmax=800" width="291" height="47" /&gt;&lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/p&gt;  &lt;p&gt;&lt;img title="image433" border="0" alt="image433" src="http://lh3.ggpht.com/-wfwZuoYbLys/TgtZhzIkKKI/AAAAAAAAMWg/XcCB0z8djPs/image4333.png?imgmax=800" width="640" height="270" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;a name="Top"&gt;&lt;strong&gt;Note:&lt;/strong&gt;&lt;/a&gt; This post is updated daily or more frequently, depending on the availability of new articles in the following sections:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="#BTQ"&gt;Windows Azure Blob, Drive, Table, Queue and Hadoop Services&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="#SDS"&gt;SQL Azure Database, Federations and Reporting&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="#OData"&gt;Marketplace DataMarket, Social Analytics and OData &lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="#NET"&gt;Windows Azure Access Control, Service Bus, and Workflow&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="#WAVN"&gt;Windows Azure VM Role, Virtual Network, Connect, RDP and CDN&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="#Live"&gt;Live Windows Azure Apps, APIs, Tools and Test Harnesses&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="#Light"&gt;Visual Studio LightSwitch and Entity Framework v4+&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="#Infra"&gt;Windows Azure Infrastructure and DevOps&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="#WAPA"&gt;Windows Azure Platform Appliance (WAPA), Hyper-V and Private/Hybrid Clouds&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="#Security"&gt;Cloud Security and Governance&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="#Events"&gt;Cloud Computing Events&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="#Other"&gt;Other Cloud Computing Platforms and Services&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;hr /&gt;  &lt;h4&gt;&lt;a name="BTQ"&gt;Azure Blob, Drive, Table, Queue and Hadoop Services&lt;/a&gt;&lt;/h4&gt;  &lt;p&gt;&lt;strong&gt;Andrew Brust&lt;/strong&gt; (@&lt;a href="http://twitter.com/andrewbrust"&gt;andrewbrust&lt;/a&gt;) asserted “By responding to potential threats with thoughtfulness, and a zeal to add value, SQL and Big Data could be big business for Redmond” as a deck for his &lt;a href="http://reddevnews.com/articles/2012/02/01/big-data-and-sql-server-disruption-or-harmony.aspx"&gt;Big Data and SQL Server: Disruption or Harmony?&lt;/a&gt; article of 2/1/2012 for the Redmond Developer News site:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-nKwmVvdgbJ8/TynWcYmTF4I/AAAAAAAAafY/2NECG7AIO30/s1600-h/image13.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" align="right" src="http://lh4.ggpht.com/-1RFk9oJyGBY/TynWcm0kTiI/AAAAAAAAafg/xbjmToAYKEU/image_thumb5.png?imgmax=800" width="53" height="66" /&gt;&lt;/a&gt;The SQL Server relational engine matured a long time ago. There have been advances, of course, in performance, fault tolerance and high availability, not mention encryption, compression and file-system integration. And, yes, there's been support for XML, geospatial data and even a service broker. But these have been improvements on the margins. All these features are new flavors of icing; the cake has stayed the same. &lt;/p&gt;    &lt;p&gt;And yet, over the 20-year lifetime of SQL Server, Microsoft has continued to add value to the product, even as the core features have gone into maintenance mode. The big story here has been business intelligence: BI capabilities started in SQL Server 7 with OLAP Services, and have been expanded in meaningful ways with every subsequent release. It's been a great strategy and it still is. But will it keep working? &lt;/p&gt;    &lt;p&gt;Core capabilities can't stay static forever; eventually disruption comes along. Today that disruption is here, coming from Big Data, Hadoop and its MapReduce distributed-computing approach. As strong as SQL Server BI capabilities are (and they're getting even stronger with SQL Server 2012), if Microsoft can't embrace Big Data technology, SQL Server could find itself in a position of desperation, going from underdog to contender, to retiree. What's a poor enterprise software company to do? &lt;/p&gt;    &lt;p&gt;&lt;b&gt;Build Bridges, Don't Burn Them&lt;/b&gt;       &lt;br /&gt;&lt;a href="http://lh6.ggpht.com/-NuS3JYDi4xc/TynWc6E9BII/AAAAAAAAafo/mNXME5Zhqa4/s1600-h/image_thumb3_thumb2.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image_thumb3_thumb" border="0" alt="image_thumb3_thumb" align="right" src="http://lh3.ggpht.com/-moBzyBxFY7c/TynWdP_ZwjI/AAAAAAAAafw/ieKmLrLRN1o/image_thumb3_thumb_thumb.png?imgmax=800" width="160" height="39" /&gt;&lt;/a&gt;Microsoft could ignore Hadoop, but that would be foolish. It could try to build a competitor, which it almost did with the Microsoft Research Dryad project, but I fear not too many people would have come to that party. Microsoft could just adopt Hadoop, plain vanilla, but that would most likely be a race to the bottom, and it wouldn't even win. Really, Microsoft must mix Hadoop into its bag of tricks and do what it has always done best: take a raw technology and make it approachable to the enterprise. I can't be sure yet, but I think that's what Microsoft has done, and it has enhanced the value of Windows Azure in the process. &lt;/p&gt;    &lt;p&gt;With code name &amp;quot;Project Isotope,&amp;quot; Microsoft has taken the step of implementing Hadoop on Windows. It's a no-slouch effort, too: Microsoft's distribution of Hadoop is being developed in concert with Hortonworks, a startup company founded and staffed by many former Hadoop team members at Yahoo! (where the open source project began). But what Microsoft has also done is integrate Hadoop into its BI stack, and that may be one of the smartest moves it's made in quite some time. &lt;/p&gt;    &lt;p&gt;Microsoft has created an Excel add-in for Hive, which provides a SQL-like abstraction over Hadoop and MapReduce. The add-in is based on an ODBC driver, which in turn is compatible with PowerPivot, so business users can do meaningful analysis on Big Data, on their own terms. And because the same engine that drives PowerPivot has been implemented inside Analysis Services in SQL Server 2012, that product has access to Hadoop now, too. With that, Microsoft has joined the Big Data and Enterprise BI worlds. It has also tied together SQL Server and Hadoop. &lt;/p&gt;    &lt;p&gt;&lt;b&gt;Simplify and Succeed&lt;/b&gt;       &lt;br /&gt;&lt;a name="BTQ"&gt;&lt;img title="image" border="0" alt="image" align="right" src="http://lh6.ggpht.com/_GdO7DQgAn3w/TGmtBfGziyI/AAAAAAAAD00/qmrRPnvlwkA/image%5B88%5D.png?imgmax=800" width="160" height="25" /&gt;&lt;/a&gt;Hadoop runs on Windows Server and on Windows Azure, with an installer that makes setup really easy. In addition to those configurations, Microsoft allows Windows Azure users to provision an entire Hadoop cluster from a Web portal, without any discrete installation steps at all. Once the cluster's up, customers can connect to its head node via Remote Desktop. The full Java-based command-line personality of Hadoop is there if you want it, but there are also Hive and JavaScript consoles in the browser. And then it only takes a minute or two to build out a connection from Microsoft BI tools or Excel, putting Hadoop to work for users fitting a number of profiles. It's classic Microsoft, mixed with equal parts open source and Java. &lt;/p&gt;    &lt;p&gt;I've said before that Microsoft does some of its best work when it embraces standards from outside the company. That's what happened with jQuery and ASP.NET, and it may well be what happens with HTML5 and JavaScript in Windows 8. In the case of implementing Hadoop, Microsoft makes Windows Azure more valuable and more agnostic. It brings continued relevance to Windows Server and SQL Server. And it widens the reach and utility of Hadoop. By responding to a potential threat with thoughtfulness -- and a zeal to add value -- Big Data could be big business for Redmond.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;strong&gt;Full disclosure&lt;/strong&gt;: I’m a contributing editor for Visual Studio Magazine, which is published by 1105 Media who also own the Redmond Developer News site.&lt;/p&gt;  &lt;hr /&gt;  &lt;p&gt;&lt;a href="#Top"&gt;&amp;lt;Return to section navigation list&amp;gt;&lt;/a&gt;&lt;/p&gt;  &lt;h4&gt;&lt;a name="SDS"&gt;SQL Azure Database, Federations and Reporting &lt;/a&gt;&lt;/h4&gt;  &lt;p&gt;&lt;strong&gt;Benjamin Guinebertière&lt;/strong&gt; explained how to &lt;a href="http://blogs.msdn.com/b/benjguin/archive/2012/02/01/use-ssis-to-push-data-to-sql-azure-utiliser-ssis-pour-pousser-des-donn-233-es-vers-sql-azure.aspx"&gt;Use SSIS to push data to SQL Azure | Utiliser SSIS pour pousser des données vers SQL Azure&lt;/a&gt; in a 1/31/2012 post. From the English version:&lt;/p&gt;  &lt;blockquote&gt;   &lt;ul&gt;&lt;/ul&gt;    &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-vqOG4xwkoBE/TynWd0XMvBI/AAAAAAAAaf4/GS-wn5Hn24k/s1600-h/image%25255B8%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" align="right" src="http://lh6.ggpht.com/-5I1NKXby_h8/TynWeB1cPqI/AAAAAAAAagA/fjA0LVj2d58/image_thumb%25255B2%25255D.png?imgmax=800" width="50" height="66" /&gt;&lt;/a&gt;The goal of this blog post is to show that it is as easy with SQL Azure as with SQL Server to push data with SSIS.&lt;/p&gt;    &lt;p&gt;In this sample, let’s use SQL Server 2008 R2, which is the latest SQL Server version in production (1).&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;&lt;strong&gt;&lt;b&gt;&lt;a href="#Top"&gt;&lt;img title="image" border="0" alt="image" align="right" src="http://lh5.ggpht.com/_GdO7DQgAn3w/TFxIT_td_pI/AAAAAAAADfQ/asbwuFou3jU/image%5B36%5D.png?imgmax=800" width="160" height="43" /&gt;&lt;/a&gt;&lt;/b&gt;&lt;/strong&gt;&lt;/strong&gt;The scenario is to push some data from SQL Server 2008 R2 on premises to SQL Azure in the cloud. This is done with SQL Server 2008 R2 Integration Services (SSIS).&lt;/p&gt;    &lt;p&gt;If and when starting from an empty SQL Azure database, in order to create the schema, one would typically use &lt;a href="http://blogs.msdn.com/b/benjguin/archive/2011/05/03/vid-233-o-sql-server-vers-sql-azure-sql-server-to-sql-azure-demo.aspx"&gt;SQL Azure Migration Wizard&lt;/a&gt; which has an option to generate schema only.&lt;/p&gt;    &lt;p&gt;Here are the steps to create a very simple SSIS package and execute it (in debug mode):&lt;/p&gt;    &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-46-20-metablogapi/3146.image_5F00_4285EF2D.png"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-46-20-metablogapi/7331.image_5F00_thumb_5F00_07521362.png" width="560" height="393" /&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-46-20-metablogapi/2022.image_5F00_0F8638F9.png"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-46-20-metablogapi/8715.image_5F00_thumb_5F00_7752A8D0.png" width="560" height="421" /&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-46-20-metablogapi/8867.image_5F00_2C9BBB36.png"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-46-20-metablogapi/3681.image_5F00_thumb_5F00_271D24C5.png" width="560" height="421" /&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-46-20-metablogapi/0842.image_5F00_3CB75D62.png"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-46-20-metablogapi/5241.image_5F00_thumb_5F00_3BDEF778.png" width="494" height="140" /&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-46-20-metablogapi/8546.image_5F00_7A64451E.png"&gt;&lt;img title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-46-20-metablogapi/4237.image_5F00_thumb_5F00_18625313.png" width="560" height="309" /&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-46-20-metablogapi/3568.image_5F00_70DB60DB.png"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-46-20-metablogapi/1581.image_5F00_thumb_5F00_5B11787E.png" width="287" height="147" /&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-46-20-metablogapi/8446.image_5F00_5960ACAA.png"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-46-20-metablogapi/1184.image_5F00_thumb_5F00_2CD77CC4.png" width="560" height="272" /&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-46-20-metablogapi/4212.image_5F00_350BA25B.png"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-46-20-metablogapi/8422.image_5F00_thumb_5F00_69E881CB.png" width="519" height="480" /&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-46-20-metablogapi/3125.image_5F00_47444350.png"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-46-20-metablogapi/7827.image_5F00_thumb_5F00_52F98A82.png" width="484" height="480" /&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-46-20-metablogapi/0564.image_5F00_17597BC2.png"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-46-20-metablogapi/4375.image_5F00_thumb_5F00_40ED46F5.png" width="491" height="480" /&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-46-20-metablogapi/3201.image_5F00_5E7F21F4.png"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-46-20-metablogapi/7180.image_5F00_thumb_5F00_6AA09C1B.png" width="492" height="480" /&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-46-20-metablogapi/1122.image_5F00_0F51B393.png"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-46-20-metablogapi/1122.image_5F00_thumb_5F00_5F476211.png" width="560" height="412" /&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-46-20-metablogapi/0143.image_5F00_622CA0F7.png"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-46-20-metablogapi/1614.image_5F00_thumb_5F00_15F49749.png" width="256" height="322" /&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-46-20-metablogapi/2287.image_5F00_3F88627C.png"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-46-20-metablogapi/2703.image_5F00_thumb_5F00_45630615.png" width="357" height="160" /&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-46-20-metablogapi/2768.image_5F00_0A9B5D3F.png"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-46-20-metablogapi/8535.image_5F00_thumb_5F00_7B184B6F.png" width="560" height="342" /&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-46-20-metablogapi/4834.image_5F00_6D658F67.png"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-46-20-metablogapi/8623.image_5F00_thumb_5F00_16F95A9B.png" width="513" height="480" /&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-46-20-metablogapi/2337.image_5F00_62788852.png"&gt;&lt;img title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-46-20-metablogapi/6038.image_5F00_thumb_5F00_0C6860AE.png" width="560" height="444" /&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-46-20-metablogapi/5140.image_5F00_017B5999.png"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-46-20-metablogapi/6545.image_5F00_thumb_5F00_5485F6BD.png" width="486" height="480" /&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;NB: the SSIS package needs an outbound access to port 1433 in order to connect to SQL Azure. The &lt;a href="http://blogs.msdn.com/b/benjguin/archive/2011/12/05/create-a-sql-azure-server-cre-233-er-un-serveur-sql-azure.aspx"&gt;SQL Azure firewall must also have been opened&lt;/a&gt; for the public IP address the SSIS package will use to access the Internet.&lt;/p&gt;    &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-46-20-metablogapi/6457.image_5F00_18E5E7FD.png"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-46-20-metablogapi/4073.image_5F00_thumb_5F00_6947C970.png" width="560" height="426" /&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-46-20-metablogapi/8686.image_5F00_34C6F728.png"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-46-20-metablogapi/2804.image_5F00_thumb_5F00_1EFD0ECB.png" width="189" height="165" /&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-46-20-metablogapi/1727.image_5F00_045072B2.png"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-46-20-metablogapi/3884.image_5F00_thumb_5F00_1B2F442E.png" width="494" height="480" /&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-46-20-metablogapi/8255.image_5F00_586FF8F5.png"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-46-20-metablogapi/6505.image_5F00_thumb_5F00_27409888.png" width="560" height="423" /&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-46-20-metablogapi/8231.image_5F00_0A76FDA6.png"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-46-20-metablogapi/2474.image_5F00_thumb_5F00_294D7184.png" width="210" height="197" /&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-46-20-metablogapi/5078.image_5F00_195E2CC0.png"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-46-20-metablogapi/5001.image_5F00_thumb_5F00_15242F2E.png" width="560" height="422" /&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;Here is a synopsis of what we just did. Data was copied from SQL Server 2008 R2 to SQL Azure thru SSIS exactly as it would have been from SQL Server to SQL Server.&lt;/p&gt;    &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-46-20-metablogapi/4405.image_5F00_3249D738.png"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-46-20-metablogapi/4174.image_5F00_thumb_5F00_0B6B9B2B.png" width="560" height="407" /&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;This sample SSIS package was very simple, because its goal was to show connectivity is seamless. Of course, in real life this package would contain much more shapes in order to copy several tables, transform data and so on.&lt;/p&gt;    &lt;p&gt;&lt;a href="http://www.benjguin.com/"&gt;Benjamin&lt;/a&gt;&lt;/p&gt;    &lt;hr /&gt;    &lt;p&gt;(1) SQL Server 2012 is in Release Candidate 0 for now so I expect companies to have SQL Server 2008 R2 deployed&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;In my opinion, George Huey’s SQL Azure Migration Wizard is a simpler and more straightforward method of uploading data to SQL Azure. See my &lt;a href="http://oakleafblog.blogspot.com/2010/01/using-sql-azure-migration-wizard-v313.html"&gt;Using the SQL Azure Migration Wizard v3.3.3 with the AdventureWorksLT2008R2 Sample Database&lt;/a&gt; of 7/10/2010 for more details.&lt;/p&gt;  &lt;p&gt;   &lt;hr /&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="#Top"&gt;&amp;lt;Return to section navigation list&amp;gt;&lt;/a&gt;&lt;/p&gt;  &lt;h4&gt;&lt;a name="OData"&gt;MarketPlace DataMarket, Social Analytics and OData &lt;/a&gt;&lt;/h4&gt;  &lt;p&gt;The &lt;strong&gt;Codename “Data Explorer” Team&lt;/strong&gt; (@&lt;a href="http://twitter.com/DataExplorer"&gt;DataExplorer&lt;/a&gt;) described &lt;a href="http://blogs.msdn.com/b/dataexplorer/archive/2012/02/01/consuming-data-explorer-published-data-feeds-in-visual-studio-primer.aspx"&gt;Consuming “Data Explorer” published data feeds in Visual Studio primer&lt;/a&gt; in a 2/1/2012 post:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;b&gt;Part 1 – Consuming a Basic Open Feed&lt;/b&gt;&lt;/p&gt;    &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-CtRzElfGs5g/TynWeRTC83I/AAAAAAAAagI/HuB4fLnfhvo/s1600-h/image34.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" align="right" src="http://lh4.ggpht.com/-FfIwgCCGnCM/TynWeorI5QI/AAAAAAAAagQ/yXuCFoYKtI8/image_thumb13.png?imgmax=800" width="65" height="66" /&gt;&lt;/a&gt;In a previous &lt;a href="http://blogs.msdn.com/b/dataexplorer/archive/2011/11/01/publish-capabilities-in-data-explorer.aspx"&gt;post&lt;/a&gt; we discussed the Publishing capabilities of Microsoft Codename “Data Explorer”. After mashing up your data and generating interesting results, you can share your findings literally with the world at large. One of the formats available to publish data is as an &lt;a href="http://www.odata.org/"&gt;OData feed&lt;/a&gt;, which can be used to allow programmatic access to the results. &lt;/p&gt;    &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_GdO7DQgAn3w/TBPrBgBH0wI/AAAAAAAABUw/yiUVlsFgFgs/s1600-h/image%5B34%5D.png"&gt;&lt;img title="image" border="0" alt="image" align="right" src="http://lh4.ggpht.com/_GdO7DQgAn3w/TBPrBwhBVOI/AAAAAAAABU0/pg4QP5rVwqw/image_thumb%5B20%5D.png?imgmax=800" width="120" height="35" /&gt;&lt;/a&gt;&lt;/a&gt;In this post we cover a basic example of consuming a published feed in Visual Studio (VS) using a simple console application along with some pointers to set it up. We are actively working on improving the ease of access to published results in “Data Explorer” from VS and other tools, so bear with us as we iron out the wrinkles and please reach out to us if you run into any issues. Our goal is to reduce the need for function calls by adding extra user interface support, but in the meantime, for those of you who like to tinker, here are some roll-back-your-sleeves-and-get-your-hands-dirty instructions.&lt;/p&gt;    &lt;p&gt;&lt;b&gt;1. Ensuring the published mashup is set up to be consumable&lt;/b&gt;&lt;/p&gt;    &lt;p&gt;Currently, in order to consume a published OData feed using VS, resources need to have primary keys and include only supported data types (more on this below). For the purposes of this example, the mashup also needs to be published as visible to everyone, including unauthenticated users (meaning, that no authentication mechanism is requested when trying to access the feed). We will cover the explanation for how to access feeds secured via a feed key in a subsequent blog post.&lt;/p&gt;    &lt;p&gt;&lt;b&gt;1.a. Verifying the mashup resources can be externally consumed as a feed&lt;/b&gt;&lt;/p&gt;    &lt;p&gt;First and foremost, all published resources that are to be consumed by VS need to have a primary key. You can ensure that a given table has a primary key by using the Table.AddKey() function. We are working on an “add key” button to the user interface to facilitate this, but in the meantime you can manually add a primary key using the formula bar.&lt;/p&gt;    &lt;p&gt;For example, let’s start with a very simple table of IDs, First and Last names, created by directly inputting the text into “Data Explorer” and converting to a table:&lt;/p&gt;    &lt;ul&gt;     &lt;li&gt;Create a new mashup (call it, say, “Basic publish to VS”) and add data by inputting text. &lt;/li&gt;   &lt;/ul&gt;    &lt;blockquote&gt;     &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-48-46-ODataVSPart1/3010.P1I01_5F00_CreatingSimpleTableByAddingText.jpg"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-48-46-ODataVSPart1/3010.P1I01_5F00_CreatingSimpleTableByAddingText.jpg" width="560" height="324" /&gt;&lt;/a&gt;&lt;/p&gt;   &lt;/blockquote&gt;    &lt;ul&gt;     &lt;li&gt;Use “To Table” after pressing “Done” to convert the free-form text into a table. &lt;/li&gt;   &lt;/ul&gt;    &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-48-46-ODataVSPart1/6558.P1I02_5F00_UseToTableForFreeFormText.jpg"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-48-46-ODataVSPart1/6558.P1I02_5F00_UseToTableForFreeFormText.jpg" width="560" height="222" /&gt;&lt;/a&gt;&lt;/p&gt;    &lt;ul&gt;     &lt;li&gt;Take the default options (using spaces as delimiters and the first row as headers) to create the table. &lt;/li&gt;   &lt;/ul&gt;    &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-48-46-ODataVSPart1/3414.P1I03_5F00_TakingDefaultTableCreationSettings.jpg"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-48-46-ODataVSPart1/3414.P1I03_5F00_TakingDefaultTableCreationSettings.jpg" width="560" height="354" /&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;With a simple table in place, we can now start the process to make it consumable. &lt;/p&gt;    &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-48-46-ODataVSPart1/7230.P1I04_5F00_SampleTable.jpg"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-48-46-ODataVSPart1/7230.P1I04_5F00_SampleTable.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;The first step is to add a primary key. To invoke the Table.AddKey() function using the formula bar, click on the &lt;b&gt;fx&lt;/b&gt; icon next to the Edit button and select “New Task”:&lt;/p&gt;    &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-48-46-ODataVSPart1/2821.P1I05_5F00_SampleTableNewTask.jpg"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-48-46-ODataVSPart1/2821.P1I05_5F00_SampleTableNewTask.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;In the new task, call the function on the TableFromText reference by typing it in as seen in the figure. This function call makes the “ID” column the primary key (since primary keys must be unique, remember that multiple columns can be used to create a key, thus ensuring uniqueness). Note that “TableFromText” happens to be the name of the previous task.&lt;/p&gt;    &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-48-46-ODataVSPart1/8875.P1I06_5F00_TableAddKeyFunction.jpg"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-48-46-ODataVSPart1/8875.P1I06_5F00_TableAddKeyFunction.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;Once sure that the table has a primary key, there are a couple of caveats regarding the data that will be exposed in the feed:&lt;/p&gt;    &lt;ul&gt;     &lt;li&gt;Currently, the set of supported data types between VS and “Data Explorer” is different, so in order to ensure VS consumption, the data published in “Data Explorer” (which supports a larger set of data types) needs to be adjusted to be consumed in VS. Among the data types not yet recognized in VS are Time, Duration, DateTimeOffset, and Geospatial. Attempting to import a feed with these data types will cause the entire VS import operation to fail, so make sure that the feed you wish to import into VS does not have any of these data types exposed. &lt;/li&gt;      &lt;li&gt;Similarly, an exposed service operation that returns a keyed-table type will import correctly into VS, but the service operations will be ignored. &lt;/li&gt;      &lt;li&gt;Exposed service operations that return tables without keys will fail the VS import, though, as will service operations that have parameters. &lt;/li&gt;      &lt;li&gt;Lastly, for now tables with navigation properties will also fail the VS import, but we are actively working on a fix that should address this in the near future. &lt;/li&gt;   &lt;/ul&gt;    &lt;p&gt;With the above in mind, and with a mashup that can be consumed by VS via feed, we are ready to publish and consume the data.&lt;/p&gt;    &lt;p&gt;&lt;b&gt;1.b. Publishing the mashup&lt;/b&gt;&lt;/p&gt;    &lt;p&gt;When publishing the mashup, for this example we will make the published results visible to everyone, including unauthenticated users, to allow programmatic access (we will cover the more complex case of consuming authenticated feeds in a future post).&lt;/p&gt;    &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-48-46-ODataVSPart1/8284.P1I07_5F00_MakeVisibleToEveryone.jpg"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-48-46-ODataVSPart1/8284.P1I07_5F00_MakeVisibleToEveryone.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;Click on Publish and follow the link to access the publish page. From there, copy the full web address under “Data Feed” for use in programmatic access. &lt;/p&gt;    &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-48-46-ODataVSPart1/1263.P1I08_5F00_PublishPageODataFeed.jpg"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-48-46-ODataVSPart1/1263.P1I08_5F00_PublishPageODataFeed.jpg" width="560" height="143" /&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;This link to the feed is what will allow VS to access the data.&lt;/p&gt;    &lt;p&gt;&lt;b&gt;2. Consuming a feed in Visual Studio&lt;/b&gt;&lt;/p&gt;    &lt;p&gt;Once the feed has been created in a consumable format, there are a few things to be aware of when programmatically accessing the feed via VS.&lt;/p&gt;    &lt;p&gt;&lt;b&gt;2.a. Installing the Microsoft WCF Data Services October 2011 CTP&lt;/b&gt;&lt;/p&gt;    &lt;p&gt;In order to successfully add a service reference using the steps outlined below, be sure to install the community technical preview that included the updated version of the WCF Data Services library; click &lt;a href="http://www.microsoft.com/download/en/details.aspx?id=27728"&gt;here&lt;/a&gt; for the Download Center page.&lt;/p&gt;    &lt;p&gt;&lt;b&gt;2.b. Adding a service reference in Visual Studio&lt;/b&gt;&lt;/p&gt;    &lt;p&gt;In your VS project, right-click on References or on Service References to “Add Service Reference”.&lt;/p&gt;    &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-48-46-ODataVSPart1/3007.P1I09_5F00_AddingServiceReference.jpg"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-48-46-ODataVSPart1/3007.P1I09_5F00_AddingServiceReference.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;Enter the feed URL from the Data Explorer publish page into the Address box and click Go. Make sure the URL you enter matches the published feed URL exactly (for example, verify there are no trailing spaces). You should be able to see the published resources and click OK to add the service.&lt;/p&gt;    &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-48-46-ODataVSPart1/1351.P1I10_5F00_CompletingTheAddingOfServiceReference.jpg"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-48-46-ODataVSPart1/1351.P1I10_5F00_CompletingTheAddingOfServiceReference.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&lt;b&gt;2.c. Using the service reference in a console application&lt;/b&gt;&lt;/p&gt;    &lt;p&gt;Here is a sample console program to consume the above feed:&lt;/p&gt;    &lt;pre&gt;using System;&lt;br clear="all" /&gt;using System.Collections.Generic;&lt;br clear="all" /&gt;using System.Linq;&lt;br clear="all" /&gt;using System.Text; &lt;/pre&gt;

  &lt;pre&gt;namespace ConsumingDEpublishedDataInVSPart1&lt;br clear="all" /&gt;{&lt;br clear="all" /&gt;    class Program&lt;br clear="all" /&gt;    {&lt;br clear="all" /&gt;        static void Main(string[] args)&lt;br clear="all" /&gt;        {&lt;br clear="all" /&gt;            // Note: Make sure you replace the URI &lt;br clear="all" /&gt;            // with the feed URL used when adding a service reference.&lt;br clear="all" /&gt;            EntityCatalog catalog = new EntityCatalog(new &lt;br clear="all" /&gt;            Uri(&amp;quot;https://ws32842467.dataexplorer.sqlazurelabs.com/&lt;br clear="all" /&gt; Published/Basic%20publish%20to%20VS%20test/Feed&amp;quot;));&lt;br clear="all" /&gt;            foreach (EntityType0 element in catalog.Text1)&lt;br clear="all" /&gt;            {   //Note: ‘Text1’ is the name of your mashup resource&lt;br clear="all" /&gt;                Console.WriteLine(element.ID + &amp;quot; &amp;quot; + &lt;br clear="all" /&gt;element.FirstName &lt;br clear="all" /&gt;                                                 + &amp;quot; &amp;quot; &lt;br clear="all" /&gt;element.LastName + &amp;quot; &amp;quot;);&lt;br clear="all" /&gt;            }&lt;br clear="all" /&gt;            Console.WriteLine(&amp;quot;Press any key to continue...&amp;quot;);&lt;br clear="all" /&gt;            Console.ReadKey();&lt;br clear="all" /&gt;        }&lt;br clear="all" /&gt;    }&lt;br clear="all" /&gt;}&lt;/pre&gt;

  &lt;p&gt;As you can see in the figure below, the two “EntityCatalog” references are unresolved (and there are a couple of other interesting service-specific items as well). Note that the resource name in our mashup (“Text1”) is used when accessing the elements in the feed. Note also that the column names (“ID”, “FirstName”, and “LastName”) are also used when accessing each element.&lt;/p&gt;

  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-48-46-ODataVSPart1/7624.P1I11_5F00_InitialConsoleAppForAccessingDEFeed.jpg"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-48-46-ODataVSPart1/7624.P1I11_5F00_InitialConsoleAppForAccessingDEFeed.jpg" width="560" height="166" /&gt;&lt;/a&gt;&lt;/p&gt;

  &lt;p&gt;Before this code can compile, we need to resolve the “EntityCatalog” references via a “using” statement.&lt;/p&gt;

  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-48-46-ODataVSPart1/0777.P1I12_5F00_AddingUsingStatementToResolveDEFeedReferences.jpg"&gt;&lt;img src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-48-46-ODataVSPart1/0777.P1I12_5F00_AddingUsingStatementToResolveDEFeedReferences.jpg" width="560" height="273" /&gt;&lt;/a&gt;&lt;/p&gt;

  &lt;p&gt;This resolves both the “EntityCatalog” and “EntityType0” references because they are names generated by the “Data Explorer” feed.&lt;/p&gt;

  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-48-46-ODataVSPart1/3414.P1I13_5F00_DESpecificReferencesResolvedViaUsingStatement.jpg"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-48-46-ODataVSPart1/3414.P1I13_5F00_DESpecificReferencesResolvedViaUsingStatement.jpg" width="560" height="134" /&gt;&lt;/a&gt;&lt;/p&gt;

  &lt;p&gt;As a quick aside, those names and their relationship to the mashup resources can be seen in the $metadata description of the “Data Explorer” feed. &lt;/p&gt;

  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-48-46-ODataVSPart1/4578.P1I14_5F00_ServiceFeedMetadata.jpg"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-48-46-ODataVSPart1/4578.P1I14_5F00_ServiceFeedMetadata.jpg" width="560" height="126" /&gt;&lt;/a&gt;&lt;/p&gt;

  &lt;p&gt;The above code, when compiled and run, will output the data in the table from our simple mashup.&lt;/p&gt;

  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-48-46-ODataVSPart1/2806.P1I15_5F00_SimpleProgramOutput.jpg"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-48-46-ODataVSPart1/2806.P1I15_5F00_SimpleProgramOutput.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;

  &lt;p&gt;This pattern can of course be extended to extract data from more meaningful or complex tables. The metadata for the feed (which is accessible by adding “/$metadata” to the feed URL and opening it up in a browser) can be used to tailor the queries over the exposed feed, accessing data from different resources.&lt;/p&gt;

  &lt;p&gt;We are still working hard to improve the experience of consuming “Data Explorer” feeds using VS but hopefully the above example can unlock some interesting new ways to work with your data.&lt;/p&gt;

  &lt;p&gt;What do you think? Let us know your thoughts and stay tuned as we further integrate and simplify the user interface to more easily publish and consume your data with Microsoft Codename “Data Explorer”.&lt;/p&gt;

  &lt;p&gt;&lt;b&gt;3. Some troubleshooting FAQs&lt;/b&gt;&lt;/p&gt;

  &lt;p&gt;While support for programmatic consumption using VS is still a work in progress, following the above steps should allow you to create a service reference and pull data from your feed. Here are some common issues with setting the reference up; please have a look to see if they help, or ask a question in &lt;a href="http://social.msdn.microsoft.com/Forums/en-US/dataexplorer/threads"&gt;our forum&lt;/a&gt; with more specific issues you find.&lt;/p&gt;

  &lt;p&gt;&lt;b&gt;3.a. I encounter an Add Service Reference Error. What’s up with that?&lt;/b&gt;&lt;/p&gt;

  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-48-46-ODataVSPart1/6523.P1I16_5F00_AddServiceReferenceError.jpg"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-48-46-ODataVSPart1/6523.P1I16_5F00_AddServiceReferenceError.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;

  &lt;p&gt;Depending on the specific details, this Add Service Reference Error may mean that an incorrect feed URL was used. For instance, one common mistake may be to use the link to the “Data Explorer” publish page rather than the full feed URL (which is the publish page link plus “/Feed”). Double check that the address you use is the full feed link that is presented in the publish page, and not the publish page’s URL.&lt;/p&gt;

  &lt;p&gt;&lt;b&gt;3.b. Why does the service require me to enter a user name and password?&lt;/b&gt;&lt;/p&gt;

  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-48-46-ODataVSPart1/8666.P1I17_5F00_ServerNeedsToAuthenticateYourRequest.jpg"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-48-46-ODataVSPart1/8666.P1I17_5F00_ServerNeedsToAuthenticateYourRequest.jpg" width="560" height="230" /&gt;&lt;/a&gt;&lt;/p&gt;

  &lt;p&gt;This is most likely due to having selected “Make visible to workspace consumers only” instead of “Make visible to everyone, including unauthenticated users” when publishing the mashup. For this example, try going back to “Data Explorer”, and republish by making visible to everyone. We will explain how to consume feeds protected by a feed key in a future blog post.&lt;/p&gt;

  &lt;p&gt;&lt;b&gt;3.c. Why do I get an “Unrecognized version 3.0” error?&lt;/b&gt;&lt;/p&gt;

  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-48-46-ODataVSPart1/4666.P1I18_5F00_UnrecognizedVersion30.jpg"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-48-46-ODataVSPart1/4666.P1I18_5F00_UnrecognizedVersion30.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;

  &lt;p&gt;This error crops up if the &lt;a href="http://www.microsoft.com/download/en/details.aspx?id=27728"&gt;WCF Data Services October 2011 CTP&lt;/a&gt; is not installed. Please see above and verify that this CTP is installed.&lt;/p&gt;

  &lt;p&gt;&lt;b&gt;4. Resources used in this post&lt;/b&gt;&lt;/p&gt;

  &lt;ul&gt;
    &lt;li&gt;The publicly available publish page for the basic feed used in this post can be found at &lt;a href="https://ws32842467.dataexplorer.sqlazurelabs.com/Published/Basic%20publish%20to%20VS%20test"&gt;https://ws32842467.dataexplorer.sqlazurelabs.com/Published/Basic%20publish%20to%20VS%20test&lt;/a&gt; &lt;/li&gt;

    &lt;li&gt;The feed URL used for this post is available at &lt;a href="https://ws32842467.dataexplorer.sqlazurelabs.com/Published/Basic%20publish%20to%20VS%20test/Feed"&gt;https://ws32842467.dataexplorer.sqlazurelabs.com/Published/Basic%20publish%20to%20VS%20test/Feed&lt;/a&gt; &lt;/li&gt;

    &lt;li&gt;The sample VS project used for this post can be downloaded &lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-48-46-ODataVSPart1/5148.ConsumingDEpublishedDataInVSPart1.zip"&gt;here&lt;/a&gt;. &lt;/li&gt;
  &lt;/ul&gt;
&lt;/blockquote&gt;

&lt;hr /&gt;

&lt;p&gt;The &lt;strong&gt;OData Team&lt;/strong&gt; reported &lt;a href="http://www.odata.org/blog/2012/1/30/odata-service-validation-tool-update-7-new-rules"&gt;OData Service Validation Tool Update: 7 new rules&lt;/a&gt; on 1/30/2012:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_GdO7DQgAn3w/TBPrBgBH0wI/AAAAAAAABUw/yiUVlsFgFgs/s1600-h/image%5B34%5D.png"&gt;&lt;img title="image" border="0" alt="image" align="right" src="http://lh4.ggpht.com/_GdO7DQgAn3w/TBPrBwhBVOI/AAAAAAAABU0/pg4QP5rVwqw/image_thumb%5B20%5D.png?imgmax=800" width="120" height="35" /&gt;&lt;/a&gt;OData Service Validation Tool&lt;/a&gt; was updated with 4 more new rules and couple other changes:&lt;/p&gt;

  &lt;ul&gt;
    &lt;li&gt;2 new &lt;a href="http://services.odata.org/Validation/RuleSet/Rules?$filter=Target eq 'Common'&amp;amp;$orderby=Initial_Release desc"&gt;common rules&lt;/a&gt; &lt;/li&gt;

    &lt;li&gt;2 new &lt;a href="http://services.odata.org/Validation/RuleSet/Rules?$filter=Target eq 'Entry'&amp;amp;$orderby=Initial_Release desc"&gt;entry rules&lt;/a&gt; &lt;/li&gt;

    &lt;li&gt;Added new rule targets for &lt;a href="http://services.odata.org/Validation/RuleSet/Rules?$filter=Target eq 'Link'&amp;amp;$orderby=Initial_Release desc"&gt;Link&lt;/a&gt;, &lt;a href="http://services.odata.org/Validation/RuleSet/Rules?$filter=Target eq 'Property'&amp;amp;$orderby=Initial_Release desc"&gt;Property&lt;/a&gt; and &lt;a href="http://services.odata.org/Validation/RuleSet/Rules?$filter=Target eq 'Value'&amp;amp;$orderby=Initial_Release desc"&gt;Value&lt;/a&gt; payload type (targets that we used to call Other) &lt;/li&gt;

    &lt;li&gt;Added Not Applicable test result category to all code rules &lt;/li&gt;
  &lt;/ul&gt;

  &lt;p&gt;This rule update brings the total number of rules in the validation tool to &lt;strong&gt;140&lt;/strong&gt;. You can see the list of the active rules &lt;a href="http://services.odata.org/validation/roadmap.htm#rules"&gt;here&lt;/a&gt; and the list of rules that are under development &lt;a href="http://services.odata.org/Validation/RuleSet/Rules?$filter=Status eq 'Approved'"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;a href="#Top"&gt;&amp;lt;Return to section navigation list&amp;gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;&lt;a name="NET"&gt;Windows Azure Access Control, Service Bus and Workflow &lt;/a&gt;&lt;/h4&gt;

&lt;p&gt;&lt;img title="image72232222222" border="0" alt="image72232222222" align="right" src="http://lh3.ggpht.com/-fc3mII5ve4w/TgtZiTRqOHI/AAAAAAAAMWk/JwVfa2Jb9HY/image722322222222.png?imgmax=800" width="240" height="47" /&gt;No significant articles today.&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;a href="#Top"&gt;&amp;lt;Return to section navigation list&amp;gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;&lt;a name="WAVN"&gt;Windows Azure VM Role, Virtual Network, Connect, RDP and CDN&lt;/a&gt;&lt;/h4&gt;

&lt;p&gt;&lt;a name="BTQ"&gt;&lt;img title="image" border="0" alt="image" align="right" src="http://lh6.ggpht.com/_GdO7DQgAn3w/TGmtBfGziyI/AAAAAAAAD00/qmrRPnvlwkA/image%5B88%5D.png?imgmax=800" width="160" height="25" /&gt;&lt;/a&gt;No significant articles today.&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;a href="#Top"&gt;&amp;lt;Return to section navigation list&amp;gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;&lt;a name="Live"&gt;Live Windows Azure Apps, APIs, Tools and Test Harnesses&lt;/a&gt;&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;BusinessWire&lt;/strong&gt; (@&lt;a href="https://twitter.com/#!/BusinessWire"&gt;BusinessWire&lt;/a&gt;) reported &lt;a href="http://azure.ulitzer.com/node/2149892"&gt;CopperEgg™ Expands Server Monitoring into Windows Azure Environments&lt;/a&gt; in a 2/1/2012 press release via the Azure Cloud on Ulitzer:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-qwoNN-g01iw/TynWe1Ls-XI/AAAAAAAAagY/-jx0_PfSmds/s1600-h/image44.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" align="right" src="http://lh5.ggpht.com/-cikyGhjN0nw/TynWfMJrX8I/AAAAAAAAagg/d2K1Nszvnaw/image_thumb17.png?imgmax=800" width="160" height="79" /&gt;&lt;/a&gt;CopperEgg, Corp., a real-time monitoring company, today announced the support of Windows Azure™ server monitoring with RevealCloud Pro™. &lt;/p&gt;

  &lt;p&gt;&lt;a href="http://cts.businesswire.com/ct/CT?id=smartlink&amp;amp;url=https%3A%2F%2Fapp.copperegg.com%2Fsignup%2F%3Futm_source%3Drelease%26utm_medium%3Dwire%26utm_campaign%3DAzure_launch&amp;amp;esheet=50153261&amp;amp;lan=en-US&amp;amp;anchor=RevealCloud+Pro&amp;amp;index=1&amp;amp;md5=c7c34331b1e0933302a4135827be5123"&gt;RevealCloud Pro&lt;/a&gt; is a SaaS-based server monitoring service that provides a detailed, common view of all of your servers, running any OS, across public and private clouds, and virtual and physical environments. It provides real-time, in-depth insight into all the components participating in application and service delivery, which is critical for monitoring changing loads as well as identifying, isolating and addressing performance issues before service quality is impacted. RevealCloud Pro now supports server monitoring for Windows, Windows Azure, Hyper-V, Linux, Mac OSX and FreeBSD operating systems. &lt;/p&gt;

  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-En2a9iZ-9PM/TynWfT8Bm1I/AAAAAAAAago/qLTOwVIhFkg/s1600-h/image48.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" align="right" src="http://lh6.ggpht.com/-pOhZNCuc13Q/TynWfs8K-ZI/AAAAAAAAagw/yH02bFi0K9I/image_thumb19.png?imgmax=800" width="160" height="71" /&gt;&lt;/a&gt;Today users expect applications and services to perform seamlessly. If an application stops responding – even for a few seconds – customers get easily frustrated and often abandon their efforts, resulting in lost revenue and/or productivity. Server monitoring using RevealCloud Pro provides split-second monitoring of the operating and performance metrics for servers that support critical application services, no matter where they are located. This enables IT and development teams to accelerate time-to-market during the development phase, optimize deployments as they learn customer usage patterns, and identify early warning signs of service degradation. &lt;/p&gt;

  &lt;p&gt;“Our customers upload large volumes of data in batches regularly and when that occurs, we need to scale up quickly so we can process the data efficiently. Using RevealCloud Pro we now have instant insight as to when our servers are reaching capacity,” said Carl Ryden, chief technology officer of &lt;a href="http://cts.businesswire.com/ct/CT?id=smartlink&amp;amp;url=http%3A%2F%2Fwww.precisionlender.com&amp;amp;esheet=50153261&amp;amp;lan=en-US&amp;amp;anchor=PrecisionLender&amp;amp;index=2&amp;amp;md5=ccfc4b6288b9c7fade762099cfc2c820"&gt;PrecisionLender&lt;/a&gt;. “Then using their WebHooks combined with the Azure Management API, we’ve implemented automatic scaling of our servers so we can address load spikes without any intervention on our part. For 15 minutes worth of work and a couple dollars a month, we couldn’t have asked for a better server monitoring solution.” &lt;/p&gt;

  &lt;p&gt;&lt;a name="BTQ"&gt;&lt;img title="image" border="0" alt="image" align="right" src="http://lh6.ggpht.com/_GdO7DQgAn3w/TGmtBfGziyI/AAAAAAAAD00/qmrRPnvlwkA/image%5B88%5D.png?imgmax=800" width="160" height="25" /&gt;&lt;/a&gt;“RevealCloud Pro is quickly gaining traction with our customers deploying and managing services in the cloud, virtual environments and data centers,” said Scott Johnson, CEO of CopperEgg. “The addition of &lt;a href="http://cts.businesswire.com/ct/CT?id=smartlink&amp;amp;url=http%3A%2F%2Fwww.copperegg.com%2F%3Futm_source%3Drelease%26utm_medium%3Dwire%26utm_campaign%3DAzure_launch&amp;amp;esheet=50153261&amp;amp;lan=en-US&amp;amp;anchor=server+monitoring&amp;amp;index=3&amp;amp;md5=225f65b59bd2299cd8f894ee847d9475"&gt;server monitoring&lt;/a&gt; for Windows Azure addresses the needs of developers building services on the Azure platform as well as hybrid environments, who are looking for a robust server monitoring solution that is quickly deployed, easy to use and provides instant insight into server health.” &lt;/p&gt;

  &lt;p&gt;&lt;b&gt;CopperEgg’s Server Monitoring – Key Benefits&lt;/b&gt;&lt;/p&gt;

  &lt;ul&gt;
    &lt;li&gt;&lt;b&gt;Monitor servers across environments&lt;/b&gt;: including clouds, virtual and physical servers. &lt;/li&gt;

    &lt;li&gt;&lt;b&gt;Install in 10 seconds:&lt;/b&gt; package for automatic deployment on new instances, so you never lose an instance. &lt;/li&gt;

    &lt;li&gt;&lt;b&gt;Get real-time updates:&lt;/b&gt; get instant visibility into the performance and health of your systems and detect trends as they develop. &lt;/li&gt;

    &lt;li&gt;&lt;b&gt;Customize alerts&lt;/b&gt;: set thresholds for alerts and direct them to individuals or groups as applicable for instant insight into the health of a system. &lt;/li&gt;

    &lt;li&gt;&lt;b&gt;Tailor views: &lt;/b&gt;see your whole infrastructure from a sortable top-level systems view; or tag and group systems as needed for optimal server monitoring. &lt;/li&gt;

    &lt;li&gt;&lt;b&gt;Enable server monitoring from any browser:&lt;/b&gt; PC, Mac, iPad, iPhone, Android or other mobile device. &lt;/li&gt;
  &lt;/ul&gt;

  &lt;p&gt;Server monitoring with CopperEgg’s RevealCloud Pro is available &lt;a href="http://cts.businesswire.com/ct/CT?id=smartlink&amp;amp;url=https%3A%2F%2Fapp.copperegg.com%2Fsignup%2F%3Futm_source%3Drelease%26utm_medium%3Dwire%26utm_campaign%3DAzure_launch&amp;amp;esheet=50153261&amp;amp;lan=en-US&amp;amp;anchor=here&amp;amp;index=4&amp;amp;md5=f221fad8f6e2a8aa63cd6e23bf1d4609"&gt;here&lt;/a&gt; with a $15 instant credit on a ‘pay for consumption’ basis. &lt;/p&gt;

  &lt;p&gt;&lt;b&gt;About CopperEgg&lt;/b&gt;&lt;/p&gt;

  &lt;p&gt;CopperEgg provides real-time insight into the speed and availability of applications and services deployed on cloud, virtual and physical servers. Our SaaS-based &lt;a href="http://cts.businesswire.com/ct/CT?id=smartlink&amp;amp;url=http%3A%2F%2Fwww.copperegg.com%2Fproduct%2Frevealcloud%2F%3Futm_source%3Drelease%26utm_medium%3Dwire%26utm_campaign%3DAzure_launch&amp;amp;esheet=50153261&amp;amp;lan=en-US&amp;amp;anchor=server+monitoring+tools&amp;amp;index=5&amp;amp;md5=a10ed5c1f544ad7e96e2127bd17e1c20"&gt;server monitoring tools&lt;/a&gt; are designed to install in seconds with no configuration and immediately deliver fine-grained visibility into critical performance metrics, insight into developing trends, and split-second decision support for organizations of all sizes. CopperEgg is backed by Silverton Partners and based in Austin, Texas. For more information, visit: &lt;a href="http://cts.businesswire.com/ct/CT?id=smartlink&amp;amp;url=http%3A%2F%2Fwww.copperegg.com%2F%3Futm_source%3Drelease%26utm_medium%3Dwire%26utm_campaign%3DAzure_launch&amp;amp;esheet=50153261&amp;amp;lan=en-US&amp;amp;anchor=www.copperegg.com&amp;amp;index=6&amp;amp;md5=d6275f40b4ccca6a930d44eb91138e0b"&gt;www.copperegg.com&lt;/a&gt;. &lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;strong&gt;Himanshu Singh&lt;/strong&gt; posted &lt;a href="http://blogs.msdn.com/b/windowsazure/archive/2012/02/01/ifs-360-scheduling-always-optimal-on-windows-azure.aspx"&gt;IFS 360 Scheduling – Always Optimal on Windows Azure&lt;/a&gt; on 2/1/2012:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-rVTSW66rHqo/TynWgCbte8I/AAAAAAAAag4/_DUl9yNDBGA/s1600-h/image31.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" align="right" src="http://lh4.ggpht.com/-rJxVl1BDYF0/TynWgbj1-sI/AAAAAAAAahA/r37rWaUqdFk/image_thumb12.png?imgmax=800" width="52" height="66" /&gt;&lt;/a&gt;IFS has announced the immediate availability of IFS 360 Scheduling on &lt;a href="http://www.windowsazure.com/en-us/?WT.mc_id=cmp_pst001_blg_post0045"&gt;Windows Azure&lt;/a&gt; as part of its strategy to leverage cloud computing, citing Windows Azure as a cost-efficient platform for innovative business solutions.&lt;/p&gt;

  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-0GmcmZeGOmg/TynWg2qUpqI/AAAAAAAAahI/tYHPGFvljXc/s1600-h/image27.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" align="right" src="http://lh4.ggpht.com/-l4bNHgCOu0U/TynWhLXaL7I/AAAAAAAAahQ/1we3PLtnj5g/image_thumb11.png?imgmax=800" width="55" height="66" /&gt;&lt;/a&gt;IFS 360 Scheduling empowers organizations to deliver on-site customer service excellence. Optimizing resource plans to minimize travel and maximize productive work time for hundreds, or even thousands, of technicians is a complex and compute-intensive task, and IFS 360 Scheduling’s ‘always optimizing’ approach means the schedule is constantly up-to-date no matter what is happening out in the field – for organizations with tight deadlines to meet, minutes matter.&lt;/p&gt;

  &lt;p&gt;&lt;a name="BTQ"&gt;&lt;img title="image" border="0" alt="image" align="right" src="http://lh6.ggpht.com/_GdO7DQgAn3w/TGmtBfGziyI/AAAAAAAAD00/qmrRPnvlwkA/image%5B88%5D.png?imgmax=800" width="160" height="25" /&gt;&lt;/a&gt;Meeting tough customer expectations and providing consistent service demands a reliable and robust computing infrastructure. The speed of deployment on Windows Azure and on-demand scaling of resources echo the needs of these dynamic environments, for which resource scheduling is mission critical.&lt;/p&gt;

  &lt;p&gt;You can read more on the IFS announcement on their &lt;a href="http://www.ifsworld.com/en/news/2012/2012-02-01-IFS-brings-mobile-workforce-scheduling-to-the-cloud"&gt;website&lt;/a&gt;, more about the work of IFS 360 Scheduling &lt;a href="http://www.360scheduling.com/"&gt;here&lt;/a&gt;, and a recent blog posting by IFS’ CTO Dan Matthews on &lt;a href="http://blogs.ifsworld.com/2011/09/the-cloud-all-swings-and-roundabouts/"&gt;cloud computing&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;strong&gt;Himanshu Singh&lt;/strong&gt; (pictured below) posted &lt;a href="http://blogs.msdn.com/b/windowsazure/archive/2012/01/31/aidmatrix-delivers-global-humanitarian-relief-faster-with-windows-azure.aspx"&gt;Real-World Windows Azure: Interview with Michael Ross, VP of Delivery at Aidmatrix&lt;/a&gt; on 2/1/2012:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-FpQWBYgrhVQ/TynWhRg-QXI/AAAAAAAAahY/dSEs7kOkET4/s1600-h/image24.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" align="right" src="http://lh4.ggpht.com/-P4qSW1XK6ms/TynWh03DaCI/AAAAAAAAahg/26ZNImXBL2c/image_thumb10.png?imgmax=800" width="52" height="66" /&gt;&lt;/a&gt;As part of the Real World Windows Azure interview series, I talked to Michael Ross, vice president for Delivery at &lt;a href="http://www.aidmatrix.org/"&gt;Aidmatrix&lt;/a&gt;, about using &lt;a href="http://www.windowsazure.com/en-us/?WT.mc_id=cmp_pst001_blg_post0044"&gt;Windows Azure&lt;/a&gt; to help power its humanitarian aid delivery solutions. Here’s what he had to say.&lt;/p&gt;

  &lt;p&gt;&lt;b&gt;Himanshu Kumar Singh:&lt;/b&gt; Tell me about the Aidmatrix Foundation.&lt;/p&gt;

  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-kHqCnbrQ4Pg/TynWiKzaRnI/AAAAAAAAaho/SiHUC99voYk/s1600-h/image21.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" align="right" src="http://lh4.ggpht.com/-XJWFfacaopA/TynWiRyF02I/AAAAAAAAahw/HvYRUdR-YlE/image_thumb9.png?imgmax=800" width="160" height="34" /&gt;&lt;/a&gt;&lt;b&gt;Michael Ross:&lt;/b&gt; Well, we create web-based supply-chain management (SCM) solutions that help our partners optimize distributing humanitarian relief. We started in 2001 and are headquartered in Dallas, with offices in Wisconsin, Washington D.C., Germany and India. More than 40,000 leading nonprofit, business, and government partners leverage our solutions to mobilize more than $1.5 billion in aid annually, worldwide. The donated goods, money and services impact the lives of more than 65 million people.&lt;/p&gt;

  &lt;p&gt;&lt;b&gt;HKS:&lt;/b&gt; How does Aidmatrix leverage technology to deliver humanitarian aid?&lt;/p&gt;

  &lt;p&gt;&lt;b&gt;MR:&lt;/b&gt; Increasingly, technology plays a vital role in enabling the rapid, targeted distribution of relief supplies to those in need. Our solutions help NGOs procure, manage and deliver humanitarian relief more efficiently by having real-time access to know what inventory is on hand and what unmet needs still exist. In this way, NGOs can save money in their purchasing, be more efficient in their distribution, and more responsive and transparent with their donors. .&lt;/p&gt;

  &lt;p&gt;&lt;b&gt;HKS:&lt;/b&gt; Are there also technology challenges you face?&lt;/p&gt;

  &lt;p&gt;&lt;b&gt;MR:&lt;/b&gt; To perform optimally both in daily humanitarian relief and unplanned disasters, we need to ensure that our applications can consistently deliver the highest levels of stability and throughput performance. And because we work with so many different kinds of partner organizations, our solutions need to synchronize with business systems that run on diverse operating system platforms. They also need to flexibly scale to handle massive bursts in demand. Following several recent natural disasters, our applications have experienced usage spikes on the order of 1,000 times the standard rate.&lt;/p&gt;

  &lt;p&gt;&lt;b&gt;HKS:&lt;/b&gt; How much demand is there for technology for humanitarian aid from Aidmatrix?&lt;/p&gt;

  &lt;p&gt;&lt;b&gt;MR:&lt;/b&gt; In 2010, we noted a 20 percent year-over-year increase in the number of people who used our applications. And as more NGOs adopt technology as a strategic part of their global operational success, the demand will continue to grow.&lt;/p&gt;

  &lt;p&gt;&lt;b&gt;HKS:&lt;/b&gt; How has this increase in demand impacted your ability to meet global needs?&lt;/p&gt;

  &lt;p&gt;&lt;b&gt;MR:&lt;/b&gt; This rapid growth has only compounded the challenges that we face in deploying, configuring, and scaling online relief management solutions. For example, for several years, we hosted our applications in data centers in the United States but in response to recent requests for services from humanitarian organizations in Europe, we’ve needed to locate additional server resources overseas. Setting up and maintaining data centers around the globe can be expensive and time-consuming. In a few cases, we’ve needed to pre-position assets and leave them turned off. Instead of paying for what we use, we’ve ended up investing up front for resources that we may or may not eventually need. But that’s all part of being ready for unplanned disasters.&lt;/p&gt;

  &lt;p&gt;We also found that the time required to source and deploy new hardware impacted our agility. In mid-2010, we began a partnership with a large food bank network that has locations spread across the United Kingdom. After a few weeks, we noticed that the distance between our servers and end users caused the application to run slowly and even time out before people could complete their donations.&lt;/p&gt;

  &lt;p&gt;&lt;b&gt;HKS:&lt;/b&gt; What was the solution?&lt;/p&gt;

  &lt;p&gt;&lt;b&gt;MR:&lt;/b&gt; To empower more partners to help more people around the world, we needed the ability to scale applications at a moment’s notice while maintaining reliable performance. With an eye on keeping operating costs as low as possible, we began to investigate the advantages of moving to the cloud. In considering this change, we wanted to minimize the time needed to migrate existing applications and placed a priority on a cloud technology platform that would support the agile development of new functionality, along with the creation of new solutions to meet the unforeseen demands of future humanitarian crises.&lt;/p&gt;

  &lt;p&gt;&lt;a name="BTQ"&gt;&lt;img title="image" border="0" alt="image" align="right" src="http://lh6.ggpht.com/_GdO7DQgAn3w/TGmtBfGziyI/AAAAAAAAD00/qmrRPnvlwkA/image%5B88%5D.png?imgmax=800" width="160" height="25" /&gt;&lt;/a&gt;&lt;b&gt;HKS:&lt;/b&gt; What led you to choose Windows Azure?&lt;/p&gt;

  &lt;p&gt;&lt;b&gt;MR:&lt;/b&gt; After evaluating several cloud services technologies, including Amazon Elastic Compute Cloud (EC2), we decided to adopt Windows Azure because, simply put, Windows Azure gives us all the tools we need to be more agile. It offers platform-as-a-service capabilities, so we don’t have to push out updates or worry about building out our own redundancy system. Plus, it incorporates a familiar development environment, so we can maximize productivity.&lt;/p&gt;

  &lt;p&gt;&lt;b&gt;HKS:&lt;/b&gt; Which of your solutions did you move to Windows Azure first?&lt;/p&gt;

  &lt;p&gt;&lt;b&gt;MR:&lt;/b&gt; The first solution we moved to Windows Azure was the Aidmatrix Program Metrics and Evaluation, which one of our U.S. partners uses to track the services delivered to clients at more than 1,000 locations. Moving the database component to Microsoft SQL Azure took five minutes, and we instantly gained high availability, along with reliable fault tolerance and security, at a fraction of what it would cost to build out those capabilities ourselves.&lt;/p&gt;

  &lt;p&gt;In early 2011, working with Accenture and Avanade, we also moved our Online Warehouse solution, which provides end-to-end inventory management tools for tracking relief supplies, to Windows Azure. The conversion process for each of these applications took approximately six weeks to complete.&lt;/p&gt;

  &lt;p&gt;We also recently used Windows Azure to configure and deploy a web portal application built by Microsoft to assist Second Harvest Japan, the Japanese food banking network. I deployed the application to the Microsoft data center in Hong Kong from home following the tsunami and I didn’t need to worry about how many instances to deploy because I could quickly scale out server resources if needed.&lt;/p&gt;

  &lt;p&gt;&lt;b&gt;HKS:&lt;/b&gt; Are you using any other Windows Azure technologies?&lt;/p&gt;

  &lt;p&gt;&lt;b&gt;MR:&lt;/b&gt; We take advantage of several Windows Azure technologies to ensure reliable, scalable performance. For example, we will use Windows Azure Connect to enable data sharing between our Online Warehouse solution and the on-premises operational systems used by our partners, including Oracle and SAP enterprise resource planning systems. And we rely on Windows Azure storage services to collect data on session state management so our staff can monitor application performance and troubleshoot issues in near real time.&lt;b&gt;&lt;/b&gt;&lt;/p&gt;

  &lt;p&gt;&lt;b&gt;HKS:&lt;/b&gt; What are some of the benefits you’ve seen from your move to Windows Azure?&lt;/p&gt;

  &lt;p&gt;&lt;b&gt;MR:&lt;/b&gt; One of the key benefits has been noticeable cost savings. Because we no longer need to purchase, set up, and maintain database management and web servers, we expect to save 20 percent on data center costs, which could mean up to $100,000 in savings. We will be able to redirect the time and money we save toward creating and enhancing applications that help save lives. And instead of spending valuable resources on server upkeep, we can redirect time and cost savings to higher-value tasks, like developing a new module for one of our applications.&lt;/p&gt;

  &lt;p&gt;Another benefit is the global availability of Microsoft data centers and the pay-as-you-go model, which enables us to ensure cost-efficient dynamic scalability for our solutions. Our applications need to handle usages spikes of 1,000 times the normal load. With Windows Azure, we can scale up or down in a very agile and efficient way, which is essential for the kind of work we do.&lt;/p&gt;

  &lt;p&gt;Finally, the growing ecosystem of ISVs that have adopted Windows Azure allows us to accelerate our own development lifecycle. Taking advantage of functionality from other ISVs speeds our development and ultimately increases the value of our solutions. This is a major benefit of working with a cloud provider like Microsoft that has a large and growing network of partners.&lt;/p&gt;

  &lt;p&gt;Read the full &lt;a href="http://www.microsoft.com/casestudies/Windows-Azure/The-Aidmatrix-Foundation/Humanitarian-Aid-Provider-Uses-Cloud-Solution-to-Respond-Faster-to-Global-Needs/4000011611"&gt;case study&lt;/a&gt;. Learn how &lt;a href="https://www.windowsazure.com/en-us/home/case-studies/"&gt;others&lt;/a&gt; are using Windows Azure.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;
  &lt;hr /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Avkash Chauhan&lt;/strong&gt; (@&lt;a href="http://twitter.com/avkashchauhan"&gt;avkashchauhan&lt;/a&gt;) described &lt;a href="http://blogs.msdn.com/b/avkashchauhan/archive/2012/01/31/handling-two-known-issues-with-windows-azure-node-js-sdk-0-5-2.aspx"&gt;Handling two known issues with Windows Azure node.js SDK 0.5.2&lt;/a&gt; in a 1/31/2012 post:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-rd0YDSnTIv0/TynWil7WvoI/AAAAAAAAah4/LOpV82aJNhE/s1600-h/image%25255B2%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" align="right" src="http://lh3.ggpht.com/-KPAB8RtJEZs/TynWi9YyJiI/AAAAAAAAaiA/auC-3zg0LR0/image_thumb.png?imgmax=800" width="65" height="60" /&gt;&lt;/a&gt;My recent development work with Windows Azure Node.js SDK 0.5.2 helped me to found two issues. Until next SDK update is available please use the given workaround to solve your problem.&lt;/p&gt;

  &lt;p&gt;&lt;b&gt;Issues 1: &lt;/b&gt;Exception while testing your node.js application in Compute Emulator&lt;/p&gt;

  &lt;p&gt;&lt;a name="BTQ"&gt;&lt;img title="image" border="0" alt="image" align="right" src="http://lh6.ggpht.com/_GdO7DQgAn3w/TGmtBfGziyI/AAAAAAAAD00/qmrRPnvlwkA/image%5B88%5D.png?imgmax=800" width="160" height="25" /&gt;&lt;/a&gt;After you installed the latest available Node.js SDK 0.5.2 and launch your node application in Azure Emulator as below:&lt;/p&gt;

  &lt;p&gt;&amp;gt;&amp;gt; Start-AzureEmulator -Launch&lt;/p&gt;

  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-41-09/4628.node502_5F00_11.png"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" border="0" alt="" src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-41-09/4628.node502_5F00_11.png" /&gt;&lt;/a&gt;&lt;/p&gt;

  &lt;p&gt;You might see an exception as below:&lt;/p&gt;

  &lt;p&gt;&amp;gt;&amp;gt; Windows Azure Web Role Entry Point host has stopped working…&lt;/p&gt;

  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-41-09/1586.node502_5F00_12.jpg"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" border="0" alt="" src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-41-09/1586.node502_5F00_12.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;

  &lt;p&gt;&lt;strong&gt;Root Cause:&lt;/strong&gt;&lt;/p&gt;

  &lt;p&gt;The issue appears to be with server.js.logs, when the web role is started, IISConfigurator changes the ACL for the web role directory (and all contained directories). This process if server.js.logs is present and cause IISConfigurator process to crash which ultimately cause your role to show above error.&lt;/p&gt;

  &lt;p&gt;&lt;strong&gt;Solution:&lt;/strong&gt;&lt;/p&gt;

  &lt;p&gt;Please delete the server.js.logs folder before launching the emulator and you will not see the problem. I have tested this workaround and it does work fine with SDK 0.5.2.&lt;/p&gt;

  &lt;p&gt;&lt;b&gt;Issues 2: &lt;/b&gt;Unable to publish MongoDB enabled Node.js app to Azure&lt;/p&gt;

  &lt;p&gt;When you try to publish a MongoDB enabled node.js app using “Publish-AzureService” powershell command, you might get an error and publish process interrupted.&lt;/p&gt;

  &lt;p&gt;PS&amp;gt;&amp;gt; Publish-AzureService&lt;/p&gt;

  &lt;p&gt;Publish-AzureService : Object reference not set to an instance of an object.&lt;/p&gt;

  &lt;p&gt;NullReferenceException&lt;/p&gt;

  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-41-09/3681.node502_5F00_13.png"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" border="0" alt="" src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-41-09/3681.node502_5F00_13.png" /&gt;&lt;/a&gt;&lt;/p&gt;

  &lt;p&gt;&lt;b&gt;Root Cause:&lt;/b&gt;&lt;/p&gt;

  &lt;p&gt;When you try to publish the application, the code look for certificate node in the CSCFG file and it this node is not present it generate an exception as seen by you. As certificate node ins CSCFG file is optional so the code must not dependent on it. PG could not repro this issue because they had Certificate node I their CSCFG and did not look for dependencies. We sure can overcome this problem by defining empty Certificates nodes in Role sections of cscfg.&lt;/p&gt;

  &lt;p&gt;&lt;b&gt;Solution:&lt;/b&gt;&lt;/p&gt;

  &lt;p&gt;So to work around this issue please add the empty Certificate node in your CSCFG file in the appropriate section.&lt;/p&gt;

  &lt;p&gt;&amp;lt;Certificates/&amp;gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;
  &lt;hr /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Avkash Chauhan&lt;/strong&gt; (@&lt;a href="http://twitter.com/avkashchauhan"&gt;avkashchauhan&lt;/a&gt;) described &lt;a href="http://blogs.msdn.com/b/avkashchauhan/archive/2012/01/31/nougakudocompanion-a-ruby-on-rails-companion-for-windows-azure.aspx"&gt;NougakuDoCompanion: A “Ruby on Rails” companion for Windows Azure&lt;/a&gt; in a 1/31/2012 post:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-MjWTzKBiWNk/TynWjsH4_WI/AAAAAAAAaiI/PzGg2rHRhto/s1600-h/image%25255B5%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" align="right" src="http://lh6.ggpht.com/-m7H3SiXHAvM/TynWj3DZkEI/AAAAAAAAaiQ/F-1r_DHTXCU/image_thumb%25255B1%25255D.png?imgmax=800" width="65" height="60" /&gt;&lt;/a&gt;I was recently informed about a great “Ruby on Rails” companion package to run your Ruby on Rails application on Windows Azure.&lt;/p&gt;

  &lt;p&gt;With this package you can:&lt;/p&gt;

  &lt;ol&gt;
    &lt;li&gt;Run multiple instance of Ruby Application on Windows Azure&lt;/li&gt;

    &lt;li&gt;Deploy your application virtually from any machine&lt;/li&gt;

    &lt;li&gt;Connect to SQL Azure&lt;/li&gt;
  &lt;/ol&gt;

  &lt;p&gt;&lt;a name="BTQ"&gt;&lt;img title="image" border="0" alt="image" align="right" src="http://lh6.ggpht.com/_GdO7DQgAn3w/TGmtBfGziyI/AAAAAAAAD00/qmrRPnvlwkA/image%5B88%5D.png?imgmax=800" width="160" height="25" /&gt;&lt;/a&gt;The application architectures is as below:&lt;/p&gt;

  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-41-09/1121.ruby101.png"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" border="0" alt="" src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-41-09/1121.ruby101.png" /&gt;&lt;/a&gt;&lt;/p&gt;

  &lt;p&gt;Companion Package information:&lt;/p&gt;

  &lt;ul&gt;
    &lt;li&gt;&lt;a href="http://nougakudo.codeplex.com/"&gt;http://nougakudo.codeplex.com/&lt;/a&gt;&lt;/li&gt;
  &lt;/ul&gt;

  &lt;p&gt;Documentation:&lt;/p&gt;

  &lt;ul&gt;
    &lt;li&gt;&lt;a href="http://nougakudo.codeplex.com/documentation"&gt;http://nougakudo.codeplex.com/documentation&lt;/a&gt;&lt;/li&gt;
  &lt;/ul&gt;

  &lt;p&gt;Test results:&lt;/p&gt;

  &lt;ul&gt;
    &lt;li&gt;NougakuDo 1.0.5 tested with Rails 3.0.9&lt;/li&gt;

    &lt;li&gt;NougakuDo 1.1.7 tested with Rails 3.1.0&lt;/li&gt;

    &lt;li&gt;NougakuDo 1.1.9 tested with Rails 3.1.1&lt;/li&gt;
  &lt;/ul&gt;
&lt;/blockquote&gt;

&lt;hr /&gt; 

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;&lt;a href="#Top"&gt;&amp;lt;Return to section navigation list&amp;gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;&lt;a name="Light"&gt;Visual Studio LightSwitch and Entity Framework 4.1+&lt;/a&gt;&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;Jan Van der Haegen&lt;/strong&gt; (@&lt;a href="http://twitter.com/janvanderhaegen"&gt;janvanderhaegen&lt;/a&gt;) described &lt;a href="http://janvanderhaegen.wordpress.com/2012/02/01/lightswitch-achievements-chapter-two-events-classic-events-the-observer/"&gt;LightSwitch achievements: Chapter two (Events) – Classic events: “The observer”&lt;/a&gt; on 2/1/2012:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-qhrU9Voa9BI/TynWkIn9Y2I/AAAAAAAAaiY/BxYnAm-JbFM/s1600-h/image51.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" align="right" src="http://lh6.ggpht.com/-TufX1B74O6o/TynWkS43FPI/AAAAAAAAaig/4YUE-h3zFeo/image_thumb20.png?imgmax=800" width="65" height="65" /&gt;&lt;/a&gt;&lt;em&gt;In &lt;a href="http://janvanderhaegen.wordpress.com/lightswitch-achievements/"&gt;this blog post series&lt;/a&gt;, we’re going to create a fun extension that will stimulate the users of our LightSwitch applications by rewarding them with points and achievements when they use the application…&lt;/em&gt;&lt;/p&gt;

  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-tw9TEwPlzyA/TynWkoDtQbI/AAAAAAAAaio/5IOlK6uQA2E/s1600-h/image_thumb16.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image_thumb1" border="0" alt="image_thumb1" align="right" src="http://lh3.ggpht.com/-OPMi37TgQvA/TynWk0NWLbI/AAAAAAAAaiw/_1bmKSUFb-0/image_thumb1_thumb1.png?imgmax=800" width="171" height="54" /&gt;&lt;/a&gt;&lt;em&gt;Also, in this particular post, I wrote my first VB.NET code ever, which seems to be the .NET language of choice of about 1/3rd of my readers… All comments on the VB.NET code will be considered positive feedback, no matter what you write or how you write it!&lt;/em&gt;&lt;/p&gt;

  &lt;h5&gt;Functional POV&lt;/h5&gt;

  &lt;p&gt;Conceptually, when talking about events in .NET, where are talking about a message that one object sends to zero-to-many other objects to let them know that something happened. There’s four important elements here:&lt;/p&gt;

  &lt;ul&gt;
    &lt;li&gt;the sender (aka the source): the object that sends the message &lt;/li&gt;

    &lt;li&gt;the message: what happened &lt;/li&gt;

    &lt;li&gt;the timing: when did it happen &lt;/li&gt;

    &lt;li&gt;the event handlers (aka the listeners): the objects that want to take an action for the event &lt;/li&gt;
  &lt;/ul&gt;

  &lt;p&gt;Most events will find their use in the presentation layer of our applications, where we want to execute code when the user clicks a button, hover the mouse cursor over an image, …&lt;/p&gt;

  &lt;h5&gt;Semantics POV&lt;/h5&gt;

  &lt;p&gt;It’s hard to talk code without a small example..&lt;/p&gt;

  &lt;pre&gt;using System;

namespace ConsoleApplicationCSharp
{

    //1. Define the event &amp;quot;signature&amp;quot;, usually (but NOT required) has two arguments: sender &amp;amp; event arguments.
    public delegate void ChangedEventHandler(object sender, EventArgs e);

    public class ClassWithEvent
    {
        //2. Define the event.
        public event ChangedEventHandler Changed;

        public void InvokeTheEvent()
        {
            Console.WriteLine(&amp;quot;Firing the event&amp;quot;);
            // 3. Invoking the event (can only be done from inside the class that defined the event)
            if (Changed != null)
                Changed(this, EventArgs.Empty);
        }
    }

    class Program
    {
        static void Main(string[] args)
        {
            var classWithEvent = new ClassWithEvent();
            //4. Adding an event handler to the event
            classWithEvent.Changed += new ChangedEventHandler(classWithEvent_Changed);
            classWithEvent.InvokeTheEvent();

            Console.ReadKey();
        }

        static void classWithEvent_Changed(object sender, EventArgs e)
        {
            Console.WriteLine(&amp;quot;The event has fired&amp;quot;);
        }
    }
}&lt;/pre&gt;

  &lt;p&gt;And the same example in VB.NET (&lt;em&gt;I think…&lt;/em&gt;)&lt;/p&gt;

  &lt;pre&gt;Imports System

Namespace ConsoleApplicationVB

    '1. Define the event &amp;quot;signature&amp;quot;, usually (but NOT required) has two arguments: sender &amp;amp; event arguments.
    Public Delegate Sub ChangedEventHandler(sender As Object, e As EventArgs)

    Public Class ClassWithEvent
        '2. Define the event.
        Public Event Changed As ChangedEventHandler

        Public Sub InvokeTheEvent()
            Console.WriteLine(&amp;quot;Firing the event&amp;quot;)
            ' 3. Invoking the event (can only be done from inside the class that defined the event)
            RaiseEvent Changed(Me, EventArgs.Empty)
        End Sub
    End Class

    Module Program

        Sub Main()
            Dim classWithEvent As New ClassWithEvent
            ' 4. Adding an event handler
            AddHandler classWithEvent.Changed, AddressOf classWithEvent_Changed
            classWithEvent.InvokeTheEvent()
            Console.ReadKey()
        End Sub

        Private Sub classWithEvent_Changed(sender As Object, e As EventArgs)
            Console.WriteLine(&amp;quot;The event has fired&amp;quot;)
        End Sub
    End Module

End Namespace&lt;/pre&gt;

  &lt;p&gt;Just as the functional POV, the code samples reveal that when dealing with events, there are four important elements:&lt;/p&gt;

  &lt;ol&gt;
    &lt;li&gt;&lt;strong&gt;What happened&lt;/strong&gt;: the first step is to define the event “signature”, which happens in the form of a delegate. There’s a lot of “standard” event signatures provided by the .NET framework and I would advise you to use them over custom events, but as the samples show, it’s really easy to roll your own. Event signatures will often have two arguments: sender (a reference to the source, the object that raised the event), and (a subclass of) EventArgs (additional information about what happened). &lt;/li&gt;

    &lt;li&gt;&lt;strong&gt;The sender&lt;/strong&gt;: we add a property to the class that exposes the event, and add the .NET keyword “event”. Conceptually, it’s ok to think of this property as a “collection of method references” that all match the signature from step1. &lt;em&gt;From a technical POV, what we actually do is add a property which is an empty delegate, aka method pointer that has no value yet. On a traditional property, the compiler will generate two “subroutines”: “get” and “set”. When we add the keyword “event” to the property declaration however, the compiler will add two “subroutines” called “add” and “remove”. In the generated “add” subroutine, the value (new delegate) will be combined with the existing value, as opposed to a normal property, where the “set” will replace the existing value, and ofcourse the opposite happens in the “remove” “subroutine”.&lt;/em&gt; &lt;/li&gt;

    &lt;li&gt;&lt;strong&gt;When it happened&lt;/strong&gt;: raising the event is quite simple: do a null-reference check then call the delegate (C#, more technical) or use the (VB.Net, more descriptive) keyword RaiseEvent. Conceptually, each method in our “collection of method references” from step 2 will be called. &lt;em&gt;Raising the event can only be done from inside the class that defined it, although often you will see classes that expose this functionality to anyone ( depending on the access modifier: private/public/…).&lt;/em&gt; &lt;/li&gt;

    &lt;li&gt;&lt;strong&gt;The event handlers&lt;/strong&gt;: these are the classes that subscribed to the event, in other words: told the sender they want to be notified when the event occurs, in the form of a method being called. To do this, use the VB.Net keyword AddHandler, or the C# operator +=. &lt;em&gt;Both ways are just semantics that when compiled, result in the “add” subroutine from step 2 being called.&lt;/em&gt; &lt;/li&gt;
  &lt;/ol&gt;

  &lt;p&gt;&lt;em&gt;There’s a lot more technical aspects of events that I could discuss, the most important ones would be Garbage Collection (or more specifically: the prevention of GC on the event handlers) and thread safety, but let’s not forget that this is a LightSwitch blog, so let’s find out why this information is important for the Achievements extension that we are building in this blog post series…&lt;/em&gt;&lt;/p&gt;

  &lt;h5&gt;LightSwitch POV&lt;/h5&gt;

  &lt;p&gt;I wanted to take you in this shallow dive in events in .NET, because for our achievements extension, where most of the code resides in the model layer, not in the presentation layer, we’ll choose not to use this classic observer pattern, and use the event mediator pattern instead. To justify exactly why we’ll go with a different pattern, it’s important to understand the conceptual and technical differences between the two…&lt;/p&gt;

  &lt;p&gt;However, the achievements extension will have a little bit of graphical artwork to it, and for this code (/XAML) there’s one event in particular that could use some special attention: INotifyPropertyChanged.&lt;/p&gt;

  &lt;h5&gt;What’s INotifyPropertyChanged?&lt;/h5&gt;

  &lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.componentmodel.inotifypropertychanged.aspx"&gt;INotifyPropertyChanged&lt;/a&gt; is an interface that exposes just one property: the &lt;a href="http://msdn.microsoft.com/en-us/library/system.componentmodel.inotifypropertychanged.propertychanged.aspx"&gt;PropertyChanged&lt;/a&gt; event. This event is extremely important in the &lt;a href="http://msdn.microsoft.com/en-us/library/gg405484(v=pandp.40).aspx"&gt;MVVM pattern&lt;/a&gt;, because the bindings that we define in XAML recognize this event and will subscribe to it. A Binding instance will update its value (&lt;em&gt;“refresh the view”&lt;/em&gt;) if the source raises the event.&lt;/p&gt;

  &lt;p&gt;The viewmodel that implements this interface can use the &lt;a href="http://msdn.microsoft.com/en-us/library/system.componentmodel.propertychangedeventargs.aspx"&gt;PropertyChangedEventArgs&lt;/a&gt; in two ways:&lt;/p&gt;

  &lt;ul&gt;
    &lt;li&gt;Fill in the PropertyName: by doing this, the sender signifies to the listeners that one particular property has changed, and that all bindings on this property should update. &lt;/li&gt;

    &lt;li&gt;Leave the PropertyName blank: by doing this, the sender signifies to the listeners that the object changed so radically, that all bindings to any property on this object should update. It’s basically requesting a general “refresh” of the view. &lt;/li&gt;
  &lt;/ul&gt;

  &lt;p&gt;&lt;em&gt;INotifyPropertyChanged has a brother called &lt;a href="http://msdn.microsoft.com/en-us/library/system.collections.specialized.inotifycollectionchanged.aspx"&gt;INotifyCollectionChanged&lt;/a&gt;, also recognized by bindings, useful for “ItemsSource” properties, …&lt;/em&gt;&lt;/p&gt;

  &lt;h5&gt;An easy base class…&lt;/h5&gt;

  &lt;p&gt;If you are using &lt;a href="http://janvanderhaegen.wordpress.com/extensionsmadeeasy/"&gt;EME&lt;/a&gt;, (&lt;em&gt;if you’re not: what the hell?&lt;/em&gt;) then there’s an easy base class included in the framework for your LightSwitch development convenience…&lt;/p&gt;

  &lt;p&gt;The ExtensionsMadeEasy.ClientAPI.Utilities.Base.NotifyPropertyChangedBase (&lt;em&gt;&lt;a href="http://extensionsmadeeasy.codeplex.com/SourceControl/changeset/view/12506#196243"&gt;source code here&lt;/a&gt;, it has been included for a while but never got around to blogging about it&lt;/em&gt;) is a base class (&lt;em&gt;based on the beautiful work by &lt;a href="http://janvanderhaegen.wordpress.com/2012/02/01/lightswitch-achievements-chapter-two-events-classic-events-the-observer/twitter.com/eisenbergeffect"&gt;Rob Eisenberg&lt;/a&gt;&lt;/em&gt;) for your (&lt;em&gt;/my&lt;/em&gt;) ViewModels. It exposes three (&lt;em&gt;undocumented, sorry&lt;/em&gt;) methods:&lt;/p&gt;

  &lt;pre&gt;namespace LightSwitchApplication
{
    public class SomeViewModel : ExtensionsMadeEasy.ClientAPI.Utilities.Base.NotifyPropertyChangedBase
    {
        private int myProperty;

        public int MyPublicProperty
        {
            get { return myProperty; }
            set {
                myProperty = value;
                base.Refresh(); //Refresh all bindings
                base.OnPropertyChanged(&amp;quot;MyPublicProperty&amp;quot;); //Classic approach
                base.OnPropertyChanged(() =&amp;gt; MyPublicProperty); //Approach with lambda expression
            }
        }        

    }
}&lt;/pre&gt;

  &lt;p&gt;Or, in VB equivalent (&lt;em&gt;I think…&lt;/em&gt;)&lt;/p&gt;

  &lt;pre&gt;Public Class SomeViewModel
    Inherits ExtensionsMadeEasy.ClientAPI.Utilities.Base.NotifyPropertyChangedBase

    Private myProperty As Integer
    Public Property MyPublicProperty() As Integer
        Get
            Return MyProperty
        End Get
        Set(ByVal value As Integer)
            myProperty = value
            MyBase.Refresh() 'Refresh all bindings
            MyBase.OnPropertyChanged(&amp;quot;MyPublicProperty&amp;quot;) 'Classic approach
            MyBase.OnPropertyChanged(Function() MyPublicProperty) 'Approach with lambda expression
        End Set
    End Property

End Class&lt;/pre&gt;

  &lt;p&gt;The first method (Refresh) raises the PropertyChanged event without a PropertyName on the EventArgs, all bindings on “SomeViewModel” will be refreshed.&lt;/p&gt;

  &lt;p&gt;The second method raises the PropertyChanged event with a hardcoded PropertyName (“MyPublicPropertyName”) on the EventArgs, all bindings on this property will be refreshed. The string must match the actual property name exactly…&lt;/p&gt;

  &lt;p&gt;The third method does exactly the same as the second, but uses a lambda expression. The major advantage is that the property is not hardcoded (ie: not a string), which gives you compile-time safety: you can not misspell the property name by accident or it won’t compile (happened to me many times before), but will also be updated automagically if you decide to refactor your class a bit, and rename the property.&lt;/p&gt;

  &lt;p&gt;&lt;em&gt;To each his own of course, but I definitely prefer the latter. Anyways, let’s see what this event mediator pattern is all about, and why it’s more suited for the model layer of our extension…&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;a href="#Top"&gt;Return to section navigation list&amp;gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;&lt;a name="Infra"&gt;Windows Azure Infrastructure and DevOps&lt;/a&gt;&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;Tiffany Trader&lt;/strong&gt; reported &lt;a href="http://www.hpcinthecloud.com/hpccloud/2012-02-01/gartner_says_platform_as_a_service_is_on_the_cusp_of_several_years_of_strategic_growth.html"&gt;Gartner Says Platform as a Service is on the Cusp of Several Years of Strategic Growth&lt;/a&gt; in a 2/1/2012 post to the HPC in the Cloud blog:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-7ijxKDdrP2Q/TynWlPTw19I/AAAAAAAAai4/RWSBEAh-P8k/s1600-h/image69.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" align="right" src="http://lh6.ggpht.com/-ZC0W-YvjCUE/TynWlGoQ9pI/AAAAAAAAajA/iMdgZuFF2oY/image_thumb28.png?imgmax=800" width="94" height="25" /&gt;&lt;/a&gt;Platform as a service (PaaS) is a core layer of the cloud computing architecture, and its evolution will affect the future of most users and vendors in enterprise software markets, according to Gartner, Inc.&lt;/p&gt;

  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-NpY_AZ0k9HU/TynWlSwpJqI/AAAAAAAAajI/KLPN1durVSQ/s1600-h/image65.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" align="right" src="http://lh6.ggpht.com/-ZRVPKkJ_7i4/TynWlhr2BcI/AAAAAAAAajQ/rSshuLVEdKU/image_thumb26.png?imgmax=800" width="90" height="42" /&gt;&lt;/a&gt;&amp;quot;With large and growing vendor investment in PaaS, the market is on the cusp of several years of strategic growth, leading to innovation and likely breakthroughs in technology and business use of all of cloud computing,&amp;quot; said Yefim Natis, vice president and distinguished analyst at Gartner. &amp;quot;Users and vendors of enterprise IT software solutions that are not yet engaged with PaaS must begin building expertise in PaaS or face tough challenges from competitors in the coming years.&amp;quot;&lt;/p&gt;

  &lt;p&gt;PaaS is a common reference to the layer of cloud technology architecture that contains all application infrastructure services, which are also known as &amp;quot;middleware&amp;quot; in other contexts. PaaS is the middle layer of the end-to-end software stack in the cloud. It is the technology that intermediates between the underlying system infrastructure (operating systems, networks, virtualization, storage, etc.) and overlaying application software. The technology services that are part of a full-scope comprehensive PaaS include functionality of application containers (servers), application development tools, database management systems, integration middleware, portal products, business process management suites and others — all offered as a service.&lt;/p&gt;

  &lt;p&gt;In the Gartner Special Report, &amp;quot;PaaS 2012: Tactical Risks and Strategic Rewards&amp;quot; (&lt;a href="http://www.gartner.com/technology/research/cloud-computing/report/paas-cloud.jsp"&gt;http://www.gartner.com/technology/research/cloud-computing/report/paas-cloud.jsp&lt;/a&gt;), Gartner analysts said 2011 was a pivotal year for the PaaS market. As Gartner predicted last year in the report &amp;quot;PaaS Road Map: A Continent Emerging&amp;quot; (&lt;a href="http://www.gartner.com/resId=1521622"&gt;http://www.gartner.com/resId=1521622&lt;/a&gt;), the broad vendor adoption in 2011 amounted to a sound industry endorsement of PaaS as an alternative to the traditional middleware deployment models.&lt;/p&gt;

  &lt;p&gt;In 2012, the PaaS market is at its early stage of growth and does not yet have well-established leaders, best use or business practices or dedicated standards. The adoption of PaaS offerings is still associated with some degree of uncertainty and risk.&lt;/p&gt;

  &lt;p&gt;&amp;quot;However, PaaS products are likely to evolve into a major component of the overall cloud computing market, just as the middleware products — including application servers, database management systems (DBMSs), integration middleware and portal platforms — are the core foundation of the traditional software industry,&amp;quot; Mr. Natis said. &amp;quot;The tension between the short-term risk and the long-term strategic imperative of PaaS will define the key developments in the PaaS market during the next two to three years.&amp;quot;&lt;/p&gt;

  &lt;p&gt;Some of the newly announced PaaS offerings will reach general availability late in 2012, and by the end of 2013, all major software vendors will have competitive production offerings in the PaaS market. By 2016, competition among the PaaS vendors will produce new programming models, new standards and new software market leaders. However, until then, users will continue to experience architectural changes to technologies, business models and vendor alignments in the PaaS market.&lt;/p&gt;

  &lt;p&gt;As vendors continue to invest in PaaS services, and the major software vendors look to deliver comprehensive PaaS service portfolios, activity in all segments of PaaS will accelerate and the fast pace of growth and change in the PaaS market will create confusion, making user adoption decisions more difficult.&lt;/p&gt;

  &lt;p&gt;&amp;quot;While there are clear risks associated with the use of services in the new and largely immature PaaS market, the risk of avoiding the PaaS market is equally high,&amp;quot; said Mr. Natis. &amp;quot;The right strategy for most mainstream IT organizations and software vendors is to begin building familiarity with the new cloud computing opportunities by adopting some PaaS services now, albeit with the understanding of their limitations and with the expectation of ongoing change in the market offerings and use patterns.&amp;quot;&lt;/p&gt;

  &lt;p&gt;Additional information is available in the Gartner Special Report &amp;quot;PaaS 2012 — Tactical Risks and Strategic Rewards.&amp;quot; The special report includes video commentary from Mr. Natis, as well as links to more than 30 related reports about the PaaS market.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;strong&gt;Lori MacVittie&lt;/strong&gt; (@&lt;a href="http://twitter.com/lmacvittie"&gt;lmacvittie&lt;/a&gt;) asserted “&lt;em&gt;It’s about operational efficiency and consistency, emulated in the cloud by an API to create the appearance of a converged platform&lt;/em&gt;” in an introduction to her &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2012/02/01/the-cloud-api-is-pseudo-consolidation-of-infrastructure.aspx"&gt;The Cloud API is Pseudo-Consolidation of Infrastructure&lt;/a&gt; post of 2/1/2011 to F5’s DevCentral blog:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-dGJxcz3_Wo8/TynWmHVDhUI/AAAAAAAAajY/g8BkL1oNUAc/s1600-h/image40.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" align="right" src="http://lh6.ggpht.com/-J4NV0XDiKSM/TynWmSrT1uI/AAAAAAAAajg/mC9uhmmMJQ4/image_thumb15.png?imgmax=800" width="63" height="66" /&gt;&lt;/a&gt;In most cases, the use of the term “consolidation” implies the aggregation (and subsequently elimination) of like devices. Application delivery consolidation, for example, is used to describe a process of scaling up infrastructure that often occurs during upgrade cycles. &lt;/p&gt;

  &lt;p&gt;&lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/Windows-Live-Writer/Cloud-is-the-Consumerization-of-Infrastr_71B1/consolidation_2.png"&gt;&lt;img style="display: inline; float: right" title="consolidation" border="0" alt="consolidation" align="right" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/Windows-Live-Writer/Cloud-is-the-Consumerization-of-Infrastr_71B1/consolidation_thumb.png" width="316" height="359" /&gt;&lt;/a&gt;Many little boxes are exchanged for a few larger ones as a means to simplify the architecture and reduce the overall costs (hard and soft) associated with delivering applications. Consolidation. &lt;/p&gt;

  &lt;p&gt;But cloud has opened (or should have opened) our eyes to a type of consolidation in which like &lt;em&gt;services &lt;/em&gt;are aggregated; a consolidation strategy in which we layer a thin veneer over a set of adjacent functionalities in order to provide a scalable and ultimately operationally consistent experience: an API. A cloud API consolidates infrastructure from an operational perspective. It is the bringing together of adjacent functionalities into a single “entity.” Through a single API, many infrastructure functions and services can be controlled – provisioning, monitoring, security, and &lt;a href="http://www.f5.com/glossary/load-balancing.html"&gt;load balancing&lt;/a&gt; (one part of application delivery) are all available through the same API. Certainly the organization of an API’s documentation segments services into similar containers of functionality, but if you’ve looked at a cloud API you’ll note that it’s all the same API; only the organization of the documentation makes it appear otherwise. &lt;/p&gt;

  &lt;p&gt;This service-oriented approach allows for many of the same benefits as consolidation, without actually physically consolidating the infrastructure. Operational consistency is one of the biggest benefits. &lt;/p&gt;

  &lt;h6&gt;OPERATIONAL CONSISTENCY &lt;/h6&gt;

  &lt;p&gt;The ability to consistently manage and monitor infrastructure through the same interface – whether API or GUI or script – is an important factor in data center efficiency. One of the reasons enterprises demand overarching data center-level monitoring and management systems like HP OpenView and CA and IBM Tivoli is consistency and an aggregated view of the entire data center. &lt;/p&gt;

  &lt;p&gt;It is no different in the consumer world, where the consistency of the same interface greatly enhances the ability of the consumer to take advantage of underlying services. Convenience, too, plays a role here, as a single device (or API) is ultimately more manageable than the requirement to use several devices to accomplish the same thing. Back in the day I carried a Blackberry, a mobile phone, and a PDA – each had a specific function and there was very little overlap between the two. Today, a single “smart”phone provides the functions of all three – and then some. The consistency of a single interface, a single foundation, is paramount to the success of such consumer devices. &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2011/11/21/the-full-proxy-data-center-architecture.aspx"&gt;It is the platform&lt;/a&gt;, whether consumers realize it or not, that enables their highly integrated and operationally consistent experience. &lt;/p&gt;

  &lt;p&gt;The same is true in the cloud, and ultimately in the data center. Cloud (pseudo) consolidates infrastructure the only way it can – through an API that ultimately becomes the platform analogous to an iPhone or Android-based device. &lt;/p&gt;

  &lt;p&gt;Cloud does not eliminate infrastructure, it merely abstracts it into a consolidated API such that the costs to manage it are greatly reduced due to the multi-tenant nature of the platform. Infrastructure is still managed, it’s just managed through an API that simplifies and unifies the processes to provide a more consistent approach that is beneficial to the organization in terms of hard (hardware, software) and soft (time, administration) costs. &lt;/p&gt;

  &lt;p&gt;The cloud and its requisite API provide the consolidation of infrastructure necessary to achieve greater cost savings and higher levels of consistency, both of which are necessary to scale operations in a way that makes IT able to meet the growing demand on its limited resources. &lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;strong&gt;Mary Jo Foley&lt;/strong&gt; (@&lt;a href="http://twitter.com/maryjofoley"&gt;maryjofoley&lt;/a&gt;) “… speculates on the future of Microsoft's public cloud play” while asking &lt;a href="http://redmondmag.com/articles/2012/02/01/can-microsoft-save-windows-azure.aspx"&gt;Can Microsoft Save Windows Azure?&lt;/a&gt; in a 2/1/2012 article for RedmondMag.com: &lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-V5AOvN6wiG8/TynWmotG9PI/AAAAAAAAajo/7Yx5uJF-1AQ/s1600-h/image6.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" align="right" src="http://lh4.ggpht.com/-R2vHQPrv_50/TynWm6Mnv5I/AAAAAAAAajw/iLZarklt0eU/image_thumb2.png?imgmax=800" width="51" height="66" /&gt;&lt;/a&gt;Microsoft is slowly but surely working to make its Windows Azure cloud platform more palatable to the masses -- though without the benefit of roadmap leaks, it would be hard for most customers to know this.&lt;/p&gt;

  &lt;p&gt;When Microsoft began cobbling together its Windows Azure cloud plans back in 2007, there was a grand architectural plan. In a nutshell, Microsoft wanted to recreate Windows so that Redmond could run users' applications and store their data across multiple Windows Server machines located in Microsoft's (plus a few partners') own datacenters. In the last five years, Microsoft has honed that vision but has never really deviated too far from its original roadmap. &lt;/p&gt;

  &lt;p&gt;&lt;a name="BTQ"&gt;&lt;img title="image" border="0" alt="image" align="right" src="http://lh6.ggpht.com/_GdO7DQgAn3w/TGmtBfGziyI/AAAAAAAAD00/qmrRPnvlwkA/image%5B88%5D.png?imgmax=800" width="160" height="25" /&gt;&lt;/a&gt;For Platform as a service (PaaS) purists -- and Microsoft-centric shops -- Windows Azure looked like a distributed-systems engineer's dream come true. For those unwilling or unable to rewrite existing apps or develop new ones that were locked into the Microsoft System Center- and .NET-centric worlds, it was far less appealing. &lt;/p&gt;

  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-CoHuQEqBtTE/TynWnH4P8eI/AAAAAAAAaj4/Vq1h6l6nYiQ/s1600-h/image10.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" align="right" src="http://lh4.ggpht.com/-v2P547yfs5M/TynWnRfV3_I/AAAAAAAAakA/iS6_dWCM85g/image_thumb4.png?imgmax=800" width="160" height="27" /&gt;&lt;/a&gt;How many external, paying customers are on Windows Azure? Microsoft officials won't say -- and that's typically a sign that there aren't many. My contacts tell me that even some of the big Azure wins that Microsoft trumpeted ended up trying Windows Azure for one project and then quietly slinking away from the platform. However, Windows Azure is no Windows Vista. Nor is it about to go the way of the Kin. But without some pretty substantial changes, it's not on track to grow the way Microsoft needs it to.&lt;/p&gt;

  &lt;p&gt;This fact hasn't been lost on the Microsoft management. Starting last year, Microsoft began making a few customer- and partner-requested tweaks to Windows Azure around pricing. Then the 'Softies started getting a bit more serious about providing support for non-Microsoft development tools and frameworks for Windows Azure. Developer champion and .NET Corporate Vice President Scott Guthrie traded his red shirt for an Azure-blue one (figuratively -- still not yet literally) and moved to work on the Windows Azure application platform.&lt;/p&gt;

  &lt;p&gt;Starting around March this year, Microsoft is slated to make some very noticeable changes to Windows Azure. That's when the company will begin testing with customers its persistent virtual machine that will allow users to run Windows Server, Linux(!), SharePoint and SQL Server on Windows Azure -- functionality for which many customers have been clamoring. This means that Microsoft will be, effectively, following in rival Amazon's footsteps and adding more Infrastructure as a Service components to a platform that Microsoft has been touting as pure PaaS. &lt;/p&gt;

  &lt;p&gt;The first quarterly update to Windows Azure this year -- if Microsoft doesn't deviate from its late 2011 roadmap -- will include a number of other goodies, as well, such as the realization of some of its private-public cloud migration and integration promises. If you liked Microsoft's increased support for PHP, Java, Eclipse, Node.js, MongoDB and Hadoop from last year, take heart that the Windows Azure team isn't done improving its support for non-Microsoft technologies. Also on the Q1 2012 deliverables list is support for more easily developing Windows Azure apps not just on Windows, but also on Macs and Linux systems.&lt;/p&gt;

  &lt;p&gt;Microsoft's new focus with Windows Azure is to allow users to start where they are rather than making them start over. That may sound like rhetoric, but it's actually a huge change, both positioning- and support-wise for Microsoft's public cloud platform. Not everyone -- inside or outside the company -- agrees that this is a positive. Hosting existing apps in the cloud isn't the same as re-architecting them so they take advantage of the cloud. It will be interesting to see whether users who are tempted by the &amp;quot;new&amp;quot; Windows Azure are happy with the functionality for which they've been clamoring.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;a href="#Top"&gt;&amp;lt;Return to section navigation list&amp;gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;&lt;a name="WAPA"&gt;Windows Azure Platform Appliance (WAPA), Hyper-V and Private/Hybrid Clouds&lt;/a&gt;&lt;/h4&gt;

&lt;p&gt;&lt;a name="BTQ"&gt;&lt;img title="image" border="0" alt="image" align="right" src="http://lh6.ggpht.com/_GdO7DQgAn3w/TGmtBfGziyI/AAAAAAAAD00/qmrRPnvlwkA/image%5B88%5D.png?imgmax=800" width="160" height="25" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;No significant articles today.&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;a href="#Top"&gt;&amp;lt;Return to section navigation list&amp;gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;&lt;a name="Security"&gt;Cloud Security and Governance&lt;/a&gt;&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;David Navetta&lt;/strong&gt; (@&lt;a href="https://twitter.com/#!/davidnavetta"&gt;DavidNavetta&lt;/a&gt;) asked &lt;a href="http://feeds.lexblog.com/~r/InfoLawGroup/~3/-Sf1nOKAU54/"&gt;Cyber Insurance: An Efficient Way to Manage Security and Privacy Risk in the Cloud?&lt;/a&gt; in a 2/1/2012 post to the InfoLaw Group blog:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-ENw64Z8F10U/TynWn8-tSyI/AAAAAAAAakI/RoP9iXZGHFk/s1600-h/image57.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" align="right" src="http://lh5.ggpht.com/-HcWQeqIPhC8/TynWoC6bCtI/AAAAAAAAakQ/enULn6gSHis/image_thumb22.png?imgmax=800" width="65" height="66" /&gt;&lt;/a&gt;As organizations of all stripes increasingly rely on cloud computing services to conduct their business, (with many organizations entering into cloud computing arrangements with multiple cloud providers), the need to balance the benefits and risks of cloud computing is more important than ever. This is especially true when it comes to data security and privacy risks. Cloud providers are sitting on reams of data from thousands of customers, including sensitive information such as personal information, trade secrets, and confidential and proprietary information. To criminals Cloud providers are prime targets. &lt;/p&gt;

  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-CB5qd6iGt1w/TynWoSfBY1I/AAAAAAAAakY/rclDD5CMVrc/s1600-h/image61.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" align="right" src="http://lh6.ggpht.com/-e98jXrmS4g4/TynWovkW6bI/AAAAAAAAakg/MdW-uFBSZ70/image_thumb24.png?imgmax=800" width="240" height="22" /&gt;&lt;/a&gt;At the same time, based in large part on the amount of risk aggregated by Cloud providers, most Cloud customers are unable to secure favorable contract terms when it comes to data security and privacy. While customers may enjoy some short term cost-benefits by going into the Cloud, they may be retaining more risk then they want (especially where Cloud providers refuse to accept that risk contractually). In short, the players in this industry are at an impasse. &lt;a href="http://bits.blogs.nytimes.com/2011/12/23/insurance-against-cyber-attacks-expected-to-boom/"&gt;Cyber insurance&lt;/a&gt; may be a solution to help solve the problem.&lt;/p&gt;

  &lt;p&gt;&lt;strong&gt;A Short History of Cyber Insurance Coverage*&lt;/strong&gt;&lt;/p&gt;

  &lt;p&gt;&lt;em&gt;&lt;strong&gt;*This section ended up longer than I anticipated. If you already have a base knowledge of cyber coverage or don’t want to bother with some historical background, please skip ahead to this section: &amp;quot;&lt;/strong&gt;&lt;strong&gt;Where Privacy and Security Risk Breaks Down in Cloud Computing Contracts&lt;/strong&gt;&lt;/em&gt;&lt;strong&gt;&amp;quot;&lt;/strong&gt;&lt;/p&gt;

  &lt;p&gt;In the early 2000s, just around the “&lt;a href="http://www.investopedia.com/features/crashes/crashes8.asp#axzz1l5JS11fJ"&gt;DotCom Bust&lt;/a&gt;”, some insurers began developing a product designed to address the financial loss that might arise out of a data breach. This was a time where most “&lt;a href="http://www.investopedia.com/terms/b/brickandmortar.asp"&gt;brick and mortar&lt;/a&gt;” companies were just beginning to leverage the economic potential of the Internet. At that time insurers wanted to target the big “dotcom” companies like Amazon, Yahoo, eBay, Google, etc., and other companies pioneering e-commerce and online retailing. At some point, somebody dubbed this type of insurance “cyber insurance.”&lt;/p&gt;

  &lt;p&gt;The early cyber policies included liability and property components. The liability coverages addressed claim expenses and liability arising out of a security breach of the insured’s computer systems (some early policies only covered “technical” security breaches, as opposed to policy violation-based security breaches). The property-related components covered business interruption and data asset loss/damage arising out of a data breach (during the holiday season many online retailers suddenly developed a tasted for business interruption coverage after realizing just how negatively their business would be impacted by a denial of service attack). Additional first party coverages included cyber-extortion coverage and crisis management/PR coverage.&lt;/p&gt;

  &lt;p&gt;Unfortunately for the carriers, it was not easy to get people to understand the need for this coverage (and that is still a challenge today, but certainly a lesser challenge with all of the security and privacy news constantly streaming). Early on there were very few lawsuits and regulators were just beginning to consider enforcement of relatively new statutes like &lt;a href="http://en.wikipedia.org/wiki/Gramm%E2%80%93Leach%E2%80%93Bliley_Act"&gt;GLB&lt;/a&gt; and &lt;a href="http://www.hhs.gov/ocr/privacy/"&gt;HIPAA&lt;/a&gt;.&lt;/p&gt;

  &lt;p&gt;Two things changed that made cyber insurance much more relevant. One was a rather sudden event, and the other more gradual.&lt;/p&gt;

  &lt;p&gt;First, in 2003, California passed &lt;a href="http://en.wikipedia.org/wiki/SB_1386"&gt;SB1386&lt;/a&gt;, the world’s first breach notification law. The reality then (as now) is that companies suffer security breaches each and every day. Prior to SB1386, however, breaches of personal information simply went unreported. With SB1386 and the subsequent passage of breach notice laws in &lt;a href="http://www.ncsl.org/issues-research/telecommunications-information-technology/security-breach-notification-laws.aspx"&gt;45 other states&lt;/a&gt; (and now &lt;a href="http://law.bepress.com/cgi/viewcontent.cgi?article=1153&amp;amp;context=unswwps"&gt;coming internationally&lt;/a&gt;), the risk profile changed for data breaches. Instead of burying the breaches, companies were required to incur significant direct expenses to investigate security breaches and comply with applicable breach notice laws, including the offering of credit monitoring to affected individuals (which is not legally required by existing breach notice laws, but is optionally provided by many companies or &amp;quot;suggested&amp;quot; by state regulators). As a result, the plaintiffs’ bar now had notice of security breaches and began filing class action lawsuits after big breaches (usually involving high-profile brand name organizations). As such, cyber insurance coverage went from coverage addressing a hypothetical risk of future lawsuits, to a coverage addressing real-life risk (and now we have &lt;a href="http://www.infolawgroup.com/2011/10/articles/damages/federal-appeals-court-holds-identity-theft-insurancecredit-monitoring-costs-constitute-damages-in-hannaford-breach-case/"&gt;lawsuits&lt;/a&gt; getting deeper into litigation and &lt;a href="http://campustechnology.com/articles/2012/01/30/u-hawaii-settles-data-breach-class-action-suit.aspx"&gt;public settlements&lt;/a&gt; of these types of cases). Moreover, shortly after the passage of SB 1386 many cyber insurance policies began covering the direct costs associated with complying with breach notification laws, including attorney fees, forensic investigation expenses, printing and mailing costs, credit monitoring expenses and call center expenses. Breach notification costs are direct and almost unavoidable after a personal information breach. Regardless of lawsuit activity, a direct financial rationale for cyber insurance coverage now existed.&lt;/p&gt;

  &lt;p&gt;The other change that occurred more gradually over time, but which has had a significant impact concerning the frequency and magnitude of data breaches was organized crime. In the early 2000s hacking was more of an exercise in annoyance or a used for bragging purposes. Hackers at that time wanted their exploits talked about and know. They wanted credit for hacking into or bringing down a sophisticated company (or better yet a division of the Federal Government or military). As such, when an attack happened it was discovered and remediated, and that would be the end of it.&lt;/p&gt;

  &lt;p&gt;True criminals, of course, are less interested in such notoriety. In fact, when trying to steal thousands/millions of records to commit identity theft or credit card fraud it is much better to &lt;strong&gt;NOT&lt;/strong&gt; be detected. Lingering on a company’s network taking information for months or years is a much more profitable endeavor. Recognizing that this type of crime is low risk (it can be performed from thousands of miles away in Eastern Europe with almost not chance of getting caught) and high reward, organized crime flooded into the space. And in this context the word “&lt;a href="http://press.pandasecurity.com/wp-content/uploads/2011/01/The-Cyber-Crime-Black-Market.pdf"&gt;organized&lt;/a&gt;” is truly appropriate – these enterprises retain very smart IT-oriented people that use every tool possible to &lt;a href="http://www.msnbc.msn.com/id/41519478/ns/technology_and_science-security/t/making-money-cybercrime-easier-ever/#.TyiKmfllwvk"&gt;scale and automate their crimes&lt;/a&gt;. They leverage the communication tools on the Internet to fence their “goods” creating, for example, wholesale and retail markets for credit cards, or “eBay”-like auction sites to hawk their illicit wares (e.g. valuable information). The change in orientation described above has essentially resulted in a 24/7/365 relentless crime machine constantly attacking and looking for new ways to attack, and always seeming to be one step ahead of those seeking to stop them. That is why we read about security and privacy breaches practically every day in the newspaper.&lt;/p&gt;

  &lt;p&gt;Fast-forward to present time. Cyber insurance is a much more established market with more carriers entering on a regular basis. There are primary and excess markets available for big risks, and companies of all sizes are looking at cyber more as a mandatory purchase rather than discretionary. As the world continues to change at seemingly light-speed and cyber risks increase (with the advent of &lt;a href="http://en.wikipedia.org/wiki/Hacktivism"&gt;hacktivism&lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/Social_media"&gt;social media&lt;/a&gt; and the &lt;a href="http://en.wikipedia.org/wiki/Consumerization"&gt;consumerization of IT/BYOD&lt;/a&gt; ) the need for cyber is also growing. With competition pushing cyber insurance prices down, and significant security and privacy risk being retained by organizations, risk transfer is becoming very attractive (and from an overall big picture systemic point of view, spreading is risk is also attractive). Another area where cyber may help smooth out security and privacy risk is with &lt;a href="http://en.wikipedia.org/wiki/Cloud_computing"&gt;cloud computing&lt;/a&gt;.&lt;/p&gt;

  &lt;p&gt;&lt;strong&gt;Where Privacy and Security Risk Breaks Down in Cloud Computing Contracts&lt;/strong&gt;&lt;/p&gt;

  &lt;p&gt;As we have &lt;a href="http://www.infolawgroup.com/articles/cloud-computing-1/"&gt;written extensively&lt;/a&gt; of in the past, Cloud computing raises significant privacy and security risks that are often difficult to hammer out in a Cloud computing negotiation (to the extent a Cloud customer gets a chance to negotiate at all). The net result of these contract negotiation difficulties and Cloud provider unwillingness in many cases to take on meaningful risk contractually, is that the risk is retained solely by the Cloud customer. The following examples outline the privacy and security-related Cloud issues that impact the Cloud customer's risk:&lt;/p&gt;

  &lt;ul&gt;
    &lt;li&gt;a Cloud provider failing to maintain reasonable security to prevent data breaches; &lt;/li&gt;
  &lt;/ul&gt;

  &lt;ul&gt;
    &lt;li&gt;a Cloud provider failing to comply with privacy and security laws applicable to the Cloud customer; &lt;/li&gt;
  &lt;/ul&gt;

  &lt;ul&gt;
    &lt;li&gt;a Cloud provider refusing to allow a Cloud customer to conduct its own independent forensic investigation of a data breach suffered by a Cloud provider; &lt;/li&gt;
  &lt;/ul&gt;

  &lt;ul&gt;
    &lt;li&gt;potential conflict of interests with respect a Cloud provider’s handling a data breach that may have been the fault of the Cloud provider, including failing to cooperate with its Cloud customers if that cooperation could adversely impact the Cloud provider; &lt;/li&gt;
  &lt;/ul&gt;

  &lt;ul&gt;
    &lt;li&gt;the Cloud customer’s potential obligation to comply with breach notice laws, including absorbing expenses for legal fees, forensic investigators, printing and mailing, credit monitoring and maintain a call center; &lt;/li&gt;
  &lt;/ul&gt;

  &lt;ul&gt;
    &lt;li&gt;lawsuits and regulatory actions against the Cloud customer because of Cloud provider security and privacy breaches, and the legal fees, judgments, fines, penalties and settlement costs associated with them; and &lt;/li&gt;
  &lt;/ul&gt;

  &lt;ul&gt;
    &lt;li&gt;Cloud providers seeking to leverage and data mine Cloud customer information being processed in the Cloud. &lt;/li&gt;
  &lt;/ul&gt;

  &lt;p&gt;The justification used by Cloud providers to avoid responsibilities for these risks and the costs associated with them is essentially &lt;em&gt;&lt;strong&gt;risk aggregation&lt;/strong&gt;&lt;/em&gt;. Cloud providers maintain that, because they serve hundreds or thousands of customers on shared computing resources, a single attack could expose Cloud providers to liability from all of those customers at the same time. In fact, we already have &lt;a href="http://bits.blogs.nytimes.com/2011/04/21/amazon-cloud-failure-takes-down-web-sites/"&gt;one example&lt;/a&gt; involving a business interruption of a Cloud provider that demonstrates how multiple customers can be affected by a security breach. They also claim that independent forensic investigations by customers in the wake of a &lt;a href="http://www.infolawgroup.com/2011/03/articles/cloud-computing-1/data-breach-in-the-clouds/"&gt;data breach&lt;/a&gt; are not possible because they cannot accommodate multiple customers at one time, and even if they could a forensic assessment would essentially expose each Cloud customer’s data to every Cloud customer conducting such an investigation.&lt;/p&gt;

  &lt;p&gt;&lt;strong&gt;Cyber Insurance: Addressing Retained Risk in the Cloud&lt;/strong&gt;&lt;/p&gt;

  &lt;p&gt;So how does cyber insurance fit into this picture? As it currently stands, cyber insurance can be a very valuable tool for Cloud customers who are not able to get their providers to contractually take financial responsibility for security and privacy risk. Most cyber insurance policies cover data security and privacy breaches of not only the computer networks directly under the control of the insured, &lt;strong&gt;&lt;em&gt;but also those computer networks operated by third parties for or on behalf of the insured&lt;/em&gt;&lt;/strong&gt;. What this means in the Cloud context is that most cyber insurance policies may cover data breaches of the Cloud provider’s systems where the Cloud customer's/insured's data is stored and processed on those systems. This coverage will typically include most of the expenses listed above, including those direct expenses to comply with breach notice laws and costs to defend lawsuits and regulatory actions arising out of Cloud provider data breaches. As such, in the event a Cloud customer cannot get reasonable contract terms, assuming it has purchased the correct cyber coverage, it will have a fallback risk transfer and will not be retaining that risk solely on its own.&lt;/p&gt;

  &lt;p&gt;Is there a catch? Not really currently, except of course the premium that must be paid and the fact that most cyber insurance policies have a self-insured retention that must be satisfied by the insured before the carriers is required to pay. However, there may be longer term problems that arise for the carriers.&lt;/p&gt;

  &lt;p&gt;At this point, whether they like it or not, carriers whose cyber insurance policies cover security and privacy breaches of third party service providers are already beginning to aggregate their risk when it comes to Cloud providers. Imagine a world with a relatively small number of Cloud providers serving a much larger customer base (to some degree we may already live in such a world considering the dominance of Google, Amazon, Rackspace and other big cloud players). Many insureds/Cloud customers are going to be dealing with this relatively small number of Cloud providers. For example, I am sure that for most cyber insurance companies, if they were to check their books, would find that many of their insureds already use the same Cloud providers and/or other third party service providers to store and process the insureds’ data. Further consolidation of Cloud provider, should that occur, will only increase the aggregation of risk.&lt;/p&gt;

  &lt;p&gt;However, as long as cyber insurance is more widely adopted, the aggregation risk may be manageable. The entire purpose of insurance is to spread the risk across a wide community of insureds, and by doing so hopefully individual insureds that experience a breach are not catastrophically impacted. At the same time carriers can build reserves and achieve reasonable profits. The long term question is whether there are enough insureds purchasing cyber insurance to spread the risk and allow for the building of reserves to cover a breach of a major cloud provider that impacts a wide audience of insureds.&lt;/p&gt;

  &lt;p&gt;We probably are not there yet, and unless demand increases, we may not get there. One thing that may happen, perhaps, is a push from the Cloud provider/customer community to somehow make cyber insurance more of a mandatory condition of doing business in the Cloud. Time will tell as to whether the cyber insurers view this aggregation issue as serious, and whether they will take steps to mitigate it (hopefully those steps will not involve narrowing the coverage). In the meantime, companies that are going deep into the Cloud should quantify the risk they are retaining and seriously consider Cyber insurance coverage. The price may be right, and the peace of mind priceless.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;a href="#Top"&gt;&amp;lt;Return to section navigation list&amp;gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;&lt;a name="Events"&gt;Cloud Computing Events&lt;/a&gt;&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;David Pallman&lt;/strong&gt; described &lt;a href="http://davidpallmann.blogspot.com/2012/02/upcoming-february-sessions-on-web-and.html"&gt;Upcoming February Sessions on Web and Cloud at Portland Cloud Intelligence and CloudFest Denver&lt;/a&gt; in a 2/1/2012 post:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-QzMTvXHuHxY/TynWpDl6BxI/AAAAAAAAaks/oZya7qS3BJM/s1600-h/image75.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" align="right" src="http://lh3.ggpht.com/-j0eW6MmW5oo/TynWprkz3tI/AAAAAAAAak0/yY7IBB3rc_I/image_thumb30.png?imgmax=800" width="48" height="66" /&gt;&lt;/a&gt;Here are some talks I and my Neudesic colleagues are giving on web, cloud, and programming at &lt;a href="http://cloudconference.quickstart.com/portland/"&gt;Portland Cloud Intelligence&lt;/a&gt; (Feb 2) and &lt;a href="http://www.cloudfest.org/Denver/"&gt;CloudFest Denver&lt;/a&gt; (Feb 9): &lt;/p&gt;

  &lt;p&gt;&lt;strong&gt;Development in the Cloud&lt;/strong&gt; 

    &lt;br /&gt;Stuart Celarier 

    &lt;br /&gt;&lt;a href="http://cloudconference.quickstart.com/portland/agenda.aspx"&gt;Portland Cloud Intelligence&lt;/a&gt; Thu Feb 2 1:00p 

    &lt;br /&gt;&lt;a href="http://davidpallmann.blogspot.com/2012/01/taking-fresh-look-at-windows-azure.html"&gt;View Walk-through&lt;/a&gt; 

    &lt;br /&gt;What’s it like to develop for the cloud? In this session, you’ll see what the development experience is like for Windows Azure. We’ll start with “Hello, Cloud” in Visual Studio, running it first in the local simulation environment and then deploying to a data center in the cloud. We’ll progressively add more features to the application to illustrate the use of different cloud services. Both the local simulation environment and deployment to a cloud data center will be shown. We’ll also discuss the software development lifecycle and share best practices for cloud development. You’ll leave with an understanding of the differences and similarities between cloud development and enterprise development.&lt;/p&gt;

  &lt;p&gt;&lt;strong&gt;Keeping an Eye on the Cloud: Azure Diagnostics&lt;/strong&gt; 

    &lt;br /&gt;Mike Erickson (@mgerickson) 

    &lt;br /&gt;&lt;a href="http://www.cloudfest.org/Denver/agenda/259-azr105"&gt;CloudFest Denver&lt;/a&gt; Thu Feb 9 4:10p 

    &lt;br /&gt;When an application is running in Windows Azure it can be difficult to know what is happening. In this session we will cover the techniques that you can implement to gather diagnostic information from the instances running in Azure. We will discuss how you can instrument your code to help you understand what is happening while it is running. We will also look at how you can connect to instances that are running in Azure.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;strong&gt;When Worlds Collide: HTML5 Meets the Cloud&lt;/strong&gt;

    &lt;br /&gt;David Pallmann (@davidpallmann)

    &lt;br /&gt;&lt;a href="http://cloudconference.quickstart.com/portland/agenda.aspx"&gt;Portland Cloud Intelligence&lt;/a&gt; Thu Feb 3:30p 

    &lt;br /&gt;&lt;a href="http://www.cloudfest.org/Denver/abstracts/40/91-st103"&gt;CloudFest Denver&lt;/a&gt; Thu Feb 9 1:20p 

    &lt;br /&gt;&lt;a href="http://davidpallmann.blogspot.com/2012/01/presentation-when-worlds-collide-html5.html"&gt;View Presentation &lt;/a&gt;

    &lt;br /&gt;What does HTML5 mean for cloud computing, and vice-versa? When two revolutions are happening simultaneously you can expect interesting synergies and interactions. Even as cloud computing and social networks are profoundly transforming the back end, HTML5 and mobile devices are profoundly transforming the front end. When these worlds collide we can achieve something truly remarkable: rich, take-anywhere immersive experiences backed by on-demand, elastic services running at global scale. Both worlds are driving changes in the way we design software, and good solution architecture demands they be considered jointly. In this session you'll see how HTML5 and the cloud combine functionally and architecturally, illustrated by example. &lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr /&gt; 

&lt;p&gt;&lt;a href="#Top"&gt;&amp;lt;Return to section navigation list&amp;gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;&lt;a name="Other"&gt;Other Cloud Computing Platforms and Services&lt;/a&gt;&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;Jeff Barr&lt;/strong&gt; (@&lt;a href="http://twitter.com/jeffbarr"&gt;jeffbarr&lt;/a&gt;) posted &lt;a href="http://feedproxy.google.com/~r/AmazonWebServicesBlog/~3/cReG9NLxLTk/new-elastic-mapreduce-features-metrics-updates-vpc-and-cluster-compute-support-guest-post.html"&gt;New Elastic MapReduce Features: Metrics, Updates, VPC, and Cluster Compute Support (Guest Post)&lt;/a&gt; by Adam Gray on 1/31/2012:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;em&gt;Today's guest blogger is Adam Gray. Adam is a Product Manager on the Elastic MapReduce Team.&lt;/em&gt;&lt;/p&gt;

  &lt;hr /&gt;

  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-J5VzbX81nxE/TynWqK4reFI/AAAAAAAAak8/abc7j-rtlBI/s1600-h/image%25255B13%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" align="right" src="http://lh3.ggpht.com/-OIT89FSgBL0/TynWqf80SLI/AAAAAAAAalE/AGF960ecgjY/image_thumb%25255B5%25255D.png?imgmax=800" width="160" height="62" /&gt;&lt;/a&gt;We’re always excited when we can bring features to our customers that make it easier for them to derive value from their data—so it’s been a fun month for the EMR team. Here is a sampling of the things we’ve been working on.&lt;/p&gt;

  &lt;p&gt;&lt;strong&gt;Free CloudWatch Metrics&lt;/strong&gt;

    &lt;br /&gt;Starting today customers can view graphs of &lt;a href="http://docs.amazonwebservices.com/ElasticMapReduce/latest/DeveloperGuide/UsingEMR_ViewingMetrics.html#UsingEMR_ViewingMetrics_MetricsReported"&gt;23 job flow metrics&lt;/a&gt; within the EMR Console by selecting the Monitoring tab in the Job Flow Details page. These metrics are pushed CloudWatch every five minutes at no cost to you and include information on:&lt;/p&gt;

  &lt;ul&gt;
    &lt;li&gt;&lt;strong&gt;Job flow progress&lt;/strong&gt; including metrics on the number of map and reduce tasks running and remaining in your job flow and the number of bytes read and written to S3 and HDFS. &lt;/li&gt;

    &lt;li&gt;&lt;strong&gt;Job flow contention&lt;/strong&gt; including metrics on HDFS utilization, map and reduce slots open, jobs running, and the ratio between map tasks remaining and map slots. &lt;/li&gt;

    &lt;li&gt;&lt;strong&gt;Job flow health&lt;/strong&gt; including metrics on whether your job flow is idle, if there are missing data blocks, and if there are any dead nodes.&lt;/li&gt;
  &lt;/ul&gt;

  &lt;p&gt;Please watch this video to see how to view CloudWatch graphs in the EMR Console:&lt;/p&gt;

  &lt;p&gt;You can also learn more from the &lt;a href="http://docs.amazonwebservices.com/ElasticMapReduce/latest/DeveloperGuide/UsingEMR_ViewingMetrics.html"&gt;Viewing CloudWatch Metrics&lt;/a&gt; section of the EMR Developer Guide.&lt;/p&gt;

  &lt;p&gt;You can view the new metrics in the &lt;a href="http://console.aws.amazon.com/"&gt;AWS Management Console&lt;/a&gt;:&lt;/p&gt;

  &lt;p&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" alt="" src="http://media.amazonwebservices.com/blog/emr_new_metrics_2.png" /&gt;&lt;/p&gt;

  &lt;p&gt;Further, through the CloudWatch Console, API, or SDK you can set alarms to be notified via SNS if any of these metrics go outside of specified thresholds. For example, you can receive an email notification whenever a job flow is idle for more than 30 minutes, HDFS Utilization goes above 80%, or there are five times as many remaining map tasks as there are map slots, indicating that you may want to expand your cluster size.&lt;/p&gt;

  &lt;p&gt;Please watch this video to see how to set EMR alarms through the CloudWatch Console:&lt;/p&gt;

  &lt;p&gt;&lt;strong&gt;Hadoop 0.20.205, Pig 0.9.1, and AMI Versioning&lt;/strong&gt;

    &lt;br /&gt;EMR now supports running your job flows using Hadoop 0.20.205 and Pig 0.9.1. To simplify the upgrade process, we have also introduced the concept of AMI versions. You can now provide a specific AMI version to use at job flow launch or specify that you would like to use our “latest” AMI, ensuring that you are always using our most up-to-date features. The following AMI versions are now available:&lt;/p&gt;

  &lt;ul&gt;
    &lt;li&gt;&lt;strong&gt;Version 2.0.x&lt;/strong&gt;: Hadoop 0.20.205, Hive 0.7.1, Pig 0.9.1, Debian 6.0.2 (Squeeze) &lt;/li&gt;

    &lt;li&gt;&lt;strong&gt;Version 1.0.x&lt;/strong&gt;: Hadoop 0.18.3 and 0.20.2, Hive 0.5 and 0.7.1, Pig 0.3 and 0.6, Debian 5.0 (Lenny)&lt;/li&gt;
  &lt;/ul&gt;

  &lt;p&gt;You can specify an AMI version when launching a job flow in the Ruby CLI using the &lt;strong&gt;--ami-version &lt;/strong&gt;argument (note that you will have to download the latest version of the &lt;a href="http://developer.amazonwebservices.com/connect/entry.jspa?externalID=2264"&gt;Ruby CLI&lt;/a&gt;):&lt;/p&gt;

  &lt;p&gt;$ ./elastic-mapreduce --create --alive --name &amp;quot;Test AMI Versioning&amp;quot; --ami-version latest --num-instances 5 --instance-type m1.small&lt;/p&gt;

  &lt;p&gt;Please visit the &lt;a href="http://docs.amazonwebservices.com/ElasticMapReduce/latest/DeveloperGuide/index.html?EnvironmentConfig_AMIVersion.html"&gt;AMI Versioning&lt;/a&gt; section of the Elastic MapReduce Developer Guide for more information.&lt;/p&gt;

  &lt;p&gt;&lt;strong&gt;S3DistCp for Efficient Copy between S3 and HDFS&lt;/strong&gt;

    &lt;br /&gt;We have also made available S3DistCp, an extension of the open source &lt;a href="http://hadoop.apache.org/common/docs/current/distcp.html"&gt;Apache DistCp&lt;/a&gt; tool for distributed data copy, that has been optimized to work with &lt;a href="http://aws.amazon.com/s3/"&gt;Amazon S3&lt;/a&gt;. Using S3DistCp, you can efficiently copy large amounts of data between Amazon S3 and HDFS on your Amazon EMR job flow or copy files between Amazon S3 buckets. During data copy you can also optimize your files for Hadoop processing. This includes modifying compression schemes, concatenating small files, and creating partitions.

    &lt;br /&gt;For example, you can load &lt;a href="http://aws.amazon.com/cloudfront/"&gt;Amazon CloudFront&lt;/a&gt; logs from S3 into HDFS for processing while simultaneously modifying the compression format from Gzip (the Amazon CloudFront default) to &lt;a href="http://en.wikipedia.org/wiki/Lempel%E2%80%93Ziv%E2%80%93Oberhumer"&gt;LZO&lt;/a&gt; and combining all the logs for a given hour into a single file. As Hadoop jobs are more efficient processing a few, large, LZO-compressed files than processing many, small, Gzip-compressed files, this can improve performance significantly.&lt;/p&gt;

  &lt;p&gt;Please see &lt;a href="http://docs.amazonwebservices.com/ElasticMapReduce/latest/DeveloperGuide/UsingEMR_s3distcp.html"&gt;Distributed Copy Using S3DistCp&lt;/a&gt; in the Amazon Elastic MapReduce documentation for more details and code examples.&lt;/p&gt;

  &lt;p&gt;&lt;strong&gt;cc2.8xlarge Support&lt;/strong&gt;

    &lt;br /&gt;Amazon Elastic MapReduce also now supports the new Amazon EC2 Cluster Compute instance, Cluster Compute Eight Extra Large (cc2.8xlarge). Like other Cluster Compute instances, cc2.8xlarge instances are optimized for high performance computing, giving customers very high CPU capabilities and the ability to launch instances within a high bandwidth, low latency, full bisection bandwidth network. cc2.8xlarge instances provide customers with more than 2.5 times the CPU performance of the first Cluster Compute instance (cc1.4xlarge) instance, more memory, and more local storage at a very compelling cost. Please visit the &lt;a href="https://forums.aws.amazon.com/ann.jspa?annID=1301"&gt;Instance Types&lt;/a&gt; section of the Amazon Elastic MapReduce detail page for more details.&lt;/p&gt;

  &lt;p&gt;In addition, we are pleased to announce an &lt;strong&gt;18% reduction&lt;/strong&gt; in Amazon Elastic MapReduce pricing for cc1.4xlarge instances, dropping the total per hour cost to &lt;strong&gt;$1.57&lt;/strong&gt;. Please visit the &lt;a href="https://aws.amazon.com/elasticmapreduce/pricing"&gt;Amazon Elastic MapReduce Pricing Page&lt;/a&gt; for more details.&lt;/p&gt;

  &lt;p&gt;&lt;strong&gt;VPC Support&lt;/strong&gt;

    &lt;br /&gt;Finally, we are excited to announce support for running job flows in an Amazon &lt;a href="http://aws.amazon.com/vpc/"&gt;Virtual Private Cloud&lt;/a&gt; (Amazon VPC), making it easier for customers to:&lt;/p&gt;

  &lt;ul&gt;
    &lt;li&gt;&lt;strong&gt;Process sensitive data&lt;/strong&gt; - Launching a job flow on Amazon VPC is similar to launching the job flow on a private network and provides additional tools, such as routing tables and Network ACLs, for defining who has access to the network. If you are processing sensitive data in your job flow, you may find these additional access control tools useful. &lt;/li&gt;

    &lt;li&gt;&lt;strong&gt;Access resources on an internal network&lt;/strong&gt; - If your data is located on a private network, it may be impractical or undesirable to regularly upload that data into AWS for import into Amazon Elastic MapReduce, either because of the volume of data or because of its sensitive nature. Now you can launch your job flow on an Amazon VPC and connect to your data center directly through a VPN connection.&lt;/li&gt;
  &lt;/ul&gt;

  &lt;p&gt;You can launch Amazon Elastic MapReduce job flows into your VPC through the Ruby CLI by using the &lt;strong&gt;--subnet&lt;/strong&gt; argument and specifying the subnet address (note that you will have to download the latest version of the &lt;a href="http://developer.amazonwebservices.com/connect/entry.jspa?externalID=2264"&gt;Ruby CLI&lt;/a&gt;):&lt;/p&gt;

  &lt;p&gt;$ ./elastic-mapreduce --create --alive --subnet &amp;quot;subnet-identifier&amp;quot;&lt;/p&gt;

  &lt;p&gt;Please visit the &lt;a href="http://docs.amazonwebservices.com/ElasticMapReduce/latest/DeveloperGuide/index.html?EnvironmentConfig_VPC.html"&gt;Running Job Flows on an Amazon VPC&lt;/a&gt; section in the Elastic MapReduce Developer Guide for more information.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;a href="#Top"&gt;&amp;lt;Return to section navigation list&amp;gt;&lt;/a&gt;&lt;/p&gt;

&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:75e6b9a1-1d8d-426d-a70e-36ac1ad556aa" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Windows+Azure" rel="tag"&gt;Windows Azure&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Windows+Azure+Platform" rel="tag"&gt;Windows Azure Platform&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Azure+Services+Platform" rel="tag"&gt;Azure Services Platform&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Azure+Storage+Services" rel="tag"&gt;Azure Storage Services&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Azure+Table+Services" rel="tag"&gt;Azure Table Services&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Azure+Blob+Services" rel="tag"&gt;Azure Blob Services&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Azure+Drive+Services" rel="tag"&gt;Azure Drive Services&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Azure+Queue+Services" rel="tag"&gt;Azure Queue Services&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Azure+Service+Broker" rel="tag"&gt;Azure Service Broker&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Azure+Access+Services" rel="tag"&gt;Azure Access Services&lt;/a&gt;,&lt;a href="http://technorati.com/tags/SQL+Azure+Database" rel="tag"&gt;SQL Azure Database&lt;/a&gt;,&lt;a href="http://technorati.com/tags/SQL+Azure+Federations" rel="tag"&gt;SQL Azure Federations&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Open+Data+Protocol" rel="tag"&gt;Open Data Protocol&lt;/a&gt;,&lt;a href="http://technorati.com/tags/OData" rel="tag"&gt;OData&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Cloud+Computing" rel="tag"&gt;Cloud Computing&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Visual+Studio+LightSwitch" rel="tag"&gt;Visual Studio LightSwitch&lt;/a&gt;,&lt;a href="http://technorati.com/tags/LightSwitch" rel="tag"&gt;LightSwitch&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Amazon+Web+Services" rel="tag"&gt;Amazon Web Services&lt;/a&gt;,&lt;a href="http://technorati.com/tags/AWS" rel="tag"&gt;AWS&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Node.js" rel="tag"&gt;Node.js&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Hadoop" rel="tag"&gt;Hadoop&lt;/a&gt;,&lt;a href="http://technorati.com/tags/NougakuDo" rel="tag"&gt;NougakuDo&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Ruby+on+Rails" rel="tag"&gt;Ruby on Rails&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Ruby" rel="tag"&gt;Ruby&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11646261-7183944615089029395?l=oakleafblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oakleafblog.blogspot.com/feeds/7183944615089029395/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11646261&amp;postID=7183944615089029395' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11646261/posts/default/7183944615089029395'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11646261/posts/default/7183944615089029395'/><link rel='alternate' type='text/html' href='http://oakleafblog.blogspot.com/2012/02/windows-azure-and-cloud-computing-posts.html' title='Windows Azure and Cloud Computing Posts for 2/1/2012+'/><author><name>Roger Jennings (--rj)</name><uri>http://www.blogger.com/profile/01700526164060680385</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-0GeAX5t9PtI/TocwxoAK69I/AAAAAAAAQos/p5d6F13mkiw/s220/OakLeafLogoMVP100px.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/-OsoKl-OJ6tQ/TgtZhIThImI/AAAAAAAAMWc/azK-WT3s8xY/s72-c/image2222.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11646261.post-1143930505878465291</id><published>2012-01-31T17:11:00.000-08:00</published><updated>2012-02-01T13:08:06.771-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Windows Phone 7.5 Mango'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows Azure AppFabric'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL Azure Federations'/><category scheme='http://www.blogger.com/atom/ns#' term='Hadoop on Azure'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL Azure'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL Azure Data Migration'/><category scheme='http://www.blogger.com/atom/ns#' term='Codename &quot;Cloud Numerics&quot;'/><category scheme='http://www.blogger.com/atom/ns#' term='Codename &quot;Social Analytics&quot;'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows Azure'/><category scheme='http://www.blogger.com/atom/ns#' term='Hadoop'/><category scheme='http://www.blogger.com/atom/ns#' term='Apache Hadoop on Windows Azure'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows Azure Marketplace DataMarket'/><category scheme='http://www.blogger.com/atom/ns#' term='Amazon Web Services'/><category scheme='http://www.blogger.com/atom/ns#' term='Codename &quot;Data Explorer&quot;'/><category scheme='http://www.blogger.com/atom/ns#' term='LightSwitch'/><category scheme='http://www.blogger.com/atom/ns#' term='OData'/><category scheme='http://www.blogger.com/atom/ns#' term='Open Data Protocol'/><category scheme='http://www.blogger.com/atom/ns#' term='Apache Hadoop'/><category scheme='http://www.blogger.com/atom/ns#' term='Cloud Computing'/><title type='text'>Windows Azure and Cloud Computing Posts for 1/30/2012+</title><content type='html'>&lt;p&gt;   &lt;table border="0" cellspacing="0" cellpadding="0" width="640"&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td valign="top" width="320"&gt;A compendium of Windows Azure, Service Bus, EAI &amp;amp; EDI Access Control, Connect, SQL Azure Database, and other cloud-computing articles. &lt;/td&gt;          &lt;td valign="top" width="320"&gt;&lt;img title="image222" border="0" alt="image222" align="right" src="http://lh5.ggpht.com/-OsoKl-OJ6tQ/TgtZhIThImI/AAAAAAAAMWc/azK-WT3s8xY/image2222.png?imgmax=800" width="291" height="47" /&gt;&lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/p&gt;  &lt;p&gt;&lt;img title="image433" border="0" alt="image433" src="http://lh3.ggpht.com/-wfwZuoYbLys/TgtZhzIkKKI/AAAAAAAAMWg/XcCB0z8djPs/image4333.png?imgmax=800" width="640" height="270" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;a name="Top"&gt;&lt;strong&gt;Note:&lt;/strong&gt;&lt;/a&gt; This post is updated daily or more frequently, depending on the availability of new articles in the following sections:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="#BTQ"&gt;Windows Azure Blob, Drive, Table, Queue and Hadoop Services&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="#SDS"&gt;SQL Azure Database, Federations and Reporting&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="#OData"&gt;Marketplace DataMarket, Social Analytics and OData &lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="#NET"&gt;Windows Azure Access Control, Service Bus, and Workflow&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="#WAVN"&gt;Windows Azure VM Role, Virtual Network, Connect, RDP and CDN&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="#Live"&gt;Live Windows Azure Apps, APIs, Tools and Test Harnesses&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="#Light"&gt;Visual Studio LightSwitch and Entity Framework v4+&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="#Infra"&gt;Windows Azure Infrastructure and DevOps&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="#WAPA"&gt;Windows Azure Platform Appliance (WAPA), Hyper-V and Private/Hybrid Clouds&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="#Security"&gt;Cloud Security and Governance&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="#Events"&gt;Cloud Computing Events&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="#Other"&gt;Other Cloud Computing Platforms and Services&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;hr /&gt;  &lt;h4&gt;&lt;a name="BTQ"&gt;Azure Blob, Drive, Table, Queue and Hadoop Services&lt;/a&gt;&lt;/h4&gt;  &lt;p&gt;Added TeraSort and TeraValidate jobs on 1/30 and 1/31/2012 to &lt;strong&gt;my&lt;/strong&gt; (@&lt;a href="http://twitter.com/rogerjenn"&gt;rogerjenn&lt;/a&gt;) &lt;a href="http://oakleafblog.blogspot.com/2012/01/introducing-apache-hadoop-services-for.html"&gt;Introducing Apache Hadoop Services for Windows Azure&lt;/a&gt; post. From the preface:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-MPkzJ_-tDVQ/TyiRZlgZD0I/AAAAAAAAaUA/9EE9KL3lf2o/s1600-h/image%25255B6%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" align="right" src="http://lh6.ggpht.com/-Wwecp3_Tp4U/TyiRZ1qO98I/AAAAAAAAaUI/cSYO_G5rwLg/image_thumb%25255B2%25255D.png?imgmax=800" width="63" height="66" /&gt;&lt;/a&gt;The &lt;strong&gt;SQL Server Team&lt;/strong&gt; (@&lt;a href="http://twitter.com/SQLServer"&gt;SQLServer&lt;/a&gt;) announced &lt;a href="https://www.hadooponazure.com/"&gt;Apache Hadoop Services for Windows Azure&lt;/a&gt;, a.k.a. &lt;em&gt;Apache Hadoop on Windows Azure&lt;/em&gt; or &lt;em&gt;Hadooop on Azure&lt;/em&gt;, at the Profesional Association for SQL Server (PASS) Summit in October 2011.&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;&lt;a href="http://lh3.ggpht.com/-3qh5fqi7xKQ/TyiRaPY6GsI/AAAAAAAAaUQ/GrNFWK6xy6w/s1600-h/image_thumb3_thumb%25255B2%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image_thumb3_thumb" border="0" alt="image_thumb3_thumb" align="right" src="http://lh3.ggpht.com/-hgGTLM5mQPM/TyiRaYRtK1I/AAAAAAAAaUY/SwXb-k6vlkc/image_thumb3_thumb_thumb.png?imgmax=800" width="160" height="39" /&gt;&lt;/a&gt;Update&lt;/strong&gt; 1/31/2011: Added steps 15 and 16 with Job History and Cluster Management for the TeraSort job.&lt;/p&gt;    &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-Rgt_hHcsXjw/TyiRau9g8oI/AAAAAAAAaUg/cpXYcMXdoWE/s1600-h/image%25255B3%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" align="right" src="http://lh3.ggpht.com/-_T3WzhSUS1g/TyiRaz8_ThI/AAAAAAAAaUo/BjvbCEkz69o/image_thumb%25255B1%25255D.png?imgmax=800" width="65" height="59" /&gt;&lt;/a&gt;&lt;strong&gt;Update&lt;/strong&gt; 1/30/2011: Added TeraSort job, steps 10 through 14, and TeraValidate job, steps 17 through 19. Waiting for response regarding interpretation of TeraValidate results.&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;&lt;a name="BTQ"&gt;&lt;img title="image" border="0" alt="image" align="right" src="http://lh6.ggpht.com/_GdO7DQgAn3w/TGmtBfGziyI/AAAAAAAAD00/qmrRPnvlwkA/image%5B88%5D.png?imgmax=800" width="160" height="25" /&gt;&lt;/a&gt;Table of Contents&lt;/strong&gt;&lt;/p&gt;    &lt;ul&gt;     &lt;li&gt;Introduction &lt;/li&gt;      &lt;li&gt;Tutorial: Running the 10GB GraySort Sample’s TeraGen Job &lt;/li&gt;      &lt;li&gt;Tutorial: Running the 10GB GraySort Sample’s TeraSort Job &lt;/li&gt;      &lt;li&gt;Tutorial: Running the 10GB GraySort Sample’s TeraValidate Job &lt;/li&gt;      &lt;li&gt;Apache Hadoop on Windows Azure Resources &lt;/li&gt;   &lt;/ul&gt; &lt;/blockquote&gt;  &lt;hr /&gt;  &lt;p&gt;&lt;strong&gt;Denny Lee&lt;/strong&gt; (@&lt;a href="http://twitter.com/dennylee"&gt;dennylee&lt;/a&gt;) asked &lt;a href="http://dennyglee.com/2012/01/31/moving-data-to-compute-or-compute-to-data-that-is-the-big-data-question/"&gt;Moving data to compute or compute to data? That is the Big Data question&lt;/a&gt; in a 1/31/2012 post:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-ZuGgI-DANL0/TyiRbYityQI/AAAAAAAAaUw/v7pmAvNuqWk/s1600-h/image%25255B64%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" align="right" src="http://lh5.ggpht.com/-lfHVqQ850kQ/TyiRblTKknI/AAAAAAAAaU4/LZjf0g_QmGo/image_thumb%25255B23%25255D.png?imgmax=800" width="58" height="66" /&gt;&lt;/a&gt;… As noted in the previous post &lt;a href="http://wp.me/pHDEa-dM"&gt;Scale Up or Scale Out your Data Problems? A Space Analogy&lt;/a&gt;, the decision to scaling up or scaling out your data problem is a key facet in your Big Data problem. But just as important as the ability to distribute the data across commoditized hardware, another key facet is the &lt;strong&gt;movement of data&lt;/strong&gt;.&lt;/p&gt;    &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-guK3O3Io8pE/TyiRcqshT_I/AAAAAAAAaVQ/LC490KHaMsk/s1600-h/image%25255B68%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" align="right" src="http://lh4.ggpht.com/-dyBS5R1L3BI/TyiRczA0_RI/AAAAAAAAaVY/x721de-dFBw/image_thumb%25255B24%25255D.png?imgmax=800" width="65" height="59" /&gt;&lt;/a&gt;Latencies (i.e. slower performance) are introduced when you need to move data from one location to another. To solve this problem within the data world, you can solve this by making it easier to move the data faster (e.g. compression, delta transfer, faster connectivity, etc.) or you design a system that reduces the need to move the data in the first place (i.e. moving data to compute or compute to data).&lt;/p&gt;    &lt;h5&gt;Scaling Up the Problem / Moving Data to Compute&lt;/h5&gt;    &lt;p&gt;To help describe the problem, the diagram below is a representation of a scale up traditional RDBMS. The silver database boxes on the left represent the database servers (each with blue platters representing local disks), the box with 9 blue platters represents a disk array (e.g. SAN, DAS, etc.), the blue arrows represent fiber channel connections (between the server and disk array), and the green arrows represent the network connectivity.&lt;/p&gt;    &lt;p&gt;&lt;a href="http://dennyglee.files.wordpress.com/2012/01/image18.png"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" title="image" border="0" alt="image" src="http://dennyglee.files.wordpress.com/2012/01/image_thumb18.png?w=412&amp;amp;h=298" width="412" height="298" /&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;In an optimized scale up RDBMS, we often will setup DAS or SANs to quickly transfer data from the disk array to the RDBMS server or compute node (often allocating the local disk for the compute node to hold temp/backup/cache files). This scenario works great under the specific scenario that you can &lt;strong&gt;ensure low latencies&lt;/strong&gt;.&lt;/p&gt;    &lt;p&gt;&lt;a href="http://dennyglee.files.wordpress.com/2012/01/image19.png"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" title="image" border="0" alt="image" src="http://dennyglee.files.wordpress.com/2012/01/image_thumb19.png?w=406&amp;amp;h=289" width="406" height="289" /&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;And this is where things can get complicated, because if you were to lose disks on the array and/or fiber channel connectivity to the disk array – the RDBMS would go offline. But as described in the above diagram, perhaps you setup active clustering so the secondary RDBMS can take over.&lt;/p&gt;    &lt;p&gt;&lt;a href="http://dennyglee.files.wordpress.com/2012/01/image20.png"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" title="image" border="0" alt="image" src="http://dennyglee.files.wordpress.com/2012/01/image_thumb20.png?w=406&amp;amp;h=295" width="406" height="295" /&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;Yet, if you were to lose network connectivity (e.g. the secondary RDBMS is not aware the primary is offline) or lose fiber channel connectivity, you would also lose the secondary.&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;The Importance of ACID&lt;/strong&gt;&lt;/p&gt;    &lt;p&gt;It is important to note that many RDBMS systems have features or designs that work around these problems. But to ensure &lt;em&gt;availability&lt;/em&gt; and &lt;em&gt;redundancy&lt;/em&gt;, if often requires more expensive hardware to work around the problematic network and disk failure points.&lt;/p&gt;    &lt;p&gt;As well, this is not to say that RDBMS are based design – they are designed with &lt;strong&gt;ACID&lt;/strong&gt; in mind – atomicity, consistency, isolation, and durability – to guarantee the reliability and robustness of database transactions (for more info, check out the Wikipedia entry: &lt;a href="http://en.wikipedia.org/wiki/ACID"&gt;ACID&lt;/a&gt;).&lt;/p&gt;    &lt;h5&gt;Scaling Out the Problem / Moving Compute to Data&lt;/h5&gt;    &lt;p&gt;In a scale out or distributed solution, the idea is to have many commodity servers; they are many points of failure but there are also many paths for success.&lt;/p&gt;    &lt;p&gt;&lt;a href="http://dennyglee.files.wordpress.com/2012/01/image21.png"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" title="image" border="0" alt="image" src="http://dennyglee.files.wordpress.com/2012/01/image_thumb21.png?w=469&amp;amp;h=255" width="469" height="255" /&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;&lt;a href="http://lh5.ggpht.com/-ZCkfNJnDNuY/TyiRdH5Y_pI/AAAAAAAAaVg/E3VLpA75v5E/s1600-h/image_thumb3_thumb%25255B6%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image_thumb3_thumb" border="0" alt="image_thumb3_thumb" align="right" src="http://lh4.ggpht.com/-nRtqwqss31o/TyiRdYNCkcI/AAAAAAAAaVo/OhaAISXkngI/image_thumb3_thumb_thumb%25255B1%25255D.png?imgmax=800" width="160" height="39" /&gt;&lt;/a&gt;&lt;/strong&gt;Key to a distributed system is that as data comes in (the blue file icon on the right represent data such as web logs), the data is distributed and replicated in chunks to many nodes within the cluster. In the case of Hadoop, files are broken into 64K chunks and each of these chunks are placed into three different locations (if you set the replication factor to 3).&lt;/p&gt;    &lt;p&gt;&lt;a href="http://dennyglee.files.wordpress.com/2012/01/image22.png"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" title="image" border="0" alt="image" src="http://dennyglee.files.wordpress.com/2012/01/image_thumb22.png?w=474&amp;amp;h=251" width="474" height="251" /&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;While you are using more disk space to replicate the data, now that you have placed the data into the system, you have ensured &lt;em&gt;redundancy&lt;/em&gt; by replicating the data within it.&lt;/p&gt;    &lt;p&gt;&lt;a href="http://dennyglee.files.wordpress.com/2012/01/image23.png"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" title="image" border="0" alt="image" src="http://dennyglee.files.wordpress.com/2012/01/image_thumb23.png?w=474&amp;amp;h=247" width="474" height="247" /&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;What is great about these types of distributed systems, they are designed right from the beginning to handle latency issues whether they be disk or network connectivity problems to out right losing a node. In the above diagram, a user is requesting data, but there is a loss to some disks and some network connections.&lt;/p&gt;    &lt;p&gt;&lt;a href="http://dennyglee.files.wordpress.com/2012/01/image24.png"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" title="image" border="0" alt="image" src="http://dennyglee.files.wordpress.com/2012/01/image_thumb24.png?w=476&amp;amp;h=250" width="476" height="250" /&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;Nevertheless, there are other nodes that do have network connectivity and the data has been replicated so it is available. Systems that are designed to scale out and distribute like Hadoop can ensure &lt;em&gt;availability&lt;/em&gt; of the data and will complete the query just as long as the data exists (it may take longer if nodes are lost, but the query will be completed).&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;The importance of BASE&lt;/strong&gt;&lt;/p&gt;    &lt;p&gt;By using many commodity boxes, you distribute and replicate your data to multiple systems. But as there are many moving parts, distributed systems like these cannot ensure the reliability and robustness of database transactions. Instead, they fall under the domain of &lt;strong&gt;eventual consistency&lt;/strong&gt; where over a period of time (i.e. eventually) the data within the entire system will be consistent (e.g. all data modifications will be replicated throughout the cluster). This concept is also known as BASE (as opposed to ACID) – Basically Available, Soft State, Eventually Consistent. For more information, check out the Wikipedia reference: &lt;a href="http://en.wikipedia.org/wiki/Eventual_consistency"&gt;Eventual Consistency&lt;/a&gt;.&lt;/p&gt;    &lt;h5&gt;Discussion&lt;/h5&gt;    &lt;p&gt;Similar to the post &lt;a href="http://wp.me/pHDEa-dM"&gt;Scale Up or Scale Out your Data Problems? A Space Analogy&lt;/a&gt;, choosing whether ACID or BASE works for you is not a matter of which one to use – but which one to use when. For example, as noted in the post &lt;a href="http://blogs.msdn.com/b/sqlcat/archive/2011/11/15/what-s-so-big-about-big-data.aspx"&gt;What’s so BIG about “Big Data”?&lt;/a&gt;, the Yahoo! Analysis Services cube is &lt;strong&gt;24 TB&lt;/strong&gt; (certainly a case of moving data to compute with my obsession on random IO with SSAS) and the source of this cube is a &lt;strong&gt;2PB&lt;/strong&gt; of data from a huge Hadoop cluster (moving compute to data).&lt;/p&gt;    &lt;p&gt;&lt;a href="http://dennyglee.files.wordpress.com/2012/01/yahoo-hadoop-to-cube.png"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" title="Yahoo Hadoop to Cube" border="0" alt="Yahoo Hadoop to Cube" src="http://dennyglee.files.wordpress.com/2012/01/yahoo-hadoop-to-cube_thumb.png?w=431&amp;amp;h=195" width="431" height="195" /&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;Each one has its own set of issues – scaling out increases the complexity of maintaining so many nodes, scaling up becomes more expensive to ensure availability and reliability, etc. It will be important to understand the pros/cons of each type – often it will be a combination of these two. Another great example can be seen in Dave Mariani (@mariani)’s post: &lt;a href="http://corp.klout.com/blog/2011/11/big-data-bigger-brains/"&gt;Big Data, Bigger Brains&lt;/a&gt; at Klout’s blog.&lt;/p&gt;    &lt;blockquote&gt;     &lt;p&gt;ACID and BASE each have their own set of problems, the good news is that mixing them together often neutralizes the problems.&lt;/p&gt;   &lt;/blockquote&gt;    &lt;p&gt;…&lt;/p&gt; &lt;/blockquote&gt;  &lt;hr /&gt;  &lt;p&gt;&lt;a href="#Top"&gt;&amp;lt;Return to section navigation list&amp;gt;&lt;/a&gt;&lt;/p&gt;  &lt;h4&gt;&lt;a name="SDS"&gt;SQL Azure Database, Federations and Reporting &lt;/a&gt;&lt;/h4&gt;  &lt;p&gt;The &lt;strong&gt;SQL Azure Labs Team&lt;/strong&gt; (@&lt;a href="https://twitter.com/#!/SQLAzureLabs"&gt;SQLAzureLabs&lt;/a&gt;) announced &lt;a href="http://www.microsoft.com/en-us/sqlazurelabs/labs/sqlazuresecurityservices.aspx"&gt;Microsoft Codename &amp;quot;SQL Azure Security Services&amp;quot;&lt;/a&gt; on 1/30/2012:&lt;/p&gt;  &lt;blockquote&gt;   &lt;h5&gt;Scan your databases for security vulnerabilities&lt;/h5&gt;    &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-JpCI-34Gk5A/TyiRdjn9BJI/AAAAAAAAaVw/AFknYrNdPhk/s1600-h/image%25255B22%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" align="right" src="http://lh5.ggpht.com/-q8TcL4xoNKk/TyiRd0sN1-I/AAAAAAAAaV4/-zgASrw5TsI/image_thumb%25255B8%25255D.png?imgmax=800" width="65" height="61" /&gt;&lt;/a&gt;Microsoft Codename &amp;quot;SQL Azure Security Services&amp;quot; is an easy-to-use Web application that enables you to assess the security state of one or all of the databases on your SQL Azure server. The service scans databases for security vulnerabilities and provides you a report. You can use the recommendations and best practices provided in the report to improve the security state of your databases. The steps are simple:&lt;/p&gt;    &lt;ol&gt;     &lt;li&gt;       &lt;p&gt;Provide your SQL Azure account credentials to the service.&lt;/p&gt;     &lt;/li&gt;      &lt;li&gt;       &lt;p&gt;Choose the target for the report: Display in your browser or send to Windows Azure Blob storage.&lt;/p&gt;     &lt;/li&gt;      &lt;li&gt;       &lt;p&gt;View the report and get details from supporting documentation.&lt;/p&gt;     &lt;/li&gt;      &lt;li&gt;       &lt;p&gt;Take the corrective steps recommended in the report to secure your data.&lt;/p&gt;     &lt;/li&gt;      &lt;li&gt;       &lt;p&gt;Provide feedback on the data protection services you want in SQL Azure.&lt;/p&gt;     &lt;/li&gt;   &lt;/ol&gt;    &lt;p&gt;&lt;strong&gt;&lt;strong&gt;&lt;b&gt;&lt;a href="#Top"&gt;&lt;img title="image" border="0" alt="image" align="right" src="http://lh5.ggpht.com/_GdO7DQgAn3w/TFxIT_td_pI/AAAAAAAADfQ/asbwuFou3jU/image%5B36%5D.png?imgmax=800" width="160" height="43" /&gt;&lt;/a&gt;&lt;/b&gt;&lt;/strong&gt;&lt;/strong&gt;&amp;quot;SQL Azure Security Services&amp;quot; is an early prototype for solving the problem of securing your data in the cloud: no matter where it is, whatever the capacity and scale. Your feedback is very valuable. We look forward to hearing from you!&lt;/p&gt;    &lt;p&gt;You will need a Windows Azure and SQL Azure subscription to use the service. If you don’t have one, click &lt;strong&gt;&lt;a href="http://www.windowsazure.com/en-us/pricing/free-trial/"&gt;here to sign up for a free trial&lt;/a&gt;&lt;/strong&gt;. &lt;/p&gt;    &lt;p&gt;Click &lt;strong&gt;&lt;a href="https://labs.web.sqlsecurity.azure.com/scanner.html"&gt;here&lt;/a&gt;&lt;/strong&gt; to get started with this lab. &lt;/p&gt; &lt;/blockquote&gt;  &lt;hr /&gt;  &lt;p&gt;The &lt;strong&gt;SQL Server Team&lt;/strong&gt; (@&lt;a href="https://twitter.com/#!/SQLServer"&gt;SQLServer&lt;/a&gt;) announced &lt;a href="http://blogs.technet.com/b/dataplatforminsider/archive/2012/01/30/microsoft-sql-server-migration-assistant-5-2-is-now-available.aspx"&gt;Microsoft SQL Server Migration Assistant 5.2 is Now Available&lt;/a&gt; in a 1/30/2012 post:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-qnZCt-0Rlkk/TyiReOzw6aI/AAAAAAAAaWA/GipR5CXkWeo/s1600-h/image%25255B47%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" align="right" src="http://lh6.ggpht.com/-0hG5yEud3EA/TyiReUIQ2KI/AAAAAAAAaWI/ZFUoH3s0JHw/image_thumb%25255B17%25255D.png?imgmax=800" width="60" height="66" /&gt;&lt;/a&gt;SQL Server Migration Assistant (SSMA) v5.2 is now available. SSMA simplifies database migration process from Oracle/Sybase/MySQL and Microsoft Access to SQL Server and SQL Azure. SSMA automates all aspects of migration including migration assessment analysis, schema and SQL statement conversion, data migration as well as migration testing to reduce cost and reduce risk of your database migration project. &lt;/p&gt;    &lt;ul&gt;     &lt;li&gt;The new version of SSMA - SSMA 5.2 provides the following major enhancements: &lt;/li&gt;      &lt;li&gt;Support conversion of Oracle %ROWTYPE parameters with NULL default &lt;/li&gt;      &lt;li&gt;Support conversion of Sybase’s Rollback Trigger &lt;/li&gt;      &lt;li&gt;Better user credential security to support Microsoft Access Linked Tables &lt;/li&gt;   &lt;/ul&gt;    &lt;p&gt;&lt;strong&gt;&lt;strong&gt;&lt;b&gt;&lt;a href="#Top"&gt;&lt;img title="image" border="0" alt="image" align="right" src="http://lh5.ggpht.com/_GdO7DQgAn3w/TFxIT_td_pI/AAAAAAAADfQ/asbwuFou3jU/image%5B36%5D.png?imgmax=800" width="160" height="43" /&gt;&lt;/a&gt;&lt;/b&gt;&lt;/strong&gt;&lt;/strong&gt;&lt;b&gt;Reduce Cost and Risk of Competitive Database Migration        &lt;br /&gt;&lt;/b&gt;Does your customer have Oracle, Sybase, MySQL or Access databases that you like to migrate to SQL Server or SQL Azure? SQL Server Migration Assistant (SSMA) automates all aspects of migration including migration assessment analysis, schema and SQL statement conversion, data migration as well as migration testing. The tool provides the following functionalities:&lt;b&gt;&lt;/b&gt;&lt;/p&gt;    &lt;ul&gt;     &lt;li&gt;&lt;b&gt;&lt;i&gt;Database Migration Analyzer&lt;/i&gt;&lt;/b&gt;: Assess and report complexity of the source database for migration to SQL Server. The generated report include detailed information on the database schema, percentage of the schema objects that can be converted by the tool, and hours estimate for manually migrating those schema objects that cannot be converted automatically. The information can be used for your to decide and to plan for migration. Visit &lt;a href="http://blogs.msdn.com/b/ssma/archive/2011/02/05/analyzing-database.aspx"&gt;SSMA team site&lt;/a&gt; for video demonstration of this feature. &lt;/li&gt;      &lt;li&gt;&lt;b&gt;&lt;i&gt;Schema Converter&lt;/i&gt;&lt;/b&gt;: Automate conversion of schema objects (including programming code inside package, procedure, function) into equivalent SQL Server objects and T-SQL dialect. The tool provides ability to customize the conversion from hundreds of project setting options according to your specific business requirements. A report will be generated at the end of conversion for any object statement not supported for automated conversion. You can drill down to each of the migration issues and obtain side-by-side comparison between the original source code and the converted source code as well as make necessary modification directly from SSMA user interface. Visit &lt;a href="http://blogs.msdn.com/b/ssma/archive/2011/02/05/converting-schema.aspx"&gt;SSMA team site&lt;/a&gt; for video demonstration of this feature. &lt;/li&gt;      &lt;li&gt;&lt;b&gt;&lt;i&gt;Data Migrator&lt;/i&gt;&lt;/b&gt;: Migrate data from the source database to the SQL Server using the same conversion logic and type mapping specified in the project setting during schema conversion. Visit &lt;a href="http://blogs.msdn.com/b/ssma/archive/2011/02/05/migrating-data.aspx"&gt;SSMA team site&lt;/a&gt; for video demonstration of this feature. &lt;/li&gt;      &lt;li&gt;&lt;b&gt;&lt;i&gt;Migration Tester&lt;/i&gt;&lt;/b&gt;: Facilitate unit testing of converted program in SQL Server. &lt;/li&gt;   &lt;/ul&gt;    &lt;p&gt;&lt;strong&gt;Simplify Migration to SQL Azure        &lt;br /&gt;&lt;/strong&gt;Customers can&lt;b&gt; &lt;/b&gt;simplify their move to the cloud with the SSMA. You can migrate from competitive database directly to SQL Azure. The tool reports possible migration issue to SQL Azure, convert schema, and migrate data to SQL Azure database. SSMA supports SQL Azure migration from Microsoft Access, MySQL, and Sybase. &lt;/p&gt;    &lt;p&gt;&lt;b&gt;Receive FREE technical support and migration resources.        &lt;br /&gt;&lt;/b&gt;Microsoft Customer Service and Support (CSS) provides free email technical support for SSMA. &lt;a href="http://www.microsoft.com/sqlserver/en/us/product-info/migration.aspx"&gt;SSMA product web site&lt;/a&gt; and &lt;a href="http://blogs.msdn.com/b/ssma/"&gt;SSMA team blog site&lt;/a&gt; provides many resources to help customer to reduce cost and risk for database migration.&lt;/p&gt;    &lt;p&gt;&amp;#160;&lt;b&gt;Download SQL Server Migration Assistant (SSMA) v.5.2        &lt;br /&gt;&lt;/b&gt;&lt;a href="http://go.microsoft.com/?linkid=9771004"&gt;Launch the download of the SSMA for Oracle.&lt;/a&gt;       &lt;br /&gt;&lt;a href="http://go.microsoft.com/?linkid=9771006"&gt;Launch the download of the SSMA for Sybase.&lt;/a&gt;       &lt;br /&gt;&lt;a href="http://go.microsoft.com/?linkid=9771005"&gt;Launch the download of the SSMA for MySQL.&lt;/a&gt;       &lt;br /&gt;&lt;a href="http://go.microsoft.com/?linkid=9771007"&gt;Launch the download of the SSMA for Access.&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;hr /&gt;  &lt;p&gt;&lt;strong&gt;Cihan Biyikoglu&lt;/strong&gt; (@&lt;a href="http://twitter.com/cihangirb"&gt;cihangirb&lt;/a&gt;) posted a brief &lt;a href="http://blogs.msdn.com/b/cbiyikoglu/archive/2012/01/29/php-and-federations-sample-code-from-brain.aspx"&gt;PHP and Federations in SQL Azure - Sample Code from Brian&lt;/a&gt; article on 1/29/2012:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-hLoR-9rF6_M/TyiRe7UOerI/AAAAAAAAaWQ/oKjTMBVmsJw/s1600-h/image%25255B44%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" align="right" src="http://lh5.ggpht.com/-VfSWLhrDV-I/TyiRfGUAujI/AAAAAAAAaWY/sajRXUYLmes/image_thumb%25255B16%25255D.png?imgmax=800" width="60" height="66" /&gt;&lt;/a&gt;Brian has a ton[n]e of samples on PHP and Federations in this post right here... Another great one!&lt;/p&gt;    &lt;p&gt;&lt;a href="http://blogs.msdn.com/b/silverlining/archive/2012/01/18/using-sql-azure-federations-via-php.aspx"&gt;http://blogs.msdn.com/b/silverlining/archive/2012/01/18/using-sql-azure-federations-via-php.aspx&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;hr /&gt;  &lt;p&gt;&lt;a href="#Top"&gt;&amp;lt;Return to section navigation list&amp;gt;&lt;/a&gt;&lt;/p&gt;  &lt;h4&gt;&lt;a name="OData"&gt;MarketPlace DataMarket, Social Analytics and OData &lt;/a&gt;&lt;/h4&gt;  &lt;p&gt;The &lt;strong&gt;Social Analytics Team&lt;/strong&gt; announced &lt;a href="http://blogs.msdn.com/b/microsoft_codename_social_analytics/archive/2012/01/30/what-s-new-announcing-a-update-to-the-microsoft-codename-social-analytics-lab.aspx"&gt;Enhanced Analytics and Sentiment Analysis Arrive in Social Analytics&lt;/a&gt; in a 1/31/2012 post to the Microsoft Codename “Social Analytics” blog:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-CkLooVDoojw/TyiRfTtiYcI/AAAAAAAAaWg/t-GTOtJYhXU/s1600-h/image%25255B9%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" align="right" src="http://lh4.ggpht.com/-hKYa8FkEIuM/TyiRfmBNGpI/AAAAAAAAaWo/YfFSjm5DOZk/image_thumb%25255B3%25255D.png?imgmax=800" width="65" height="62" /&gt;&lt;/a&gt;We are proud to announce an update to the &lt;b&gt;Microsoft Codename “Social Analytics” Lab. &lt;/b&gt;This update builds on the services we announced in October by providing the following new capabilities:&lt;/p&gt;    &lt;ul&gt;     &lt;li&gt;Enhanced analytics in our API &lt;/li&gt;      &lt;li&gt;Sample usage of the enhanced analytics in the Engagement Client - 5 new analytic widgets &lt;/li&gt;      &lt;li&gt;Improved sentiment analysis for Tweets &lt;/li&gt;   &lt;/ul&gt;    &lt;p&gt;&lt;strong&gt;1. Enhanced Analytics:&lt;/strong&gt;&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;&lt;strong&gt;&lt;b&gt;&lt;a href="http://lh5.ggpht.com/_GdO7DQgAn3w/TBPrBgBH0wI/AAAAAAAABUw/yiUVlsFgFgs/s1600-h/image%5B34%5D.png"&gt;&lt;img title="image" border="0" alt="image" align="right" src="http://lh4.ggpht.com/_GdO7DQgAn3w/TBPrBwhBVOI/AAAAAAAABU0/pg4QP5rVwqw/image_thumb%5B20%5D.png?imgmax=800" width="120" height="35" /&gt;&lt;/a&gt;&lt;/b&gt;&lt;/strong&gt;&lt;/strong&gt;Our existing API now provides richer analytics views of social data. This makes it easier to find top conversations, contributors, keywords and sources related to any filter with a simple ODATA query and returns conversations related to these calculations to your application.&lt;/p&gt;    &lt;p&gt;Here’s a sample* ODATA query returning the top 5 keywords found in a filter for the past 7 days:&lt;/p&gt;    &lt;p&gt;&lt;a href="https://api.datamarket.azure.com/Vancouver/VancouverBillGates/GetTopKeywords?TimeIntervalSize='day'&amp;amp;TimeIntervalCount=7&amp;amp;TimeIntervalEnd=&amp;amp;FilterId=4&amp;amp;ResultsLimitTo=5"&gt;https://api.datamarket.azure.com/Vancouver/VancouverBillGates/GetTopKeywords?TimeIntervalSize='day'&amp;amp;TimeIntervalCount=7&amp;amp;TimeIntervalEnd=&amp;amp;FilterId=4&amp;amp;ResultsLimitTo=5&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;You can start investigating the details of the API by going to &lt;a href="https://connect.microsoft.com/BusinessPlatform/Downloads/DownloadDetails.aspx?DownloadID=39340"&gt;this link&lt;/a&gt;. If you are new to Social Analytics, check out our API overview &lt;a href="https://connect.microsoft.com/BusinessPlatform/socialanalytics"&gt;here&lt;/a&gt;.&lt;/p&gt;    &lt;p&gt;* Note: You will need to use your existing credentials for the lab to use this sample code. (Look at the API section &lt;a href="https://connect.microsoft.com/BusinessPlatform/socialanalytics"&gt;here&lt;/a&gt; for details)&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;2. New Analytics Widgets in the Engagement Client:&lt;/strong&gt;&lt;/p&gt;    &lt;p&gt;See the new enhanced analytics in use in our sample Silverlight UI – &lt;a href="https://connect.microsoft.com/BusinessPlatform/content/content.aspx?ContentID=27095"&gt;the Engagement Client&lt;/a&gt;. We built these 5 analytic widgets using the new analytic enhancements to our API. These widgets provide the following analytic views for any filter:&lt;/p&gt;    &lt;ol&gt;     &lt;li&gt;Top Conversations &lt;/li&gt;      &lt;li&gt;Top Contributors &lt;/li&gt;      &lt;li&gt;Top Keywords &lt;/li&gt;      &lt;li&gt;Volume &lt;/li&gt;      &lt;li&gt;Sources &lt;/li&gt;   &lt;/ol&gt;    &lt;p&gt;Here's an illustration of the new analytics in the sample Silverlight client:&lt;/p&gt;    &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-48-93/5417.UIScreenBig_2800_Updated_2900_.jpg"&gt;&lt;img border="0" alt="" src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-48-93/5417.UIScreenBig_2800_Updated_2900_.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;    &lt;ol&gt;&lt;/ol&gt;    &lt;p&gt;&lt;strong&gt;3. Improved Sentiment Analysis for Tweets&lt;/strong&gt;&lt;/p&gt;    &lt;p&gt;In this release, we snuck in a little bonus! We updated the sentiment engine with minor enhancements to improve the analysis of sentiment in Tweets. &lt;/p&gt;    &lt;p&gt;That's what's new in this release! In a few short months, we've made major progress on this experimental cloud service. &lt;/p&gt;    &lt;p&gt;Now it's time for you to try the updated lab and let us know what you think. We're already working on the top feature request from our fall release - giving you the ability to define your own topics. We plan on making that functionality part of a future release.&lt;/p&gt;    &lt;p&gt;For those new to this Lab, please check out &lt;a href="http://blogs.msdn.com/b/microsoft_codename_social_analytics/archive/2011/10/25/announcing-microsoft-codename-quot-social-analytics-quot-lab.aspx"&gt;our initial blog post&lt;/a&gt; for an overview of&lt;strong&gt; Microsoft Codename &amp;quot;Social Analytics&amp;quot;&lt;/strong&gt;. Here are some additional links from that post for your convenience:&lt;/p&gt;    &lt;ul&gt;     &lt;li&gt;&lt;a href="http://go.microsoft.com/fwlink/?LinkID=230530&amp;amp;clcid=0x409"&gt;Get started today&lt;/a&gt; &lt;/li&gt;      &lt;li&gt;Visit our &lt;a href="http://www.microsoft.com/en-us/sqlazurelabs/labs/socialanalytics.aspx"&gt;official homepage&lt;/a&gt; and &lt;a href="https://connect.microsoft.com/BusinessPlatform/socialanalytics"&gt;Connect Site&lt;/a&gt; for more information &lt;/li&gt;      &lt;li&gt;Connect with us in our &lt;a href="http://social.msdn.microsoft.com/Forums/en-US/category/windowsazureplatformctp"&gt;forums&lt;/a&gt; &lt;/li&gt;      &lt;li&gt;Stay tuned to our &lt;a href="http://blogs.msdn.com/b/microsoft_codename_social_analytics/"&gt;product blog&lt;/a&gt; for future updates &lt;/li&gt;   &lt;/ul&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;strong&gt;Update&lt;/strong&gt; 2/1/2012: The &lt;strong&gt;Social Analytics Team&lt;/strong&gt; promised in a &lt;a href="http://blogs.msdn.com/b/microsoft_codename_social_analytics/rsscomments.aspx?WeblogPostID=10261787"&gt;comment&lt;/a&gt; “more details for the upgrade to the sentiment engine, as well as a description of the technology/algorithm(s) behind” its upgrade to the Microsoft Research sentiment code in the next post to the team’s blog.&lt;/p&gt;  &lt;p&gt;Here’s my &lt;a href="http://pinpoint.microsoft.com/en-us/applications/microsoft-codename-%e2%80%9csocial-analytics%e2%80%9d-winforms-client-sample-12884930059"&gt;Microsoft Codename “Social Analytics” Windows Form Client&lt;/a&gt; about halfway through a test of 200,000 of the latest Tweets, posts, and other items:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-ZIwkEMH_2qg/TyiRge4sU7I/AAAAAAAAaWw/8Xy6s9QtRso/s1600-h/image%25255B13%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto; padding-top: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/-LJ1e9SPAlv8/TyiRhp3JwTI/AAAAAAAAaW4/7kBtlPpf-lo/image_thumb%25255B5%25255D.png?imgmax=800" width="640" height="480" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;hr /&gt;  &lt;p&gt;&lt;strong&gt;Miguel Llopis&lt;/strong&gt; (@&lt;a href="https://twitter.com/#!/mllopis"&gt;mllopis&lt;/a&gt;) of the Microsoft Codename “Data Explorer” team posted &lt;a href="http://blogs.msdn.com/b/dataexplorer/archive/2012/01/30/crunching-big-data-with-data-explorer-and-social-analytics.aspx"&gt;Crunching Big Data &lt;/a&gt;with “Data Explorer” and “Social Analytics” on 1/30/2012:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-A73aY9w-qL8/TyiRh_6XcsI/AAAAAAAAaXA/v5iMAZNfBD8/s1600-h/image%25255B109%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" align="right" src="http://lh6.ggpht.com/-Bhtp2h0U-DI/TyiRiPqpj9I/AAAAAAAAaXI/Oy1eP6pQ5jA/image_thumb%25255B39%25255D.png?imgmax=800" width="49" height="66" /&gt;&lt;/a&gt;Last week an interesting article was published in &lt;a href="http://searchcloudcomputing.techtarget.com/"&gt;SearchCloudComputing&lt;/a&gt; which shows how to consume feeds from the &lt;a href="http://www.microsoft.com/en-us/sqlazurelabs/labs/socialanalytics.aspx"&gt;“Social Analytics” Lab&lt;/a&gt; in “Data Explorer”, then perform some filter, transform and grouping operations on this data using Data Explorer’s intuitive UI and finally publish the resulting dataset as a snapshot so the contents at a given point in time can be accessed later on. You can take a look at the article following &lt;a href="http://searchcloudcomputing.techtarget.com/tip/Microsoft-cloud-service-lets-citizen-developers-crunch-big-data"&gt;this link&lt;/a&gt;.&lt;/p&gt;    &lt;p&gt;&lt;img border="0" alt="[22ContentItemsWithToneValueLookupColumnDesktop%255B4%255D.png]" src="http://lh6.ggpht.com/-rt58PG6Xv2Y/TvozYEHLSGI/AAAAAAAAXSg/lB8S3CCbY6I/s1600/22ContentItemsWithToneValueLookupColumnDesktop%25255B4%25255D.png" width="560" height="420" /&gt;&lt;/p&gt;    &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-LG7W6tqVIb4/TyiUXMD1YAI/AAAAAAAAaeI/yw20ic4uYmA/s1600-h/image%25255B122%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" align="right" src="http://lh4.ggpht.com/-ghyNUFgsJvs/TyiUXTEa08I/AAAAAAAAaeQ/HZYBOkwojSY/image_thumb%25255B43%25255D.png?imgmax=800" width="65" height="64" /&gt;&lt;/a&gt;The author of this article, &lt;a href="http://searchcloudcomputing.techtarget.com/expert/Roger-Jennings-Contributor"&gt;Roger Jennings&lt;/a&gt;, has also published a few other blog posts about Data Explorer on &lt;a href="http://oakleafblog.blogspot.com/"&gt;his blog&lt;/a&gt;. We particularly recommend you to follow the &lt;a href="http://oakleafblog.blogspot.com/2011/12/mashup-big-data-with-microsoft-codename.html"&gt;&lt;strong&gt;“41-step illustrated tutorial on creating a mashup”&lt;/strong&gt;&lt;/a&gt;.&lt;/p&gt;    &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-5FqVYKWslSo/TyiRine1EGI/AAAAAAAAaXQ/neTIgUNMYTk/s1600-h/image%25255B112%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" align="right" src="http://lh3.ggpht.com/-mcqM_jP6wfI/TyiRiyWnbdI/AAAAAAAAaXY/pj69BSYOO3k/image_thumb%25255B40%25255D.png?imgmax=800" width="63" height="66" /&gt;&lt;/a&gt;If you still haven’t done, you can &lt;a href="https://dataexplorer-signup.sqlazurelabs.com/"&gt;&lt;strong&gt;sign up to try Data Explorer cloud service today&lt;/strong&gt;&lt;/a&gt;!&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Thanks for the kind words, Miguel.&lt;/p&gt;  &lt;hr /&gt;  &lt;p&gt;&lt;strong&gt;Glenn Gailey&lt;/strong&gt; (@&lt;a href="http://twitter.com/ggailey777"&gt;ggailey777&lt;/a&gt;) posted &lt;a href="http://blogs.msdn.com/b/writingdata_services/archive/2012/01/30/more-on-the-new-odata-t4-template-service-operations.aspx"&gt;More on the New OData T4 Template: Service Operations&lt;/a&gt; on 1/30/2012:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-zkqzrStE-f8/TyiRjM_lycI/AAAAAAAAaXg/E5h9k3K8MWk/s1600-h/image%25255B16%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" align="right" src="http://lh6.ggpht.com/-CNV8hxTyI_o/TyiRjfYQ9oI/AAAAAAAAaXo/8ZamY5M0cqc/image_thumb%25255B6%25255D.png?imgmax=800" width="57" height="66" /&gt;&lt;/a&gt;I’ve long missed support for calling service operations by using the proxy client code-generated by WCF Data Services, and I’ve described some workarounds in the post &lt;a href="http://blogs.msdn.com/b/writingdata_services/archive/2011/03/28/calling-service-operations-from-the-client.aspx"&gt;Calling Service Operations from the WCF Data Services Client&lt;/a&gt;. This is why I was excited to discover that the new T4 template, which I introduced in my previous post &lt;a href="http://blogs.msdn.com/b/writingdata_services/archive/2012/01/25/new-and-improved-t4-template-for-odata-client-and-local-database.aspx"&gt;New and Improved T4 Template for OData Client and Local Database&lt;/a&gt;, now supports calling service operations as a first class behavior.&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;&lt;strong&gt;&lt;b&gt;&lt;a href="http://lh5.ggpht.com/_GdO7DQgAn3w/TBPrBgBH0wI/AAAAAAAABUw/yiUVlsFgFgs/s1600-h/image%5B34%5D.png"&gt;&lt;img title="image" border="0" alt="image" align="right" src="http://lh4.ggpht.com/_GdO7DQgAn3w/TBPrBwhBVOI/AAAAAAAABU0/pg4QP5rVwqw/image_thumb%5B20%5D.png?imgmax=800" width="120" height="35" /&gt;&lt;/a&gt;&lt;/b&gt;&lt;/strong&gt;&lt;/strong&gt;For example, the following T4-generated method on the NorthwindEntities context calls a GetOrdersByCity GET service operation:&lt;/p&gt;    &lt;blockquote&gt;     &lt;pre&gt;public global::System.Data.Services.Client.DataServiceQuery&amp;lt;Order&amp;gt; 
    GetOrdersByCity(global::System.String city)
{ 
    return this.CreateQuery&amp;lt;Order&amp;gt;(&amp;quot;GetOrdersByCity&amp;quot;)
        .AddQueryOption(&amp;quot;city&amp;quot; ,&amp;quot;'&amp;quot;+city+&amp;quot;'&amp;quot;);
}&lt;/pre&gt;
  &lt;/blockquote&gt;

  &lt;p&gt;And, here’s another generated method that returns a collection of strings:&lt;/p&gt;

  &lt;blockquote&gt;
    &lt;pre&gt;public  System.Collections.Generic.IEnumerable&amp;lt;string&amp;gt; GetCustomerNames()
{ 
    return (System.Collections.Generic.IEnumerable&amp;lt;string&amp;gt;)
        this.Execute&amp;lt;string&amp;gt;(new global::System.Uri(&amp;quot;GetCustomerNames&amp;quot;,
            global::System.UriKind.Relative),
            Microsoft.Data.OData.HttpMethod.Get,false);
}&lt;/pre&gt;
  &lt;/blockquote&gt;

  &lt;p&gt;Note that these methods use essentially the same techniques described in &lt;a href="http://blogs.msdn.com/b/writingdata_services/archive/2011/03/28/calling-service-operations-from-the-client.aspx"&gt;Calling Service Operations from the WCF Data Services Client&lt;/a&gt;.&lt;/p&gt;

  &lt;h5&gt;Before Getting Started with the T4 Template&lt;/h5&gt;

  &lt;p&gt;Before we get started, I should point out that there is currently a bug ( which I reported) in line 868, which can be fixed by changing this line of code as follows:&lt;/p&gt;

  &lt;blockquote&gt;
    &lt;pre&gt;parameters=string.Concat(parameters,&amp;quot;global::System.&amp;quot; + GetNameFromFullName(p.Type.FullName()));&lt;/pre&gt;
  &lt;/blockquote&gt;

  &lt;p&gt;(You might also want to do a global replace of &amp;quot;refrence&amp;quot; with &amp;quot;reference&amp;quot;--if you care about such things.)&lt;/p&gt;

  &lt;p&gt;Also, remember that this T4 template requires the current &lt;a href="http://www.microsoft.com/download/en/details.aspx?id=27728"&gt;Microsoft WCF Data Services October 2011 CTP&lt;/a&gt; release for the upcoming OData release. To install this new T4 template into your project:&lt;/p&gt;

  &lt;ol&gt;
    &lt;li&gt;Make sure that you have NuGet installed. You can install it from here: &lt;a href="https://nuget.org/"&gt;https://nuget.org/&lt;/a&gt;. &lt;/li&gt;

    &lt;li&gt;If you haven’t already done so, use the Add Service Reference tool Visual Studio to add a reference to the OData service. 
      &lt;br /&gt;(The template needs the service.edmx file generated by the tool). &lt;/li&gt;

    &lt;li&gt;In your project, use the NuGet &lt;a href="http://docs.nuget.org/docs/start-here/using-the-package-manager-console"&gt;Package Manager Console&lt;/a&gt; to download and install the &lt;a href="http://aka.ms/odatat4"&gt;ODataT4-CS package&lt;/a&gt;: 

      &lt;br /&gt;PM&amp;gt; Install-Package ODataT4-CS &lt;/li&gt;

    &lt;li&gt;Open the Reference.tt template file and edit the line 868 to fix the bug described above. &lt;/li&gt;

    &lt;li&gt;In the Reference.tt template file, change the value of the MetadataFilepath property in the TransformContext constructor to the location of the .edmx file generated by the service reference and update the Namespace property to a namespace that doesn’t collide with the one generated by the service reference. &lt;/li&gt;
  &lt;/ol&gt;

  &lt;p&gt;Now let’s compare the ease of using the client proxy generated by this new T4 template against the examples from the topic &lt;a href="http://msdn.microsoft.com/en-us/library/hh230677.aspx"&gt;Calling Service Operations (WCF Data Services)&lt;/a&gt;.&lt;/p&gt;

  &lt;h5&gt;Calling a Service Operation that Returns a Collection of Entities&lt;/h5&gt;

  &lt;p&gt;For example, here’s the previously difficult to compose URI-based query to call the GetOrdersByCity operation:&lt;/p&gt;

  &lt;blockquote&gt;
    &lt;pre&gt;string queryString = string.Format(&amp;quot;GetOrdersByCity?city='{0}'&amp;quot;, city)
    + &amp;quot;&amp;amp;$orderby=ShippedDate desc&amp;quot;
    + &amp;quot;&amp;amp;$expand=Order_Details&amp;quot;;

var results = context.Execute&amp;lt;Order&amp;gt;(
    new Uri(queryString, UriKind.Relative));&lt;/pre&gt;
  &lt;/blockquote&gt;

  &lt;p&gt;With the new template, this becomes a much nicer, LINQ query:&lt;/p&gt;

  &lt;blockquote&gt;
    &lt;pre&gt;var results = from o in context.GetOrdersByCity(city)
                   .Expand(&amp;quot;Order_Details&amp;quot;)
              orderby o.ShippedDate descending
              select o;&lt;/pre&gt;
  &lt;/blockquote&gt;

  &lt;p&gt;Because this service operation returns an IQueryable&amp;lt;T&amp;gt; collection of entities, it can be further composed against and you get support for all the nice LINQ operations. And, as you would expect with DataServiceQuery&amp;lt;T&amp;gt;, the request to the service operation is made when the result is assigned or enumerated.&lt;/p&gt;

  &lt;h5&gt;Calling a Service Operation that Returns a Single Entity&lt;/h5&gt;

  &lt;p&gt;The benefits of this new client support for service operations are even more evident when calling a service operation that returns a single entity, which used to look like this:&lt;/p&gt;

  &lt;blockquote&gt;
    &lt;pre&gt;string queryString = &amp;quot;GetNewestOrder&amp;quot;;
Order order = (context.Execute&amp;lt;Order&amp;gt;(
              new Uri(queryString, UriKind.Relative)))
              .FirstOrDefault();&lt;/pre&gt;
  &lt;/blockquote&gt;

  &lt;p&gt;Which can now be simplified to this one clean line of code:&lt;/p&gt;

  &lt;blockquote&gt;
    &lt;pre&gt;Order order = context.GetNewestOrder();&lt;/pre&gt;
  &lt;/blockquote&gt;

  &lt;p&gt;Note that in this case, the request is sent when the method is called.&lt;/p&gt;

  &lt;h5&gt;Calling a Service Operation by using POST&lt;/h5&gt;

  &lt;p&gt;It was a pet peeve of many folks that you couldn’t call a POST service operation from the client, even though it’s perfectly legal in OData. In this new version, you can now call &lt;a href="http://msdn.microsoft.com/en-us/library/system.data.services.client.dataservicecontext.execute.aspx"&gt;DataServiceContext.Execute()&lt;/a&gt; and select the request type (GET or POST). This means that the new T4 template enables you to call POST service operations directly from methods:&lt;/p&gt;

  &lt;blockquote&gt;
    &lt;pre&gt;// Call a POST service operation that returns a collection of customer names.
IEnumerable&amp;lt;string&amp;gt; customerNames = context.GetCustomerNamesPost();&lt;/pre&gt;
  &lt;/blockquote&gt;

  &lt;p&gt;(Please don’t give me grief over having a POST operation named Get…it’s just for demo purposes.) As before, you can only &lt;a href="http://blogs.msdn.com/b/writingdata_services/archive/2011/07/05/uploading-data-to-a-service-operation.aspx"&gt;upload data by using parameters&lt;/a&gt;, which is still an OData requirement.&lt;/p&gt;

  &lt;h5&gt;The Remaining Examples&lt;/h5&gt;

  &lt;p&gt;Here’s the new versions of the remaining service operation examples (called synchronously) by using the new service operation methods on the client. In a way, they become almost trivial.&lt;/p&gt;

  &lt;h6&gt;Calling a Service Operation that Returns a Collection of Primitive Types&lt;/h6&gt;

  &lt;blockquote&gt;
    &lt;pre&gt;var customerNames = context.GetCustomerNames();&lt;/pre&gt;
  &lt;/blockquote&gt;

  &lt;h6&gt;Calling a Service Operation that Returns a Single Primitive Type&lt;/h6&gt;

  &lt;blockquote&gt;
    &lt;pre&gt;int numOrders = context.CountOpenOrders();&lt;/pre&gt;
  &lt;/blockquote&gt;

  &lt;h6&gt;Calling a Service Operation that Returns Void&lt;/h6&gt;

  &lt;blockquote&gt;
    &lt;pre&gt;context.ReturnsNoData();&lt;/pre&gt;
  &lt;/blockquote&gt;

  &lt;h5&gt;Calling a Service Operation Asynchronously&lt;/h5&gt;

  &lt;p&gt;OK, so it’s now super easy to synchronously call service operations using this new template-generated proxy client, but what about asynchronous calls? Well, there is a way to do this with the generated proxy, but it only works for service operations that return a collection of entities. In this case, it works because the service operation execution is represented as a &lt;a href="http://msdn.microsoft.com/en-us/library/cc646677.aspx"&gt;DataServiceQuery&amp;lt;T&amp;gt;&lt;/a&gt; instance, which has its own async execution methods. For this kind of service operation, you can make the execution work asynchronously, like this:&lt;/p&gt;

  &lt;blockquote&gt;
    &lt;pre&gt;public static void GetOrdersByCityAsync()
{
    // Define the service operation query parameter.
    string city = &amp;quot;London&amp;quot;;            

    // Create the DataServiceContext using the service URI.
    NorthwindEntities context = new NorthwindEntities(svcUri);

    // Define a query for orders based on calling GetOrdersByCity.
    var query = (from o in context.GetOrdersByCity(city)
                          .Expand(&amp;quot;Order_Details&amp;quot;)
                 orderby o.ShippedDate descending
                 select o) as DataServiceQuery&amp;lt;Order&amp;gt;;

     // Asynchronously execute the service operation that returns 
     // all orders for the specified city. 
     query.BeginExecute(OnAsyncExecutionComplete, query);
 }

private static void OnAsyncExecutionComplete(IAsyncResult result)
{
    NorthwindEntities context = new NorthwindEntities(svcUri);
    
    // Get the context back from the stored state.
    var query = result.AsyncState as DataServiceQuery&amp;lt;Order&amp;gt;;            
    
    try
    {
        // Complete the exection and write out the results.
        foreach (Order o in query.EndExecute(result))
        {
            Console.WriteLine(string.Format(&amp;quot;Order ID: {0}&amp;quot;, o.OrderID));

            foreach (Order_Detail item in o.Order_Details)
            {
                Console.WriteLine(String.Format(&amp;quot;\tItem: {0}, quantity: {1}&amp;quot;,
                    item.ProductID, item.Quantity));
            }
       }
   }
   catch (DataServiceQueryException ex)
   {
        QueryOperationResponse response = ex.Response;
        Console.WriteLine(response.Error.Message);
    }
}&lt;/pre&gt;
  &lt;/blockquote&gt;

  &lt;p&gt;Since the other types of execution rely on calling the synchronous &lt;a href="http://msdn.microsoft.com/en-us/library/system.data.services.client.dataservicecontext.execute.aspx"&gt;DataServiceContext.Execute()&lt;/a&gt; method, I’m not sure how I would make this work with the existing APIs—I need to think more about it.&lt;/p&gt;

  &lt;h5&gt;Service Operations Won’t Work on Asynchronous Clients&lt;/h5&gt;

  &lt;p&gt;And don’t even bother trying to make any of this work with the Windows Phone client. First, there isn’t currently a Windows Phone client available that supports OData v3. (In fact, I removed the service operations code altogether from &lt;a href="http://blogs.msdn.com/b/writingdata_services/archive/2012/01/25/new-and-improved-t4-template-for-odata-client-and-local-database.aspx"&gt;my hybrid T4 template&lt;/a&gt;, just to prevent any errors.) While the October CTP did include a Silverlight client, there is a bigger problem. Under the covers, most of the generated methods call &lt;a href="http://msdn.microsoft.com/en-us/library/system.data.services.client.dataservicecontext.execute.aspx"&gt;DataServiceContext.Execute()&lt;/a&gt;, which is a synchronous method that doesn’t exist in the asynchronous clients. This means lots of errors should you encounter a service operation when using the template in a Silverlight app. The problem is that if you leave the T4 template code in place for a Silverlight client, when it comes across a service operation that requires the use of &lt;a href="http://msdn.microsoft.com/en-us/library/system.data.services.client.dataservicecontext.execute.aspx"&gt;DataServiceContext.Execute()&lt;/a&gt;, which doesn’t exist in the Silverlight client, you will get a compiler error.&lt;/p&gt;

  &lt;p&gt;Just to be clear…on these async clients, only generated service operations methods are broken. The rest of the T4 template code works fine.&lt;/p&gt;

  &lt;p&gt;I’ve been providing feedback to the author of this excellent new template, so I have high hopes that much of this can be addressed.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;a href="#Top"&gt;&amp;lt;Return to section navigation list&amp;gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;&lt;a name="NET"&gt;Windows Azure Access Control, Service Bus and Workflow &lt;/a&gt;&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;Mick Badran&lt;/strong&gt; (@&lt;a href="https://twitter.com/#!/mickba"&gt;mickba&lt;/a&gt;) explained &lt;a href="http://blogs.breeze.net/mickb/2012/01/31/AzureServiceBusFixingTheDreadedTheX509CertificateCNservicebuswindowsnetChainBuildingFailedError.aspx"&gt;Azure ServiceBus: Fixing the dreaded ‘The X.509 certificate CN=servicebus.windows.net chain building failed’ error&lt;/a&gt; in a 1/30/2012 post:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-apW626BFtOg/TyiRjgTvOsI/AAAAAAAAaXw/64_6Cl2H36o/s1600-h/image%25255B106%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" align="right" src="http://lh5.ggpht.com/-QfRxbDLp-DM/TyiRj0DhW4I/AAAAAAAAaX4/57hPsH8i5bQ/image_thumb%25255B38%25255D.png?imgmax=800" width="41" height="51" /&gt;&lt;/a&gt;Scotty &amp;amp; myself have had this error going for over 2 weeks now, and have tried many options, settings, registry keys, reboots and so on. 

    &lt;br /&gt;(we have had this on 2 boxes now, that are *not* directly connected to the internet. They are locked down servers with only required services accessible through the firewall) &lt;/p&gt;

  &lt;p&gt;&lt;a name="BTQ"&gt;&lt;img title="image" border="0" alt="image" align="right" src="http://lh6.ggpht.com/_GdO7DQgAn3w/TGmtBfGziyI/AAAAAAAAD00/qmrRPnvlwkA/image%5B88%5D.png?imgmax=800" width="160" height="25" /&gt;&lt;/a&gt;Generally you’ll encounter this error is you install &lt;strong&gt;Azure SDK v1.6&lt;/strong&gt; – there has been people that have revert back to &lt;strong&gt;Azure v1.5 SDK&lt;/strong&gt; when this error has been encountered and this seems to fix most of their problems. &lt;/p&gt;

  &lt;p&gt;Here I’m using &lt;strong&gt;netTcpRelayBinding,&lt;/strong&gt; &lt;strong&gt;BizTalk 2010&lt;/strong&gt; but this could just have easily have been IIS or your own app. &lt;/p&gt;

  &lt;p&gt;Finding the outbound ports and Azure datacenter address space is always the challenge. Ports 80,443,9351 and 9352 are the main ones with the remote addresses being the network segments of your Azure Datacenter. &lt;/p&gt;

  &lt;p&gt;&lt;strong&gt;The problem: “Oh it’s a chain validation thing, I’ll just go and turn off Certificate checking…” &lt;/strong&gt;let me see the options. 

    &lt;br /&gt;(this is what we thought 2+ weeks ago) &lt;/p&gt;

  &lt;p&gt;&lt;a href="http://blogs.breeze.net/mickb/content/binary/Windows-Live-Writer/Azure-ServiceBus_C204/image_4.png"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" title="image" border="0" alt="image" src="http://blogs.breeze.net/mickb/content/binary/Windows-Live-Writer/Azure-ServiceBus_C204/image_thumb_1.png" width="553" height="584" /&gt;&lt;/a&gt;&lt;/p&gt;

  &lt;p&gt;Here I have a BizTalk shot of the &lt;strong&gt;transportClientEndpointBehaviour&lt;/strong&gt; with &lt;strong&gt;Authentication node &lt;/strong&gt;set to &lt;strong&gt;NoCheck and None&lt;/strong&gt; (you would set these from code or a config file outside of biztalk)&lt;/p&gt;

  &lt;p&gt;&lt;strong&gt;We found that these currently have NO BEARING whatsoever…&lt;/strong&gt;2 weeks we’ll never get back.&lt;/p&gt;

  &lt;p&gt;Don’t be drawn into here, it’s a long windy path and you’ll most likely end up short. &lt;/p&gt;

  &lt;p&gt;&lt;strong&gt;I am currently waiting to hear back from the folks on the product team to see what the answer is on this – BUT for now as a workaround we sat down with a network sniffer to see the characteristics.&lt;/strong&gt;&lt;/p&gt;

  &lt;p&gt;&lt;strong&gt;Work around:&lt;/strong&gt;&lt;/p&gt;

  &lt;p&gt;1. Add some &lt;strong&gt;Host Entries&lt;/strong&gt;&lt;/p&gt;

  &lt;p&gt;2. Create a dummy site so the checker is fooled into grabbing local CRLs. &lt;/p&gt;

  &lt;p&gt;&lt;strong&gt;Add these Entries to your HOSTs file&lt;/strong&gt;. &lt;/p&gt;

  &lt;p&gt;127.0.0.1 www.public-trust.com 
    &lt;br /&gt;127.0.0.1 mscrl.microsoft.com 

    &lt;br /&gt;127.0.0.1 crl.microsoft.com 

    &lt;br /&gt;127.0.0.1 corppki &lt;/p&gt;

  &lt;p&gt;&lt;strong&gt;Download and extract these directories to your DEFAULT WEB SITE&lt;/strong&gt; (i.e. the one that answers to &lt;a href="http://127.0.0.1/"&gt;http://127.0.0.1/&lt;/a&gt;…..) 

    &lt;br /&gt;This is usually under &lt;strong&gt;C:\inetpub\wwwroot &lt;/strong&gt;(even if you have SharePoint installed)&lt;/p&gt;

  &lt;p&gt;&lt;strong&gt;-------------------- The nasty error -------------------&lt;/strong&gt;&lt;/p&gt;

  &lt;p&gt;The Messaging Engine failed to add a receive location &amp;quot;&amp;lt;receive location&amp;gt;&amp;quot; with URL &amp;quot;sb://&amp;lt;rec url&amp;gt;&amp;quot; to the adapter &amp;quot;WCF-Custom&amp;quot;. Reason: &amp;quot;System.ServiceModel.Security.SecurityNegotiationException: &lt;strong&gt;The X.509 certificate CN=servicebus.windows.net chain building failed&lt;/strong&gt;. The certificate that was used has a trust chain that cannot be verified. Replace the certificate or change the certificateValidationMode. The revocation function was unable to check revocation because the revocation server was offline.&lt;/p&gt;

  &lt;p&gt;---&amp;gt; System.IdentityModel.Tokens.SecurityTokenValidationException: The X.509 certificate CN=servicebus.windows.net chain building failed. The certificate that was used has a trust chain that cannot be verified. Replace the certificate or change the certificateValidationMode. &lt;strong&gt;The revocation function was unable to check revocation because the revocation server was offline.&lt;/strong&gt;&lt;/p&gt;

  &lt;p&gt;at Microsoft.ServiceBus.Channels.Security.RetriableCertificateValidator.Validate(X509Certificate2 certificate) 
    &lt;br /&gt;at System.IdentityModel.Selectors.X509SecurityTokenAuthenticator.ValidateTokenCore(SecurityToken token) 

    &lt;br /&gt;at System.IdentityModel.Selectors.SecurityTokenAuthenticator.ValidateToken(SecurityToken token) 

    &lt;br /&gt;at System.ServiceModel.Channels.SslStreamSecurityUpgradeInitiator.ValidateRemoteCertificate(Object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors) 

    &lt;br /&gt;at System.Net.Security.SecureChannel.VerifyRemoteCertificate(RemoteCertValidationCallback remoteCertValidationCallback) 

    &lt;br /&gt;at System.Net.Security.SslState.CompleteHandshake() 

    &lt;br /&gt;at System.Net.Security.SslState.CheckCompletionBeforeNextReceive(ProtocolToken message, AsyncProtocolRequest asyncRequest) 

    &lt;br /&gt;at System.Net.Security.SslState.StartSendBlob(Byte[] incoming, Int32 count, AsyncProtocolRequest asyncRequest) 

    &lt;br /&gt;at System.Net.Security.SslState.ProcessReceivedBlob(Byte[] buffer, Int32 count, AsyncProtocolRequest asyncRequest) 

    &lt;br /&gt;at System.Net.Security.SslState.StartReceiveBlob(Byte[] buffer, AsyncProtocolRequest asyncRequest) 

    &lt;br /&gt;at System.Net.Security.SslState.StartSendBlob(Byte[] incoming, Int32 count, AsyncProtocolRequest asyncRequest) 

    &lt;br /&gt;at System.Net.Security.SslState.ProcessReceivedBlob(Byte[] buffer, Int32 count, AsyncProtocolRequest asyncRequest) 

    &lt;br /&gt;at System.Net.Security.SslState.StartReceiveBlob(Byte[] buffer, AsyncProtocolRequest asyncRequest) 

    &lt;br /&gt;at System.Net.Security.SslState.StartSendBlob(Byte[] incoming, Int32 count, AsyncProtocolRequest asyncRequest) 

    &lt;br /&gt;at System.Net.Security.SslState.ProcessReceivedBlob(Byte[] buffer, Int32 count, AsyncProtocolRequest asyncRequest) 

    &lt;br /&gt;at System.Net.Security.SslState.StartReceiveBlob(Byte[] buffer, AsyncProtocolRequest asyncRequest) 

    &lt;br /&gt;at System.Net.Security.SslState.StartSendBlob(Byte[] incoming, Int32 count, AsyncProtocolRequest asyncRequest) 

    &lt;br /&gt;at System.Net.Security.SslState.ForceAuthentication(Boolean receiveFirst, Byte[] buffer, AsyncProtocolRequest asyncRequest) 

    &lt;br /&gt;at System.Net.Security.SslState.ProcessAuthentication(LazyAsyncResult lazyResult) 

    &lt;br /&gt;at System.ServiceModel.Channels.SslStreamSecurityUpgradeInitiator.OnInitiateUpgrade(Stream stream, SecurityMessageProperty&amp;amp; remoteSecurity) 

    &lt;br /&gt;--- End of inner exception stack trace --- 

    &lt;br /&gt;at System.ServiceModel.Channels.SslStreamSecurityUpgradeInitiator.OnInitiateUpgrade(Stream stream, SecurityMessageProperty&amp;amp; remoteSecurity) 

    &lt;br /&gt;at System.ServiceModel.Channels.StreamSecurityUpgradeInitiatorBase.InitiateUpgrade(Stream stream) 

    &lt;br /&gt;at System.ServiceModel.Channels.ConnectionUpgradeHelper.InitiateUpgrade(StreamUpgradeInitiator upgradeInitiator, IConnection&amp;amp; connection, ClientFramingDecoder decoder, IDefaultCommunicationTimeouts defaultTimeouts, TimeoutHelper&amp;amp; timeoutHelper) 

    &lt;br /&gt;at System.ServiceModel.Channels.ClientFramingDuplexSessionChannel.SendPreamble(IConnection connection, ArraySegment`1 preamble, TimeoutHelper&amp;amp; timeoutHelper) 

    &lt;br /&gt;at System.ServiceModel.Channels.ClientFramingDuplexSessionChannel.DuplexConnectionPoolHelper.AcceptPooledConnection(IConnection connection, TimeoutHelper&amp;amp; timeoutHelper) 

    &lt;br /&gt;at System.ServiceModel.Channels.ConnectionPoolHelper.EstablishConnection(TimeSpan timeout) 

    &lt;br /&gt;at System.ServiceModel.Channels.ClientFramingDuplexSessionChannel.OnOpen(TimeSpan timeout) 

    &lt;br /&gt;at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout) 

    &lt;br /&gt;at Microsoft.ServiceBus.RelayedOnewayTcpClient.RelayedOnewayChannel.Open(TimeSpan timeout) 

    &lt;br /&gt;at Microsoft.ServiceBus.RelayedOnewayTcpClient.GetChannel(Uri via, TimeSpan timeout) 

    &lt;br /&gt;at Microsoft.ServiceBus.RelayedOnewayTcpClient.ConnectRequestReplyContext.Send(Message message, TimeSpan timeout, IDuplexChannel&amp;amp; channel) 

    &lt;br /&gt;at Microsoft.ServiceBus.RelayedOnewayTcpListener.RelayedOnewayTcpListenerClient.Connect(TimeSpan timeout) 

    &lt;br /&gt;at Microsoft.ServiceBus.RelayedOnewayTcpClient.EnsureConnected(TimeSpan timeout) 

    &lt;br /&gt;at Microsoft.ServiceBus.Channels.CommunicationObject.Open(TimeSpan timeout) 

    &lt;br /&gt;at Microsoft.ServiceBus.Channels.RefcountedCommunicationObject.Open(TimeSpan timeout) 

    &lt;br /&gt;at Microsoft.ServiceBus.RelayedOnewayChannelListener.OnOpen(TimeSpan timeout) 

    &lt;br /&gt;at Microsoft.ServiceBus.Channels.CommunicationObject.Open(TimeSpan timeout) 

    &lt;br /&gt;at System.ServiceModel.Dispatcher.ChannelDispatcher.OnOpen(TimeSpan timeout) 

    &lt;br /&gt;at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout) 

    &lt;br /&gt;at System.ServiceModel.ServiceHostBase.OnOpen(TimeSpan timeout) 

    &lt;br /&gt;at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout) 

    &lt;br /&gt;at Microsoft.ServiceBus.SocketConnectionTransportManager.OnOpen(TimeSpan timeout) 

    &lt;br /&gt;at Microsoft.ServiceBus.Channels.TransportManager.Open(TimeSpan timeout, TransportChannelListener channelListener) 

    &lt;br /&gt;at Microsoft.ServiceBus.Channels.TransportManagerContainer.Open(TimeSpan timeout, SelectTransportManagersCallback selectTransportManagerCallback) 

    &lt;br /&gt;at Microsoft.ServiceBus.SocketConnectionChannelListener`2.OnOpen(TimeSpan timeout) 

    &lt;br /&gt;at Microsoft.ServiceBus.Channels.CommunicationObject.Open(TimeSpan timeout) 

    &lt;br /&gt;at System.ServiceModel.Dispatcher.ChannelDispatcher.OnOpen(TimeSpan timeout) 

    &lt;br /&gt;at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout) 

    &lt;br /&gt;at System.ServiceModel.ServiceHostBase.OnOpen(TimeSpan timeout) 

    &lt;br /&gt;at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout) 

    &lt;br /&gt;at Microsoft.BizTalk.Adapter.Wcf.Runtime.WcfReceiveEndpoint.Enable() 

    &lt;br /&gt;at Microsoft.BizTalk.Adapter.Wcf.Runtime.WcfReceiveEndpoint..ctor(BizTalkEndpointContext endpointContext, IBTTransportProxy transportProxy, ControlledTermination control) 

    &lt;br /&gt;at Microsoft.BizTalk.Adapter.Wcf.Runtime.WcfReceiver`2.AddReceiveEndpoint(String url, IPropertyBag adapterConfig, IPropertyBag bizTalkConfig)&amp;quot;. &lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;strong&gt;Scott Densmore&lt;/strong&gt; (@&lt;a href="https://twitter.com/#!/scottdensmore"&gt;scottdensmore&lt;/a&gt;) announced a &lt;a href="http://scottdensmore.typepad.com/blog/2012/01/fluent-api-for-windows-azure-acs-management.html"&gt;Fluent API for Windows Azure ACS Management&lt;/a&gt; in a 1/29/2012 post:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-T4m_JU9t7UE/TyiRkiah0HI/AAAAAAAAaYA/I17078EsSvs/s1600-h/image%25255B119%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" align="right" src="http://lh3.ggpht.com/-UDBr2PTYodU/TyiRk3GjkHI/AAAAAAAAaYI/hQS7Zh2aGPk/image_thumb%25255B42%25255D.png?imgmax=800" width="46" height="66" /&gt;&lt;/a&gt;The guys at SouthWorks have been hard at work again. We have been using the same setup program for our Windows Azure Projects to configure ACS for a while now. It is a bit rough around the edges but we have not had time to invest a little upgrade. Well, leave it to these guys to go above and beyond: Jorge Rowies has create a fluent API for setting things up. Looks great. &lt;a href="http://blogs.southworks.net/jrowies/2012/01/28/fluent-api-for-setting-up-windows-azure-acs/?utm_source=feedburner&amp;amp;utm_medium=feed&amp;amp;utm_campaign=Feed%3A+master-feed+%28Southworks+Master+Feed%29"&gt;Check it out&lt;/a&gt; and start forking in &lt;a href="https://github.com/jrowies/FluentACS"&gt;GitHub&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;a href="#Top"&gt;&amp;lt;Return to section navigation list&amp;gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;&lt;a name="WAVN"&gt;Windows Azure VM Role, Virtual Network, Connect, RDP and CDN&lt;/a&gt;&lt;/h4&gt;

&lt;p&gt;No significant articles today.&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;a href="#Top"&gt;&amp;lt;Return to section navigation list&amp;gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;&lt;a name="Live"&gt;Live Windows Azure Apps, APIs, Tools and Test Harnesses&lt;/a&gt;&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;MarketWire&lt;/strong&gt; (@&lt;a href="https://twitter.com/#!/Marketwire"&gt;Marketwire&lt;/a&gt;) asserted “Further Investment in Microsoft's Cloud Platform Brings Greater Agility to Redknee's Cloud-Based Converged Billing Solutions” in an introduction to a &lt;a href="http://www.marketwatch.com/story/redknee-expands-cloud-offering-with-windows-azure-2012-01-31"&gt;Redknee Expands Cloud Offering With Windows Azure&lt;/a&gt; press release of 1/31/2012:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-MfVg2qmfIds/TyiRlKeG5yI/AAAAAAAAaYQ/6nWIGm2D5lQ/s1600-h/image%25255B75%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" align="right" src="http://lh6.ggpht.com/-KbFIYNWmOQA/TyiRlaXMVrI/AAAAAAAAaYY/t4I-rMYfaIU/image_thumb%25255B27%25255D.png?imgmax=800" width="65" height="62" /&gt;&lt;/a&gt;Redknee Solutions, Inc., a leading provider of business-critical billing, charging and customer care software and solutions for communications service providers, is pleased to announce that it is expanding its strategic alliance with Microsoft Corp. to support Redknee's strategy to deliver on-premise, private cloud, and public cloud-based converged billing solutions. The integration of Redknee's real-time converged billing platform to Windows Azure will reinforce the commitment by Redknee and Microsoft to develop solutions that deliver greater scalability and agility while reducing capital expenditure for communications service providers across the world. &lt;/p&gt;

  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-xROUL0MtM1s/TyiRlhHKPJI/AAAAAAAAaYg/Q5SOQGPog-I/s1600-h/image%25255B72%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" align="right" src="http://lh6.ggpht.com/-VNcCXxvOyks/TyiRlxs-5eI/AAAAAAAAaYo/gnsmyop-9dQ/image_thumb%25255B26%25255D.png?imgmax=800" width="153" height="35" /&gt;&lt;/a&gt;Redknee's expanded cloud offering will enable service providers in competitive and fast growing markets to invest in a real-time converged billing and customer care solution based on the open and scalable Windows Azure public cloud. It will bring additional flexibility to Redknee's multi-tenant converged billing solution, which enables service providers to scale as required with a 'pay as your grow' model and minimizes risk. Redknee's cloud solution is supporting the growth of group operators, Tier 1 sub-brands, MVNOs, and MVNEs by enabling them to reduce CAPEX, standardize their billing operations, and launch into new markets quickly and effectively. &lt;/p&gt;

  &lt;p&gt;&lt;a name="BTQ"&gt;&lt;img title="image" border="0" alt="image" align="right" src="http://lh6.ggpht.com/_GdO7DQgAn3w/TGmtBfGziyI/AAAAAAAAD00/qmrRPnvlwkA/image%5B88%5D.png?imgmax=800" width="160" height="25" /&gt;&lt;/a&gt;Lucas Skoczkowski, Redknee's CEO, commented: &amp;quot;Redknee's commitment to invest in Windows Azure reiterates our common goal with Microsoft to deliver solutions for communication service providers that empower them with greater business agility. This joint solution provides exceptional flexibility for service providers that lower the barriers to entry for next generation converged billing solutions by taking advantage of the benefits of the cloud. At Redknee, we continue to invest in developing cloud-based and on-premise monetization solutions to enable service providers to increase revenues, improve the customer experience and grow profitability.&amp;quot; &lt;/p&gt;

  &lt;p&gt;The pre-integration of Windows Azure follows earlier investment by Redknee to pre-integrate its converged billing solution with Microsoft SQL Server 2012, formerly code-named &amp;quot;Denali,&amp;quot; and Microsoft Dynamics CRM 2011. &lt;/p&gt;

  &lt;p&gt;Walid Abu-Hadba, Corporate Vice President of the Developer &amp;amp; Platform Evangelism Group at Microsoft, commented: &amp;quot;We are delighted to see Redknee launching a cloud strategy for the communications service provider community, with Windows Azure at its core. Microsoft's cloud platform delivers greater business agility to service providers, while significantly reducing capital expenditure so that they can focus on their core business. With this commitment to Windows Azure, Redknee advances its vision of creating a suite of agile, flexible solutions for communications service providers. Redknee's adoption of Windows Azure highlights the scalability, the reliability and the performance of the Microsoft cloud platform. Together we are ready to meet the most demanding needs of telecommunications service providers around the world.&amp;quot; &lt;/p&gt;

  &lt;p&gt;For more information about Redknee and its solutions, please go to www.redknee.com . &lt;/p&gt;

  &lt;p&gt;About Redknee Redknee is a leading global provider of innovative communication software products, solutions and services. Redknee's award-winning solutions enable operators to monetize the value of each subscriber transaction while personalizing the subscriber experience to meet mainstream, niche and individual market segment requirements. Redknee's revenue generating solutions provide advanced converged billing, rating, charging and policy for voice, messaging and new generation data services to over 90 network operators in over 50 countries. Established in 1999, Redknee Solutions Inc. &lt;a href="http://www.marketwatch.com/investing/stock/RKN?countrycode=CA&amp;amp;link=MW_story_quote"&gt;/quotes/zigman/38292 CA:RKN +2.00% &lt;/a&gt;is the parent of the wholly-owned operating subsidiary Redknee Inc. and its various subsidiaries. References to Redknee refer to the combined operations of those entities. For more information about Redknee and its solutions, please go to www.redknee.com . &lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;strong&gt;Roope Astala&lt;/strong&gt; explained &lt;a href="http://blogs.msdn.com/b/cloudnumerics/archive/2012/01/30/cloud-numerics-example-statistics-operations-to-azure-data.aspx"&gt;“Cloud Numerics” Example: Statistics Operations to Azure Data&lt;/a&gt; in a 1/30/2012 post to the Codename “Cloud Numeric” blog:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;This post demonstrates how to use Microsoft.Numerics C# API to perform statistical operations on data in Windows Azure blob storage. We go through the steps of loading data using IParallelReader interface, performing distributed statistics operations, and saving results to blob storage. As we sequence through the steps, we highlight the code samples from the application. &lt;/p&gt;

  &lt;p&gt;&lt;em&gt;&lt;strong&gt;Note!&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;

  &lt;p&gt;You will need to download and install the “Cloud Numerics” lab in order to run this example. To begin that process, click &lt;a href="http://connect.microsoft.com/site1267/SelfNomination.aspx?ProgramID=7456&amp;amp;pageType=1"&gt;here&lt;/a&gt;.&lt;/p&gt;

  &lt;h5&gt;Before You Run the Sample Application&lt;/h5&gt;

  &lt;p&gt;Before you run the sample “Cloud Numerics” statistics application, complete the instructions in the “&lt;a href="http://social.technet.microsoft.com/wiki/contents/articles/5993.microsoft-codename-cloud-numerics.aspx"&gt;Cloud Numerics” Getting Started&lt;/a&gt; wiki post to:&lt;/p&gt;

  &lt;ul&gt;
    &lt;li&gt;Create a Windows Azure account (if you do not have one already). &lt;/li&gt;

    &lt;li&gt;Install “Cloud Numerics” on your local computer where you build and develop applications with Visual Studio. &lt;/li&gt;

    &lt;li&gt;Configure and deploy a cluster in Azure (only if you have not done so already). &lt;/li&gt;

    &lt;li&gt;Submit the sample C# “Cloud Numerics” program to Windows Azure as a test that your cluster is running properly. &lt;/li&gt;

    &lt;li&gt;Download the project file and source code for the sample “Cloud Numerics” statistics application. &lt;/li&gt;
  &lt;/ul&gt;

  &lt;h5&gt;Blob Locations and Sample Application Download&lt;/h5&gt;

  &lt;p&gt;You can download the sample application from the Microsoft Connect site (&lt;a href="http://connect.microsoft.com/"&gt;connect.microsoft.com&lt;/a&gt;). If you have not already registered for the lab, you can do that &lt;a href="http://connect.microsoft.com/site1267/SelfNomination.aspx?ProgramID=7456&amp;amp;pageType=1"&gt;here&lt;/a&gt;. Registering for the lab provides you access to the “Cloud Numerics” lab materials (installation package, reference documentation, and sample applications).&lt;/p&gt;

  &lt;p&gt;&lt;em&gt;&lt;strong&gt;Note!&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;

  &lt;p&gt;If you are signed into Microsoft Connect, and you have already registered for your invitation to the “Cloud Numerics” lab, you can access the various sample applications using this &lt;a href="http://connect.microsoft.com/site1267/Downloads/DownloadDetails.aspx?DownloadID=40598"&gt;link&lt;/a&gt;.&lt;/p&gt;

  &lt;p&gt;For your convenience, we have staged sample datasets of pseudorandom numbers in Windows Azure Blob Storage. You can access the small and medium datasets at their respective links:&lt;/p&gt;

  &lt;ul&gt;
    &lt;li&gt;&lt;a href="http://cloudnumericslab.blob.core.windows.net/smalldata"&gt;http://cloudnumericslab.blob.core.windows.net/smalldata&lt;/a&gt; &lt;/li&gt;

    &lt;li&gt;&lt;a href="http://cloudnumericslab.blob.core.windows.net/mediumdata"&gt;http://cloudnumericslab.blob.core.windows.net/mediumdata&lt;/a&gt; &lt;/li&gt;
  &lt;/ul&gt;

  &lt;p&gt;These datasets are intended merely as examples to get you started. Also, feel free to customize the sample application code to suit your own datasets.&lt;/p&gt;

  &lt;h5&gt;Choosing the Mode: Run on Local Development Machine or on Windows Azure&lt;/h5&gt;

  &lt;h5&gt;To run the application on your local workstation:&lt;/h5&gt;

  &lt;ol&gt;
    &lt;li&gt;Set &lt;strong&gt;StatisticsCloudApplication&lt;/strong&gt; as your StartUp project within Visual Studio. (From Solution Explorer in the Visual Studio IDE, right click the &lt;strong&gt;StatisticsCloudApplication&lt;/strong&gt; subproject and select &lt;strong&gt;Set as Startup Project&lt;/strong&gt;). Although, your application will run on your local workstation, the application will continue to use Windows Azure storage for data input and output. &lt;/li&gt;

    &lt;li&gt;Change Start Option paths for the project properties to reflect your local machine. 
      &lt;br /&gt;&lt;strong&gt;a.&lt;/strong&gt; Right click the &lt;strong&gt;StatisticsCloudApplication&lt;/strong&gt; subproject, and select Properties. 

      &lt;br /&gt;&lt;strong&gt;b.&lt;/strong&gt; Click the &lt;strong&gt;Debug&lt;/strong&gt; tab 

      &lt;br /&gt;&lt;strong&gt;c.&lt;/strong&gt; In the &lt;strong&gt;Start Options&lt;/strong&gt; section of the &lt;strong&gt;Debug&lt;/strong&gt; tab, edit the following fields to reflect the paths on your local development machine: 

      &lt;br /&gt;&lt;strong&gt;-&lt;/strong&gt; For the &lt;strong&gt;Command line arguments&lt;/strong&gt; field, change: 

      &lt;br /&gt;c:\users\roastala\documents\visual studio 2010\Projects… to 

      &lt;br /&gt;c:\users\&amp;lt;YourUsername&amp;gt;\documents\visual studio 2010\Projects… &lt;strong&gt;-&lt;/strong&gt; For the &lt;strong&gt;Working directory&lt;/strong&gt; field, change: 

      &lt;br /&gt;c:\users\roastala\documents\… to 

      &lt;br /&gt;c:\users\&amp;lt;YourUsername&amp;gt;\documents\… &lt;/li&gt;
  &lt;/ol&gt;

  &lt;ol&gt;--Where c:\users\&amp;lt;YourUsername&amp;gt;\ reflects the home directory of the user on the local development machine where you installed the “Cloud Numerics” software. &lt;/ol&gt;

  &lt;h5&gt;To submit the application to Windows Azure (run on Windows Azure rather than locally):&lt;/h5&gt;

  &lt;p&gt;Set &lt;strong&gt;AppConfigure&lt;/strong&gt; as the StartUp project. (From Solution Explorer in the Visual Studio IDE, right click the &lt;strong&gt;AppConfigure&lt;/strong&gt; subproject and select &lt;strong&gt;Set as Startup Project).&lt;/strong&gt;&lt;/p&gt;

  &lt;p&gt;&lt;em&gt;&lt;strong&gt;Note!&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;

  &lt;p&gt;If you have already deployed your cluster or if it was pre-deployed by your site administrator, do not deploy it again. Instead, you only need to build the application and submit the main executable as a job.&lt;/p&gt;

  &lt;h5&gt;Step 1: Supply Windows Azure Storage Account Information for Output&lt;/h5&gt;

  &lt;p&gt;To build the application you must have a Windows Azure storage account for storing the output. Replace the string values “myAccountKey” and “myAccountName” with your own account key and name.&lt;/p&gt;

  &lt;pre&gt;static string outputAccountKey = &amp;quot;myAccountKey&amp;quot;;
static string outputAccountName = &amp;quot;myAccountName&amp;quot;;&lt;/pre&gt;

  &lt;p&gt;The application creates a public blob for the output under this storage account. See Step 4 for details.&lt;/p&gt;

  &lt;h5&gt;Step 2: Read in Data from Blob Storage Using IParallelReader Interface&lt;/h5&gt;

  &lt;p&gt;Let us take a look at code in AzureArrayReader.cs file.&lt;/p&gt;

  &lt;p&gt;The input array in this example is in Azure blob storage, where each blob contains a subset of columns of the full array. By using the Microsoft.Numerics.Distributed.IO.IParallelReader interface we can read the blobs in distributed fashion and concatenate the slabs of columns into a single large distributed array.&lt;/p&gt;

  &lt;p&gt;First, we implement the ComputeAssignment method, which assigns blobs to the MPI ranks of our distributed computation. &lt;/p&gt;

  &lt;pre&gt;public object[] ComputeAssignment(int nranks)&lt;br /&gt;{&lt;br /&gt;    Object[] blobs = new Object[nranks];&lt;br /&gt;&lt;br /&gt;    var blobClient = new CloudBlobClient(accountName);&lt;br /&gt;    var matrixContainer = blobClient.GetContainerReference(containerName);&lt;br /&gt;    var blobCount = matrixContainer.ListBlobs().Count();&lt;br /&gt;    int maxBlobsPerRank = (int)Math.Ceiling((double)blobCount / (double)nranks);&lt;br /&gt;    int currentBlob = 0;&lt;br /&gt;    for (int i = 0; i &amp;lt; nranks; i++)&lt;br /&gt;    {&lt;br /&gt;        int step = Math.Max(0, Math.Min(maxBlobsPerRank, blobCount - currentBlob));&lt;br /&gt;        blobs[i] = new int[] { currentBlob, step };&lt;br /&gt;        currentBlob = currentBlob + step;&lt;br /&gt;    }&lt;br /&gt;    return (object[])blobs;&lt;br /&gt;}&lt;/pre&gt;

  &lt;p&gt;Next, we implement the property DistributedDimension, which in this case is initialized to 1 so that slabs will be concatenated along the column dimension.&lt;/p&gt;

  &lt;pre&gt;public int DistributedDimension&lt;br /&gt;{&lt;br /&gt;    get { return 1; }&lt;br /&gt;    set { }&lt;br /&gt;}&lt;/pre&gt;

  &lt;p&gt;The ReadWorker method:&lt;/p&gt;

  &lt;ol&gt;
    &lt;li&gt;Reads the blob metadata that describes the number of rows and columns in a given slab. &lt;/li&gt;

    &lt;li&gt;Checks that the slabs have an equal number of rows so they can be concatenated columnwise. &lt;/li&gt;

    &lt;li&gt;Reads the binary data from blobs. &lt;/li&gt;

    &lt;li&gt;Constructs a local NumericDenseArray. &lt;/li&gt;
  &lt;/ol&gt;

  &lt;pre&gt;public msnl.NumericDenseArray&amp;lt;double&amp;gt; ReadWorker(Object assignment)&lt;br /&gt;{&lt;br /&gt;    var blobClient = new CloudBlobClient(accountName);&lt;br /&gt;    var matrixContainer = blobClient.GetContainerReference(containerName);&lt;br /&gt;    int[] blobs = (int[])assignment;&lt;br /&gt;    long i, j, k;&lt;br /&gt;    msnl.NumericDenseArray&amp;lt;double&amp;gt; outArray;&lt;br /&gt;    var firstBlob = matrixContainer.GetBlockBlobReference(&amp;quot;slab0&amp;quot;);&lt;br /&gt;    firstBlob.FetchAttributes();&lt;br /&gt;    long rows = Convert.ToInt64(firstBlob.Metadata[&amp;quot;dimension0&amp;quot;]);&lt;br /&gt;    long[] columnsPerSlab = new long[blobs[1]];&lt;br /&gt;    if (blobs[1] &amp;gt; 0)&lt;br /&gt;    {&lt;br /&gt;        // Get blob metadata, validate that each piece has equal number of rows&lt;br /&gt;        for (i = 0; i &amp;lt; blobs[1]; i++)&lt;br /&gt;        {&lt;br /&gt;            var matrixBlob = matrixContainer.GetBlockBlobReference(&amp;quot;slab&amp;quot; + (blobs[0] + i).ToString());&lt;br /&gt;            matrixBlob.FetchAttributes();&lt;br /&gt;            if (Convert.ToInt64(matrixBlob.Metadata[&amp;quot;dimension0&amp;quot;]) != rows)&lt;br /&gt;            {&lt;br /&gt;                throw new System.IO.InvalidDataException(&amp;quot;Invalid slab shape&amp;quot;);&lt;br /&gt;            }&lt;br /&gt;            columnsPerSlab[i] = Convert.ToInt64(matrixBlob.Metadata[&amp;quot;dimension1&amp;quot;]);&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        // Construct output array&lt;br /&gt;        outArray = msnl.NumericDenseArrayFactory.Create&amp;lt;double&amp;gt;(new long[] { rows, columnsPerSlab.Sum() });&lt;br /&gt;&lt;br /&gt;        // Read data&lt;br /&gt;        long columnCounter = 0;&lt;br /&gt;        for (i = 0; i &amp;lt; blobs[1]; i++)&lt;br /&gt;        {&lt;br /&gt;            var matrixBlob = matrixContainer.GetBlobReference(&amp;quot;slab&amp;quot; + (blobs[0] + i).ToString());&lt;br /&gt;            var blobData = matrixBlob.DownloadByteArray();&lt;br /&gt;            for (j = 0; j &amp;lt; columnsPerSlab[i]; j++)&lt;br /&gt;            {&lt;br /&gt;                for (k = 0; k &amp;lt; rows; k++)&lt;br /&gt;                {&lt;br /&gt;                    outArray[k, columnCounter] = BitConverter.ToDouble(blobData, (int)(j * rows + k) * 8);&lt;br /&gt;                }&lt;br /&gt;                columnCounter = columnCounter + 1;&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;    else&lt;br /&gt;    {&lt;br /&gt;        // If a rank was assigned zero blobs, return empty array&lt;br /&gt;        outArray = msnl.NumericDenseArrayFactory.Create&amp;lt;double&amp;gt;(new long[] { rows, 0 });&lt;br /&gt;    }&lt;br /&gt;    return outArray;&lt;br /&gt;}&lt;/pre&gt;

  &lt;p&gt;When an instance of reader is invoked by the Microsoft.Numerics.Distributed.IO.Loader.LoadData method, the ReadWorker instances are executed in parallel on each rank, and the LoadData method automatically takes care of concatenating the local pieces produced by the ReadWorkers.&lt;/p&gt;

  &lt;h5&gt;Step 3: Compute Statistics Operations on Distributed Data&lt;/h5&gt;

  &lt;p&gt;The source code in the Statistics.cs file implements the statistics operations performed on distributed data. &lt;/p&gt;

  &lt;p&gt;The sample data is stored at:&lt;/p&gt;

  &lt;pre&gt;static string inputAccountName = @&amp;quot;http://cloudnumericslab.blob.core.windows.net&amp;quot;;&lt;/pre&gt;

  &lt;p&gt;This is a storage account for our data. It contains the samples of random numbers in publicly readable containers named “smalldata” and “mediumdata.”&lt;/p&gt;

  &lt;p&gt;In the beginning of the main entry point of the application, we initialize the Microsoft.Numerics distributed runtime. This allows us to execute distributed operations by calling Microsoft.Numerics library methods.&lt;/p&gt;

  &lt;pre&gt;Microsoft.Numerics.NumericsRuntime.Initialize();&lt;/pre&gt;

  &lt;p&gt;Next, we instantiate the array reader described earlier, and read data from blob storage.&lt;/p&gt;

  &lt;pre&gt;var dataReader = new AzureArrayReader.AzureArrayReader(inputAccountName, arraySize);

var x = msnd.IO.Loader.LoadData&amp;lt;double&amp;gt;(dataReader);&lt;/pre&gt;

  &lt;p&gt;The output x is a columnwise distributed array loaded with the sample data. We then compute the statistics of the data: min, max, mean, median and percentiles, and write the results to an output string.&lt;/p&gt;

  &lt;pre&gt;// Compute summary statistics: max, min, mean, median&lt;br /&gt;output.AppendLine(&amp;quot;Summary statistics\n&amp;quot;);&lt;br /&gt;var xMin = ArrayMath.Min(x);&lt;br /&gt;output.AppendLine(&amp;quot;Minimum, &amp;quot; + xMin);&lt;br /&gt;var xMax = ArrayMath.Max(x);&lt;br /&gt;output.AppendLine(&amp;quot;Maximum, &amp;quot; + xMax);&lt;br /&gt;var xMean = Descriptive.Mean(x);&lt;br /&gt;output.AppendLine(&amp;quot;Mean, &amp;quot; + xMean);&lt;br /&gt;var xMedian = Descriptive.Median(x);&lt;br /&gt;output.AppendLine(&amp;quot;Median, &amp;quot; + xMedian);&lt;br /&gt;&lt;br /&gt;// Compute 10% quantiles&lt;br /&gt;var tenPercentQuantiles = Descriptive.QuantilesExclusive(x, 10, 0).ToLocalArray();&lt;/pre&gt;

  &lt;p&gt;As x is a distributed array, the overloaded variant of the method (QuantilesExclusive) that distributes processing over nodes of the Azure cluster is used. Note that the result of the quantiles operation is a distributed array. We copy it to a local array in order to write the result to an output string.&lt;/p&gt;

  &lt;h5&gt;Step 4: Write Results to Blob Storage as a .csv File&lt;/h5&gt;

  &lt;p&gt;The application, by default, writes the result to the file system of the virtual cluster. This storage is not permanent; the file will be removed when you delete the cluster. The application creates a public blob on the named Azure account you supplied in the beginning of the application.&lt;/p&gt;

  &lt;pre&gt;// Write output to blob storage&lt;br /&gt;var storageAccountCredential = new StorageCredentialsAccountAndKey(outputAccountName, outputAccountKey);&lt;br /&gt;var storageAccount = new CloudStorageAccount(storageAccountCredential, true);&lt;br /&gt;var blobClient = storageAccount.CreateCloudBlobClient();&lt;br /&gt;var resultContainer = blobClient.GetContainerReference(outputContainerName);&lt;br /&gt;resultContainer.CreateIfNotExist();&lt;br /&gt;var resultBlob = resultContainer.GetBlobReference(outputBlobName);&lt;br /&gt;&lt;br /&gt;// Make result blob publicly readable,&lt;br /&gt;// so it can be accessed using URI&lt;br /&gt;// https://&amp;lt;accountName&amp;gt;.blob.core.windows.net/statisticsresult/statisticsresult&lt;br /&gt;var resultPermissions = new BlobContainerPermissions();&lt;br /&gt;resultPermissions.PublicAccess = BlobContainerPublicAccessType.Blob;&lt;br /&gt;resultContainer.SetPermissions(resultPermissions);&lt;br /&gt;&lt;br /&gt;resultBlob.UploadText(output.ToString());&lt;/pre&gt;

  &lt;p&gt;You can then view and download the results by using a web browser to open the blob. For example, the syntax for the URI would be:&lt;/p&gt;

  &lt;p&gt;https://&amp;lt;accountName&amp;gt;.blob.core.windows.net/statisticsresult/statisticsresult&lt;/p&gt;

  &lt;p&gt;--Where &amp;lt;accountName&amp;gt; is the name of the cluster account you deployed to Windows Azure.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;For more background on Codename “Cloud Numerics,” see my &lt;a href="http://oakleafblog.blogspot.com/2012/01/introducing-microsoft-codename-cloud.html"&gt;Introducing Microsoft Codename “Cloud Numerics” from SQL Azure Labs&lt;/a&gt; and &lt;a href="http://oakleafblog.blogspot.com/2012/01/deploying-cloud-numerics-sample.html"&gt;Deploying “Cloud Numerics” Sample Applications to Windows Azure HPC Clusters&lt;/a&gt; posts of 1/28/2012.&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;strong&gt;Scott Densmore&lt;/strong&gt; (@&lt;a href="https://twitter.com/#!/scottdensmore"&gt;scottdensmore&lt;/a&gt;) described &lt;a href="http://scottdensmore.typepad.com/blog/2012/01/creating-a-ssl-certificate-for-the-cloud-ready-packages-for-the-ios-windows-azure-toolkit.html"&gt;Creating a SSL Certificate for the Cloud Ready Packages for the iOS Windows Azure Toolkit&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-wniySpBXWVI/TyiRmo38_CI/AAAAAAAAaYw/eWZDlcWu_6E/s1600-h/image%25255B115%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" align="right" src="http://lh6.ggpht.com/-T4gkqAYn2J4/TyiRm0_WhxI/AAAAAAAAaY4/fLIAcc33sCY/image_thumb%25255B41%25255D.png?imgmax=800" width="46" height="66" /&gt;&lt;/a&gt;With the &lt;a href="https://github.com/microsoft-dpe/wa-toolkit-ios"&gt;iOS Windows Azure Toolkit&lt;/a&gt;, you can use the ready made Windows Azure Packages that use ACS or Membership to manage users to Windows Azure Storage. These packages require you to have a SSL certificate. More than likely you are running on a Mac.&lt;/p&gt;

  &lt;p&gt;This is pretty straight forward. You will need to create a certificate and then create a PKCS12 (.pfx) file for it. You can generate the certificate from terminal using &lt;a href="http://www.openssl.org/docs/apps/req.html"&gt;openssl&lt;/a&gt; with the following steps:&lt;/p&gt;

  &lt;ul&gt;
    &lt;li&gt;open a terminal window &lt;/li&gt;

    &lt;li&gt;enter the command: openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout iOSWAToolkit.pem -out iOSWAToolkit.pem 
      &lt;ul&gt;
        &lt;li&gt;iOSWAToolkit is the name of the file you want and can be anything you like. &lt;/li&gt;

        &lt;li&gt;This will create a certificate that you can use to create the PKCS12 certificate. This command will ask for all the information for your cert that you enter. &lt;/li&gt;
      &lt;/ul&gt;
    &lt;/li&gt;

    &lt;li&gt;enter the command: openssl pkcs12 -export -out iOSWAToolkit.pfx -in iOSWAToolkit.pem -name &amp;quot;iOSWAToolkit&amp;quot; 
      &lt;ul&gt;
        &lt;li&gt;iOSWAToolkit is the name of the file you want and can be anything you like. &lt;/li&gt;

        &lt;li&gt;This will ask you for a password that you need to remember so you can enter it when uploading to Windows Azure. &lt;/li&gt;
      &lt;/ul&gt;
    &lt;/li&gt;

    &lt;li&gt;enter the command: openssl x509 -outform der -in iOSWAToolkit.pem -out iOSWAToolkit.cer 
      &lt;ul&gt;
        &lt;li&gt;This will export a certificate with the public key which is what you will need for the service config file. &lt;/li&gt;
      &lt;/ul&gt;
    &lt;/li&gt;
  &lt;/ul&gt;

  &lt;p&gt;You will have two certificates that you will need to get the &lt;a href="https://github.com/microsoft-dpe/wa-toolkit-cloudreadypackages"&gt;Cloud Ready Package&lt;/a&gt;(s) deployed. This is really easy when you use the &lt;a href="https://github.com/microsoft-dpe/wa-toolkit-ios-configutility"&gt;Cloud Configuration Utility&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;a href="#Top"&gt;&amp;lt;Return to section navigation list&amp;gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;&lt;a name="Light"&gt;Visual Studio LightSwitch and Entity Framework 4.1+&lt;/a&gt;&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;Beth Massi&lt;/strong&gt; (@&lt;a href="http://twitter.com/bethmassi"&gt;bethmassi&lt;/a&gt;) described &lt;a href="http://blogs.msdn.com/b/bethmassi/archive/2012/01/30/calling-web-services-to-validate-data-in-visual-studio-lightswitch.aspx"&gt;Calling Web Services to Validate Data in Visual Studio LightSwitch&lt;/a&gt; in a 1/30/2012 post:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-mgfXKgDavZo/TyiRnXpC4EI/AAAAAAAAaZA/vJzn5r1WpNw/s1600-h/image%25255B38%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" align="right" src="http://lh6.ggpht.com/-Mh8HEMmNeFw/TyiRnh4blYI/AAAAAAAAaZI/Tv4x5KS3Ljs/image_thumb%25255B14%25255D.png?imgmax=800" width="57" height="66" /&gt;&lt;/a&gt;Very often in business applications we need to validate data through another service. I’m not talking about validating the format of data entered – this is very simple to do in LightSwitch -- I’m talking about validating the &lt;strong&gt;meaning &lt;/strong&gt;of the data. For instance, you may need to validate not just the format of an email address (which LightSwitch handles automatically for you) but you also want to verify that the email address is real. Another common example is physical Address validation in order to make sure that a postal address is real before you send packages to it. &lt;/p&gt;

  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-8MKdqeRC3Q8/TyiRn_uCUFI/AAAAAAAAaZQ/V1xSmhDIOg4/s1600-h/image_thumb1%25255B6%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image_thumb1" border="0" alt="image_thumb1" align="right" src="http://lh6.ggpht.com/-tzx5hddkFuM/TyiRoCKxhBI/AAAAAAAAaZY/KUmzzGRr-d4/image_thumb1_thumb%25255B1%25255D.png?imgmax=800" width="171" height="54" /&gt;&lt;/a&gt;In this post I’m going to show you how you can call web services when validating LightSwitch data. I’m going to use the &lt;a href="http://blogs.msdn.com/b/bethmassi/archive/2012/01/26/beginning-lightswitch-address-book-sample.aspx"&gt;Address Book sample&lt;/a&gt; and implement an Address validator that calls a service to verify the data. &lt;/p&gt;

  &lt;h5&gt;Where Do We Call the Service?&lt;/h5&gt;

  &lt;p&gt;In &lt;a href="http://msdn.com/lightswitch"&gt;Visual Studio LightSwitch&lt;/a&gt; there are a few places where you can place code to validate entities. There are &lt;em&gt;Property&lt;/em&gt;_Validate methods and there are &lt;em&gt;Entity&lt;/em&gt;_Validate methods. &lt;em&gt;Property&lt;/em&gt;_Validate methods run first on the client and then on the server and are good for checking the format of data entered, doing any comparisons to other properties, or manipulating the data based on conditions stored in the entity itself or its related entities. Usually you want to put your validation code here so that users get immediate feedback of any errors before the data is submitted to the server. These methods are contained on the entity classes themselves. (For more detailed information on the LightSwitch Validation Framework see: &lt;a href="http://blogs.msdn.com/b/lightswitch/archive/2010/08/30/overview-of-data-validation-in-lightswitch-applications-prem-ramanathan.aspx"&gt;Overview of Data Validation in LightSwitch Applications&lt;/a&gt;)&lt;/p&gt;

  &lt;p&gt;The &lt;em&gt;Entity&lt;/em&gt;_Validate methods only run on the server and are contained in the ApplicationDataService class. This is the perfect place to call an external validation service because it avoids having clients calling external services directly -- instead the LightSwitch middle-tier makes the call. This gives you finer control over your network traffic. Client applications may only be allowed to connect to your intranet internally but you can allow external traffic to the server managing the external connection in one place. &lt;/p&gt;

  &lt;h5&gt;Calling Web Services&lt;/h5&gt;

  &lt;p&gt;There are a lot of services out there for validating all sorts of data and each service has a different set of requirements. Typically I prefer &lt;a href="http://en.wikipedia.org/wiki/Representational_State_Transfer"&gt;REST-ful services&lt;/a&gt; so that you can make a simple http request (GET) and get some data back. However, you can also add service references like ASMX and WCF services as well. It’s all going to depend on the service you use so you’ll need to refer to their specific documentation. &lt;/p&gt;

  &lt;p&gt;To add a service reference to a LightSwitch application, first flip to File View in the Solution Explorer, right-click on the Server project and then select Add Service Reference…&lt;/p&gt;

  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-81-88-metablogapi/8168.image_5F00_2.png"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-81-88-metablogapi/2783.image_5F00_thumb.png" width="555" height="460" /&gt;&lt;/a&gt;&lt;/p&gt;

  &lt;p&gt;Enter the service URL and the service proxy classes will be generated for you. You can then call these from server code you write on the ApplicationDataService just like you would in any other application that has a service reference. In the case of calling REST-ful services that return XML feeds, you can simply construct the URL to call and examine the results. Let’s see how to do that.&lt;/p&gt;

  &lt;h5&gt;Address Book Example&lt;/h5&gt;

  &lt;p&gt;In &lt;a href="http://blogs.msdn.com/b/bethmassi/archive/2012/01/26/beginning-lightswitch-address-book-sample.aspx"&gt;this sample&lt;/a&gt; we have an Address table where we want to validate the physical address when the data is saved. There are a few address validator services out there to choose from that I could find, but for this example I chose to sign up for a free trial of an &lt;a href="http://www.serviceobjects.com/lookups/address/address-validation-us"&gt;address validation service from ServiceObjects&lt;/a&gt;. They’ve got some &lt;a href="http://trial.serviceobjects.com/av/AddressValidate.asmx?op=ValidateAddress"&gt;nice, simple APIs&lt;/a&gt; and support REST web requests. Once you sign up they give you a License Key that you need to pass into the service.&lt;/p&gt;

  &lt;p&gt;A sample request looks like this:&lt;/p&gt;

  &lt;p&gt;http://trial.serviceobjects.com/av/AddressValidate.asmx/ValidateAddress?Address=One+Microsoft+Way&amp;amp;Address2=&amp;amp;City=Redmond&amp;amp;State=WA&amp;amp;PostalCode=98052&amp;amp;LicenseKey=12345&lt;/p&gt;

  &lt;p&gt;Which gives you back the result:&lt;/p&gt;

  &lt;pre&gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;
&amp;lt;Address xmlns=&amp;quot;http://www.serviceobjects.com/&amp;quot;
  xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot;
  xmlns:xsd=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;
  &amp;lt;Address&amp;gt;1 Microsoft Way&amp;lt;/Address&amp;gt;
    &amp;lt;City&amp;gt;Redmond&amp;lt;/City&amp;gt;
    &amp;lt;State&amp;gt;WA&amp;lt;/State&amp;gt;
    &amp;lt;Zip&amp;gt;98052-8300&amp;lt;/Zip&amp;gt;
    &amp;lt;Address2/&amp;gt;
    &amp;lt;BarcodeDigits&amp;gt;980528300997&amp;lt;/BarcodeDigits&amp;gt;
    &amp;lt;CarrierRoute&amp;gt;C012&amp;lt;/CarrierRoute&amp;gt;
    &amp;lt;CongressCode&amp;gt;08&amp;lt;/CongressCode&amp;gt;
    &amp;lt;CountyCode&amp;gt;033&amp;lt;/CountyCode&amp;gt;
    &amp;lt;CountyName&amp;gt;King&amp;lt;/CountyName&amp;gt;
    &amp;lt;Fragment/&amp;gt;
  &amp;lt;/Address&amp;gt;&lt;/pre&gt;

  &lt;p&gt;If you enter a bogus address or forget to specify the City+State or PostalCode then you will get an error result:&lt;/p&gt;

  &lt;pre&gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;
&amp;lt;Address xmlns=&amp;quot;http://www.serviceobjects.com/&amp;quot;
  xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot;
  xmlns:xsd=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;
  &amp;lt;Error&amp;gt;
    &amp;lt;Desc&amp;gt;Please input either zip code or both city and state.&amp;lt;/Desc&amp;gt;
    &amp;lt;Number&amp;gt;2&amp;lt;/Number&amp;gt;
    &amp;lt;Location/&amp;gt;
  &amp;lt;/Error&amp;gt;
&amp;lt;/Address&amp;gt;&lt;/pre&gt;

  &lt;p&gt;So in order to interact with this service we’ll first need to add some assembly references to the Server project. Right-click on the Server project (like shown above) and select “Add Reference” and import System.Web and System.Xml.Linq.&lt;/p&gt;

  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-81-88-metablogapi/4035.image_5F00_4.png"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-81-88-metablogapi/8156.image_5F00_thumb_5F00_1.png" width="560" height="551" /&gt;&lt;/a&gt;&lt;/p&gt;

  &lt;p&gt;Next, flip back to Logical View and open the Address entity in the Data Designer. Drop down the Write Code button to access the Addresses_Validate method. (You could also just open the Server\UserCode\ApplicationDataService code file if you are in File View). &lt;/p&gt;

  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-81-88-metablogapi/3872.image_5F00_6.png"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-81-88-metablogapi/3060.image_5F00_thumb_5F00_2.png" width="277" height="423" /&gt;&lt;/a&gt;&lt;/p&gt;

  &lt;p&gt;First we need to import some namespaces as well as the default XML namespace that is returned in the response. (For more information on XML in Visual Basic please see: &lt;a href="http://msdn.microsoft.com/en-us/library/bb384460.aspx"&gt;Overview of LINQ to XML in Visual Basic&lt;/a&gt; and &lt;a href="http://blogs.msdn.com/b/bethmassi/archive/tags/xml/article/"&gt;articles here on my blog&lt;/a&gt;.) Then we can construct the URL based on the entity’s Address properties and query the result XML for either errors or the corrected address. If we find an error, we tell LightSwitch to display the validation result to the user on the screen. &lt;/p&gt;

  &lt;pre&gt;Imports System.Xml.Linq
Imports System.Web.HttpUtility
Imports &amp;lt;xmlns=&amp;quot;http://www.serviceobjects.com/&amp;quot;&amp;gt;

Namespace LightSwitchApplication
  Public Class ApplicationDataService

    Private Sub Addresses_Validate(entity As Address, results As EntitySetValidationResultsBuilder)
      Dim isValid = False
      Dim errorDesc = &amp;quot;&amp;quot;

      'Construct the URL to call the web service
      Dim url = String.Format(&amp;quot;http://trial.serviceobjects.com/av/AddressValidate.asmx/ValidateAddress?&amp;quot; &amp;amp;
                              &amp;quot;Address={0}&amp;amp;Address2={1}&amp;amp;City={2}&amp;amp;State={3}&amp;amp;PostalCode={4}&amp;amp;LicenseKey={5}&amp;quot;,
                              UrlEncode(entity.Address1),
                              UrlEncode(entity.Address2),
                              UrlEncode(entity.City),
                              UrlEncode(entity.State),
                              UrlEncode(entity.ZIP),
                              &amp;quot;12345&amp;quot;)

      Try
          'Call the service and load the XML result &lt;br /&gt;          Dim addressData = XElement.Load(url)

          'Check for errors first
          Dim err = addressData...&amp;lt;Error&amp;gt;
          If err.Any Then
              errorDesc = err.&amp;lt;Desc&amp;gt;.Value
          Else
              'Fill in corrected address values returned from service
              entity.Address1 = addressData.&amp;lt;Address&amp;gt;.Value
              entity.Address2 = addressData.&amp;lt;Address2&amp;gt;.Value
              entity.City = addressData.&amp;lt;City&amp;gt;.Value
              entity.State = addressData.&amp;lt;State&amp;gt;.Value
              entity.ZIP = addressData.&amp;lt;Zip&amp;gt;.Value
              isValid = True
          End If

      Catch ex As Exception
          Trace.TraceError(ex)
      End Try

      If Not (isValid) Then
          results.AddEntityError(&amp;quot;This is not a valid US address. &amp;quot; &amp;amp; errorDesc)
      End If
    End Sub
  End Class
End Namespace&lt;/pre&gt;

  &lt;h5&gt;Run it!&lt;/h5&gt;

  &lt;p&gt;Now that I’ve got this code implemented let’s enter some addresses on our contact screen. Here I’ve entered three addresses, the first two are legal and the last one is not. Also notice that I’ve only specified partial addresses.&lt;/p&gt;

  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-81-88-metablogapi/6014.image_5F00_8.png"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-81-88-metablogapi/4454.image_5F00_thumb_5F00_3.png" width="560" height="263" /&gt;&lt;/a&gt;&lt;/p&gt;

  &lt;p&gt;If I try to save this screen, an error will be returned from the service on the last row. LightSwitch won’t let us save until the address is fixed.&lt;/p&gt;

  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-81-88-metablogapi/3056.image_5F00_10.png"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-81-88-metablogapi/5444.image_5F00_thumb_5F00_4.png" width="560" height="286" /&gt;&lt;/a&gt;&lt;/p&gt;

  &lt;p&gt;If I delete the bogus address and save again, you will see that the other addresses were verified and all the fields are updated with complete address information.&lt;/p&gt;

  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-81-88-metablogapi/23602.image_5F00_12.png"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-81-88-metablogapi/3872.image_5F00_thumb_5F00_5.png" width="560" height="243" /&gt;&lt;/a&gt;&lt;/p&gt;

  &lt;h5&gt;&lt;/h5&gt;

  &lt;h5&gt;Wrap Up&lt;/h5&gt;

  &lt;p&gt;I hope this gives you a good idea on how to implement web service calls into the LightSwitch validation pipeline. Even though each service you use will have different requirements on how to call them and what they return, the LightSwitch validation pipeline gives you the necessary hooks to implement complex entity validation easily. &lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;strong&gt;Jan Van der Haegen&lt;/strong&gt; (@&lt;a href="http://twitter.com/janvanderhaegen"&gt;janvanderhaegen&lt;/a&gt;) asked &lt;a href="http://janvanderhaegen.wordpress.com/2012/01/31/dude-wheres-my-vb-net-code/"&gt;Dude, where’s my VB.Net code?&lt;/a&gt; on 1/30/2012:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-xMWQVYZ1IZg/TyiRoaAlvLI/AAAAAAAAaZg/t9BdJ2LI9jU/s1600-h/image%25255B82%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" align="right" src="http://lh6.ggpht.com/-wPcXV36H9ik/TyiRopYrzkI/AAAAAAAAaZo/7pfpyBzu170/image_thumb%25255B30%25255D.png?imgmax=800" width="65" height="62" /&gt;&lt;/a&gt;It came to my attention that a large part of the LightSwitch community prefers VB.NET over C#. I always thought that C# and VB.NET are close enough together in semantics that any VB.NET developer can read C# and vica versa. However, I must admit that I looked at the VB.NET version of my own samples, and once there’s generics &amp;amp; optional parameters involved, the VB.NET version becomes significantly different compared to its C# brother. To overcome this language barrier, thank god there’s tools online like “Google Translate”, which for .NET code, &lt;a href="http://converter.telerik.com/"&gt;is provided to us for free by Telerik&lt;/a&gt;.&lt;/p&gt;

  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-w2IAjVPsCZc/TyiRo3N5mcI/AAAAAAAAaZw/NZM09wvZWSU/s1600-h/image_thumb1%25255B10%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image_thumb1" border="0" alt="image_thumb1" align="right" src="http://lh5.ggpht.com/-LxxBC3jv-K8/TyiRpJYQpFI/AAAAAAAAaZ4/BlrrVk5DFwU/image_thumb1_thumb%25255B2%25255D.png?imgmax=800" width="171" height="54" /&gt;&lt;/a&gt;A special thanks to Telerik, Todd Anglin in particular, for providing us with this awesome translating power!&lt;/p&gt;

  &lt;p&gt;I’ll promise to do my best to post my samples in both C# and VB.Net in the future.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;a href="#Top"&gt;Return to section navigation list&amp;gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;&lt;a name="Infra"&gt;Windows Azure Infrastructure and DevOps&lt;/a&gt;&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;InformationWeek::Reports&lt;/strong&gt; posted &lt;a href="http://reports.informationweek.com/abstract/5/8644/cloud-computing/wall-street-technology-february-2012.html"&gt;Wall Street &amp;amp; Technology: February 2012&lt;/a&gt; on 1/31/2012:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;a href="http://reports.informationweek.com/user/index/profile1?iframe=true&amp;amp;width=88%&amp;amp;height=80%"&gt;Download&lt;/a&gt;&lt;/p&gt;

  &lt;p&gt;&lt;img style="display: inline; float: right" title="EMBRACING CLOUD: Facing declining revenues and increasing  pressure on capital expenditures, many Wall Street organizations are  warming up to semi-public cloud offerings." alt="EMBRACING CLOUD: Facing declining revenues and increasing  pressure on capital expenditures, many Wall Street organizations are  warming up to semi-public cloud offerings." align="right" src="http://reports.informationweek.com/assetimages/images/wall-street-technology-february-2012_1626.jpg" /&gt;&lt;/p&gt;

  &lt;p&gt;&lt;strong&gt;EMBRACING CLOUD:&lt;/strong&gt; Facing declining revenues and increasing pressure on capital expenditures, many Wall Street organizations are warming up to semi-public cloud offerings.&lt;/p&gt;

  &lt;h5&gt;Table of Contents&lt;/h5&gt;

  &lt;ul&gt;
    &lt;p&gt;&lt;strong&gt;Cloud Watching: &lt;/strong&gt;As Wall Street continues its wild ride, capital markets firms are looking to cut spending in order to prop up the bottom line. Targeting the enormous costs of building and maintaining data centers and server farms, more and more Wall Street organizations are looking to outsource parts of their infrastructures to the cloud. And increasingly, financial services firms are warming up to private clouds run outside their firewalls.&lt;/p&gt;

    &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-N2tEP14E6so/TyiRpfo7NCI/AAAAAAAAaaA/Sd3Zv_vysgI/s1600-h/image%25255B79%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" align="right" src="http://lh6.ggpht.com/-kw2HN68BYxA/TyiRpr5jnMI/AAAAAAAAaaI/Toq_bJDuc6Q/image_thumb%25255B29%25255D.png?imgmax=800" width="160" height="34" /&gt;&lt;/a&gt;&lt;strong&gt;What Went Wrong? Breaking Down Thomson Reuters Eikon: &lt;/strong&gt;Tabbed as the future of the company, Thomson Reuters' next-generation market data platform, Eikon, has been off to a sluggish start, and several executives have paid the price. But Philip Brittan, the man in charge of the Eikon group, says the company's commitment to the product has never waned.&lt;/p&gt;

    &lt;p&gt;&lt;strong&gt;Anatomy of A Data Center (Photo Gallery): &lt;/strong&gt;DFT's NJ1 facility in Piscataway, N.J., comprises 360,000 square feet of LEEDcertified, energy-efficient data center space. Home to a growing number of financial industry clients, including the NYSE, the data center is designed to lower costs to tenants. WS&amp;amp;T takes you along for a behind-the-scenes look at the facility.&lt;/p&gt;

    &lt;p&gt;&lt;strong&gt;Securing Advent's Legacy:&lt;/strong&gt; Founder Stephanie DiMarco will step down at the end of June as Advent's CEO. In an exclusive interview, she explains why she's stepping down, reflects on the company's impact on the investment management industry over the past 30 years and discusses her plans for the future.&lt;/p&gt;

    &lt;p&gt;&lt;strong&gt;PLUS:&lt;/strong&gt; 

      &lt;br /&gt;Wall Street IT Pros In Strong Demand 

      &lt;br /&gt;How to Measure IT Productivity 

      &lt;br /&gt;Larry Tabb's Suggestions for Fixing the Futures Market 

      &lt;br /&gt;The Cloud's Time Is Now 

      &lt;br /&gt;And more ... &lt;/p&gt;
  &lt;/ul&gt;
&lt;/blockquote&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;strong&gt;Lori MacVittie&lt;/strong&gt; (@&lt;a href="http://twitter.com/lmacvittie"&gt;lmacvittie&lt;/a&gt;) asserted &lt;em&gt;While web applications aren’t sensitive to jitter, business processes are&lt;/em&gt; in an introduction to her &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2012/01/30/performance-in-the-cloud-business-jitter-is-bad.aspx"&gt;Performance in the Cloud: Business Jitter is Bad&lt;/a&gt; post of 1/30/2012 to F5’s DevCentral blog:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-OprWiv2aNvA/TyiRp5i4rDI/AAAAAAAAaaQ/BA7ti4b2MgI/s1600-h/image%25255B103%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" align="right" src="http://lh3.ggpht.com/-_tDZPhJkR6Y/TyiRqLe6inI/AAAAAAAAaaY/QHHS6f2WoH8/image_thumb%25255B37%25255D.png?imgmax=800" width="63" height="66" /&gt;&lt;/a&gt;One of the benefits of web applications is that they are generally transported via TCP, which is a connection-oriented protocol designed to assure delivery. TCP has a variety of native mechanisms through which delivery issues can be addressed – from window sizes to selective acks to idle time specification to ramp up parameters. All these technical knobs and buttons serve as a way for operators and administrators to tweak the protocol, often at run time, to ensure the exchange of requests and responses upon which web applications rely. This is unlike UDP, which is more of a “fire and forget” protocol in which the server doesn’t really care if you receive the data or not. &lt;/p&gt;

  &lt;p&gt;&lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/Windows-Live-Writer/Performance-in-the-Cloud-Business-Jitter_33E4/biz%20jitter_2.png"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" title="biz jitter" border="0" alt="biz jitter" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/Windows-Live-Writer/Performance-in-the-Cloud-Business-Jitter_33E4/biz%20jitter_thumb.png" width="444" height="237" /&gt;&lt;/a&gt;&lt;/p&gt;

  &lt;p&gt;Now, voice and streaming video and audio over the web has always leveraged UDP and thus it has always been highly sensitive to jitter. Jitter is, without getting into layer one (physical) jargon, an undesirable delay in the otherwise consistent delivery of packets. It causes the delay of and sometimes outright loss of packets that are experienced by users as pauses, skips, or jumps in multi-media content. &lt;/p&gt;

  &lt;p&gt;While the same root causes of delay – network congestion, routing changes, time out intervals – have an impact on TCP, it generally only &lt;em&gt;delays &lt;/em&gt;the communication and other than an uncomfortable wait for the user, does not negatively impact the content itself. The content is eventually delivered because TCP guarantees that, UDP does not. &lt;/p&gt;

  &lt;p&gt;However, this does not mean that there are no negative impacts (other than trying the patience of users) from the performance issues that may plague web applications and particularly those that are more and more often out there, in the nebulous “cloud”. Delays are effectively business jitter and have a real impact on the ability of the business to perform its critical functions – and that includes generating revenue. &lt;/p&gt;

  &lt;h6&gt;BUSINESS JITTER and the CLOUD &lt;/h6&gt;

  &lt;p&gt;David Linthicum summed up the issue with performance of cloud-based applications well and actually used the terminology “jitter” to describe the unpredictable pattern of delay: &lt;/p&gt;

  &lt;blockquote&gt;
    &lt;p&gt;Are cloud services slow? Or fast? Both, it turns out -- and that reality could cause unexpected problems if you rely on public clouds for part of your IT services and infrastructure. &lt;/p&gt;
  &lt;/blockquote&gt;

  &lt;blockquote&gt;
    &lt;p&gt;When I log performance on cloud-based processes -- some that are I/O intensive, some that are not -- I get results that vary randomly throughout the day. In fact, they appear to have the pattern of a very jittery process. Clearly, the program or system is struggling to obtain virtual resources that, in turn, struggle to obtain physical resources. Also, I suspect this &amp;quot;jitter&amp;quot; is not at all random, but based on the number of other processes or users sharing the same resources at that time. &lt;/p&gt;

    &lt;p&gt;-- David Linthicum, “&lt;a href="http://www.infoworld.com/d/cloud-computing/face-the-facts-cloud-performance-isnt-always-stable-170066"&gt;Face the facts: Cloud performance isn't always stable&lt;/a&gt;” &lt;/p&gt;
  &lt;/blockquote&gt;

  &lt;p&gt;But what the multitude of articles coming out over the past year or so with respect to performance of cloud services has largely ignored is the very real and often measurable impact on business processes. That jitter that occurs at the protocol and application layers trickles up to become jitter in the business process; a process that may be critical to servicing customers (and thus impacts satisfaction and brand) as well as on the bottom line. Unhappy customers forced to wait for “slow computers”, as it is so often called by the technically less adept customer service representatives employed by many organizations, may take to the social media airwaves to express displeasure, or cancel an order, or simply refuse to do business in the future with the organization based on delays experienced because of unpredictable cloud performance. &lt;/p&gt;

  &lt;p&gt;Business jitter can also manifest as decreased business productivity measures, which it &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/08/04/a-formula-for-quantifying-productivity-of-web-applications.aspx"&gt;turns out can be measured mathematically if you put your mind to it&lt;/a&gt;. &lt;/p&gt;

  &lt;p&gt;Understanding the variability of cloud performance is important for two reasons: &lt;/p&gt;

  &lt;ol&gt;
    &lt;li&gt;You need to understand the impact on the business and quantify it before embarking on any cloud initiative so it can be factored in to the overall cost-benefit analysis. It may be that the cost savings from public cloud are much greater than the potential loss of revenue and/or productivity, and thus the benefits of a cloud-based solution outweigh the risks. &lt;/li&gt;

    &lt;li&gt;Understanding the variability and from where it comes will have an impact and help guide you to choosing not only the right provider, but the right solutions that may be able to normalize or mitigate the variability. If the primary source of business jitter is your WAN, for example, then it may be that choosing a provider that supports your ability to deploy WAN optimization solutions would be an appropriate strategy. Similarly, if the variability in performance stems from capacity issues, then choosing a provider that allows greater latitude in &lt;a href="http://www.f5.com/glossary/load-balancing.html"&gt;load balancing&lt;/a&gt; algorithms or the deployment of a virtual (soft) ADC would likely be the best strategy. &lt;/li&gt;
  &lt;/ol&gt;

  &lt;p&gt;&lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/Windows-Live-Writer/Performance-in-the-Cloud-Business-Jitter_33E4/cloud%20performance%20battle_2.png"&gt;&lt;img title="cloud performance battle" border="0" alt="cloud performance battle" align="right" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/Windows-Live-Writer/Performance-in-the-Cloud-Business-Jitter_33E4/cloud%20performance%20battle_thumb.png" width="240" height="215" /&gt;&lt;/a&gt;It seems clear from testing and empirical (as well as anecdotal) evidence that cloud performance is highly variable and, as David puts it, unstable. This should not necessarily be seen as a deterrent to adopting cloud services – unless your business is so highly sensitive to latency that even milliseconds can be financially damaging – but rather it should be a reality that factors into your decision making process with respect to your choice of provider and the architecture of the solution you’ll be deploying (or subscribing to, in the case of SaaS) in the cloud. &lt;/p&gt;

  &lt;p&gt;Knowing is half the battle to leveraging cloud successfully. The other half is strategy and architecture. &lt;/p&gt;

  &lt;hr width="100%" /&gt;

  &lt;p&gt;&lt;a href="http://www.cloudconnectevent.com/"&gt;&lt;img title="CC_logo_CMYK" border="0" alt="CC_logo_CMYK" align="left" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/Windows-Live-Writer/Enterprise-Apps-are-Not-Written-for-Spee_2FD1/cc_logo_265x126_3.jpg" width="86" height="41" /&gt;&lt;/a&gt;&lt;/p&gt;

  &lt;p&gt;I’ll be at CloudConnect 2012 and we’ll discuss the subject of cloud and performance a whole lot more at the show! &lt;/p&gt;

  &lt;p&gt;&lt;a href="http://www.cloudconnectevent.com/santaclara/2012/speaker-list/?speaker=lori-mac-vittie"&gt;Sessions&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;strong&gt;Abel B. Cruz&lt;/strong&gt; reported &lt;a href="http://abelcruz04.wordpress.com/2012/01/30/cloud-computing-fueling-global-economic-growth-london-school-of-economics-study/"&gt;Cloud Computing Fueling Global Economic Growth: London School of Economics study&lt;/a&gt; on 1/30/2012:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-eeSGJbwf_nw/TyiRqRn1wyI/AAAAAAAAaag/FT4MdCcEWkY/s1600-h/image%25255B35%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" align="right" src="http://lh4.ggpht.com/-VyhOiCfN93k/TyiRqlcFhGI/AAAAAAAAaao/0jszXz9Itqc/image_thumb%25255B13%25255D.png?imgmax=800" width="50" height="66" /&gt;&lt;/a&gt;The development of cloud computing will promote economic growth, increase productivity and shift the type of jobs and skills required by businesses, according to a new study by the London School of Economics and Political Science.&lt;/p&gt;

  &lt;p&gt;&lt;a href="http://www.forbes.com/sites/joemckendrick/2012/01/27/cloud-computing-fueling-global-economic-growth-london-school-of-economics-study/"&gt;http://www.forbes.com/sites/joemckendrick/2012/01/27/cloud-computing-fueling-global-economic-growth-london-school-of-economics-study/&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;a href="#Top"&gt;&amp;lt;Return to section navigation list&amp;gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;&lt;a name="WAPA"&gt;Windows Azure Platform Appliance (WAPA), Hyper-V and Private/Hybrid Clouds&lt;/a&gt;&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;David Linthicum&lt;/strong&gt; (@&lt;a href="http://twitter.com/DavidLinthicum"&gt;DavidLinthicum&lt;/a&gt;) asserted “Amazon Storage Gateway is a prime example of using an old-fashioned data center approach in the cloud -- which seems to miss the point” in a deck for his &lt;a href="http://www.infoworld.com/d/cloud-computing/cloud-appliances-the-cloud-isnt-the-cloud-185256"&gt;Cloud appliances: The cloud that isn't the cloud&lt;/a&gt; post of 1/31/2012 to InfoWorld’s Cloud Computing blog:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-zeSQ8iGmfXA/TyiRrBvTz1I/AAAAAAAAaaw/H-6C2psO2gY/s1600-h/image%25255B50%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" align="right" src="http://lh5.ggpht.com/-xdcgFmsIwpE/TyiRreyPu0I/AAAAAAAAaa4/xm-nMBwOLcY/image_thumb%25255B18%25255D.png?imgmax=800" width="64" height="66" /&gt;&lt;/a&gt;Last week Amazon.com let it be known that it has launched a public beta test of Amazon Storage Gateway -- my colleague Matt Prigge has done an &lt;a href="http://www.infoworld.com/t/cloud-computing/hands-amazon-storage-gateway-185241"&gt;in-depth, hands-on look of it&lt;/a&gt;. This software appliance stores data on local hardware and uploads backup instances to Amazon Web Services' S3 (Simple Storage Service). The idea is to provide low-latency access to local data while keeping snapshots of that data in the AWS cloud.&lt;/p&gt;

  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-J5KrKSWsUnM/TyiRrQnPHvI/AAAAAAAAabA/EUg2w2gTTcE/s1600-h/image%25255B54%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" align="right" src="http://lh5.ggpht.com/-6wg89BR_GZI/TyiRrhGSyUI/AAAAAAAAabI/cMx1dz2T8p0/image_thumb%25255B20%25255D.png?imgmax=800" width="102" height="25" /&gt;&lt;/a&gt;Cloud appliances are nothing new -- we've been using them for years to maintain software control within the firewall. Their applications include caching data as it moved to and from the cloud to enhance performance, local storage that is replicated to the cloud (as is the case with AWS gateway), and providing protocol mediation services to systems that are not port 80-compliant.&lt;/p&gt;

  &lt;p&gt;However, the larger question here is obvious: If cloud computing is really around eliminating the cost of local hardware and software, why are cloud computing providers selling hardware and software?&lt;/p&gt;

  &lt;p&gt;There are practical reasons for using cloud appliances, such as those I just cited. However, the larger advantage may be more perceptual than technical. IT managers want their data in some box in their data center that they can see and touch. They also want to tell people that they are moving to cloud computing. The cloud appliance provides the best of both worlds, and I suspect that we'll see other IaaS providers follow if Amazon.com is successful.&lt;/p&gt;

  &lt;p&gt;However, I can't help thinking that we're just trading an internal path to complexity and increasing costs for a cloud path to complexity and increasing costs. That's antithetical to the cloud's notions of reducing costs through efficiency and scale and of reducing complexity through abstraction. But yet here we are.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr /&gt;

&lt;p&gt;The &lt;strong&gt;Windows Server and Cloud Platform Team&lt;/strong&gt; reported &lt;a href="http://blogs.technet.com/b/server-cloud/archive/2012/01/30/system-center-cloud-services-management-pack-rc-now-available.aspx"&gt;System Center Cloud Services Management Pack RC Now Available!&lt;/a&gt; on 1/30/2012:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-uTMxqXmiZ-I/TyiRrw-LuYI/AAAAAAAAabQ/LpRnJ5klsig/s1600-h/image%25255B19%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" align="right" src="http://lh4.ggpht.com/-UYEanmsaUkE/TyiRsCgjNaI/AAAAAAAAabY/pJnF9TJmwL8/image_thumb%25255B7%25255D.png?imgmax=800" width="35" height="34" /&gt;&lt;/a&gt;Check out &lt;a href="http://bit.ly/wOxiG1"&gt;Travis Wright’s blog&lt;/a&gt; and learn more about the System Center Cloud Services Management Pack Release Candidate that is now available for download.&lt;/p&gt;

  &lt;p&gt;The System Center Cloud Services Process Pack offers a self-service experience to facilitate private cloud capacity requests from your business unit IT application owners and end users, including the flexibility to request additional capacity as business demands increase. &lt;a href="http://bit.ly/yh6y4n"&gt;Download&lt;/a&gt; the Management Pack today!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;a href="#Top"&gt;&amp;lt;Return to section navigation list&amp;gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;&lt;a name="Security"&gt;Cloud Security and Governance&lt;/a&gt;&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;Chris Hoff&lt;/strong&gt; (@&lt;a href="http://twitter.com/Beaker"&gt;Beaker&lt;/a&gt;) posted &lt;a href="http://www.rationalsurvivability.com/blog/?p=3415"&gt;Building/Bolting Security In/On – A Pox On the Audit Paradox!&lt;/a&gt; on 1/31/2012:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-02b6ONzhHq4/TyiRsqg1XqI/AAAAAAAAabg/Q3MbiSp-K6c/s1600-h/image%25255B41%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" align="right" src="http://lh4.ggpht.com/-kkjkcp-YB2Y/TyiRs3f4XwI/AAAAAAAAabo/QNhP3s8fGQA/image_thumb%25255B15%25255D.png?imgmax=800" width="65" height="61" /&gt;&lt;/a&gt;My friend and skilled raconteur Chris Swan (@cpswan) wrote an excellent piece a few days ago titled “&lt;a href="http://blog.thestateofme.com/2012/01/28/building-security-in-the-audit-paradox/"&gt;Building security in – the audit paradox&lt;/a&gt;.”&lt;/p&gt;

  &lt;p&gt;This thoughtful piece was constructed in order to point out the challenges involved in providing auditability, visibility, and transparency in service — specifically cloud computing — in which the notion of building in or bolting on security is debated.&lt;/p&gt;

  &lt;p&gt;I think this is timely. I have thought about this a couple of times with one piece aligned heavily with Chris’ thoughts:&lt;/p&gt;

  &lt;ul&gt;
    &lt;li&gt;&lt;a href="http://www.rationalsurvivability.com/blog/?p=2850"&gt;Revisiting virtualization and cloud stack security — Back to the future (baked in or bolted on)&lt;/a&gt; &lt;/li&gt;
  &lt;/ul&gt;

  &lt;p&gt;Chris’ discussion really contrasted the delivery/deployment models against the availability and operationalization of controls:&lt;/p&gt;

  &lt;ol&gt;
    &lt;li&gt;&lt;em&gt;If we’re building security in, then how do we audit the controls?&lt;/em&gt; &lt;/li&gt;

    &lt;li&gt;&lt;em&gt;Will platform as a service (PaaS) give us a way to build security in such that it can be evaluated independently of the custom code running on it?&lt;/em&gt; &lt;/li&gt;
  &lt;/ol&gt;

  &lt;p&gt;Further, as part of some good examples, he points out the notion that with separation of duties, the ability to apply “defense in depth” (hate that term,) and the ability to respond to new threats, the “bolt-on” approach is useful — if not siloed:&lt;/p&gt;

  &lt;blockquote&gt;
    &lt;p&gt;There lies the issue – bolt on security is easy to audit. There’s a separate thing, with a separate bit of config (administered by a separate bunch of people) that stands alone from the application code.&lt;/p&gt;
  &lt;/blockquote&gt;

  &lt;p&gt;…versus building secure applications:&lt;/p&gt;

  &lt;blockquote&gt;
    &lt;p&gt;Code security is hard. We know that from the constant stream of vulnerabilities that get found in the tools we use every day. Auditing that specific controls implemented in code are present and effective is a big problem, and that is why I think we’re still seeing so much bolting on rather than building in.&lt;/p&gt;
  &lt;/blockquote&gt;

  &lt;p&gt;I don’t disagree with this at all. Code security is hard. People look for gap-fillers. The notion that Chris finds limited options for bolting security on versus integrating security (building it in) programmatically as part of the security development lifecycle leaves me a bit puzzled.&lt;/p&gt;

  &lt;p&gt;This identifies both the skills and cultural gap between where we are with security and how cloud changes our process, technology, and operational approaches but there are many options we should discuss.&lt;/p&gt;

  &lt;p&gt;Thus what was interesting (read: I disagree with) is what came next wherein Chris maintained that one “can’t bolt on in the cloud”:&lt;/p&gt;

  &lt;blockquote&gt;
    &lt;p&gt;One of the challenges that cloud services present is an inability to bolt on extra functionality, including security, beyond that offered by the service provider. Amazon, Google etc. aren’t going to let me or you show up to their data centre and install an XML gateway, so if I want something like schema validation then I’m obliged to build it in rather than bolt it on, and I must confront the audit issue that goes with that.&lt;/p&gt;
  &lt;/blockquote&gt;

  &lt;p&gt;While it’s true that CSP’s may not enable/allow you to show up to their DC and “…install and XML gateway,” they are pushing the security deployment model toward the virtual networking hooks, the guest based approach within the VMs and leveraging both the security and service models of cloud itself to solve these challenges.&lt;/p&gt;

  &lt;p&gt;I allude to this below, but as an example, there are now cloud services which can sit “in-line” or in conjunction with your cloud application deployments and deliver security as a service…application, information (and even XML) security as a service are here today and ramping!&lt;/p&gt;

  &lt;p&gt;While immature and emerging in some areas, I offer the following suggestions that the “bolt-on” approach is very much alive and kicking. Given that the “code security” is hard, this means that the cloud providers harden/secure their platforms, but the app stacks that get deployed by the customers…that’s the customers’ concerns and here are some options:&lt;/p&gt;

  &lt;ol&gt;
    &lt;li&gt;Introspection APIs (VMsafe) &lt;/li&gt;

    &lt;li&gt;Security as a Service (Cloudflare, Dome9, CloudPassage) &lt;/li&gt;

    &lt;li&gt;Auditing frameworks (CloudAudit, STAR, etc) &lt;/li&gt;

    &lt;li&gt;Virtual networking overlays &amp;amp; virtual appliances (vGW, VSG, Embrane) &lt;/li&gt;

    &lt;li&gt;Software defined networking (Nicira, BigSwitch, etc.) &lt;/li&gt;
  &lt;/ol&gt;

  &lt;p&gt;Yes, some of them are platform specific and I think Chris was mostly speaking about “Public Cloud,” but “bolt-on” options are most certainly available an are aggressively evolving.&lt;/p&gt;

  &lt;p&gt;I totally agree that from the PaaS/SaaS perspective, we are poised for many wins that can eliminate entire classes of vulnerabilities as the platforms themselves enforce better security hygiene and assurance BUILT IN. This is just as emerging as the BOLT ON solutions I listed above.&lt;/p&gt;

  &lt;p&gt;In a prior post “&lt;a href="http://www.rationalsurvivability.com/blog/?p=1523"&gt;Silent Lucidity: IaaS – Already a Dinosaur. Rise of PaaSasarus Rex&lt;/a&gt;”&lt;/p&gt;

  &lt;blockquote&gt;
    &lt;p&gt;As I mention in my Cloudifornication presentation, I think that from a security perspective, PaaS offers the potential of eliminating entire classes of vulnerabilities in the application development lifecycle by enforcing sanitary programmatic practices across the derivate works built upon them. I look forward also to APIs and standards that allow for consistency across providers. I think PaaS has the greatest potential to deliver this.&lt;/p&gt;

    &lt;p&gt;There are clearly trade-offs here, but as we start to move toward the two key differentiators (at least for public clouds) — management and security — I think the value of PaaS will really start to shine.&lt;/p&gt;
  &lt;/blockquote&gt;

  &lt;p&gt;My opinion is that given the wide model of integration between various delivery and deployment models, we’re gonna need both for quite some time.&lt;/p&gt;

  &lt;p&gt;Back to Chris’ original point, the notion that auditors will in any way be able to easily audit code-based (built-in) security at the APPLICATION layer or the PLATFORM layer versus the bolt-on layer is really at the whim on the skillset of the auditors themselves and the checklists they use which call out how one is audited:&lt;/p&gt;

  &lt;blockquote&gt;
    &lt;p&gt;Infrastructure as a service shows us that this can be done e.g. the AWS firewall is very straightforward to configure and audit (without needing to reveal any details of how it’s actually implemented). What can we do with PaaS, and how quickly?&lt;/p&gt;
  &lt;/blockquote&gt;

  &lt;p&gt;This is a very simplistic example (more infrastructure versus applistructure perspective) but represents the very interesting battleground we’ll be entrenched in for years to come.&lt;/p&gt;

  &lt;p&gt;In the related posts below, you’ll see I’ve written a bunch about this and am working toward ensuring that as really smart folks work to build it in, the ecosystem is encouraged to provide bolt-ons to fill those gaps.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;a href="#Top"&gt;&amp;lt;Return to section navigation list&amp;gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;&lt;a name="Events"&gt;Cloud Computing Events&lt;/a&gt;&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;Adron Hall&lt;/strong&gt; (@&lt;a href="http://twitter.com/adron"&gt;adron&lt;/a&gt;) reported on 1/30/2012 &lt;a href="http://feedproxy.google.com/~r/LooselyCoupledHumanCodeFactory/~3/jvWzlm3FgUI/"&gt;Aaron Stannard Presenting “Building Node.JS Applications on Windows Azure” @ #NodePDX&lt;/a&gt;:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;a href="http://nodepdx.github.com/"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" alt="" src="http://adronhall.smugmug.com/Software/Meetups/PDX-Nodejs-Conference/i-tSdnGqv/0/O/nodepdx.png" width="256" height="128" /&gt;&lt;/a&gt;&lt;/p&gt;

  &lt;p&gt;&lt;strong&gt;Aaron Stannard&lt;/strong&gt;&lt;/p&gt;

  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/--IF4O3IwAT8/TyiRtANupOI/AAAAAAAAabw/6edga6JPn9s/s1600-h/image%25255B32%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" align="right" src="http://lh5.ggpht.com/-XQbUv2m_9SA/TyiRtWWLX4I/AAAAAAAAab4/cyKCALJeBw4/image_thumb%25255B12%25255D.png?imgmax=800" width="60" height="66" /&gt;&lt;/a&gt;Aaron is coming at us from southern California, but don’t hold that against him. He’s going to shed some light on the Windows Azure support around Node.js. Yup, you read that right, Microsoft is all googly over open source these days. Aaron describes his presentation thus:&lt;/p&gt;

  &lt;blockquote&gt;
    &lt;p&gt;&lt;img style="display: inline; float: right" alt="" align="right" src="http://adronhall.smugmug.com/Software/Misc-Images/Just-Icons-and-Bits/i-TnQWzfH/0/S/azure-S.png" width="86" height="86" /&gt;Microsoft is moving towards making Windows Azure a PaaS cloud capable of hosting applications of any shape, size, framework, and programming language, and Node.JS is one of the first non-.NET technologies we’ve made a first-class citizen on Windows Azure.&lt;/p&gt;

    &lt;p&gt;In this talk you’ll get a brief overview of Windows Azure itself, iisnode, and what the dev / test / production lifecycle looks like for Node.JS applications built for Windows Azure.&lt;/p&gt;
  &lt;/blockquote&gt;

  &lt;p&gt;&lt;a name="BTQ"&gt;&lt;img title="image" border="0" alt="image" align="right" src="http://lh6.ggpht.com/_GdO7DQgAn3w/TGmtBfGziyI/AAAAAAAAD00/qmrRPnvlwkA/image%5B88%5D.png?imgmax=800" width="160" height="25" /&gt;&lt;/a&gt;If you’d like to come and check out this presentation and the other kick ass presentations lined up, get involved in some coding, hear what Node.js is all about, or just hang out please &lt;a href="http://lanyrd.com/2012/nodepdx/"&gt;RSVP&lt;/a&gt; and get the event on your calendar! Besides, what better reason to come visit the amazing city of Portland, Oregon than to come hack some node.js and chill for the weekend!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr /&gt; 

&lt;p&gt;&lt;strong&gt;Jo Maitland&lt;/strong&gt; (@&lt;a href="http://twitter.com/JoMaitlandSF"&gt;JoMaitlandSF&lt;/a&gt;) asserted &lt;a href="http://pro.gigaom.com/2012/01/there-is-more-to-node-js-than-buzz/"&gt;There is more to Node.js than buzz&lt;/a&gt; in a 1/27/2012 post to the GigaOm Pro Blog (trial or paid subscription required):&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-KYQHO-SEti8/TymVr3yps2I/AAAAAAAAaeY/EerSnaGUwR8/s1600-h/image%25255B3%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" align="right" src="http://lh6.ggpht.com/-jJH83mlgU4Y/TymVsHGYheI/AAAAAAAAaeg/jP608LgNry8/image_thumb.png?imgmax=800" width="65" height="65" /&gt;&lt;/a&gt;Judging by the attendance and conversation at this week’s &lt;a href="http://nodesummit.com/"&gt;Node Summit&lt;/a&gt; in San Francisco, the relatively new open-source programming language &lt;a href="http://nodejs.org/"&gt;Node.js&lt;/a&gt; is catching on among developers and notably among enterprise developers.&lt;/p&gt;

  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-xGxYG2W-zd4/TymVsVazTBI/AAAAAAAAaeo/5ylnQ5Q3i5k/s1600-h/image%25255B7%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" align="right" src="http://lh6.ggpht.com/-3Ahn9_PjAVs/TymVsvEaRlI/AAAAAAAAaew/Y_yXbBPxK5Y/image_thumb%25255B2%25255D.png?imgmax=800" width="160" height="44" /&gt;&lt;/a&gt;Several hundred people showed up at the event, most of them developers from startups around Silicon Valley as well as business and architect leads from Microsoft, eBay, Wal-Mart, Sprint, Google, Rackspace, VMware and the usual VC crowd. Everyone onstage had enormous enthusiasm for Node and their increasing use of the technology.&lt;/p&gt;

  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-jRiVy5Kdlv8/TymVtJaBgFI/AAAAAAAAae4/7BzQCgHkjzQ/s1600-h/image%25255B11%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" align="right" src="http://lh3.ggpht.com/-D6f5_ar7l7I/TymVtd3ABvI/AAAAAAAAafA/jqw4AkENY1A/image_thumb%25255B4%25255D.png?imgmax=800" width="160" height="59" /&gt;&lt;/a&gt;The summit was organized by Joyent, the company that invented Node.js and is shepherding the open-source community around it. Joyent’s SmartOS and SmartDataCenter products run on Node.js and are the backbone of its public cloud, JoyentCloud. Joyent also licenses the software to service providers to run their own public clouds.&lt;/p&gt;

  &lt;p&gt;…&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="http://lh4.ggpht.com/-BOcGn-V0vfU/TymVtoa0FVI/AAAAAAAAafI/tiaMLvYW0pg/s1600-h/image%25255B15%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" align="right" src="http://lh5.ggpht.com/-ZJv9YaShskE/TymVtzjYxyI/AAAAAAAAafQ/U06GIT7mBMs/image_thumb%25255B6%25255D.png?imgmax=800" width="160" height="20" /&gt;&lt;/a&gt;Jo goes on to describe Node.js, list users (such as Twitter, LinkedIn and eBay), and concludes:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;a name="BTQ"&gt;&lt;img title="image" border="0" alt="image" align="right" src="http://lh6.ggpht.com/_GdO7DQgAn3w/TGmtBfGziyI/AAAAAAAAD00/qmrRPnvlwkA/image%5B88%5D.png?imgmax=800" width="160" height="25" /&gt;&lt;/a&gt;The most interesting thing to me about Node is Joyent’s decision to keep it open and cross platform. Microsoft, for example, is porting Node to Windows Azure so that its developer base can use it. And with 40 percent of the developer market working on Windows, it is a smart way to ensure the technology reaches the mainstream. Amazon Web Services, take note!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;
  &lt;hr /&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="#Top"&gt;&amp;lt;Return to section navigation list&amp;gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;&lt;a name="Other"&gt;Other Cloud Computing Platforms and Services&lt;/a&gt;&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;Chris Czarnecki&lt;/strong&gt; posted &lt;a href="http://cloud-computing.learningtree.com/2012/01/31/amazon-announces-trusted-advisor/"&gt;Amazon Announces Trusted Advisor&lt;/a&gt; to the Learning Tree blog on 1/31/2012:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-BNVvWAfgWrc/TyiRtuyKTdI/AAAAAAAAacA/OXagfDLDCJ0/s1600-h/image%25255B85%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" align="right" src="http://lh3.ggpht.com/-QiSw92v6bM0/TyiRt5W7TXI/AAAAAAAAacI/bpBlfIciCsA/image_thumb%25255B31%25255D.png?imgmax=800" width="56" height="66" /&gt;&lt;/a&gt;When considering using cloud computing services, one of the major factors is the level of support that can be provided by the cloud vendor. In particular, when using Infrastructure as a Service, it is vital to ensure that cloud resources are not only appropriately secured but are also running at their most cost effective. Who better to provide this information than the cloud provider.&lt;/p&gt;

  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-B0-dtEyjx_8/TyiRuLsnnJI/AAAAAAAAacQ/ZKpg1h7jBE0/s1600-h/image%25255B96%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" align="right" src="http://lh5.ggpht.com/-lmA9VNOiqcU/TyiRumdm3-I/AAAAAAAAacY/SFby6RxAcJE/image_thumb%25255B34%25255D.png?imgmax=800" width="160" height="64" /&gt;&lt;/a&gt;In the case of Amazon Web Services, where the range of services is so wide (consider storage: SimpleDB, Simple Storage Service, Relational Data Service, Elastic Block Storage, DynamoDb) with many alternatives, it is not always easy to make the correct choice. When buying infrastructure, the purchase model is no longer straightforward either, with options for on-demand, reserved and spot instances. When deploying high availability systems, instances are typically spread across availability zones. Are these balanced and evenly distributed ?&lt;/p&gt;

  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-KABlKW88zDw/TyiRuy_lclI/AAAAAAAAacg/TncWv0vj5sI/s1600-h/image%25255B88%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" align="right" src="http://lh5.ggpht.com/-nalYvGwy_fY/TyiRuxGt71I/AAAAAAAAaco/Ju4RdKzS48Q/image_thumb%25255B32%25255D.png?imgmax=800" width="65" height="50" /&gt;&lt;/a&gt;To help better support deployed systems making use of Amazon infrastructure, Amazon have today announced &lt;a href="http://aws.typepad.com/aws/2012/01/new-aws-premium-support-features-third-party-software-support-and-aws-trusted-advisor.html"&gt;AWS Trusted Advisor&lt;/a&gt;. This service, which uses the experience of supporting hundreds of thousands of Amazon customers, will inspect a customer’s AWS environment and, if appropriate, will make recommendations on improving security, performance and cost reduction. All of this is automated and makes use of a large knowledge base built up by Amazon over the last few years.&lt;/p&gt;

  &lt;p&gt;The Trusted Advisor is an example of the way in which Amazon continues to innovate in providing services that not only provide great new functionality, but also in the monitoring and control of these services. If you would like to know more about Amazon Web Services and how they can benefit your organisation, consider attending Learning Tree’s comprehensive course, &lt;a href="http://www2.learningtree.com/r/resp.aspx?cat=crs&amp;amp;m=us&amp;amp;c=1205&amp;amp;f=blog_cc"&gt;Cloud Computing with Amazon Web Services™&lt;/a&gt;, in which you’ll learn from an expert instructor about the major services and how they can be integrated to form a coherent scalable reliable infrastructure.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;strong&gt;Adalberto Foresti&lt;/strong&gt; reported &lt;a href="http://blogs.msdn.com/b/interoperability/archive/2012/01/30/beta-of-aws-sdk-for-windows-phone-released.aspx"&gt;Beta of Amazon Web Services SDK for Windows Phone released&lt;/a&gt; on 1/30/2012:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-UslUK0MrOnI/TyiRvVIZGzI/AAAAAAAAac0/NwzTCbcMKow/s1600-h/image%25255B92%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" align="right" src="http://lh4.ggpht.com/-N7TSwVKfFn4/TyiRwPm_i8I/AAAAAAAAac8/xHeWgGuDdVU/image_thumb%25255B33%25255D.png?imgmax=800" width="160" height="64" /&gt;&lt;/a&gt;I am pleased to announce the beta release of the Amazon Web Services (AWS) SDK for Windows Phone. Built by Microsoft as an open source project, this SDK provides developers with a speed dial that lets them quickly connect and integrate Windows Phone applications with AWS (S3, SimpleDB, and SQS Cloud Services)&lt;/p&gt;

  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-ZY8Ak-s5G_s/TyiRwaZyWaI/AAAAAAAAadE/sXO8khcMU9Q/s1600-h/image%25255B100%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" align="right" src="http://lh4.ggpht.com/-vvPMdoFCMiQ/TyiRwv4l87I/AAAAAAAAadM/Fx6Doi6w2o8/image_thumb%25255B36%25255D.png?imgmax=800" width="160" height="59" /&gt;&lt;/a&gt;To create cloud-connected mobile applications, developers want to have choice and be able to reuse their assets and skills. For developers familiar with AWS, whether they’ve been developing for Android, iOS or any other technology, this SDK will allow them to comfortably port their applications to the Windows Phone Platform.&lt;/p&gt;

  &lt;p&gt;Terry Wise, Director of Business Development for Amazon Web Services, welcomes the release of the Amazon Web Services SDK for Windows Phone to the Developer community.&lt;/p&gt;

  &lt;p&gt;&lt;i&gt;“Our approach with AWS is to provide developers with choice and flexibility to build applications the way they want and give them unlimited storage, bandwidth and computing resources, while paying only for what they use. We welcome Windows Phone developers to the AWS community and look forward to providing customers with new ways to build and deploy Windows Phone applications,” he says.&lt;/i&gt;&lt;/p&gt;

  &lt;p&gt;Jean Paoli, General Manager of Interoperability Strategy at Microsoft, adds that Windows Phone was engineered from the get-go to be a Cloud-friendly phone.&lt;/p&gt;

  &lt;p&gt;&lt;i&gt;“The release of the AWS SDK for Windows Phone Beta proves that Microsoft’s goal of building a Cloud-friendly phone is true across vendor boundaries. It literally takes minutes to create a Cloud-ready application in C# with this SDK. We look forward to this SDK eventually resulting in many more great apps in the rapidly growing Windows Phone marketplace,” he said.&lt;/i&gt;&lt;/p&gt;

  &lt;p&gt;Developers can download the &lt;a href="https://github.com/downloads/Microsoft-Interop/AWS-SDK-for-WP/AWSWP7Setup.msi"&gt;SDK&lt;/a&gt; , along with the complete &lt;a href="https://github.com/Microsoft-Interop/AWS-SDK-for-WP"&gt;source code&lt;/a&gt; under the Apache license. A Getting Started guide can be found on the &lt;a href="http://windowsphone.interoperabilitybridges.com/articles/getting-started-with-the-beta-of-amazon-web-services-sdk-for-windows-phone"&gt;Windows Phone Interoperability Bridges site&lt;/a&gt; along with other resources.&lt;/p&gt;

  &lt;p&gt;And as always your feedback on how to improve this beta is welcome!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;strong&gt;Jeff Barr&lt;/strong&gt; (@&lt;a href="http://twitter.com/jeffbarr"&gt;jeffbarr&lt;/a&gt;) reported &lt;a href="http://feedproxy.google.com/~r/AmazonWebServicesBlog/~3/-YfCKJbkGpg/amazon-s3-growth-for-2011-now-762-billion-objects.html"&gt;Amazon S3 Growth for 2011 - Now 762 Billion Objects&lt;/a&gt; in a 1/30/2012 post:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-uGjeFV8tLMc/TyiRxI8C6SI/AAAAAAAAadU/u3eli3VJDe0/s1600-h/image%25255B25%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" align="right" src="http://lh3.ggpht.com/-2FU4mVphf7E/TyiRxadt0JI/AAAAAAAAadc/gSMKJJCBu0c/image_thumb%25255B9%25255D.png?imgmax=800" width="65" height="65" /&gt;&lt;/a&gt;As of the end of 2011, there are 762 billion (762,000,000,000) objects in Amazon S3. We process over 500,000 requests per second for these objects at peak times.&lt;/p&gt;

  &lt;p&gt;Here's the annual growth chart:&lt;/p&gt;

  &lt;p&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" alt="" src="http://media.amazonwebservices.com/blog/s3_growth_2011_3.png" /&gt;&lt;/p&gt;

  &lt;p&gt;This represents year-over-year growth of 192%; S3 grew faster last year than it did in any year since it launched in 2006.&lt;/p&gt;

  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-GjpHP9Clj_A/TyiRxo5KmpI/AAAAAAAAadk/q6DT6_ucLkY/s1600-h/image%25255B29%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" align="right" src="http://lh3.ggpht.com/-xE2UMneW7B8/TyiRyCWG3oI/AAAAAAAAads/JxQNyawH_xo/image_thumb%25255B11%25255D.png?imgmax=800" width="160" height="64" /&gt;&lt;/a&gt;Where are all of these objects coming from? Although we definitely made it easier for you to delete objects using &lt;a href="http://aws.typepad.com/aws/2011/12/amazon-s3-multi-object-deletion.html"&gt;Multi-Object Deletion &lt;/a&gt;and &lt;a href="http://aws.typepad.com/aws/2011/12/amazon-s3-object-expiration.html"&gt;Object Expiration&lt;/a&gt;, we also gave you plenty of ways to upload new objects using &lt;a href="http://aws.typepad.com/aws/2010/11/amazon-s3-multipart-upload.html"&gt;Multipart upload&lt;/a&gt;, &lt;a href="http://aws.amazon.com/directconnect/"&gt;AWS Direct Connect&lt;/a&gt;, and &lt;a href="http://aws.amazon.com/importexport/"&gt;AWS Import/Export&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;a href="#Top"&gt;&amp;lt;Return to section navigation list&amp;gt;&lt;/a&gt;&lt;/p&gt;

&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:d83352db-5ca6-43fe-aba1-4a8c0fa350b0" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Windows+Azure" rel="tag"&gt;Windows Azure&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Windows+Azure+Platform" rel="tag"&gt;Windows Azure Platform&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Azure+Services+Platform" rel="tag"&gt;Azure Services Platform&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Azure+Storage+Services" rel="tag"&gt;Azure Storage Services&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Azure+Table+Services" rel="tag"&gt;Azure Table Services&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Azure+Blob+Services" rel="tag"&gt;Azure Blob Services&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Azure+Drive+Services" rel="tag"&gt;Azure Drive Services&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Azure+Queue+Services" rel="tag"&gt;Azure Queue Services&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Azure+Service+Broker" rel="tag"&gt;Azure Service Broker&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Azure+Access+Services" rel="tag"&gt;Azure Access Services&lt;/a&gt;,&lt;a href="http://technorati.com/tags/SQL+Azure+Database" rel="tag"&gt;SQL Azure Database&lt;/a&gt;,&lt;a href="http://technorati.com/tags/SQL+Azure+Federations" rel="tag"&gt;SQL Azure Federations&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Open+Data+Protocol" rel="tag"&gt;Open Data Protocol&lt;/a&gt;,&lt;a href="http://technorati.com/tags/OData" rel="tag"&gt;OData&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Cloud+Computing" rel="tag"&gt;Cloud Computing&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Visual+Studio+LightSwitch" rel="tag"&gt;Visual Studio LightSwitch&lt;/a&gt;,&lt;a href="http://technorati.com/tags/LightSwitch" rel="tag"&gt;LightSwitch&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Amazon+Web+Services" rel="tag"&gt;Amazon Web Services&lt;/a&gt;,&lt;a href="http://technorati.com/tags/AWS" rel="tag"&gt;AWS&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Codename+%e2%80%9cSocial+Analytics%e2%80%9d" rel="tag"&gt;Codename “Social Analytics”&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Codename+%e2%80%9cData+Explorer%e2%80%9d" rel="tag"&gt;Codename “Data Explorer”&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Codename+%e2%80%9cCloud+Numerics%e2%80%9d" rel="tag"&gt;Codename “Cloud Numerics”&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Node.js" rel="tag"&gt;Node.js&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Apache+Hadoop+on+Windows+Azure" rel="tag"&gt;Apache Hadoop on Windows Azure&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Hadoop+on+Azure" rel="tag"&gt;Hadoop on Azure&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Hadoop" rel="tag"&gt;Hadoop&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Windows+Phone" rel="tag"&gt;Windows Phone&lt;/a&gt;,&lt;a href="http://technorati.com/tags/iOS" rel="tag"&gt;iOS&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11646261-1143930505878465291?l=oakleafblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oakleafblog.blogspot.com/feeds/1143930505878465291/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11646261&amp;postID=1143930505878465291' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11646261/posts/default/1143930505878465291'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11646261/posts/default/1143930505878465291'/><link rel='alternate' type='text/html' href='http://oakleafblog.blogspot.com/2012/01/windows-azure-and-cloud-computing-posts_31.html' title='Windows Azure and Cloud Computing Posts for 1/30/2012+'/><author><name>Roger Jennings (--rj)</name><uri>http://www.blogger.com/profile/01700526164060680385</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-0GeAX5t9PtI/TocwxoAK69I/AAAAAAAAQos/p5d6F13mkiw/s220/OakLeafLogoMVP100px.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/-OsoKl-OJ6tQ/TgtZhIThImI/AAAAAAAAMWc/azK-WT3s8xY/s72-c/image2222.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11646261.post-496394549611548406</id><published>2012-01-31T12:48:00.000-08:00</published><updated>2012-01-31T17:27:37.336-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Hadoop on Azure'/><category scheme='http://www.blogger.com/atom/ns#' term='Amazon S3'/><category scheme='http://www.blogger.com/atom/ns#' term='Azure'/><category scheme='http://www.blogger.com/atom/ns#' term='Data Mining'/><category scheme='http://www.blogger.com/atom/ns#' term='Azure Blob Storage Services'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows Azure'/><category scheme='http://www.blogger.com/atom/ns#' term='Hadoop'/><category scheme='http://www.blogger.com/atom/ns#' term='Astoria'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows Azure Storage'/><category scheme='http://www.blogger.com/atom/ns#' term='Apache Hadoop on Windows Azure'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows Azure Marketplace DataMarket'/><category scheme='http://www.blogger.com/atom/ns#' term='OData'/><category scheme='http://www.blogger.com/atom/ns#' term='Open Data Protocol'/><category scheme='http://www.blogger.com/atom/ns#' term='Apache Hadoop'/><category scheme='http://www.blogger.com/atom/ns#' term='Cloud Computing'/><title type='text'>Introducing Apache Hadoop Services for Windows Azure</title><content type='html'>&lt;p&gt;The &lt;strong&gt;SQL Server Team&lt;/strong&gt; (@&lt;a href="http://twitter.com/SQLServer"&gt;SQLServer&lt;/a&gt;) announced &lt;a href="https://www.hadooponazure.com/"&gt;Apache Hadoop Services for Windows Azure&lt;/a&gt;, a.k.a. &lt;em&gt;Apache Hadoop on Windows Azure&lt;/em&gt; or &lt;em&gt;Hadooop on Azure&lt;/em&gt;, at the Profesional Association for SQL Server (PASS) Summit in October 2011.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Update&lt;/strong&gt; 1/31/2011: Added steps 15 and 16 with Job History and Cluster Management for the TeraSort job.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Update&lt;/strong&gt; 1/30/2011: Added TeraSort job, steps 10 through 14, and TeraValidate job, steps 17 through 19. Waiting for response regarding interpretation of TeraValidate results.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Table of Contents&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Introduction&lt;/li&gt;    &lt;li&gt;Tutorial: Running the 10GB GraySort Sample’s TeraGen Job&lt;/li&gt;    &lt;li&gt;Tutorial: Running the 10GB GraySort Sample’s TeraSort Job&lt;/li&gt;    &lt;li&gt;Tutorial: Running the 10GB GraySort Sample’s TeraValidate Job&lt;/li&gt;    &lt;li&gt;Apache Hadoop on Windows Azure Resources&lt;/li&gt; &lt;/ul&gt;  &lt;hr /&gt;  &lt;p&gt;&lt;strong&gt;Introduction &lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Val Fontama&lt;/strong&gt;’s &lt;a href="http://blogs.technet.com/b/dataplatforminsider/archive/2011/12/14/availability-of-community-technology-preview-ctp-of-hadoop-based-service-on-windows-azure.aspx"&gt;Availability of Community Technology Preview (CTP) of Hadoop based Service on Windows Azure&lt;/a&gt; post of 12/14/2011 described Apache Hadoop on Windows Azure and how to obtain an invitation to the CTP:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-EIKuoi6Rx8o/TycRICArk8I/AAAAAAAAaNs/34H6LuiCork/s1600-h/image%25255B52%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" align="right" src="http://lh3.ggpht.com/-myun72CXo84/TycRIdM6tyI/AAAAAAAAaN0/tx8jZrSRyx4/image_thumb%25255B30%25255D.png?imgmax=800" width="53" height="66" /&gt;&lt;/a&gt;In October at the PASS Summit 2011, &lt;a href="http://blogs.technet.com/b/dataplatforminsider/archive/2011/10/13/microsoft-s-big-data-roadmap-amp-approach.aspx"&gt;Microsoft announced expanded investments in “Big Data”,&lt;/a&gt; including a new &lt;a href="http://hadoop.apache.org/"&gt;Apache Hadoop™&lt;/a&gt; based distribution for Windows Server and service for Windows Azure. In doing so, we extended Microsoft’s leadership in BI and Data Warehousing, enabling our customers to glean and manage insights for any data, any size, anywhere. We delivered on our promise this past Monday, when we announced the release of the Community Technology Preview (CTP) of our Hadoop based service for Windows Azure. &lt;/p&gt;    &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-dKpgz3QQVts/TycRItO-1kI/AAAAAAAAaN8/GKGGAmP10Ak/s1600-h/image%25255B49%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" align="right" src="http://lh5.ggpht.com/-jQ4fohcE6Zg/TycRI8oeZeI/AAAAAAAAaOE/BkID4JF6kwY/image_thumb%25255B29%25255D.png?imgmax=800" width="62" height="66" /&gt;&lt;/a&gt;Today this preview is available to an initial set of customers. Those interested in joining the preview may request to do so by filling out &lt;a href="http://connect.microsoft.com/SQLServer/Survey/Survey.aspx?SurveyID=13697"&gt;this survey&lt;/a&gt;. Microsoft will issue a code that will be used by the selected customers to access the Hadoop based Service. We look forward to making it available to the general public in early 2012. Customers will gain the following benefits from this preview:&lt;/p&gt;    &lt;ul&gt;     &lt;li&gt;&lt;a href="http://lh4.ggpht.com/-PgEm3QzHZSY/TyhI5Ox7iNI/AAAAAAAAaSQ/d7xxz8B1kzk/s1600-h/image%25255B127%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" align="right" src="http://lh3.ggpht.com/-bWZImsmpQKc/TyhI5kv0aHI/AAAAAAAAaSY/FsGhd0v9YLQ/image_thumb%25255B72%25255D.png?imgmax=800" width="65" height="57" /&gt;&lt;/a&gt;&lt;b&gt;Broader access to Hadoop&lt;/b&gt; through simplified deployment and programmability. Microsoft has simplified setup and deployment of Hadoop, making it possible to setup and configure Hadoop on Windows Azure in a few hours instead of days. Since the service is hosted on Windows Azure, customers only download a package that includes the Hive Add-in and Hive ODBC Driver. In addition, Microsoft has introduced new JavaScript libraries to make JavaScript a first class programming language in Hadoop. Through this library JavaScript programmers can easily write MapReduce programs in JavaScript, and run these jobs from simple web browsers. These improvements reduce the barrier to entry, by enabling customers to easily deploy and explore Hadoop on Windows. &lt;/li&gt;      &lt;li&gt;&lt;b&gt;&lt;a href="http://lh5.ggpht.com/-jNp8AXfFGUY/TycRJUHsVlI/AAAAAAAAaRY/ZoFjogK_OII/s1600-h/image%25255B94%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" align="right" src="http://lh6.ggpht.com/-3OPpfyFLNUc/TycRJm9YCmI/AAAAAAAAaRc/4074wT7Rha8/image_thumb%25255B53%25255D.png?imgmax=800" width="160" height="39" /&gt;&lt;/a&gt;Breakthrough insights&lt;/b&gt; through integration Microsoft Excel and BI tools. This preview ships with a new Hive Add-in for Excel that enables users to interact with data in Hadoop from Excel. With the Hive Add-in customers can issue Hive queries to pull and analyze unstructured data from Hadoop in the familiar Excel. Second, the preview includes a Hive ODBC Driver that integrates Hadoop with Microsoft BI tools. This driver enables customers to integrate and analyze unstructured data from Hadoop using award winning Microsoft BI tools such as PowerPivot and PowerView. As a result customers can gain insight on all their data, including unstructured data stored in Hadoop. &lt;/li&gt;      &lt;li&gt;&lt;b&gt;Elasticity&lt;/b&gt;, thanks to Windows Azure. This preview of the Hadoop based service runs on Windows Azure, offering an elastic and scalable platform for distributed storage and compute. &lt;/li&gt;   &lt;/ul&gt;    &lt;p&gt;We look forward to your feedback! Learn more at &lt;a href="http://www.microsoft.com/bigdata"&gt;www.microsoft.com/bigdata&lt;/a&gt;.       &lt;br /&gt;      &lt;br clear="all" /&gt;Val Fontama       &lt;br /&gt;Senior Product Manager       &lt;br /&gt;SQL Server Product Management&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;strong&gt;Mary Jo Foley&lt;/strong&gt; (@&lt;a href="http://twitter.com/maryjofoley"&gt;maryjofoley&lt;/a&gt;) ranked Apache Hadoop on Windows Azure #9 of her &lt;a href="http://m.zdnet.com/blog/microsoft/the-10-sexiest-microsoft-business-teases-for-2012/11492"&gt;10 sexiest Microsoft business teases for 2012&lt;/a&gt; on 12/29/2011:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;…&lt;/p&gt;    &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-cX2TFe_RXg4/TycV0o0BwYI/AAAAAAAAaRE/6lgdsec8tP0/s1600-h/image%25255B92%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" align="right" src="http://lh5.ggpht.com/-DWEv9F0A0NI/TycV0-32BlI/AAAAAAAAaRM/9uDMh1CQbZA/image_thumb%25255B52%25255D.png?imgmax=800" width="60" height="66" /&gt;&lt;/a&gt;9. &lt;strong&gt;AzureHadoop (or is it HadoopAzure?): &lt;/strong&gt;Microsoft made available the preview bits for the Hadoop distribution for Windows Azure in December 2011. The &lt;a href="http://www.zdnet.com/blog/microsoft/understanding-microsofts-big-picture-plans-for-hadoop-and-project-isotope/11466"&gt;final release is slated for March 2012&lt;/a&gt;. (Microsoft and partner Hortonworks are also working on an &lt;a href="http://www.zdnet.com/blog/microsoft/microsoft-to-develop-hadoop-distributions-for-windows-server-and-azure/10958"&gt;on-premises Hadoop on Windows Server distribution&lt;/a&gt;.)&lt;strong&gt; &lt;/strong&gt;Hadoop on Windows Azure is interesting because it combines Microsoft’s big-data plans and products with its cloud platform. The idea Microsoft will be pushing in 2012 is that Hadoop on Azure will give users of Microsoft’s analytics tools, including plain-old Excel, a way to make use of the growing number of data sets stored on Windows Azure.&lt;/p&gt;    &lt;p&gt;…&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;   &lt;hr /&gt;&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Tutorial: Running the 10GB GraySort Sample’s TeraGen Job&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Following is a step-by-step tutorial for running the first process of the 10GB GraySort sample project:&lt;/p&gt;  &lt;p&gt;1. After you receive your invitation code, navigate to &lt;a title="https://www.hadooponazure.com/" href="https://www.hadooponazure.com/"&gt;https://www.hadooponazure.com/&lt;/a&gt; and log-in with your Windows Live ID and invitation code to open the Account page with the Request a New Cluster content active. Type a globally unique DNS Name for your cluster, &lt;em&gt;hadoop1&lt;/em&gt; for this example, select a Cluster Size (Large for this example), and type a administrative Username, Password and password confirmation:&lt;/p&gt;  &lt;p align="center"&gt;&lt;a href="http://lh4.ggpht.com/-W5fnGl8pfJc/TycRKXULphI/AAAAAAAAaOc/y1ha-iquobQ/s1600-h/image%25255B57%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/-RCzUqeooW4E/TycRLQ-qu2I/AAAAAAAAaOk/gcJInDaOYro/image_thumb%25255B33%25255D.png?imgmax=800" width="642" height="743" /&gt;&lt;/a&gt;Click screen captures for a full-size (1024x768-px) image.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: There is no charge for Windows Azure resources used during the CTP, so you don’t need to provide a credit card to create your cluster. &lt;/p&gt;  &lt;p&gt;2. When your cluster is provisioned, the Account page’s content changes to include tiles to create a new job as well as access your cluster by different methods:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-rvlEVORvZxY/TycRMCGH8OI/AAAAAAAAaOs/j58IWxscssk/s1600-h/image%25255B11%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/-5ZIhUjUPA34/TycRNNc_LEI/AAAAAAAAaO0/ZWx_rgDbfXk/image_thumb%25255B7%25255D.png?imgmax=800" width="642" height="694" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: You must renew your cluster every three days. It’s clear that that faux-Metro UIs are &lt;em&gt;de rigueur&lt;/em&gt; at Microsoft these days.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;3. Click the Samples tile to open the Account/Samples page, which describes the currently available samples.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-fVCSB_w_GuM/TycRN_Yy9zI/AAAAAAAAaO8/UNX2fOquJN0/s1600-h/image%25255B16%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/-2MsoqP1qoNA/TycROrRZVzI/AAAAAAAAaPE/Omwfh4hcGy0/image_thumb%25255B10%25255D.png?imgmax=800" width="642" height="455" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;4. The GraySort MapReduce sample is a useful starting point because it runs in a reasonably short time (about 4 minutes with a Large cluster), so click the 10GB GraySort tile to open its Account/SampleDetails page, which describes the sample:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-UTM22D-5BzM/TycRPbNTSII/AAAAAAAAaPM/LfxajHUHJNo/s1600-h/image%25255B21%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/-7i2RvwIS_D8/TycRQLoKpGI/AAAAAAAAaPU/poupXM2SrfE/image_thumb%25255B13%25255D.png?imgmax=800" width="642" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;5. Click the Deploy to Your Cluster button to automatically populate text boxes with values for the TeraGen program, which generates 10 GB of data:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-aXa6GXFzyxw/TycRRI_72AI/AAAAAAAAaPc/xPFHAMS_mJI/s1600-h/image%25255B26%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/-9Guzgh7E594/TycRSDKDCZI/AAAAAAAAaPk/94UG-AQ4fEc/image_thumb%25255B16%25255D.png?imgmax=800" width="642" height="622" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: If you have tried SQL Azure Labs’ Microsoft Codename “Data Numerics” CTP, you’ll notice that the process for creating the Hadoop cluster and executing the first MapReduce job is much more automated that that described in my &lt;a href="http://oakleafblog.blogspot.com/2012/01/deploying-cloud-numerics-sample.html"&gt;Deploying “Cloud Numerics” Sample Applications to ...&lt;/a&gt; post of 1/28/2012 (updated 1/30/2012).&lt;/p&gt;  &lt;p&gt;5. Click the Execute Job button to run the TeraGen program, which initially displays this Job Info page:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/--DiWqV_lDjI/TycRS48_G-I/AAAAAAAAaPs/Ox0KXnrSII8/s1600-h/image%25255B31%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/-CajWc2gvrJw/TycRThGptSI/AAAAAAAAaP0/b3yJC5E3Ck0/image_thumb%25255B19%25255D.png?imgmax=800" width="642" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;6. After a few seconds, the program begins adding lines of Debut Output for the 50 maps in increments close to 1 percent:&lt;/p&gt;  &lt;p&gt;&lt;img src="https://sites.google.com/site/rogerjenn/home/Hadoop1ErrorFig7-907px.png" width="640" height="2357" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: Hadoop automatically repairs the failures reported above, but it’s surprising that lines for 78 and 79 percent are missing.&lt;/p&gt;  &lt;p&gt;7. When processing completes, click the left-arrow button to return to the Account page with a tile for the TeraGen process added:&lt;/p&gt;  &lt;p&gt;&lt;a href="https://sites.google.com/site/rogerjenn/home/Hadoop1ErrorFig7-907px.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/-WrzRLU0efaw/TycRa54f9UI/AAAAAAAAaRU/BBSU5G8C27A/image%25255B93%25255D.png?imgmax=800" width="642" height="694" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;8. Click the Job History tile to display a summary of the preceding operation, which confirms successful completion with an Exit Code = Ok cell:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-GA02Nxn8YKU/TycRbnLW3iI/AAAAAAAAaQc/_iiANjrQjMI/s1600-h/image%25255B46%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/-Kg0Xx0kP9BE/TycRcXTX94I/AAAAAAAAaQk/ySh1Hrzen1I/image_thumb%25255B28%25255D.png?imgmax=800" width="642" height="347" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;9. Click the left-arrow button to return to the main Accounts page and click the Manage Cluster tile to display total storage used (30 GB) and other data source options (Data Market, Windows Azure blob storage, and Amazon S3):&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-ZOgDIfa7ZeQ/TycRczqQopI/AAAAAAAAaQs/5Al68QPfjOg/s1600-h/image%25255B72%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/-mtSv8KJFZ_8/TycRdnlifwI/AAAAAAAAaQ0/fpPp0-_DSNU/image_thumb%25255B42%25255D.png?imgmax=800" width="642" height="386" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;hr /&gt;   &lt;p&gt;&lt;strong&gt;Tutorial: Running the 10GB GraySort Sample’s TeraSort Job&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;10. Return to the Account page, click the Samples tile to open the Account/Samples page (see step 3), click the 10GB GraySort tile to open its Account/SampleDetails page (see step 4), and click the Deploy to Your Cluster button to open the Create Job page. &lt;/p&gt;  &lt;p&gt;11. Replace teragen with &lt;strong&gt;terasort&lt;/strong&gt; in the Parameter 1 text box, add a space and =Dmapred.reduce.tasks=25 as a suffix to the existing Parameter 2 text box value, and change the Parameter 3 text box’s value to &lt;strong&gt;/example/data/10GB-sort-input /example/data/10GB-sort-out&lt;/strong&gt;:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-S-PwhJTDrWY/TydN9AyLCYI/AAAAAAAAaRg/EGHGLyxwfRY/s1600-h/image%25255B104%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/-OBJXwzNwOLo/TydN9-uQ5lI/AAAAAAAAaRo/a_kcTf3_XOg/image_thumb%25255B59%25255D.png?imgmax=800" width="642" height="622" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;12. Click the top, middle, and bottom arrow symbols adjacent to the three text boxes to validate the three parameter values:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-AVs_tzZZZEc/TydN_HXgifI/AAAAAAAAaRw/nSYJsuju3bU/s1600-h/image%25255B114%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/-kK2qPjVR_RM/TydN_xvTWSI/AAAAAAAAaR4/Y-4ZlLebRXA/image_thumb%25255B65%25255D.png?imgmax=800" width="642" height="622" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: If you receive &lt;strong&gt;&lt;font color="#ff0000"&gt;Invalid&lt;/font&gt;&lt;/strong&gt; instead of &lt;strong&gt;&lt;font color="#00aa2b"&gt;OK&lt;/font&gt;&lt;/strong&gt; for any of the parameter values and you’ve verified the content is identical to the above, click the garbage can symbols next to the offending text boxes to remove them, click Add Parameter button three times to recreate them, retype the parameter values shown above, and click the validation arrows again.&lt;/p&gt;  &lt;p&gt;The Final Command should read:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font face="Courier New"&gt;Hadoop jar hadoop-examples-0.20.203.1-SNAPSHOT.jar terasort &amp;quot;-Dmapred.map.tasks=50 -Dmapred.reduce.tasks=25&amp;quot; /example/data/10GB-sort-input /example/data/10GB-sort-out&lt;/font&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;13. Click the Execute Job button to start the sorting process:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-i6Wplq2hHQI/TydOAlwOBwI/AAAAAAAAaSA/8NWRQLBUjYs/s1600-h/image%25255B119%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/-3VCfAe2WOSQ/TydOBWfBwuI/AAAAAAAAaSI/OdDots3JRhE/image_thumb%25255B68%25255D.png?imgmax=800" width="642" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;14. About 45 minutes after you start the job, the StdOutput and StdError results appear:&lt;/p&gt;  &lt;p&gt;&lt;a href="https://sites.google.com/site/rogerjenn/home/Hadoop1SortExecuteDoneFig14-907px.png"&gt;&lt;img src="https://sites.google.com/site/rogerjenn/home/Hadoop1SortExecuteDoneFig14-907px.png" width="640" height="3009" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Notice that Reduce operations don’t occur until Mapping is ~80% complete.&lt;/p&gt;  &lt;p&gt;15. Click the Job History tile to display the summary for the TeraSort option:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-jLidiyvs9s4/TyhI6IVOYYI/AAAAAAAAaSg/LFdlFCQWbWY/s1600-h/image%25255B124%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/-CEtXDTh3iZI/TyhI7NDi-xI/AAAAAAAAaSo/COUKeYhOF-8/image_thumb%25255B71%25255D.png?imgmax=800" width="642" height="376" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;16. Return to the Account page and click the Manage Cluster tile to determine the additional storage space used (10 GB) by the TeraSort operation:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-OTs6-wp7QaQ/TyhI7316sWI/AAAAAAAAaSw/7FZbxx-f-XM/s1600-h/image%25255B132%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/-uE-eI1R2bU0/TyhI8e2rVsI/AAAAAAAAaS4/sEEIsJF_u78/image_thumb%25255B75%25255D.png?imgmax=800" width="642" height="376" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Tutorial: Running the 10GB GraySort Sample’s TeraSort Job&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;17. Return to the Account page, click the Samples tile to open the Account/Samples page (see step 3), click the 10GB GraySort tile to open its Account/SampleDetails page (see step 4), and click the Deploy to Your Cluster button to open the Create Job page. &lt;/p&gt;  &lt;p&gt;18. Delete the parameters and add three new empty parameters. Type &lt;strong&gt;teravalidate&lt;/strong&gt; in the Parameter 1 text box, click the arrow to validate the parameter, type &lt;strong&gt;&amp;quot;-Dmapred.map.tasks=50 -Dmapred.reduce.tasks=25&amp;quot;&lt;/strong&gt; in the Parameter 2 text box value and validate it, and &lt;strong&gt;type /example/data/10GB-sort-out /example/data/10GB-sort-validate&lt;/strong&gt; in the Parameter 3 text box’s value and validate it:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-k-56de4hRyU/TyhI9p-i9WI/AAAAAAAAaTA/wr4aH8ykDAg/s1600-h/image%25255B150%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/-RrEzerpjZD4/TyhI-VXa4SI/AAAAAAAAaTI/xvOx9vLyHbg/image_thumb%25255B85%25255D.png?imgmax=800" width="642" height="622" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;The final command should read:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font face="Courier New"&gt;Hadoop jar hadoop-examples-0.20.203.1-SNAPSHOT.jar teravalidate &amp;quot;-Dmapred.map.tasks=50 -Dmapred.reduce.tasks=25&amp;quot; /example/data/10GB-sort-out /example/data/10GB-sort-validate&lt;/font&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;19. Click the Execute Job button to start the task:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-bISl7Ntx4oI/TyhI_BmpovI/AAAAAAAAaTQ/oUWNgo9NRCg/s1600-h/image%25255B155%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/-TWQqOGjJouQ/TyhI__b-zBI/AAAAAAAAaTY/qq5IKPQxRLc/image_thumb%25255B88%25255D.png?imgmax=800" width="642" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;20. After about five minutes, the task completes with the following (partial) Debug Output:&lt;/p&gt;  &lt;p&gt;&lt;a href="https://sites.google.com/site/rogerjenn/home/Hadoop1TeraValidateDebugOutputFig20-1024px.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px" border="0" src="https://sites.google.com/site/rogerjenn/home/Hadoop1TeraValidateDebugOutputFig20-1024px.png" width="640" height="1000" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: It’s not clear from the debug output above how to determine the result of the validation task.&lt;/p&gt;  &lt;p&gt;21. Return to the Account page and click the Job history tile to verify the outcome:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-8ks6t8x9thk/TyhOhByJx5I/AAAAAAAAaTw/nbDezzVmMx4/s1600-h/image%25255B165%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/-zi4KUEqj-34/TyhOiF8nMrI/AAAAAAAAaT4/vxZ6m0V0ODw/image_thumb%25255B94%25255D.png?imgmax=800" width="642" height="465" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: Job #3’s failure was due to a mismatch in the input file name, as emphasized above.&lt;/p&gt;  &lt;p&gt;   &lt;hr /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Apache Hadoop on Windows Azure Resources&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Download&lt;/strong&gt; the &lt;u&gt;Apache Hadoop-based &lt;/u&gt;&lt;u&gt;Services for Windows Azure How-To and FAQ&lt;/u&gt; whitepaper in &lt;a href="http://isoprodstore.blob.core.windows.net/isotopectp/docs/Apache%20Hadoop-based%20Services%20for%20Windows%20Azure%20How-To%20and%20FAQ.pdf"&gt;PDF&lt;/a&gt; or &lt;a href="http://isoprodstore.blob.core.windows.net/isotopectp/docs/Apache%20Hadoop-based%20Services%20for%20Windows%20Azure%20How-To%20and%20FAQ.docx"&gt;*.docx&lt;/a&gt; format.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Wesley McSwain&lt;/strong&gt; posted a &lt;a href="http://social.technet.microsoft.com/wiki/contents/articles/6206.apache-hadoop-based-services-for-windows-azure-how-to-guide.aspx"&gt;Apache Hadoop Based Services for Windows Azure How To Guide&lt;/a&gt;, which is similar (but not identical) to the above document, to the TechNet wiki on 12/13/2011. The latest update when this post was written was 1/18/2012. Here’s its content:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;This content is a work in progress for the benefit of the Hadoop Community. &lt;strong&gt;Please feel free&lt;/strong&gt; to contribute to this wiki page based on your expertise and experience with Hadoop.&lt;/p&gt;    &lt;p&gt;If you have any questions, please use the groups DL &lt;a href="http://tech.groups.yahoo.com/group/hadooponazurectp/"&gt;http://tech.groups.yahoo.com/group/hadooponazurectp/ &lt;img title="This link is external to TechNet Wiki. It will open in a new window." border="0" src="http://social.technet.microsoft.com/wiki/cfs-file.ashx/__key/communityserver-components-sitefiles/10_5F00_external.png" /&gt; &lt;/a&gt;&lt;/p&gt;    &lt;h5&gt;Table of Contents&lt;/h5&gt;    &lt;ul&gt;     &lt;li&gt;&lt;a href="http://social.technet.microsoft.com/wiki/contents/articles/#How-Tos"&gt;How-Tos&lt;/a&gt;&lt;/li&gt;      &lt;li&gt;&lt;a href="http://social.technet.microsoft.com/wiki/contents/articles/#FAQs"&gt;FAQs&lt;/a&gt;&lt;/li&gt;      &lt;li&gt;&lt;a href="http://social.technet.microsoft.com/wiki/contents/articles/#More_Information"&gt;More Information&lt;/a&gt;&lt;/li&gt;      &lt;li&gt;&lt;a href="http://social.technet.microsoft.com/wiki/contents/articles/#Blogs_Twitter_to_Follow"&gt;Blogs / Twitter to Follow&lt;/a&gt;&lt;/li&gt;   &lt;/ul&gt;    &lt;h5&gt;&lt;a name="How-Tos"&gt;&lt;/a&gt;How-Tos&lt;/h5&gt;    &lt;ol&gt;     &lt;li&gt;Setup your Hadoop cluster        &lt;ul&gt;         &lt;li&gt;&lt;a href="http://social.technet.microsoft.com/wiki/contents/articles/6225.aspx"&gt;Provision a temporary Hadoop cluster on Microsoft's Elastic Map Reduce Portal&lt;/a&gt;&lt;/li&gt;          &lt;li&gt;&lt;a href="http://social.technet.microsoft.com/wiki/contents/articles/windows-azure-deployment-of-apache-hadoop-for-windows.aspx"&gt;Provision a new Hadoop cluster on your Windows Azure subscription.&lt;/a&gt;&lt;/li&gt;          &lt;li&gt;&lt;a href="http://social.technet.microsoft.com/wiki/contents/articles/6220.aspx"&gt;Provision a new Hadoop Cluster on your on-premise hardware.&lt;/a&gt;&lt;/li&gt;       &lt;/ul&gt;     &lt;/li&gt;      &lt;li&gt;Running Sample Jobs        &lt;ul&gt;         &lt;li&gt;&lt;a href="http://social.technet.microsoft.com/wiki/contents/articles/how-to-run-a-job-on-a-provisioned-hadoop-on-windows-azure-cluster.aspx"&gt;How to run Sample Pi Estimator Job&lt;/a&gt;&lt;/li&gt;          &lt;li&gt;&lt;a href="http://blogs.msdn.com/b/avkashchauhan/archive/2011/12/29/apache-hadoop-on-windows-azure-part-3-creating-a-word-count-hadoop-job-with-a-few-twists.aspx"&gt;Running Sample WordCount Hadoop Job with a few twists &lt;img title="This link is external to TechNet Wiki. It will open in a new window." border="0" src="http://social.technet.microsoft.com/wiki/cfs-file.ashx/__key/communityserver-components-sitefiles/10_5F00_external.png" /&gt; &lt;/a&gt;&lt;/li&gt;          &lt;li&gt;&lt;a href="http://blogs.msdn.com/b/avkashchauhan/archive/2011/12/30/apache-hadoop-on-windows-azure-part-5-running-10gb-sort-hadoop-job-with-teragen-terasort-and-teravalidate-options.aspx"&gt;Running 10GB Sort Hadoop Job with Teragen, TeraSort and TeraValidate Options &lt;img title="This link is external to TechNet Wiki. It will open in a new window." border="0" src="http://social.technet.microsoft.com/wiki/cfs-file.ashx/__key/communityserver-components-sitefiles/10_5F00_external.png" /&gt; &lt;/a&gt;&amp;#160;&lt;strong&gt;*&lt;/strong&gt;&lt;/li&gt;       &lt;/ul&gt;     &lt;/li&gt;      &lt;li&gt;Writing your own Job and running on Cluster        &lt;ul&gt;         &lt;li&gt;&lt;a href="http://blogs.msdn.com/b/avkashchauhan/archive/2011/12/31/apache-hadoop-on-windows-azure-part-7-writing-your-very-own-wordcount-hadoop-job-in-java-and-deploying-to-windows-azure-cluster.aspx"&gt;Writing your very own WordCount Hadoop Job in Java and deploying to Windows Azure Cluster &lt;img title="This link is external to TechNet Wiki. It will open in a new window." border="0" src="http://social.technet.microsoft.com/wiki/cfs-file.ashx/__key/communityserver-components-sitefiles/10_5F00_external.png" /&gt; &lt;/a&gt;&lt;/li&gt;          &lt;li&gt;&lt;a href="http://blogs.msdn.com/b/avkashchauhan/archive/2012/01/03/apache-hadoop-on-windows-azure-part-10-running-a-javascript-map-reduce-job-from-interactive-javascript-console.aspx"&gt;Running a JavaScript Map/Reduce Job&lt;/a&gt;&lt;img title="This link is external to TechNet Wiki. It will open in a new window." border="0" src="http://social.technet.microsoft.com/wiki/cfs-file.ashx/__key/communityserver-components-sitefiles/10_5F00_external.png" /&gt; &lt;/li&gt;       &lt;/ul&gt;     &lt;/li&gt;      &lt;li&gt;Job Administration        &lt;ul&gt;         &lt;li&gt;&lt;a href="http://blogs.msdn.com/b/avkashchauhan/archive/2011/12/30/apache-hadoop-on-windows-azure-part-6-running-10gb-sort-hadoop-job-with-terasort-option-and-understanding-mapreduce-job-administration.aspx"&gt;Understanding MapReduce Job administration by running 10GB Sort Hadoop Job with TeraSort Option &lt;img title="This link is external to TechNet Wiki. It will open in a new window." border="0" src="http://social.technet.microsoft.com/wiki/cfs-file.ashx/__key/communityserver-components-sitefiles/10_5F00_external.png" /&gt; &lt;/a&gt;&lt;/li&gt;       &lt;/ul&gt;     &lt;/li&gt;      &lt;li&gt;Interactive Console:        &lt;ul&gt;         &lt;li&gt;Tasks with the Interactive JavaScript Console            &lt;ul&gt;             &lt;li&gt;&lt;a href="http://blogs.msdn.com/b/avkashchauhan/archive/2012/01/03/apache-hadoop-on-windows-azure-part-10-running-a-javascript-map-reduce-job-from-interactive-javascript-console.aspx"&gt;How to create and run a JavaScript Map Reduce Job &lt;img title="This link is external to TechNet Wiki. It will open in a new window." border="0" src="http://social.technet.microsoft.com/wiki/cfs-file.ashx/__key/communityserver-components-sitefiles/10_5F00_external.png" /&gt; &lt;/a&gt;&lt;/li&gt;           &lt;/ul&gt;         &lt;/li&gt;          &lt;li&gt;Tasks with Hive on the Interactive Console            &lt;ul&gt;             &lt;li&gt;&lt;a href="http://blogs.msdn.com/b/avkashchauhan/archive/2012/01/09/apache-hadoop-on-windows-azure-running-hive-scripts-from-interactive-hive-console.aspx"&gt;How to run Hive Queries from the Interactive Console &lt;img title="This link is external to TechNet Wiki. It will open in a new window." border="0" src="http://social.technet.microsoft.com/wiki/cfs-file.ashx/__key/communityserver-components-sitefiles/10_5F00_external.png" /&gt; &lt;/a&gt;&lt;/li&gt;           &lt;/ul&gt;         &lt;/li&gt;       &lt;/ul&gt;     &lt;/li&gt;      &lt;li&gt;Remote Desktop        &lt;ul&gt;         &lt;li&gt;&lt;a href="http://blogs.msdn.com/b/avkashchauhan/archive/2011/12/29/apache-hadoop-on-windows-azure-part-4-remote-login-to-hadoop-node-for-mapreduce-job-and-hdfs-administration.aspx"&gt;How to remote login to Hadoop Cluster &lt;img title="This link is external to TechNet Wiki. It will open in a new window." border="0" src="http://social.technet.microsoft.com/wiki/cfs-file.ashx/__key/communityserver-components-sitefiles/10_5F00_external.png" /&gt; &lt;/a&gt;&lt;/li&gt;          &lt;li&gt;&lt;a href="http://blogs.msdn.com/b/avkashchauhan/archive/2012/01/01/apache-hadoop-on-windows-azure-part-8-hadoop-map-reduce-administration-from-command-line-in-cluster.aspx"&gt;Using The Hadoop Command Shell &lt;img title="This link is external to TechNet Wiki. It will open in a new window." border="0" src="http://social.technet.microsoft.com/wiki/cfs-file.ashx/__key/communityserver-components-sitefiles/10_5F00_external.png" /&gt; &lt;/a&gt;&lt;/li&gt;          &lt;li&gt;&lt;a href="http://blogs.msdn.com/b/avkashchauhan/archive/2011/12/29/apache-hadoop-on-windows-azure-part-4-remote-login-to-hadoop-node-for-mapreduce-job-and-hdfs-administration.aspx"&gt;View the Job Tracker &lt;img title="This link is external to TechNet Wiki. It will open in a new window." border="0" src="http://social.technet.microsoft.com/wiki/cfs-file.ashx/__key/communityserver-components-sitefiles/10_5F00_external.png" /&gt; &lt;/a&gt;&lt;/li&gt;          &lt;li&gt;&lt;a href="http://blogs.msdn.com/b/avkashchauhan/archive/2011/12/29/apache-hadoop-on-windows-azure-part-4-remote-login-to-hadoop-node-for-mapreduce-job-and-hdfs-administration.aspx"&gt;View Hdfs &lt;img title="This link is external to TechNet Wiki. It will open in a new window." border="0" src="http://social.technet.microsoft.com/wiki/cfs-file.ashx/__key/communityserver-components-sitefiles/10_5F00_external.png" /&gt; &lt;/a&gt;&lt;/li&gt;       &lt;/ul&gt;     &lt;/li&gt;      &lt;li&gt;Connecting Windows Azure Blob Storage from Hadoop Cluster        &lt;ul&gt;         &lt;li&gt;&lt;a href="http://blogs.msdn.com/b/avkashchauhan/archive/2012/01/05/apache-hadoop-on-windows-azure-connecting-to-windows-azure-storage-your-hadoop-cluster.aspx"&gt;Configuring Hadoop Cluster to connect with Azure Storage &lt;img title="This link is external to TechNet Wiki. It will open in a new window." border="0" src="http://social.technet.microsoft.com/wiki/cfs-file.ashx/__key/communityserver-components-sitefiles/10_5F00_external.png" /&gt; &lt;/a&gt;&lt;/li&gt;          &lt;li&gt;&lt;a href="http://blogs.msdn.com/b/avkashchauhan/archive/2012/01/05/using-windows-azure-blob-storage-asv-for-input-data-and-storing-results-in-hadop-map-reduce-job-on-windows-azure.aspx"&gt;Running a Hadoop job using Azure Storage as Input and Output paramteres &lt;img title="This link is external to TechNet Wiki. It will open in a new window." border="0" src="http://social.technet.microsoft.com/wiki/cfs-file.ashx/__key/communityserver-components-sitefiles/10_5F00_external.png" /&gt; &lt;/a&gt;&lt;/li&gt;       &lt;/ul&gt;     &lt;/li&gt;      &lt;li&gt;Open Ports        &lt;ul&gt;         &lt;li&gt;&lt;a href="http://social.technet.microsoft.com/wiki/contents/articles/how-to-connect-excel-to-hadoop-on-azure-via-hiveodbc.aspx"&gt;How to connect Excel to Hadoop on Azure via HiveODBC&lt;/a&gt;&lt;/li&gt;          &lt;li&gt;&lt;a href="http://social.technet.microsoft.com/wiki/contents/articles/how-to-ftp-data-to-hadoop-on-windows-azure.aspx"&gt;How to FTP data to Hadoop on Azure&lt;/a&gt;&lt;/li&gt;          &lt;li&gt;&lt;a href="http://social.technet.microsoft.com/wiki/contents/articles/6779.how-to-sftp-data-to-hadoop-on-windows-azure.aspx"&gt;How to SFTP data to Hadoop on Azure&lt;/a&gt;&lt;/li&gt;       &lt;/ul&gt;     &lt;/li&gt;      &lt;li&gt;Manage Data        &lt;ul&gt;         &lt;li&gt;&lt;a href="http://social.technet.microsoft.com/wiki/contents/articles/6857.how-to-import-data-to-hadoop-on-windows-azure-from-data-market.aspx"&gt;Import Data from Data Market&lt;/a&gt;&lt;/li&gt;          &lt;li&gt;&lt;a href="http://blogs.msdn.com/b/avkashchauhan/archive/2012/01/05/apache-hadoop-on-windows-azure-connecting-to-windows-azure-storage-your-hadoop-cluster.aspx"&gt;Setup ASV - Use your Windows Azure Blob Storage Account &lt;img title="This link is external to TechNet Wiki. It will open in a new window." border="0" src="http://social.technet.microsoft.com/wiki/cfs-file.ashx/__key/communityserver-components-sitefiles/10_5F00_external.png" /&gt; &lt;/a&gt;&lt;/li&gt;          &lt;li&gt;Setup S3 - Use your Amazon S3 account&lt;/li&gt;       &lt;/ul&gt;     &lt;/li&gt;      &lt;li&gt;Apache Hadoop on Windows Azure:        &lt;ul&gt;         &lt;li&gt;&lt;a href="http://blogs.msdn.com/b/avkashchauhan/archive/2012/01/06/apache-hadoop-on-windows-azure-few-tips-and-tricks-to-manage-your-hadoop-cluster-in-windows-azure.aspx"&gt;Tips and Tricks to manage your Hadoop Cluster &lt;img title="This link is external to TechNet Wiki. It will open in a new window." border="0" src="http://social.technet.microsoft.com/wiki/cfs-file.ashx/__key/communityserver-components-sitefiles/10_5F00_external.png" /&gt; &lt;/a&gt;&lt;/li&gt;          &lt;li&gt;&lt;a href="http://blogs.msdn.com/b/avkashchauhan/archive/2012/01/10/running-apache-pig-pig-latin-at-apache-hadoop-on-windows-azure.aspx"&gt;Running Apache Pig (Pig Latin) at Apache Hadoop on Windows Azure &lt;img title="This link is external to TechNet Wiki. It will open in a new window." border="0" src="http://social.technet.microsoft.com/wiki/cfs-file.ashx/__key/communityserver-components-sitefiles/10_5F00_external.png" /&gt; &lt;/a&gt;&lt;/li&gt;       &lt;/ul&gt;     &lt;/li&gt;      &lt;li&gt;Scenarios        &lt;ul&gt;         &lt;li&gt;&lt;a href="http://social.technet.microsoft.com/wiki/contents/articles/6628.aspx"&gt;Querying a Web Log File via HiveQL&lt;/a&gt;&lt;/li&gt;       &lt;/ul&gt;     &lt;/li&gt;   &lt;/ol&gt; &lt;/blockquote&gt;  &lt;h5&gt;*&lt;font style="font-weight: normal"&gt; Does not include details for TeraSort or TeraValidate options&lt;/font&gt;&lt;/h5&gt;  &lt;blockquote&gt;   &lt;h5&gt;FAQs&lt;/h5&gt;    &lt;ul&gt;     &lt;li&gt;&lt;a href="http://social.technet.microsoft.com/wiki/contents/articles/hadoop-on-azure-faq.aspx"&gt;Frequently asked questions with Hadoop on Windows Azure&lt;/a&gt;&lt;/li&gt;   &lt;/ul&gt;    &lt;h5&gt;&lt;a name="More_Information"&gt;&lt;/a&gt;More Information&lt;/h5&gt;    &lt;ul&gt;     &lt;li&gt;See &lt;a href="http://social.technet.microsoft.com/wiki/contents/articles/apache-hadoop-on-windows.aspx"&gt;Apache Hadoop On Windows&lt;/a&gt;.&lt;/li&gt;   &lt;/ul&gt;    &lt;h5&gt;&lt;a name="Blogs_Twitter_to_Follow"&gt;&lt;/a&gt;Blogs / Twitter to Follow&lt;/h5&gt;    &lt;p&gt;Below are some blogs to follow on Hadoop on Azure [links added]&lt;/p&gt;    &lt;ul&gt;     &lt;li&gt;&lt;strong&gt;Alexander Stojanovic&lt;/strong&gt; (Founder and [General Manager]) of Hadoop on Azure and Windows), @&lt;a href="http://twitter.com/stojanovic"&gt;stojanovic&lt;/a&gt;, &lt;a title="http://conceptualorigami.blogspot.com/" href="http://conceptualorigami.blogspot.com/"&gt;http://conceptualorigami.blogspot.com/&lt;/a&gt; &lt;/li&gt;      &lt;li&gt;&lt;strong&gt;Dave Vronay&lt;/strong&gt;, @&lt;a href="http://twitter.com/davevr"&gt;davevr&lt;/a&gt;, &lt;a title="http://dvronay.blogspot.com/2011/12/design-of-portal-for-hadooponazurecom.html" href="http://dvronay.blogspot.com/2011/12/design-of-portal-for-hadooponazurecom.html"&gt;http://dvronay.blogspot.com/2011/12/design-of-portal-for-hadooponazurecom.html&lt;/a&gt;&lt;/li&gt;      &lt;li&gt;&lt;strong&gt;Brad Sarsfield&lt;/strong&gt;, @&lt;a href="http://twitter.com/bradoop"&gt;bradoop&lt;/a&gt; &lt;/li&gt;      &lt;li&gt;&lt;strong&gt;Denny Lee&lt;/strong&gt;, @&lt;a href="http://twitter.com/dennylee"&gt;dennylee&lt;/a&gt;, &lt;a title="http://dennyglee.com/" href="http://dennyglee.com/"&gt;http://dennyglee.com/&lt;/a&gt; &lt;/li&gt;      &lt;li&gt;&lt;strong&gt;Avkash Chauhan&lt;/strong&gt;, @&lt;a href="http://twitter.com/avkashchauhan"&gt;avkashchauhan&lt;/a&gt;, &lt;a title="http://blogs.msdn.com/b/avkashchauhan/" href="http://blogs.msdn.com/b/avkashchauhan/"&gt;http://blogs.msdn.com/b/avkashchauhan/&lt;/a&gt;&lt;/li&gt;   &lt;/ul&gt; &lt;/blockquote&gt;  &lt;hr /&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:4d167e6a-1531-458e-8746-04c1d5fdd88f" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Windows+Azure" rel="tag"&gt;Windows Azure&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Apache+Hadoop+on+Windows+Azure" rel="tag"&gt;Apache Hadoop on Windows Azure&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Apache+Hadoop" rel="tag"&gt;Apache Hadoop&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Hadoop" rel="tag"&gt;Hadoop&lt;/a&gt;,&lt;a href="http://technorati.com/tags/MapReduce" rel="tag"&gt;MapReduce&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Cloud+Computing" rel="tag"&gt;Cloud Computing&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Big+Data" rel="tag"&gt;Big Data&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Big+Data+Analytics" rel="tag"&gt;Big Data Analytics&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Windows+Azure+Marketplace+DataMarketDataMarket" rel="tag"&gt;Windows Azure Marketplace DataMarketDataMarket&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Windows+Azure+Blobs" rel="tag"&gt;Windows Azure Blobs&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Amazon+S3" rel="tag"&gt;Amazon S3&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11646261-496394549611548406?l=oakleafblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oakleafblog.blogspot.com/feeds/496394549611548406/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11646261&amp;postID=496394549611548406' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11646261/posts/default/496394549611548406'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11646261/posts/default/496394549611548406'/><link rel='alternate' type='text/html' href='http://oakleafblog.blogspot.com/2012/01/introducing-apache-hadoop-services-for.html' title='Introducing Apache Hadoop Services for Windows Azure'/><author><name>Roger Jennings (--rj)</name><uri>http://www.blogger.com/profile/01700526164060680385</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-0GeAX5t9PtI/TocwxoAK69I/AAAAAAAAQos/p5d6F13mkiw/s220/OakLeafLogoMVP100px.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/-myun72CXo84/TycRIdM6tyI/AAAAAAAAaN0/tx8jZrSRyx4/s72-c/image_thumb%25255B30%25255D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11646261.post-8891267344813571530</id><published>2012-01-29T11:57:00.000-08:00</published><updated>2012-01-29T12:00:46.308-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Windows AppFabric'/><category scheme='http://www.blogger.com/atom/ns#' term='Hadoop on Azure'/><category scheme='http://www.blogger.com/atom/ns#' term='Azure Data Services'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL Azure'/><category scheme='http://www.blogger.com/atom/ns#' term='Azure'/><category scheme='http://www.blogger.com/atom/ns#' term='Codename &quot;Cloud Numerics&quot;'/><category scheme='http://www.blogger.com/atom/ns#' term='ADO.NET Data Services'/><category scheme='http://www.blogger.com/atom/ns#' term='Azure Blob Storage Services'/><category scheme='http://www.blogger.com/atom/ns#' term='Node.js'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows Azure'/><category scheme='http://www.blogger.com/atom/ns#' term='Team Foundation Services'/><category scheme='http://www.blogger.com/atom/ns#' term='Hadoop'/><category scheme='http://www.blogger.com/atom/ns#' term='Astoria'/><category scheme='http://www.blogger.com/atom/ns#' term='HPC'/><category scheme='http://www.blogger.com/atom/ns#' term='Azure Table Storage Services'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows HPC Server 2008 R2'/><category scheme='http://www.blogger.com/atom/ns#' term='LightSwitch'/><category scheme='http://www.blogger.com/atom/ns#' term='Open Data Protocol'/><category scheme='http://www.blogger.com/atom/ns#' term='OData'/><category scheme='http://www.blogger.com/atom/ns#' term='Cloud Computing'/><title type='text'>Windows Azure and Cloud Computing Posts for 1/27/2012+</title><content type='html'>&lt;p&gt;   &lt;table border="0" cellspacing="0" cellpadding="0" width="640"&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td valign="top" width="320"&gt;A compendium of Windows Azure, Service Bus, EAI &amp;amp; EDI Access Control, Connect, SQL Azure Database, and other cloud-computing articles. &lt;/td&gt;          &lt;td valign="top" width="320"&gt;&lt;img title="image222" border="0" alt="image222" align="right" src="http://lh5.ggpht.com/-OsoKl-OJ6tQ/TgtZhIThImI/AAAAAAAAMWc/azK-WT3s8xY/image2222.png?imgmax=800" width="291" height="47" /&gt;&lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/p&gt;  &lt;p&gt;&lt;img title="image433" border="0" alt="image433" src="http://lh3.ggpht.com/-wfwZuoYbLys/TgtZhzIkKKI/AAAAAAAAMWg/XcCB0z8djPs/image4333.png?imgmax=800" width="640" height="270" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;• Updated&lt;/strong&gt; 1/29/2012 with new articles marked &lt;strong&gt;•&lt;/strong&gt;.&lt;/p&gt;  &lt;p&gt;&lt;a name="Top"&gt;&lt;strong&gt;Note:&lt;/strong&gt;&lt;/a&gt; This post is updated daily or more frequently, depending on the availability of new articles in the following sections:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="#BTQ"&gt;Windows Azure Blob, Drive, Table, Queue and Hadoop Services&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="#SDS"&gt;SQL Azure Database, Federations and Reporting&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="#OData"&gt;Marketplace DataMarket, Social Analytics and OData &lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="#NET"&gt;Windows Azure Access Control, Service Bus, and Workflow&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="#WAVN"&gt;Windows Azure VM Role, Virtual Network, Connect, RDP and CDN&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="#Live"&gt;Live Windows Azure Apps, APIs, Tools and Test Harnesses&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="#Light"&gt;Visual Studio LightSwitch and Entity Framework v4+&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="#Infra"&gt;Windows Azure Infrastructure and DevOps&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="#WAPA"&gt;Windows Azure Platform Appliance (WAPA), Hyper-V and Private/Hybrid Clouds&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="#Security"&gt;Cloud Security and Governance&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="#Events"&gt;Cloud Computing Events&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="#Other"&gt;Other Cloud Computing Platforms and Services&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;hr /&gt;  &lt;h4&gt;&lt;a name="BTQ"&gt;Azure Blob, Drive, Table, Queue and Hadoop Services&lt;/a&gt;&lt;/h4&gt;  &lt;p&gt;&lt;strong&gt;• &lt;/strong&gt;&lt;strong&gt;Avkash Chauhan&lt;/strong&gt; (@&lt;a href="http://twitter.com/avkashchauhan"&gt;avkashchauhan&lt;/a&gt;) described &lt;a href="http://blogs.msdn.com/b/avkashchauhan/archive/2012/01/28/creating-your-own-hadoop-cluster-on-windows-azure-by-using-your-own-windows-azure-subscription-account.aspx"&gt;Creating your own Hadoop cluster on Windows Azure by using your own Windows Azure Subscription account&lt;/a&gt; in a 1/28/2012 post:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-dDQKlzmaCVQ/TyWk3tiHCgI/AAAAAAAAaLM/C0SPGAxmt0I/s1600-h/image%25255B48%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" align="right" src="http://lh6.ggpht.com/-34Bwyyv69GA/TyWk30aNmgI/AAAAAAAAaLU/3EuLjQOSR7s/image_thumb%25255B18%25255D.png?imgmax=800" width="65" height="62" /&gt;&lt;/a&gt;[The] Apache Hadoop distribution (currently in CTP) allows you to setup your own Hadoop cluster in Windows Azure cloud. This is article is written keeping those users in mind, who are very new to “Windows Azure” and “Hadoop on Windows Azure”. To have it running you would need the following:&lt;/p&gt;    &lt;ul&gt;     &lt;li&gt;&lt;a href="http://lh5.ggpht.com/-XcrQauXvPPQ/TyWk4FlndMI/AAAAAAAAaLc/tv59hJX42tY/s1600-h/image%25255B56%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" align="right" src="http://lh4.ggpht.com/-NOd1iW0RKQs/TyWk4e6FAjI/AAAAAAAAaLk/oB21qrP3W1U/image_thumb%25255B21%25255D.png?imgmax=800" width="160" height="27" /&gt;&lt;/a&gt;Active Windows Azure Subscription        &lt;ul&gt;         &lt;li&gt;Preconfigured Windows Azure Storage service&lt;/li&gt;          &lt;li&gt;About 16 available cores           &lt;ul&gt;             &lt;li&gt;You would need Extra Large instance – 8 Core for the head node&lt;/li&gt;              &lt;li&gt;The default installer creates 4 worker node each with medium instance – 2 core[s for] each medium instance&lt;/li&gt;              &lt;li&gt;So, to start the default creation, you would need 8 + 8 = 16 empty cores&lt;/li&gt;              &lt;li&gt;You &lt;strike&gt;sure&lt;/strike&gt; can change the number of worker node later to a desired number&lt;/li&gt;           &lt;/ul&gt;         &lt;/li&gt;       &lt;/ul&gt;     &lt;/li&gt;      &lt;li&gt;The machine you will use to deploy IsotopeEMR mu&lt;u&gt;st&lt;/u&gt;&lt;strike&gt;ch&lt;/strike&gt; have direct connectivity to Azure Management Portal        &lt;ul&gt;         &lt;li&gt;You would need the management certificate thumbprint &lt;/li&gt;       &lt;/ul&gt;     &lt;/li&gt;   &lt;/ul&gt;    &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-WSMW1pBVRkk/TyWk4wimRTI/AAAAAAAAaLs/Mn76Loc3NQk/s1600-h/image%25255B41%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" align="right" src="http://lh6.ggpht.com/-ZsHbt5JcoVE/TyWk54hVGuI/AAAAAAAAaL0/lvUhisC3VKw/image_thumb%25255B16%25255D.png?imgmax=800" width="163" height="42" /&gt;&lt;/a&gt;Get IsotopeEMR package and unzip it on your development machine which has connectivity to Azure Portal. After that edit IsotopEMR.exe.config as below:&lt;/p&gt;    &lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;appSettings&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;add&lt;/span&gt; &lt;span class="attr"&gt;key&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;SubscriptionId&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;value&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Your_Azure_Subscription_ID&amp;quot;&lt;/span&gt;&lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;add&lt;/span&gt; &lt;span class="attr"&gt;key&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;StorageAccount&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;value&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot; Your_Azure_Storage_Key&amp;quot;&lt;/span&gt;&lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;add&lt;/span&gt; &lt;span class="attr"&gt;key&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;CertificateThumbprint&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;value&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot; Your_Azure_Management_Certificate_Thumbprint&amp;quot;&lt;/span&gt;&lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;add&lt;/span&gt; &lt;span class="attr"&gt;key&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;ServiceVersion&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;value&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;CTP&amp;quot;&lt;/span&gt;&lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;add&lt;/span&gt; &lt;span class="attr"&gt;key&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;ServiceAccount&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;value&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;UserName_To_Login_Cluster&amp;quot;&lt;/span&gt;&lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;add&lt;/span&gt; &lt;span class="attr"&gt;key&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;ServicePassword&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;value&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot; Password_To_Login_Cluster &amp;quot;&lt;/span&gt;&lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;add&lt;/span&gt; &lt;span class="attr"&gt;key&lt;/span&gt;=”&lt;span class="attr"&gt;DeploymentLocation&lt;/span&gt;” &lt;span class="attr"&gt;value&lt;/span&gt;=”&lt;span class="attr"&gt;Chooce_Any_Datacenter_location&lt;/span&gt;(&lt;span class="attr"&gt;Do_Not_Use_Any&lt;/span&gt;*)”&lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;appSettings&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
  &lt;style type="text/css"&gt;
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }&lt;/style&gt;

  &lt;p&gt;After that launch the following command:&lt;/p&gt;

  &lt;p&gt;&amp;gt;isotopeEMR prep&lt;/p&gt;

  &lt;p&gt;This command [will] access you[r] Windows Azure storage and drop the package which will be used to build you[r] head node and worker node machine within [the] Hadoop Cluster.&lt;/p&gt;

  &lt;pre&gt;C:\Azure\isotopeNew\isotopeEMR&amp;gt;isotopeemr prep&lt;br /&gt;PrepStorageService&lt;br /&gt;Done&lt;/pre&gt;

  &lt;p&gt;Once prep command is completed successfully now you can start the cluster creation. Try to consider a unique name for your cluster because this name will be used as &amp;lt;your_hadoop_cluster_name&amp;gt;.cloudapp.net. Now launch the following command to start the cluster creation:&lt;/p&gt;

  &lt;p&gt;&amp;gt;&amp;gt; isotopeEMR create hadoopultra&lt;/p&gt;

  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-41-09/6607.hadoop121.png"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" border="0" alt="" src="http://blogs.msdn.com/resized-image.ashx/__size/400x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-41-09/6607.hadoop121.png" /&gt;&lt;/a&gt;&lt;/p&gt;

  &lt;p&gt;Within a few seconds you will see a new service crated at your Windows Azure management portal as below:&lt;/p&gt;

  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-41-09/4336.hadoop122.png"&gt;&lt;img border="0" alt="" src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-41-09/4336.hadoop122.png" /&gt;&lt;/a&gt;&lt;/p&gt;

  &lt;p&gt;After a little while, you will see one full IIS Web Role as Headnode and 4 worker nodes are being created as below:&lt;/p&gt;

  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-41-09/3276.hadoop123.png"&gt;&lt;img border="0" alt="" src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-41-09/3276.hadoop123.png" /&gt;&lt;/a&gt;&lt;/p&gt;

  &lt;p&gt;Then you will see some progress on your command windows as below explaining Bootstrapping is completed:&lt;/p&gt;

  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-41-09/4314.hadoop124.png"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" border="0" alt="" src="http://blogs.msdn.com/resized-image.ashx/__size/400x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-41-09/4314.hadoop124.png" /&gt;&lt;/a&gt;&lt;/p&gt;

  &lt;p&gt;Now you will see “Creating VM” message on command prompt:&lt;/p&gt;

  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-41-09/2388.hadoop125.png"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" border="0" alt="" src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-41-09/2388.hadoop125.png" /&gt;&lt;/a&gt;&lt;/p&gt;

  &lt;p&gt;.. which shows that your roles are initializing and all the nodes are starting…&lt;/p&gt;

  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-41-09/3426.hadoop126.png"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" border="0" alt="" src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-41-09/3426.hadoop126.png" /&gt;&lt;/a&gt;&lt;/p&gt;

  &lt;p&gt;Finally you will see “Starting VM” message ….&lt;/p&gt;

  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-41-09/3051.hadoop127.png"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" border="0" alt="" src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-41-09/3051.hadoop127.png" /&gt;&lt;/a&gt;&lt;/p&gt;

  &lt;p&gt;And then you might find status showing “RoleStateUnknown” which is possible while your instance is getting ready:&lt;/p&gt;

  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-41-09/4760.hadoop128.png"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" border="0" alt="" src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-41-09/4760.hadoop128.png" /&gt;&lt;/a&gt;&lt;/p&gt;

  &lt;p&gt;While looking at your Windows Azure Management portal you will see roles are in transitioning state:&lt;/p&gt;

  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-41-09/6378.hadoop129.png"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" border="0" alt="" src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-41-09/6378.hadoop129.png" /&gt;&lt;/a&gt;&lt;/p&gt;

  &lt;p&gt;For those who are very well known to Windows Azure role status they may see the familiar ‘Busy” status..&lt;/p&gt;

  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-41-09/3617.hadoop130.png"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" border="0" alt="" src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-41-09/3617.hadoop130.png" /&gt;&lt;/a&gt;&lt;/p&gt;

  &lt;p&gt;Portal will back the command windows status as well:&lt;/p&gt;

  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-41-09/0636.hadoop131.png"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" border="0" alt="" src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-41-09/0636.hadoop131.png" /&gt;&lt;/a&gt;&lt;/p&gt;

  &lt;p&gt;Finally the command windows will show the Hadoop cluster creation is completed:&lt;/p&gt;

  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-41-09/5700.hadoop132.png"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" border="0" alt="" src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-41-09/5700.hadoop132.png" /&gt;&lt;/a&gt;&lt;/p&gt;

  &lt;p&gt;And you will see all of you[r] roles are running fine in “Ready” state:&lt;/p&gt;

  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-41-09/4786.hadoop133.png"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" border="0" alt="" src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-41-09/4786.hadoop133.png" /&gt;&lt;/a&gt;&lt;/p&gt;

  &lt;p&gt;Now you can take a look [at your] Azure service details and you will find all the endpoint[s] in your service as well as how you &lt;strike&gt;use&lt;/strike&gt; access most of cluster functionalities which are available in any Hadoop cluster:&lt;/p&gt;

  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-41-09/4034.hadoop134.png"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" border="0" alt="" src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-41-09/4034.hadoop134.png" /&gt;&lt;/a&gt;&lt;/p&gt;

  &lt;p&gt;Now you can open your browser and open your service at &lt;a href="https://%3cyourservicename%3e.cloudapp.net/"&gt;https://&amp;lt;yourservicename&amp;gt;.cloudapp.net&lt;/a&gt;. Opening the page will ask you to enter credentials which you have used in IsotopeEMR.exe.config:&lt;/p&gt;

  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-41-09/4186.hadoop135.png"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" border="0" alt="" src="http://blogs.msdn.com/resized-image.ashx/__size/300x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-41-09/4186.hadoop135.png" /&gt;&lt;/a&gt;&lt;/p&gt;

  &lt;p&gt;And finally the web page will be open where you could explore all the Hadoop cluster management functions:&lt;/p&gt;

  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-41-09/7776.hadoop136.png"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" border="0" alt="" src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-41-09/7776.hadoop136.png" /&gt;&lt;/a&gt;&lt;/p&gt;

  &lt;p&gt;In my next blog entry I will dig further and provide more info on how to use your cluster and run map/reduce jobs.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Don’t forget that 16 cores will cost you US$0.12 per hour each = US$1.92/hour = US$46.08/day. I ran up a US$75.00 bill trying to get Microsoft Codename “Cloud Numerics” to run a job on 18 cores. (See the &lt;a href="#Live"&gt;Live Windows Azure Apps, APIs, Tools and Test Harnesses&lt;/a&gt; section below for more details.)&lt;/p&gt;

&lt;p&gt;
  &lt;hr /&gt;&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;• &lt;/strong&gt;&lt;strong&gt;Denny Lee&lt;/strong&gt; (@&lt;a href="http://twitter.com/dennylee"&gt;dennylee&lt;/a&gt;) described &lt;a href="http://dennyglee.com/2012/01/21/connecting-powerpivot-to-hadoop-on-azure-self-service-bi-to-big-data-in-the-cloud/"&gt;Connecting PowerPivot to Hadoop on Azure – Self Service BI to Big Data in the Cloud&lt;/a&gt; in a 1/21/2012 post (missed when published):&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-i1uQ9t88HOA/TyWk6FEWy_I/AAAAAAAAaL8/SpR2a3qhxYc/s1600-h/image%25255B37%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" align="right" src="http://lh5.ggpht.com/-wLjGsAWQld8/TyWk6leVnJI/AAAAAAAAaME/0j3Nfy3zivk/image_thumb%25255B14%25255D.png?imgmax=800" width="61" height="66" /&gt;&lt;/a&gt;During the &lt;a href="http://www.sqlpass.org/summit/2011/Live/LiveStreaming/LiveStreamingWednesday.aspx"&gt;PASS 2011 Keynote&lt;/a&gt; (back in October 2011), I had the honor to demo Hadoop on Windows / Azure. One of the key showcases during that presentation was to show how to connect PowerPivot to Hadoop on Windows. In this post, I show the steps on how to connect PowerPivot to Hadoop on Azure.&lt;/p&gt;

  &lt;h5&gt;Pre-requisites&lt;/h5&gt;

  &lt;ul&gt;
    &lt;li&gt;&lt;a href="http://lh3.ggpht.com/-1wY8XmmLn3U/TyWk6zRKvtI/AAAAAAAAaMM/8MzE5D6gHt0/s1600-h/image%25255B45%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" align="right" src="http://lh3.ggpht.com/-B6oUO1byGOI/TyWk7Gtp-PI/AAAAAAAAaMU/kQT_H9vlz5A/image_thumb%25255B17%25255D.png?imgmax=800" width="163" height="42" /&gt;&lt;/a&gt;&lt;a href="http://powerpivot.com"&gt;PowerPivot for Excel&lt;/a&gt; (as of this post, using SQL Server 2012 RC1 version) &lt;/li&gt;

    &lt;li&gt;Access to &lt;a href="http://hadooponazure.com"&gt;Hadoop on Azure CTP&lt;/a&gt;&lt;/li&gt;
  &lt;/ul&gt;

  &lt;h5&gt;Configuration Steps&lt;/h5&gt;

  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-fKYhNVVjbH4/TyWk7fi05OI/AAAAAAAAaMc/HolUOsd-L_k/s1600-h/image%25255B52%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" align="right" src="http://lh3.ggpht.com/-h_U3yW8JMrE/TyWk7iRrrcI/AAAAAAAAaMk/948CudKpqug/image_thumb%25255B20%25255D.png?imgmax=800" width="160" height="27" /&gt;&lt;/a&gt;&lt;strong&gt;1) Reference the following steps from &lt;a href="http://social.technet.microsoft.com/wiki/contents/articles/how-to-connect-excel-to-hadoop-on-azure-via-hiveodbc.aspx"&gt;How To Connect Excel to Hadoop on Azure via HiveODBC&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

  &lt;p&gt;The steps to follow are the:&lt;/p&gt;

  &lt;ul&gt;
    &lt;li&gt;Install the HiveODBC Driver (we will configure the DSN later) &lt;/li&gt;

    &lt;li&gt;Steps 1 – 3 from Using the Excel Hive Add-In to open the ports in Hadoop on Azure&lt;/li&gt;
  &lt;/ul&gt;

  &lt;p&gt;&lt;a href="http://dennyglee.files.wordpress.com/2012/01/image7.png"&gt;&lt;img title="image" border="0" alt="image" src="http://dennyglee.files.wordpress.com/2012/01/image_thumb7.png?w=428&amp;amp;h=343" width="428" height="343" /&gt;&lt;/a&gt;

    &lt;br /&gt;.

    &lt;br /&gt;.

    &lt;br /&gt;&lt;strong&gt;2) Create a Hive ODBC Data Source &amp;gt; File DSN&lt;/strong&gt;&lt;/p&gt;

  &lt;p&gt;Here, we will go about creating a File DSN Hive ODBC Data Source.&lt;/p&gt;

  &lt;blockquote&gt;
    &lt;p&gt;Thanks to &lt;strong&gt;Andrew Brust (@andrewbrust)&lt;/strong&gt;, the better way to make a connection from PowerPivot to Hadoop on Azure is to create a File DSN. This allows the full connection string to be stored directly within the PowerPivot workbook instead of relying on an existing DSN.&lt;/p&gt;
  &lt;/blockquote&gt;

  &lt;p&gt;To do this:&lt;/p&gt;

  &lt;ul&gt;
    &lt;li&gt;Go to the &lt;strong&gt;ODBC Data Sources Administrator&lt;/strong&gt; and click on the &lt;strong&gt;File DSN&lt;/strong&gt; tab.&lt;/li&gt;
  &lt;/ul&gt;

  &lt;p&gt;&lt;a href="http://dennyglee.files.wordpress.com/2012/01/image8.png"&gt;&lt;img title="image" border="0" alt="image" src="http://dennyglee.files.wordpress.com/2012/01/image_thumb8.png?w=325&amp;amp;h=297" width="325" height="297" /&gt;&lt;/a&gt;&lt;/p&gt;

  &lt;ul&gt;
    &lt;li&gt;Click on &lt;strong&gt;Add, &lt;/strong&gt;Choose &lt;strong&gt;HIVE, &lt;/strong&gt;Click&lt;strong&gt; Next, &lt;/strong&gt;Click &lt;strong&gt;Browse&lt;/strong&gt; to choose a location of the file; click &lt;strong&gt;Finish&lt;/strong&gt;.&lt;/li&gt;
  &lt;/ul&gt;

  &lt;p&gt;&lt;a href="http://dennyglee.files.wordpress.com/2012/01/image9.png"&gt;&lt;img title="image" border="0" alt="image" src="http://dennyglee.files.wordpress.com/2012/01/image_thumb9.png?w=325&amp;amp;h=258" width="325" height="258" /&gt;&lt;/a&gt;&lt;/p&gt;

  &lt;ul&gt;
    &lt;li&gt;Open the File DSN you just created and click &lt;strong&gt;Configure&lt;/strong&gt;. The &lt;strong&gt;ODBC Hive Setup&lt;/strong&gt; and configure the host (e.g. [clustername].cloudapp.net) and authentication information (the username is what you had specified when you had created the cluster)&lt;/li&gt;
  &lt;/ul&gt;

  &lt;p&gt;&lt;a href="http://dennyglee.files.wordpress.com/2012/01/image10.png"&gt;&lt;img title="image" border="0" alt="image" src="http://dennyglee.files.wordpress.com/2012/01/image_thumb10.png?w=323&amp;amp;h=388" width="323" height="388" /&gt;&lt;/a&gt;

    &lt;br /&gt;.

    &lt;br /&gt;.

    &lt;br /&gt;&lt;strong&gt;3) Connect PowerPivot to Hadoop on Azure via the HiveODBC File DSN&lt;/strong&gt;&lt;/p&gt;

  &lt;ul&gt;
    &lt;li&gt;Open up the PowerPivot ribbon and click on the &lt;strong&gt;Get External Data from Other Sources&lt;/strong&gt;.&lt;/li&gt;
  &lt;/ul&gt;

  &lt;p&gt;&lt;a href="http://dennyglee.files.wordpress.com/2012/01/image11.png"&gt;&lt;img title="image" border="0" alt="image" src="http://dennyglee.files.wordpress.com/2012/01/image_thumb11.png?w=287&amp;amp;h=160" width="287" height="160" /&gt;&lt;/a&gt;&lt;/p&gt;

  &lt;ul&gt;
    &lt;li&gt;From the &lt;strong&gt;Table Import Wizard&lt;/strong&gt;, click on the &lt;strong&gt;Others (OLEDB/ODBC) &lt;/strong&gt;and click&lt;strong&gt; Next.&lt;/strong&gt;&lt;/li&gt;
  &lt;/ul&gt;

  &lt;p&gt;&lt;a href="http://dennyglee.files.wordpress.com/2012/01/image12.png"&gt;&lt;img title="image" border="0" alt="image" src="http://dennyglee.files.wordpress.com/2012/01/image_thumb12.png?w=387&amp;amp;h=320" width="387" height="320" /&gt;&lt;/a&gt;&lt;/p&gt;

  &lt;ul&gt;
    &lt;li&gt;From here, click &lt;strong&gt;Build&lt;/strong&gt; and the &lt;strong&gt;Data Link Properties, &lt;/strong&gt;click on &lt;strong&gt;Provider&lt;/strong&gt;, and ensure the &lt;strong&gt;Microsoft OLEDB Provider for ODBC Drivers&lt;/strong&gt; is selected.&lt;strong&gt; &lt;/strong&gt;Click &lt;strong&gt;Next.&lt;/strong&gt;&lt;/li&gt;
  &lt;/ul&gt;

  &lt;ul&gt;
    &lt;li&gt;In the &lt;strong&gt;Data Link Properties&lt;/strong&gt; dialog, choose “&lt;strong&gt;Use connection string&lt;/strong&gt;”, and click &lt;strong&gt;Build &lt;/strong&gt;and choose the File DSN you had created from Step #2. Enter in the password to your Hadoop on Azure cluster. Click OK.&lt;/li&gt;
  &lt;/ul&gt;

  &lt;p&gt;&lt;a href="http://dennyglee.files.wordpress.com/2012/01/image13.png"&gt;&lt;img title="image" border="0" alt="image" src="http://dennyglee.files.wordpress.com/2012/01/image_thumb13.png?w=355&amp;amp;h=412" width="355" height="412" /&gt;&lt;/a&gt;&lt;/p&gt;

  &lt;ul&gt;
    &lt;li&gt;The &lt;strong&gt;Data Link Properties&lt;/strong&gt; now contains a &lt;em&gt;connection string&lt;/em&gt; do the Hadoop on Azure cluster.&lt;/li&gt;
  &lt;/ul&gt;

  &lt;p&gt;&lt;a href="http://dennyglee.files.wordpress.com/2012/01/image14.png"&gt;&lt;img title="image" border="0" alt="image" src="http://dennyglee.files.wordpress.com/2012/01/image_thumb14.png?w=264&amp;amp;h=343" width="264" height="343" /&gt;&lt;/a&gt;&lt;/p&gt;

  &lt;blockquote&gt;
    &lt;p&gt;Note, after this dialog, verify that the password has been entered into the connection string that that has been built into the &lt;strong&gt;Table Import Wizard&lt;/strong&gt;. Note, the blue arrow points to a lack of a PWD=&amp;lt;password&amp;gt; clause. If the password isn’t specified, make sure to add it back in.&lt;/p&gt;

    &lt;p&gt;&lt;a href="http://dennyglee.files.wordpress.com/2012/01/image15.png"&gt;&lt;img title="image" border="0" alt="image" src="http://dennyglee.files.wordpress.com/2012/01/image_thumb15.png?w=406&amp;amp;h=289" width="406" height="289" /&gt;&lt;/a&gt;&lt;/p&gt;
  &lt;/blockquote&gt;

  &lt;ul&gt;
    &lt;li&gt;Click OK, click Next. From here you will get the &lt;strong&gt;Table Import Wizard&lt;/strong&gt; and we are back to the usual PowerPivot steps.&lt;/li&gt;
  &lt;/ul&gt;

  &lt;ul&gt;
    &lt;li&gt;Click on “Select from a list of tables and views to choose the data to import”&lt;/li&gt;
  &lt;/ul&gt;

  &lt;p&gt;&lt;a href="http://dennyglee.files.wordpress.com/2012/01/image16.png"&gt;&lt;img title="image" border="0" alt="image" src="http://dennyglee.files.wordpress.com/2012/01/image_thumb16.png?w=258&amp;amp;h=308" width="258" height="308" /&gt;&lt;/a&gt;&lt;/p&gt;

  &lt;ul&gt;
    &lt;li&gt;Choose your table (e.g. hivesampletable) and import the data in.&lt;/li&gt;
  &lt;/ul&gt;

  &lt;p&gt;&lt;a href="http://dennyglee.files.wordpress.com/2012/01/image17.png"&gt;&lt;img title="image" border="0" alt="image" src="http://dennyglee.files.wordpress.com/2012/01/image_thumb17.png?w=437&amp;amp;h=338" width="437" height="338" /&gt;&lt;/a&gt;&lt;/p&gt;

  &lt;p&gt;It looks like a lot of steps but once you get into the flow of things, it’s actually a relatively easy flow.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;
  &lt;hr /&gt; &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Bruce Kyle&lt;/strong&gt; explained &lt;a href="http://blogs.msdn.com/b/usisvde/archive/2012/01/27/how-to-choose-between-windows-azure-queues-windows-azure-service-bus-queues.aspx"&gt;How to Choose Between Windows Azure Queues, Windows Azure Service Bus Queues&lt;/a&gt; in a 1/27/2012 post:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-vIlOba8qLXs/TyRY0IucjSI/AAAAAAAAZ_U/HjVEORO7lTE/s1600-h/image%25255B82%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" align="right" src="http://lh5.ggpht.com/-P4kaDI7kj58/TyRY0bcjQjI/AAAAAAAAZ_c/j7HBIxcvAEk/image_thumb%25255B27%25255D.png?imgmax=800" width="53" height="66" /&gt;&lt;/a&gt;One of the key patterns in building scalable applications is queues. Let’s say you have a Website or Web Service (in your Web Role) that responds quickly to a user request, but there’s another process that takes longer. It might be a long data base inquiry or video encoding or extensive calculation would be in a Worker Role. You may want to spin up more processors to work on those long term items too. The way the Web Role talks to your Worker Role is through queues.&lt;/p&gt;

  &lt;p&gt;&lt;a name="BTQ"&gt;&lt;img title="image" border="0" alt="image" align="right" src="http://lh6.ggpht.com/_GdO7DQgAn3w/TGmtBfGziyI/AAAAAAAAD00/qmrRPnvlwkA/image%5B88%5D.png?imgmax=800" width="160" height="25" /&gt;&lt;/a&gt;You could choose Windows Azure Queues as a dedicated queue storage mechanism built on top of the Windows Azure storage services. You add an item on the queue, and the Worker Role checks the queue and performs the work.&lt;/p&gt;

  &lt;p&gt;Of you might choose to use a Service Bus Queue when you want to run process messages in a particular order (guaranteed first-in-first-out. Or maybe you need to hold the item in a queue and store it for a while. Or maybe you need automatic duplicate detection.&lt;/p&gt;

  &lt;p&gt;A new article on MSDN analyzes the differences and similarities between the two types of queues offered by &lt;a href="http://windowsazure.com"&gt;Windows Azure&lt;/a&gt; today.&lt;/p&gt;

  &lt;ul&gt;
    &lt;li&gt;Windows Azure Queues. &lt;/li&gt;

    &lt;li&gt;Windows Azure Service Bus Queues. &lt;/li&gt;
  &lt;/ul&gt;

  &lt;p&gt;The article helps you compare and contrast the respective technologies and be able to make a more informed decision about which solution best meets your needs.&lt;/p&gt;

  &lt;p&gt;While both queuing technologies exist concurrently, Windows Azure Queues were introduced first, as a dedicated queue storage mechanism built on top of the Windows Azure storage services. Service Bus Queues, introduced with the latest release of the Service Bus, are built on top of the broader “brokered messaging” infrastructure designed to integrate applications or application components that may span multiple communication protocols, data contracts, trust domains, and/or network environments.&lt;/p&gt;

  &lt;p&gt;See &lt;a href="http://msdn.microsoft.com/en-us/library/hh767287(VS.103).aspx"&gt;Windows Azure Queues and Windows Azure Service Bus Queues - Compared and Contrasted&lt;/a&gt;.&lt;/p&gt;

  &lt;p&gt;The article describes scenarios and does a feature by feature comparison.&lt;/p&gt;

  &lt;h5&gt;About Queuing in Windows Azure&lt;/h5&gt;

  &lt;p&gt;Both Windows Azure Queues and Service Bus Queues are implementations of the message queuing service currently offered on Windows Azure. Each has a slightly different feature set, which means you can choose one or the other, or use both, depending on the needs of your particular solution or business/technical problem you are solving.&lt;/p&gt;

  &lt;p&gt;&lt;strong&gt;Windows Azure Queues&lt;/strong&gt;, which are part of the &lt;a href="http://www.windowsazure.com/en-us/home/tour/storage"&gt;Windows Azure storage&lt;/a&gt; infrastructure, feature a simple REST-based Get/Put/Peek interface, providing reliable, persistent messaging within and between services.&lt;/p&gt;

  &lt;p&gt;&lt;strong&gt;Service Bus Queues&lt;/strong&gt; are part of a broader &lt;a href="http://www.windowsazure.com/en-us/home/tour/service-bus/"&gt;Windows Azure messaging&lt;/a&gt; infrastructure that supports queuing as well as publish/subscribe, Web service remoting, and integration patterns.&lt;/p&gt;

  &lt;h5&gt;In the Article&lt;/h5&gt;

  &lt;p&gt;Compares Windows Azure Queues and Service Bus Queues:&lt;/p&gt;

  &lt;ul&gt;
    &lt;li&gt;Ordering guarantee &lt;/li&gt;

    &lt;li&gt;Delivery guarantee &lt;/li&gt;

    &lt;li&gt;Transaction support &lt;/li&gt;

    &lt;li&gt;Receive behavior &lt;/li&gt;

    &lt;li&gt;Receive mode &lt;/li&gt;

    &lt;li&gt;Exclusive access mode &lt;/li&gt;

    &lt;li&gt;Lease/Lock duration and granularity &lt;/li&gt;

    &lt;li&gt;Batched send and receive &lt;/li&gt;
  &lt;/ul&gt;

  &lt;h5&gt;Overviews&lt;/h5&gt;

  &lt;h5&gt;Service Bus Queues&lt;/h5&gt;

  &lt;ul&gt;
    &lt;li&gt;&lt;a href="http://channel9.msdn.com/Events/BUILD/BUILD2011/SAC-862T"&gt;Building loosely-coupled apps with Windows Azure Service Bus Topics and Queues (video)&lt;/a&gt; &lt;/li&gt;

    &lt;li&gt;&lt;a href="http://blogs.msdn.com/b/appfabric/archive/2011/05/17/an-introduction-to-service-bus-queues.aspx"&gt;An Introduction to Service Bus Queues&lt;/a&gt; &lt;/li&gt;

    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/hh689723(VS.103).aspx"&gt;Creating Applications that Use Service Bus Queues&lt;/a&gt; in &lt;a href="http://msdn.microsoft.com/en-us/library/gg456500.aspx"&gt;Windows Azure Developer Guidance&lt;/a&gt; &lt;/li&gt;

    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/hh699844(VS.103).aspx"&gt;Creating Applications that Use Service Bus Topics and Subscriptions&lt;/a&gt; in &lt;a href="http://msdn.microsoft.com/en-us/library/gg456500.aspx"&gt;Windows Azure Developer Guidance&lt;/a&gt; &lt;/li&gt;
  &lt;/ul&gt;

  &lt;h5&gt;Windows Azure Queues&lt;/h5&gt;

  &lt;ul&gt;
    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/windowsazure/dd179363.aspx"&gt;Queue Service REST API&lt;/a&gt; &lt;/li&gt;

    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/gg271294"&gt;Exercise 3: Working with Queues&lt;/a&gt; &lt;/li&gt;
  &lt;/ul&gt;

  &lt;h5&gt;Getting Started with Code&lt;/h5&gt;

  &lt;ul&gt;
    &lt;li&gt;&lt;a href="http://www.microsoft.com/download/en/details.aspx?displaylang=en&amp;amp;id=8396"&gt;Windows Azure Training Kit - December Refresh&lt;/a&gt; &lt;/li&gt;
  &lt;/ul&gt;
&lt;/blockquote&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;strong&gt;Nuno Godinho&lt;/strong&gt; (@&lt;a href="https://twitter.com/#!/NunoGodinho"&gt;NunoGodinho&lt;/a&gt;) described &lt;a href="http://acloudyplace.com/2012/01/8-essential-best-practices-in-windows-azure-blob-storage/"&gt;8 Essential Best Practices in Windows Azure Blob Storage&lt;/a&gt; in a 1/27/20 post to Red Gate Software’s ACloudyPlace blog:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-nlnVWZNWsmM/TyRY0nHw8JI/AAAAAAAAZ_k/g8k5pfMeIJ0/s1600-h/image%25255B9%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" align="right" src="http://lh3.ggpht.com/-DT6HryxYVzA/TyRY02aDGoI/AAAAAAAAZ_s/e85clvR-N7E/image_thumb%25255B3%25255D.png?imgmax=800" width="65" height="64" /&gt;&lt;/a&gt;The Windows Azure platform has been growing rapidly, both in terms of functionality and number of active users. Key to this growth is Windows Azure Storage, which allows users to store several different types of data for a very low cost. However, this is not the only benefit as it also provides a means to auto scale data to deliver seamless availability with minimal effort.&lt;/p&gt;

  &lt;p&gt;&lt;a name="BTQ"&gt;&lt;img title="image" border="0" alt="image" align="right" src="http://lh6.ggpht.com/_GdO7DQgAn3w/TGmtBfGziyI/AAAAAAAAD00/qmrRPnvlwkA/image%5B88%5D.png?imgmax=800" width="160" height="25" /&gt;&lt;/a&gt;Windows Azure Storage provides a way to store 3 types of data:&lt;/p&gt;

  &lt;ul&gt;
    &lt;li&gt;Files, inside Blob Storage ( as either Block or Page Blobs) &lt;/li&gt;

    &lt;li&gt;Data, inside Table Storage &lt;/li&gt;

    &lt;li&gt;Messages, inside Queue Storage &lt;/li&gt;
  &lt;/ul&gt;

  &lt;p&gt;Additionally, the Cloud Drive (a special form of ‘Blob’) provides a means to store NTFS VHDs inside Blob Storage; however, this won’t be covered in this article.&lt;/p&gt;

  &lt;p&gt;When using Windows Azure Storage, users are billed for 3 components: traffic (outbound), storage space and transactions (operations performed on storage contents). All of these influence the costs and the availability of the contents. Throughout this article I’ll discuss 8 essential best practices to support you in maintaining and controlling both cost and availability. In this article I’ll look only at the best practices for the Public Containers inside Blob Storage and in future articles we’ll talk about the other types of storage.&lt;/p&gt;

  &lt;h5&gt;Best Practices for Blob Storage&lt;/h5&gt;

  &lt;p&gt;&lt;strong&gt;1. Always define content-type of each element&lt;/strong&gt; 

    &lt;br /&gt;It’s crucial to correctly define the content type of each Storage Blob in order for the client to correctly handle the contents being sent. 

    &lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;

  &lt;p&gt;&lt;strong&gt;2. Always define the Cache-Control header for each element&lt;/strong&gt; 

    &lt;br /&gt;The Cache-Control header is very important as it allows you to improve the availability of a Blob and at the same time decrease significantly the number of transactions that are made in each storage control. For example, imagine you have a static website placed inside the Blob Storage, if the Cache-Control header is configured correctly; the cache can be placed on the client-side in order to decrease the traffic being served as the Blob already exists on the client side. 

    &lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;

  &lt;p&gt;&lt;strong&gt;3. Always upload contents to Blob Storage in parallel&lt;/strong&gt; 

    &lt;br /&gt;Uploading contents data to Blob Storage can be time consuming. Obviously, performance depends on the volume of data being sent, however it is possible to perform this operation faster by uploading data in parallel, which is supported by both Page and Block Blobs (I’ll discuss these below). This way you can reduce the amount of time needed to upload Blob contents. For example, I uploaded 70GB of data to Windows Azure Storage the other day using a third-party tool, and suddenly it was telling me that it would take over 1700 hours to complete! However, when I performed a parallel upload, I was able to upload everything in just approximately 8 hours. 

    &lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;

  &lt;p&gt;&lt;strong&gt;4. Choose the right type of Blob&lt;/strong&gt; 

    &lt;br /&gt;Windows Azure Blob Storage comes in two varieties: Block and Page Blobs, both with differing characteristics. It is crucial to select the correct type of Blob in order to get the best results. Choose Block Blob if you want to stream your contents, as it can be consumed in blocks, rendering it easier and simpler for streaming solutions; it’s also crucial to parallel the upload and downloads of those blobs. Choose Page Blob if you need to write intensively to the Blob; for example a VHD (Cloud Drive is a Page Blob), as Page Blobs allow you to write to a particular part, or ‘page’ of the Blob. As a result this leaves all other contents unaffected if they are being accessed. 

    &lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;

  &lt;p&gt;&lt;strong&gt;5. Use ‘Get Blob Properties’ or ‘Get Blob Metadata’ whenever you only need that specific information&lt;/strong&gt; 

    &lt;br /&gt;Blobs have distinct information in properties and metadata. Properties are defined by default by Windows Azure, and Metadata are additional properties you can add to the Blob. In order to avoid unnecessary usage of the Blob, use the correct GET method, as well as not getting the entire Blob if we only require its metadata or property information. 

    &lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;

  &lt;p&gt;&lt;strong&gt;6. Take snapshots to improve availability and caching&lt;/strong&gt; 

    &lt;br /&gt;To increase the availability of Storage Blobs, it’s possible to create a snapshot of the Blob. This will allow you to have a kind of ‘copy’ of the Blob without needing to pay extra for it, as long as the snapshot does not differ from the original. Consequently snapshots may be used to increase the availability of the system since we can have several ‘copies’ of the same Blob and serve them to the customer. Furthermore, and more importantly snapshots may be used as a way to improve availability by assigning them as the default Storage Blob to be accessed by all clients performing read operations, leaving the original Blob only for writes. Overall snapshots allow the user to perform caching of data at the Blob level, thus increasing the availability of the Blob. 

    &lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;

  &lt;p&gt;&lt;strong&gt;7. Enable the ‘Content Delivery Network’ for better availability&lt;/strong&gt; 

    &lt;br /&gt;Another very important part of improving availability and reducing latency is the usage of the Content Delivery Network (CDN). The CDN reduces latency and increases availability by placing a duplicate of your Blob closer to the client. Accordingly each client is redirected to the closest CDN node, of the Blobs. It is important to note that since a copy of the Blob will be placed on a CDN Node closest to the client, the costs will increase, however you will not be charged for Storage transaction costs for each client access to the Blob since the client is hitting the CDN node and not the Storage. This happens because the “copy” already exists in the CDN. But let’s explain this more in terms of cost when using CDN. Once you enable CDN your blob will be automatically replicated to all CDN nodes, so there will be costs in terms of Storage Transactions and Transfer (From Storage to each CDN node) since the blob is being downloaded, but after that every client that accesses it will be served with the “copy” that exists in the CDN node closest to him. Only Traffic costs will be charged due to the download. The process will restart once the “copy” that exists in the CDN node expires due to the TTL.&lt;/p&gt;

  &lt;p&gt;Quick Note: CDN is in Windows Azure Storage and is only available for public containers, so the process will be different for private containers. 
    &lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;

  &lt;p&gt;&lt;strong&gt;8. Serve static contents directly from Blob Storage&lt;/strong&gt; 

    &lt;br /&gt;Windows Azure Blob Storage is ideal for hosting static websites, since it doesn’t require any scaling work in order to improve availability, because this will be done automatically by the platform. It’s also possible to reduce your costs if the best practices presented previously are followed. Consequently this is an effective and economical way to host a static website.&lt;/p&gt;

  &lt;h5&gt;Summary&lt;/h5&gt;

  &lt;p&gt;In summary, how Blob Storage is managed is a very important consideration while using Windows Azure as it not only provides storage, but also delivers better availability through an auto scaling environment. Blob Storage also allows you to focus on your applications and data as opposed to infrastructure, and even provides a way to host simple or, static websites in a very cost effective manner.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Full disclosure&lt;/strong&gt;: I’m a paid contributor to ACloudyPlace.com&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;strong&gt;Avkash Chauhan&lt;/strong&gt; (@&lt;a href="http://twitter.com/avkashchauhan"&gt;avkashchauhan&lt;/a&gt;) described &lt;a href="http://blogs.msdn.com/b/avkashchauhan/archive/2012/01/27/setting-windows-amazon-s3-s3-as-data-source-directly-at-hadoop-on-azure-hadooponazure-com-portal.aspx"&gt;Setting Windows Amazon S3 (s3n://) as data source directly at Hadoop on Azure (hadooponazure.com) portal&lt;/a&gt; in a 1/27/2012 post:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-hGiazm3AF1M/TyRY1VkgVpI/AAAAAAAAZ_0/llGlR0-d0Zc/s1600-h/image%25255B22%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" align="right" src="http://lh4.ggpht.com/-dPxEt9yx7Uc/TyRY1kmBbnI/AAAAAAAAZ_8/4MuwD7LJyL4/image_thumb%25255B7%25255D.png?imgmax=800" width="65" height="62" /&gt;&lt;/a&gt;To get your Amazon S3 account setup with Apache Hadoop cluster on Windows Azure you just need your AWS security credentials, which pretty much look like as below:&lt;/p&gt;

  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-41-09/6622.hadoop111.png"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" border="0" alt="" src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-41-09/6622.hadoop111.png" /&gt;&lt;/a&gt;&lt;/p&gt;

  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-NFrTvqLH_Qs/TyRY17dz4sI/AAAAAAAAaAE/3g6jNyY3PUw/s1600-h/image_thumb3_thumb%25255B10%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image_thumb3_thumb" border="0" alt="image_thumb3_thumb" align="right" src="http://lh3.ggpht.com/-HE_RUFcd4a4/TyRY2MKWvFI/AAAAAAAAaAM/sPD_89MYlBc/image_thumb3_thumb_thumb%25255B2%25255D.png?imgmax=800" width="160" height="39" /&gt;&lt;/a&gt;After you completed creating Hadoop cluster in Windows Azure, you can log into your Hadoop Portal. In the portal, you can select “Manage Data” tile as below:&lt;/p&gt;

  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-41-09/0830.hadoop112.jpg"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" border="0" alt="" src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-41-09/0830.hadoop112.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;

  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-KtanQkr7bDI/TyRY2e0ZKkI/AAAAAAAAaAU/FtbnWzW-iEw/s1600-h/image%25255B30%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" align="right" src="http://lh4.ggpht.com/--C2qDhA4eEI/TyRY2l65BjI/AAAAAAAAaAc/SLWyW56H_YM/image_thumb%25255B9%25255D.png?imgmax=800" width="160" height="62" /&gt;&lt;/a&gt;On the next screen you can select:&lt;/p&gt;

  &lt;ul&gt;
    &lt;li&gt;“Set up ASV” to set your Windows Azure Blob Storage as data source &lt;/li&gt;

    &lt;li&gt;“Set up S3” to set your Amazon S3 Storage as data source &lt;/li&gt;
  &lt;/ul&gt;

  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-41-09/5125.hadoop113.jpg"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" border="0" alt="" src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-41-09/5125.hadoop113.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;

  &lt;p&gt;When you select “Set up S3”, in the next screen you would need to enter your Amazon S3 credentials as below:&lt;/p&gt;

  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-41-09/4606.hadoop114.png"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" border="0" alt="" src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-41-09/4606.hadoop114.png" /&gt;&lt;/a&gt;&lt;/p&gt;

  &lt;p&gt;After you select “Save Settings”, if you Amazon S3 Storage credentials are correct you will get the following message:&lt;/p&gt;

  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-41-09/1057.hadoop115.png"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" border="0" alt="" src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-41-09/1057.hadoop115.png" /&gt;&lt;/a&gt;&lt;/p&gt;

  &lt;p&gt;Now your Amazon S3 Storage is set up to use with Interactive JavaScript shell or you can remote into your cluster to access from there as well. You can test it directly at from Hadoop Command shell in your cluster as below:&lt;/p&gt;

  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-41-09/1121.hadoop116.png"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" border="0" alt="" src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-41-09/1121.hadoop116.png" /&gt;&lt;/a&gt;&lt;/p&gt;

  &lt;p&gt;Just to verify you can look your Amazon S3 storage in any S3 explorer tool as below:&lt;/p&gt;

  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-41-09/5417.hadoop117.jpg"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" border="0" alt="" src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-41-09/5417.hadoop117.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;

  &lt;p&gt;Note: If you really want to know how Amazon S3 Storage was configured with Hadoop cluster, it was done by adding proper Amazon S3 Storage credentials into core-site.xml as below (Open C:\Apps\Dist\conf\core-site.xml you will see the following parameters related with Amazon S3 Storage access from Hadoop Cluster):&lt;/p&gt;

  &lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;?&lt;/span&gt;&lt;span class="html"&gt;xml-stylesheet&lt;/span&gt; &lt;span class="attr"&gt;type&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;text/xsl&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;href&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;configuration.xsl&amp;quot;&lt;/span&gt;?&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="rem"&gt;&amp;lt;!-- Put site-specific property overrides in this file. --&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;configuration&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;property&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;name&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;hadoop.tmp.dir&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;name&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;value&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;/hdfs/tmp&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;value&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;description&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;A base for other temporary directories.&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;description&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;property&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;property&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;name&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;fs.default.name&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;name&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;value&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;hdfs://10.26.104.57:9000&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;value&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;property&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;property&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;name&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;io.file.buffer.size&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;name&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;value&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;131072&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;value&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;property&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;property&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;name&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;fs.s3n.awsAccessKeyId&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;name&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;value&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;YOUR_S3_ACCESS_KEY&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;value&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;property&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;property&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;name&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;fs.s3n.awsSecretAccessKey&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;name&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;value&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt; YOUR_S3_SECRET_KEY &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;value&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;property&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;configuration&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
  &lt;style type="text/css"&gt;




.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }&lt;/style&gt;

  &lt;p&gt;Resources:&lt;/p&gt;

  &lt;ul&gt;
    &lt;li&gt;&lt;a href="http://social.technet.microsoft.com/wiki/contents/articles/apache-hadoop-on-windows.aspx"&gt;Apache Hadoop on Windows Azure Technet WiKi&lt;/a&gt; &lt;/li&gt;
  &lt;/ul&gt;
&lt;/blockquote&gt;

&lt;hr /&gt;

&lt;p&gt;The &lt;strong&gt;Datanami Team&lt;/strong&gt; (@&lt;a href="https://twitter.com/#!/datanami"&gt;datanami&lt;/a&gt;) reported &lt;a href="http://www.datanami.com/datanami/2012-01-27/hadoop_events_crowd_2012_calendar.html"&gt;Hadoop Events Crowd 2012 Calendar&lt;/a&gt; on 1/27/2012:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-q-HGi09oljg/TyRY2wpnzDI/AAAAAAAAaAk/MV9JNK6V1dE/s1600-h/image%25255B57%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" align="right" src="http://lh5.ggpht.com/-w4qBQm7mEl4/TyRY3ODQ__I/AAAAAAAAaAs/HcZZ5ZXiZZM/image_thumb%25255B19%25255D.png?imgmax=800" width="65" height="41" /&gt;&lt;/a&gt;If this is indeed the “year of Hadoop” then it’s only fitting that the technology events lineup for the year is going to focus on the big data platform. While few events can match the size and scope of Hadoop World, a number of events are cropping up to offer training, user experiences and of course, plenty of excited vendor chatter.&lt;/p&gt;

  &lt;p&gt;&lt;img style="display: inline; float: right" alt="" align="right" src="http://media2.hpcwire.com/datanami/hadoopsumfront.jpg" width="219" height="219" /&gt;And speaking of Hadoop World, this week quite a bit of buzz was generated when Cloudera &lt;a href="http://www.marketwatch.com/story/cloudera-teams-with-oreilly-media-to-merge-hadoop-world-and-strata-conferences-2012-01-23"&gt;announced&lt;/a&gt; that it would be partnering with O’Reilly media to take over the Hadoop World franchise. The popular event, which sold out completely in 2011, will now be a featured part of the overall program at the 2012 Strata Conference, set to take place in October in New York.&lt;/p&gt;

  &lt;p&gt;For those who fail in scrambling for early tickets to the Hadoop World event, never fear—a host of other events promise some fulfilling sessions on all aspects of Hadoop. &lt;/p&gt;

  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-zBljEbwItD0/TyRY3QlyriI/AAAAAAAAaA0/GElq1T8H0Wo/s1600-h/image_thumb3_thumb%25255B14%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image_thumb3_thumb" border="0" alt="image_thumb3_thumb" align="right" src="http://lh5.ggpht.com/-EE1tjuGAs7w/TyRY3i36bYI/AAAAAAAAaA8/LuVvtoEVgOA/image_thumb3_thumb_thumb%25255B3%25255D.png?imgmax=800" width="160" height="39" /&gt;&lt;/a&gt;For instance, in the near term, those in the Denver area will be pleased to hear about a &lt;a href="http://www.cloudera.com/company/events/hadoop-and-big-data-seminar-denver/#agenda"&gt;free seminar&lt;/a&gt; on February 2, sponsored by Dell and Cloudera that covers Hadoop and big data. The day-long event features an introduction to Hadoop tutorial for the morning, followed by sessions from Doug Cutting, Apache Chairman and co-founder of Hadoop, Cloudera’s CEO and co-founder, Mike Olson, Matt Newom from Dell and speakers from Comcast to offer a user view of how Hadoop is being used to manage next-generation video capabilities.&lt;/p&gt;

  &lt;p&gt;Also around the corner is the &lt;a href="http://strataconf.com/strata2012/public/schedule/detail/22360"&gt;O’Reilly Strata Conference&lt;/a&gt; from February 28-March 1 in Santa Clara, CA. While this is not the Hadoop World event by any means, the lineup for this event puts great emphasis on big data and its enabling technologies, both on the user group and session side. Those present will hear from vendors, including HPCC Systems, Cloudera, MarkLogic, Microsoft and others and can find deep-dive sessions on Hadoop and all of its many moving parts (Pig, HBase, HDFS and so on).&lt;/p&gt;

  &lt;p&gt;March is a big month for Hadoop conference, with the &lt;a href="http://event.gigaom.com/structuredata/"&gt;Structure&lt;/a&gt; event from GigaOm taking over New York for two days. While the emphasis here is on big data generally, the role of the Hadoop ecosystem is expected to be of great importance.&lt;/p&gt;

  &lt;p&gt;Additionally, &lt;a href="http://summit.hortonworks.com/"&gt;Hadoop Summit 2012&lt;/a&gt;, which is sponsored by Hortonworks and Yahoo, will be coming to Silicon Valley for two days in mid-June. According to organizers, the event will outline the evolution of Hadoop into a next-generation data platform by featuring presentations from the developer, administrator and user ends of the Hadoop spectrum.&lt;/p&gt;

  &lt;p&gt;The program currently is set to contain over 60 sessions with six separate tracks backed by case studies, user experiences, and technology insights from developers and administrators. The organizers say the tracks will cover the future of Hadoop; deployment and operations; enterprise data architecture; applications and data science; and a track dedicated to “Hadoop in Action” featuring examples of how the platform is being leveraged in a number of settings.&lt;/p&gt;

  &lt;p&gt;Hadoop Summit 2012 will also feature a Hadoop training and certification program offered by Hortononworks, which will take place during the same week as the summit.&lt;/p&gt;

  &lt;p&gt;Also during the same week, Cloudera will be taking advantage of the interested crowd in town for the conference with its own week full of &lt;a href="http://www.cloudera.com/company/events/cloudera-training-surrounding-hadoop-summit/"&gt;training sessions&lt;/a&gt;, including a developer “bootcamp” and Hadoop training programs for managers and administrators. The Cloudera training week also will include Cloudera training for Hive, Pig and HBase as well as exam possibilities for those seeking to become Cloudera Certified Developers and Cloudera Certified Administrators.&lt;/p&gt;

  &lt;p&gt;More events will emerge as the year goes on and of course, this is a small sampling of what’s available. We’ll do our best to keep you up to date via our &lt;a href="http://www.datanami.com/events/topic/dnmevents"&gt;events listings&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;strong&gt;Edd Dumbill&lt;/strong&gt; (@&lt;a href="https://twitter.com/#!/edd"&gt;edd&lt;/a&gt;) asserted “Hadoop is a central part of Microsoft's data strategy” in an introduction to his &lt;a href="http://radar.oreilly.com/2012/01/microsoft-big-data.html"&gt;Microsoft's plan for Hadoop and big data&lt;/a&gt; post of 1/25/2012 to the O’Reilly Radar blog:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-OC2YKFJMQm4/TyRY31QdtoI/AAAAAAAAaBE/qs52Yu5TZRo/s1600-h/image%25255B88%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" align="right" src="http://lh4.ggpht.com/-g9XJjG-4PgU/TyRY4MJ3IAI/AAAAAAAAaBM/Okmo_-raR3Y/image_thumb%25255B29%25255D.png?imgmax=800" width="47" height="66" /&gt;&lt;/a&gt;Microsoft has placed &lt;a href="http://hadoop.apache.org/"&gt;Apache Hadoop&lt;/a&gt; at the core of its big data strategy. It's a move that might seem surprising to the casual observer, being a somewhat enthusiastic adoption of a significant open source product.&lt;/p&gt;

  &lt;p&gt;The reason for this move is that Hadoop, by its sheer popularity, has become the de facto standard for distributed data crunching. By embracing Hadoop, Microsoft allows its customers to access the rapidly-growing Hadoop ecosystem and take advantage of a growing talent pool of Hadoop-savvy developers.&lt;/p&gt;

  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-mpWRlLyyxDQ/TyRY4IMuPwI/AAAAAAAAaBU/ZXFRsosx9wQ/s1600-h/image_thumb3_thumb%25255B22%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image_thumb3_thumb" border="0" alt="image_thumb3_thumb" align="right" src="http://lh3.ggpht.com/-Q3ANaAI5mqs/TyRY4bwJFRI/AAAAAAAAaBc/J96ePU_VZf0/image_thumb3_thumb_thumb%25255B5%25255D.png?imgmax=800" width="160" height="39" /&gt;&lt;/a&gt;Microsoft's goals go beyond integrating Hadoop into Windows. It intends to contribute the adaptions it makes back to the Apache Hadoop project, so that anybody can run a purely open source Hadoop on Windows.&lt;/p&gt;

  &lt;h5&gt;Microsoft's Hadoop distribution&lt;/h5&gt;

  &lt;p&gt;The Microsoft &lt;a href="http://www.microsoft.com/sqlserver/en/us/solutions-technologies/business-intelligence/big-data-solution.aspx"&gt;distribution of Hadoop&lt;/a&gt; is currently in &amp;quot;Customer Technology Preview&amp;quot; phase. This means it is undergoing evaluation in the field by groups of customers. The expected release time is toward the middle of 2012, but will be influenced by the results of the technology preview program.&lt;/p&gt;

  &lt;p&gt;Microsoft's Hadoop distribution is usable either on-premise with Windows Server, or in Microsoft's cloud platform, Windows Azure. The core of the product is in the MapReduce, HDFS, Pig and Hive components of Hadoop. These are certain to ship in the 1.0 release.&lt;/p&gt;

  &lt;p&gt;As Microsoft's aim is for 100% Hadoop compatibility, it is likely that additional components of the Hadoop ecosystem such as Zookeeper, HBase, HCatalog and Mahout will also be shipped.&lt;/p&gt;

  &lt;p&gt;Additional components integrate Hadoop with Microsoft's ecosystem of business intelligence and analytical products:&lt;/p&gt;

  &lt;ul&gt;
    &lt;li&gt;Connectors for Hadoop, integrating it with SQL Server and SQL Sever Parallel Data Warehouse. &lt;/li&gt;

    &lt;li&gt;An ODBC driver for Hive, permitting any Windows application to access and run queries against the Hive data warehouse. &lt;/li&gt;

    &lt;li&gt;An Excel Hive Add-in, which enables the movement of data directly from Hive into Excel or PowerPivot. &lt;/li&gt;
  &lt;/ul&gt;

  &lt;p&gt;On the back end, Microsoft offers Hadoop performance improvements, integration with Active Directory to facilitate access control, and with System Center for administration and management.&lt;/p&gt;

  &lt;p&gt;&lt;a href="http://www.microsoft.com/sqlserver/en/us/solutions-technologies/business-intelligence/big-data-solution.aspx"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" border="0" alt="How Hadoop integrates with the Microsoft ecosystem" src="http://radar.oreilly.com/2012/01/25/0112-ms-hadoop.png" width="560" height="377" /&gt;&lt;/a&gt; 

    &lt;br /&gt;&lt;em&gt;How Hadoop integrates with the Microsoft ecosystem. (Source: &lt;a href="http://www.microsoft.com/sqlserver/en/us/solutions-technologies/business-intelligence/big-data-solution.aspx"&gt;microsoft.com&lt;/a&gt;.)&lt;/em&gt;&lt;/p&gt;

  &lt;h5&gt;Developers, developers, developers&lt;/h5&gt;

  &lt;p&gt;One of the most interesting features of Microsoft's work with Hadoop is the addition of a JavaScript API. Working with Hadoop at a programmatic level can be tedious: this is why higher-level languages such as Pig emerged.&lt;/p&gt;

  &lt;p&gt;Driven by its focus on the software developer as an important customer, Microsoft chose to add a &lt;a href="http://strataconf.com/strata2012/public/schedule/detail/22669"&gt;JavaScript layer&lt;/a&gt; to the Hadoop ecosystem. Developers can use it to create MapReduce jobs, and even interact with Pig and Hive from a browser environment.&lt;/p&gt;

  &lt;p&gt;The real advantage of the JavaScript layer should show itself in integrating Hadoop into a business environment, making it easy for developers to create intranet analytical environments accessible by business users. Combined with Microsoft's focus on bringing server-side JavaScript to Windows and Azure &lt;a href="http://www.zdnet.com/blog/microsoft/microsoft-joyent-deliver-first-stable-build-of-nodejs-on-windows/11178"&gt;through Node.js&lt;/a&gt;, this gives an interesting glimpse into Microsoft's view of where developer enthusiasm and talent will lie.&lt;/p&gt;

  &lt;p&gt;It's also good news for the broader Hadoop community, as Microsoft intends to contribute its JavaScript API to the Apache Hadoop open source project itself.&lt;/p&gt;

  &lt;p&gt;The other half of Microsoft's software development environment is of course the .NET platform. With Microsoft's Hadoop distribution, it will be possible to create MapReduce jobs from .NET, though using the Hadoop APIs directly. It is likely that higher-level interfaces will emerge in future releases. The same applies to Visual Studio, which over time will get increasing levels of Hadoop project support.&lt;/p&gt;

  &lt;h5&gt;Streaming data and NoSQL&lt;/h5&gt;

  &lt;p&gt;Hadoop covers part of the big data problem, but what about streaming data processing or NoSQL databases? The answer comes in two parts, covering existing Microsoft products and future Hadoop-compatible solutions.&lt;/p&gt;

  &lt;p&gt;Microsoft has some established products: Its streaming data solution called &lt;a href="http://www.microsoft.com/sqlserver/en/us/solutions-technologies/business-intelligence/complex-event-processing.aspx"&gt;StreamInsight&lt;/a&gt;, and for NoSQL, Windows Azure has a product called &lt;a href="http://www.windowsazure.com/en-us/home/tour/storage/"&gt;Azure Tables&lt;/a&gt;.&lt;/p&gt;

  &lt;p&gt;Looking to the future, the commitment of Hadoop compatibility means that streaming data solutions and NoSQL databases designed to be part of the Hadoop ecosystem should work with the Microsoft distribution — HBase itself will ship as a core offering. It seems likely that solutions such as &lt;a href="http://incubator.apache.org/s4/"&gt;S4&lt;/a&gt; will prove compatible.&lt;/p&gt;

  &lt;h5&gt;Toward an integrated environment&lt;/h5&gt;

  &lt;p&gt;Now that Microsoft is on the way to integrating the major components of big data tooling, does it intend to join it all together to provide an integrated data science platform for businesses?&lt;/p&gt;

  &lt;p&gt;That's certainly the vision, according to Madhu Reddy, senior product planner for Microsoft Big Data: &amp;quot;Hadoop is primarily for developers. We want to enable people to use the tools they like.&amp;quot;&lt;/p&gt;

  &lt;p&gt;The strategy to achieve this involves entry points at multiple levels: for developers, analysts and business users. Instead of choosing one particular analytical platform of choice, Microsoft will focus on interoperability with existing tools. Excel is an obvious priority, but other tools are also important to the company.&lt;/p&gt;

  &lt;p&gt;According to Reddy, data scientists represent a spectrum of preferences. While Excel is a ubiquitous and popular choice, other customers use Matlab, SAS, or R, for example.&lt;/p&gt;

  &lt;h5&gt;The data marketplace&lt;/h5&gt;

  &lt;p&gt;One thing unique to Microsoft as a big data and cloud platform is its data market, &lt;a href="https://datamarket.azure.com/"&gt;Windows Azure Marketplace&lt;/a&gt;. Mixing external data, such as geographical or social, with your own, can generate revealing insights. But it's hard to find data, be confident of its quality, and purchase it conveniently. That's where data marketplaces meet a need.&lt;/p&gt;

  &lt;p&gt;The availability of the Azure marketplace integrated with Microsoft's tools gives analysts a ready source of external data with some guarantees of quality. Marketplaces are in their infancy now, but will play a &lt;a href="http://radar.oreilly.com/2011/12/5-big-data-predictions-2012.html"&gt;growing role&lt;/a&gt; in the future of data-driven business.&lt;/p&gt;

  &lt;h5&gt;Summary&lt;/h5&gt;

  &lt;p&gt;The Microsoft approach to big data has ensured the continuing relevance of its Windows platform for web-era organizations, and makes its cloud services a competitive choice for data-centered businesses.&lt;/p&gt;

  &lt;p&gt;Appropriately enough for a company with a large and diverse software ecosystem of its own, the Microsoft approach is one of interoperability. Rather than laying out a golden path for big data, as suggested by the appliance-oriented approach of others, Microsoft is focusing heavily on integration.&lt;/p&gt;

  &lt;p&gt;The guarantee of this approach lies in Microsoft's choice to embrace and work with the Apache Hadoop community, enabling the migration of new tools and talented developers to its platform.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;strong&gt;Michael Kopp&lt;/strong&gt; posted &lt;a href="http://blog.dynatrace.com/2012/01/25/about-the-performance-of-map-reduce-jobs/"&gt;About the Performance of Map Reduce Jobs&lt;/a&gt; to the DynaTrace blog on 1/25/2012:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-xfk1ZJvGtEg/TyRY4kWNzcI/AAAAAAAAaBk/jLtBaVDg364/s1600-h/image%25255B16%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" align="right" src="http://lh4.ggpht.com/-EX9NoP9fQ40/TyRY45Cc5DI/AAAAAAAAaBs/V8EWMno9Yy4/image_thumb%25255B5%25255D.png?imgmax=800" width="52" height="66" /&gt;&lt;/a&gt;One of the big topics in the BigData community is Map/Reduce. There are a lot of good blogs that explain what Map/Reduce does and how it works logically, so I won’t repeat it (look &lt;a href="http://developer.yahoo.com/hadoop/tutorial/module4.html"&gt;here&lt;/a&gt;, &lt;a href="http://ayende.com/blog/4435/map-reduce-a-visual-explanation"&gt;here&lt;/a&gt; and &lt;a href="http://ksat.me/map-reduce-a-really-simple-introduction-kloudo/"&gt;here&lt;/a&gt; for a few). Very few of them however explain the technical flow of things, which I at least need, to understand the performance implications. You can always throw more hardware at a map reduce job to improve the overall time. I don’t like that as a general solution and many Map/Reduce programs can be optimized quite easily, if you know what too look for. And optimizing a large map/reduce jobs can be instantly translated into ROI!&lt;/p&gt;

  &lt;h5&gt;The Word Count Example&lt;/h5&gt;

  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-CdqW1arVH0Q/TyRY5LH1jpI/AAAAAAAAaB0/MuCboKRPgUs/s1600-h/image_thumb3_thumb%25255B6%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image_thumb3_thumb" border="0" alt="image_thumb3_thumb" align="right" src="http://lh5.ggpht.com/-8J9eNYCIx2Q/TyRY5QQnB1I/AAAAAAAAaB8/LdexozbUPmI/image_thumb3_thumb_thumb%25255B1%25255D.png?imgmax=800" width="160" height="39" /&gt;&lt;/a&gt;I went over some blogs and tutorials about performance of Map/Reduce. &lt;a href="http://www.cloudera.com/blog/2009/12/7-tips-for-improving-mapreduce-performance/"&gt;Here&lt;/a&gt; is one that I liked. While there are a lot of good tips out there, none, except the one mentioned, talk about the Map/Reduce program itself. Most dive right into the various hadoop options to improve distribution and utilization. While this is important, I think we should start the actual problem we try to solve, that means the Map/Reduce Job.&lt;/p&gt;

  &lt;p&gt;To make things simple I am using Amazons Elastic Map Reduce. In my setup I started a new Job Flow with multiple steps for every execution. The Job Flow consisted of one master node and two task nodes. All of them were using the Small Standard instance.&lt;/p&gt;

  &lt;p&gt;While AWS Elastic Map/Reduce has its drawbacks in terms of startup and file latency (Amazon S3 has a high volatility), it is a very easy and consistent way to execute Map/Reduce jobs without needing to setup your own hadoop cluster. And you only pay for what you need! I started out with the word count example that you see in every map reduce documentation, tutorial or Blog. The result of the job always produces files that look something like this:&lt;/p&gt;

  &lt;p&gt;the: 5967 
    &lt;br /&gt;all: 611 

    &lt;br /&gt;a: 21586&lt;/p&gt;

  &lt;p&gt;That idea is to count the occurrence of every word in a large number of text files. I processed around 30 files totaling somewhere around 200MB in size. I ran the original python version and then made a very small change to it. Without touching the configuration of hadoop I cut the execution time in half:&lt;/p&gt;

  &lt;p&gt;&lt;strong&gt;The Original Code:&lt;/strong&gt;&lt;/p&gt;

  &lt;pre&gt;&lt;code&gt;#!/usr/bin/python
import sys
import re
def main(argv):
  line = sys.stdin.readline()
  pattern = re.compile(&amp;quot;[a-zA-Z][a-zA-Z0-9]*&amp;quot;)
  try:
    while line:
      for word in pattern.findall(line):
        print &amp;quot;LongValueSum:&amp;quot; + word.lower() + &amp;quot;\t&amp;quot; + &amp;quot;1&amp;quot;
      line = sys.stdin.readline()
  except &amp;quot;end of file&amp;quot;:
    return None
if __name__ == &amp;quot;__main__&amp;quot;:
  main(sys.argv)&lt;/code&gt;&lt;/pre&gt;

  &lt;p&gt;&lt;strong&gt;The Optimized Code:&lt;/strong&gt;&lt;/p&gt;

  &lt;pre&gt;&lt;code&gt;#!/usr/bin/python
import sys
import re
def main(argv):
  line = sys.stdin.readline()
  pattern = re.compile(&amp;quot;[a-zA-Z][a-zA-Z0-9]*&amp;quot;)
  map = dict()
  try:
    while line:
      for word in pattern.findall(line):
	&lt;strong&gt;map[word.lower()] = map.get(word.lower(), 0) + 1
      if ( len(map) &amp;gt; 10000 ):
        for item in map.iteritems():
	  print &amp;quot;LongValueSum:&amp;quot; + item[0] + &amp;quot;\t&amp;quot; + str(item[1])
	map.clear()&lt;/strong&gt;
      line = sys.stdin.readline()
    &lt;strong&gt;for item in map.iteritems():
      print &amp;quot;LongValueSum:&amp;quot; + item[0] + &amp;quot;\t&amp;quot; + str(item[1])&lt;/strong&gt;
  except &amp;quot;end of file&amp;quot;:
    return None
if __name__ == &amp;quot;__main__&amp;quot;:
  main(sys.argv)&lt;/code&gt;&lt;/pre&gt;

  &lt;p&gt;Instead of “emitting” every word with value 1 to the OutputCollector, I did an internal reduce before emitting it. The result is that instead of emitted the word ‘a’ 1000 times with value 1, I emitted it 1 time with value 1000. The end result of the job is the same, but in half the time. To understand this we need to look at the execution flow of map reduce.&lt;/p&gt;

  &lt;h5&gt;Execution Path and Distribution&lt;/h5&gt;

  &lt;p&gt;Look at the following Flow Diagram taken from the “Hadoop Tutorial from Yahoo!” (&lt;a href="http://developer.yahoo.com/hadoop/"&gt;Yahoo! Inc.&lt;/a&gt;) / &lt;a href="http://creativecommons.org/licenses/by/3.0/"&gt;CC BY 3.0&lt;/a&gt;&lt;/p&gt;

  &lt;p&gt;&lt;a href="http://developer.yahoo.com/hadoop/tutorial/module4.html#dataflow"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" title="Map Reduce Flow" alt="Map Reduce Flow" src="http://cdn.dynatrace.com/blog/wp-content/Map-Reduce-Flow-600x388.png" width="560" height="362" /&gt;&lt;/a&gt;&lt;/p&gt;

  &lt;p&gt;Map Reduce Flow&lt;/p&gt;

  &lt;p&gt;Elastic Map Reduce first schedules a Map Task task per file (or parts of the file). It then feeds each line of the file into the map function. The map function will emit each key/value, in this case each word of the line, to the OutputCollector. Each emitted key/value will be written to an intermediate file for later reduce. The Shuffle Process will make sure that each key, in this case each word, will be sent to the same reduce task (meaning hadoop node) for aggregation. If we emit the same word multiple times it also needs to be written and sent multiple times, which results in more I/O (disk and network). The logical conclusion is that we should „pre-reduce“ this on a per task node basis and send the minimal amount of data. This is what the Combiner is for, which is really a Reducer that is run locally on the same node after the Mapping. So we should be fine, right? Not really.&lt;/p&gt;

  &lt;h5&gt;Inside of Amazons Elastic Map Reduce&lt;/h5&gt;

  &lt;p&gt;To get a better idea of where I spent the time, I deployed dynaTrace into Amazons Map Reduce environment. This can be done fully automated with a simple bootstrap action (I will publish the result as a Fastpack on our community at a later time).&lt;/p&gt;

  &lt;p&gt;The original python run lasted roughly 5 minutes each run (between 290 and 320 seconds), while the optimized ran around 3 minutes (160-170 seconds). I used dynaTrace to split those run times into their different components to get a feel for where we spend time. Some numbers have a rather high volatility which, as I found out, is due to Amazon S3 and to a smaller degree garbage collection. I executed it several times and the volatility did not have a big impact on the overall job execution time.&lt;/p&gt;

  &lt;p&gt;&lt;a href="http://cdn.dynatrace.com/blog/wp-content/mapreduce1.png"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" title="Map Reduce Job Business Transaction that details where we spend our time" alt="Map Reduce Job Business Transaction that details where we spend our time" src="http://cdn.dynatrace.com/blog/wp-content/mapreduce1-600x89.png" width="560" height="83" /&gt;&lt;/a&gt;&lt;/p&gt;

  &lt;p&gt;Map Reduce Job Business Transaction that details where we spend our time&lt;/p&gt;

  &lt;p&gt;Click on the picture to analyze the details and you will see dramatic improvements on the mapping, combine and sort times. The Total Mapping time in this example is the overall execution time of all scheduled map tasks. The optimized code executed in less than 60% of the time. To a large degree this is due the map function itself (Map Only Time), which is actually quite surprising, after all we were not doing anything less really?&lt;/p&gt;

  &lt;p&gt;The next thing we see is that the combine time has dropped dramatically, we could say it nearly vanished! That makes sense after all we were making sure that we emitted less duplicates, thus less to combine. In fact it might make sense to stop combining at all as we will see later on. Another item that has dramatically improved is the sort. Again that makes a lot of sense, less data to sort. While the majority of the combine and sort happens in a separate thread, it still saves a lot of CPU and I/O time!&lt;/p&gt;

  &lt;p&gt;On the other hand neither shuffle nor reduce time itself have changed really. I identified the fluctuations the table does show, as being AWS S3 volatility issues via a hotspot analysis, so I ignored them. The fact that we see no significant improvements here makes sense. The resulting intermediate files of each map task do not look much different, whether we combine or use the optimized code.&lt;/p&gt;

  &lt;p&gt;So it really was the optimization of the map operation itself, that lead to overall improvement in job run time. While I might have achieved the same goal by doubling the number of map nodes, it would cost me more to do so. &lt;/p&gt;

  &lt;h5&gt;What happens during mapping&lt;/h5&gt;

  &lt;p&gt;To understand why that simple change has such a large impact we need to look at what happens to emitted keys in a Map Job.&lt;/p&gt;

  &lt;p&gt;&lt;a href="http://cdn.dynatrace.com/blog/wp-content/Map-Reduce-Combine2.png"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" title="flow of the data from the mapper to memory buffer, sort&amp;amp;combine and finally the merge" alt="flow of the data from the mapper to memory buffer, sort&amp;amp;combine and finally the merge" src="http://cdn.dynatrace.com/blog/wp-content/Map-Reduce-Combine2.png" width="500" height="455" /&gt;&lt;/a&gt;&lt;/p&gt;

  &lt;p&gt;flow of the data from the mapper to memory buffer, sort&amp;amp;combine and finally the merge&lt;/p&gt;

  &lt;p&gt;What most Map/Reduce tutorials forget to mention is that the collect method called by the Mapper serializes the key/value directly to an in-memory buffer, as can be seen in the diagram above and the hotspot below.&lt;/p&gt;

  &lt;p&gt;&lt;a href="http://cdn.dynatrace.com/blog/wp-content/map-reduce-map-function-write.png"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" title="When the Mapper emits a key via collect, it gets written to an in memory buffer" alt="When the Mapper emits a key via collect, it gets written to an in memory buffer" src="http://cdn.dynatrace.com/blog/wp-content/map-reduce-map-function-write-600x211.png" width="560" height="197" /&gt;&lt;/a&gt;&lt;/p&gt;

  &lt;p&gt;When the Mapper emits a key via collect, it gets written to an in memory buffer&lt;/p&gt;

  &lt;p&gt;Once that buffer has reached a certain saturation, the Spill Thread kicks in and writes the data to an intermediate file (this is controlled by several &lt;em&gt;io.sort.spill. options&lt;/em&gt;). Map/Reduce normally deals with a large amount of potentially never repeating data, so it has to spill to file eventually.&lt;/p&gt;

  &lt;p&gt;&lt;a href="http://cdn.dynatrace.com/blog/wp-content/map-reduce-spill-thread.png"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" title="The Spill Thread sorts, combines and writes the data to file in parallel to the mapping" alt="The Spill Thread sorts, combines and writes the data to file in parallel to the mapping" src="http://cdn.dynatrace.com/blog/wp-content/map-reduce-spill-thread-600x285.png" width="560" height="266" /&gt;&lt;/a&gt;&lt;/p&gt;

  &lt;p&gt;The Spill Thread sorts, combines and writes the data to file in parallel to the mapping&lt;/p&gt;

  &lt;p&gt;It is not enough to simple dump the data to file, the content has to be sorted and combined first. The sort is a preparation for the shuffle process and relative efficient (it sorts based on binary bytes, because the actual order is not important). The combine however needs to de-serialize the key and values again prior to writing.&lt;/p&gt;

  &lt;p&gt;&lt;a href="http://cdn.dynatrace.com/blog/wp-content/map-reduce-combine-deserialize.png"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" title="The combine in the spill thread needs to deserialize the data again" alt="The combine in the spill thread needs to deserialize the data again" src="http://cdn.dynatrace.com/blog/wp-content/map-reduce-combine-deserialize-600x211.png" width="560" height="197" /&gt;&lt;/a&gt;&lt;/p&gt;

  &lt;p&gt;The combine in the spill thread needs to deserialize the data again&lt;/p&gt;

  &lt;p&gt;So emitting a key multiple times has&lt;/p&gt;

  &lt;ol&gt;
    &lt;li&gt;a direct negative impact on the map time and CPU usage, due to more serialization &lt;/li&gt;

    &lt;li&gt;an indirect negative impact on CPU due to more spilling and additional deserialization in the combine step &lt;/li&gt;

    &lt;li&gt;a direct impact on the map task, due to more intermediate files, which makes the final merge more expensive &lt;/li&gt;
  &lt;/ol&gt;

  &lt;p&gt;Slower mapping obviously impacts the overall Job time directly. The more data we emit, the more CPU and I/O is consumed by the Spill Thread. If the SpillThread is too slow (e.g. expensive combine, slow disk), the in memory buffer might get fully saturated, in which case the map task has to wait (this can be improved by adjusting the &lt;em&gt;io.sort.spill.percent&lt;/em&gt; hadoop option).&lt;/p&gt;

  &lt;p&gt;&lt;a href="http://cdn.dynatrace.com/blog/wp-content/map-reduce-map-function-block.png"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" title="Showing that the Mapper can be slowed down by the Spill Thread if there are too many keys to sort or combine" alt="Showing that the Mapper can be slowed down by the Spill Thread if there are too many keys to sort or combine" src="http://cdn.dynatrace.com/blog/wp-content/map-reduce-map-function-block-600x358.png" width="560" height="334" /&gt;&lt;/a&gt;&lt;/p&gt;

  &lt;p&gt;The Mapper was paused by the Spill Thread, because there was too much data to sort and combine&lt;/p&gt;

  &lt;p&gt;Finally after the Map Task finishes the actual mapping, it writes, sorts and combines the remaining data to file. Finally it merges all intermediate files into a single output file (which it might combine again). More emitted key’s thus mean more intermediate files to merge as well.&lt;/p&gt;

  &lt;p&gt;&lt;a href="http://cdn.dynatrace.com/blog/wp-content/map-reduce-flush.png"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" title="The complete Map Task shows the mapping itself and the flush at the end, which sorts, combines, merges and combines again" alt="The complete Map Task shows the mapping itself and the flush at the end, which sorts, combines, merges and combines again" src="http://cdn.dynatrace.com/blog/wp-content/map-reduce-flush-600x303.png" width="560" height="283" /&gt;&lt;/a&gt;&lt;/p&gt;

  &lt;p&gt;The complete Map Task shows the mapping itself and the flush at the end, which sorts, combines, merges and combines again&lt;/p&gt;

  &lt;p&gt;While the final flush only “slows” us down for 1.5 seconds, this still amounts to roughly 8 percent of the Mapper task. So we see it really does make a lot of sense to optimize the output of the map operation, prior to the combine or reduce step. It will save CPU, Disk and Network I/O and this of course means less Nodes are needed for the same work!&lt;/p&gt;

  &lt;h5&gt;The one million X factor&lt;/h5&gt;

  &lt;p&gt;Until now I have tried to explain the I/O and CPU implications of emitting many keys, but there is also another factor that should be considered when writing Map/Reduce jobs. The map function is executed potentially millions of times. Every ms consumed here can potentially lead to minutes in job time. Indeed most of the gain of my “optimization” came from speeding up the mapping itself and not from more effective combine and disk writes. On average each map method call had a little less to do and that paid off.&lt;/p&gt;

  &lt;p&gt;What that struck me when looking at Map/Reduce first, was that most samples and tutorials use scripting languages like python, perl or something else. This is realized via the Hadoop Streaming framework. While I understand that this lowers the barrier to write Map/Reduce jobs, it should not be used for serious tasks! To illustrate this I ran a randomly selected java version of the Word Count sample. The result is another 50-60% improvement on top of the optimized python (it might be even better, in a larger task).&lt;/p&gt;

  &lt;p&gt;&lt;a href="http://cdn.dynatrace.com/blog/wp-content/mapreduce2.png"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" title="Several Java and Python Word Count Map Reduce Jobs, that show the vast differences in execution times" alt="Several Java and Python Word Count Map Reduce Jobs, that show the vast differences in execution times" src="http://cdn.dynatrace.com/blog/wp-content/mapreduce2-600x134.png" width="560" height="125" /&gt;&lt;/a&gt;&lt;/p&gt;

  &lt;p&gt;Several Java and Python Word Count Map Reduce Jobs, that show the vast differences in execution times&lt;/p&gt;

  &lt;p&gt;The table shows the various execution times for:&lt;/p&gt;

  &lt;ul&gt;
    &lt;li&gt;Optimized Java: ~1.5 minutes job execution time 
      &lt;br /&gt;The same trick as in python, if anybody really wants to have the code, it let me know. &lt;/li&gt;

    &lt;li&gt;Optimized Java with no Combiner: roughly 10 seconds faster than the optimized one 
      &lt;br /&gt;As pointed out the pre-reduce in the map method makes the combine nearly redundant. The improvement in overall job time is minimal however due to the smallness of the job. &lt;/li&gt;

    &lt;li&gt;Original Java: ~2.5 minutes 
      &lt;br /&gt;We see that all the times (mapping, combining, sorting, spilling) are a lot higher, as we came to expect &lt;/li&gt;

    &lt;li&gt;Optimized Python: ~3 minutes &lt;/li&gt;

    &lt;li&gt;Non-optimized python: ~5 minutes &lt;/li&gt;
  &lt;/ul&gt;

  &lt;p&gt;Java is faster than Python every time and the optimized version of Java is twice as fast as the optimized python version. Remember that this is a small example and that the Hadoop parameters are the same for all runs . In addition CPU was never a limiting factor. If you execute the same small code millions of times, even small differences matter. The difference between a single line mapped in java and python is maybe not even measurable. With 200 MB of text it adds up to more than a minute! The same would be true for small changes in any Java Map/Reduce job. The difference between the original and the optimized java version is still more than 60% improvement!&lt;/p&gt;

  &lt;p&gt;Word Count is very simple compared to some of the map/reduce jobs are out there, but it illustrates quite nicely that performance of our own code still matters. The key take away is that we still need to analyze and optimize the map task and our own code. Only after that is satisfactory, do we need to play around with the various Hadoop options to improve distribution and utilization.&lt;/p&gt;

  &lt;h5&gt;Conclusion&lt;/h5&gt;

  &lt;p&gt;Map Reduce is a very powerful and elegant way to distribute processing of large amounts of data across many hosts. It is also a bit of a brute and it pays of to analyze and optimize the performance of the map and reduce tasks before we start playing with Hadoop options. While Map/Reduce can reduce the job time by throwing more hardware the problem, easy optimizations often reach a similar effect. In the cloud and AWS Elastic Map Reduce that means less cost!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="#Top"&gt;&amp;lt;Return to section navigation list&amp;gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;&lt;a name="SDS"&gt;SQL Azure Database, Federations and Reporting &lt;/a&gt;&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;Wade Wegner&lt;/strong&gt; (@&lt;a href="http://twitter.com/WadeWegner"&gt;WadeWegner&lt;/a&gt;) and &lt;strong&gt;Steve Marx&lt;/strong&gt; (@&lt;a href="http://twitter.com/smarx"&gt;smarkx&lt;/a&gt;) posted CloudCover &lt;a href="http://channel9.msdn.com/Shows/Cloud+Cover/Episode-68-Throttling-in-SQL-Azure-with-Scott-Klein"&gt;Episode 68 - Throttling in SQL Azure with Scott Klein&lt;/a&gt; on 1/27/2012:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;Join &lt;a href="http://www.wadewegner.com/"&gt;Wade&lt;/a&gt; and &lt;a href="http://blog.smarx.com/"&gt;Steve&lt;/a&gt; each week as they cover the Windows Azure platform. You can follow and interact with the show at &lt;a href="http://twitter.com/cloudcovershow"&gt;@CloudCoverShow&lt;/a&gt;.&lt;/p&gt;
  &lt;iframe style="width: 512px; height: 288px" src="http://channel9.msdn.com/Shows/Cloud+Cover/Episode-68-Throttling-in-SQL-Azure-with-Scott-Klein/player?w=512&amp;amp;h=288" frameborder="0" scrolling="no"&gt;&lt;/iframe&gt;

  &lt;p&gt;&lt;strong&gt;&lt;strong&gt;&lt;b&gt;&lt;a href="#Top"&gt;&lt;img title="image" border="0" alt="image" align="right" src="http://lh5.ggpht.com/_GdO7DQgAn3w/TFxIT_td_pI/AAAAAAAADfQ/asbwuFou3jU/image%5B36%5D.png?imgmax=800" width="160" height="43" /&gt;&lt;/a&gt;&lt;/b&gt;&lt;/strong&gt;&lt;/strong&gt;In this episode, Wade and Steve are joined by &lt;a href="http://geekswithblogs.net/ScottKlein"&gt;Scott Klein&lt;/a&gt;, Technical Evangelist for SQL Azure, who explains how to understand, diagnose, and handle throttling in SQL Azure. He also demonstrates how to use the &lt;a href="http://msdn.microsoft.com/en-us/library/hh680934(v=PandP.50).aspx"&gt;Transient Fault Handling Application Block&lt;/a&gt;.&lt;/p&gt;

  &lt;p&gt;In the news:&lt;/p&gt;

  &lt;ul&gt;
    &lt;li&gt;&lt;a href="http://www.brianloesgen.com/blog/2012/1/23/new-azure-servicebus-demo-available.html"&gt;New Service Bus demo&lt;/a&gt; &lt;/li&gt;

    &lt;li&gt;&lt;a href="http://blogs.msdn.com/b/windowsazure/archive/2012/01/25/announcing-native-windows-azure-libraries-and-special-free-pricing-using-sendgrid-for-windows-azure-customers.aspx"&gt;SendGrid and Windows Azure&lt;/a&gt; &lt;/li&gt;

    &lt;li&gt;&lt;a href="http://blogs.msdn.com/b/windowsazure/archive/2012/01/24/windows-azure-and-cloud9-ide-at-node-summit.aspx"&gt;Windows Azure and Cloud9 IDE at Node Summit&lt;/a&gt; &lt;/li&gt;

    &lt;li&gt;&lt;a href="http://blogs.msdn.com/b/windowsazure/archive/2012/01/24/announcing-sql-azure-import-export-service-now-in-production.aspx"&gt;Import/export service for SQL Azure generally available&lt;/a&gt; &lt;/li&gt;
  &lt;/ul&gt;

  &lt;p&gt;Tip of the week: &lt;a href="http://www.wadewegner.com/2012/01/cannot-create-database-developmentstoragedb20110816-in-storage-emulator-azure-sdk/"&gt;Dealing with &amp;quot;cannot create database&amp;quot; in the Windows Azure storage emulator&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;a href="#Top"&gt;&amp;lt;Return to section navigation list&amp;gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;&lt;a name="OData"&gt;MarketPlace DataMarket, Social Analytics and OData &lt;/a&gt;&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;• &lt;/strong&gt;&lt;strong&gt;Rajeev Pentyala&lt;/strong&gt; described how to &lt;a href="http://rajeevpentyala.wordpress.com/2012/01/29/create-record-using-odata-and-jquery-in-crm-2011/"&gt;Create [a] Record using OData and JQuery in CRM 2011&lt;/a&gt; in a 1/29/2011 post:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;strong&gt;&lt;strong&gt;&lt;b&gt;&lt;a href="http://lh5.ggpht.com/_GdO7DQgAn3w/TBPrBgBH0wI/AAAAAAAABUw/yiUVlsFgFgs/s1600-h/image%5B34%5D.png"&gt;&lt;img title="image" border="0" alt="image" align="right" src="http://lh4.ggpht.com/_GdO7DQgAn3w/TBPrBwhBVOI/AAAAAAAABU0/pg4QP5rVwqw/image_thumb%5B20%5D.png?imgmax=800" width="120" height="35" /&gt;&lt;/a&gt;&lt;/b&gt;&lt;/strong&gt;&lt;/strong&gt;Below is the code snippet to create a record (i.e., Account) using OData &amp;amp; JQuery:&lt;/p&gt;

  &lt;blockquote&gt;
    &lt;pre class="csharpcode"&gt;&lt;span class="rem"&gt;//Prepare ‘Account’ object and call create function&lt;/span&gt;
&lt;span class="kwrd"&gt;function&lt;/span&gt; createAccount() {
&lt;span class="rem"&gt;//Create an object to represent an Account record and set properties&lt;/span&gt;
&lt;span class="kwrd"&gt;var&lt;/span&gt; account = &lt;span class="kwrd"&gt;new&lt;/span&gt; Object();
&lt;span class="rem"&gt;// Set text field&lt;/span&gt;
account.Name = “Rajeev Pentyala”;
&lt;span class="rem"&gt;// Set Lookup field (Contact should exists in the system)&lt;/span&gt;
&lt;span class="kwrd"&gt;var&lt;/span&gt; primaryContact = &lt;span class="kwrd"&gt;new&lt;/span&gt; Object();
primaryContact.ContactId = “”;
primaryContact.FullName = “”;
&lt;span class="rem"&gt;// if (primaryContact != null) {&lt;/span&gt;
&lt;span class="rem"&gt;// account.PrimaryContactId = { Id: primaryContact.ContactId, LogicalName: “contact”, Name: primaryContact.FullName };&lt;/span&gt;
&lt;span class="rem"&gt;// }&lt;/span&gt;
&lt;span class="rem"&gt;//Set a picklist value&lt;/span&gt;
account.PreferredContactMethodCode = { Value: 2 };
&lt;span class="rem"&gt;//Set a money value (i.e., Annual Revenue)&lt;/span&gt;
account.Revenue = { Value: “2000000.00″ };
&lt;span class="rem"&gt;//Set a Boolean value&lt;/span&gt;
account.DoNotPhone = &lt;span class="kwrd"&gt;true&lt;/span&gt;;
&lt;span class="rem"&gt;// Call create method by passing&lt;/span&gt;
&lt;span class="rem"&gt;// (i) Entity Object (i.e.,account in this case)&lt;/span&gt;
&lt;span class="rem"&gt;//(ii) Entity Set&lt;/span&gt;
&lt;span class="rem"&gt;//(iii)SuccessCallback function&lt;/span&gt;
&lt;span class="rem"&gt;// (iv) Error callback function&lt;/span&gt;
createRecord(account, “AccountSet”, createAccountCompleted, &lt;span class="kwrd"&gt;null&lt;/span&gt;);
}
&lt;span class="rem"&gt;// This callback method executes on succesful account creation&lt;/span&gt;
&lt;span class="kwrd"&gt;function&lt;/span&gt; createAccountCompleted(data, textStatus, XmlHttpRequest) {
&lt;span class="kwrd"&gt;var&lt;/span&gt; account = data;
alert(“Account created; Id: ” + account.AccountId.toString());
}&lt;/pre&gt;
    &lt;style type="text/css"&gt;
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }&lt;/style&gt;&lt;style type="text/css"&gt;
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }&lt;/style&gt;&lt;/blockquote&gt;

  &lt;blockquote&gt;&lt;/blockquote&gt;

  &lt;blockquote&gt;
    &lt;pre class="csharpcode"&gt;&lt;span class="rem"&gt;// This function creates record by making OData call&lt;/span&gt;
&lt;span class="kwrd"&gt;function&lt;/span&gt; createRecord(entityObject, odataSetName, successCallback, errorCallback) {
&lt;span class="rem"&gt;//Parse the entity object into JSON&lt;/span&gt;
&lt;span class="kwrd"&gt;var&lt;/span&gt; jsonEntity = window.JSON.stringify(entityObject);
&lt;span class="rem"&gt;// Get Server URL&lt;/span&gt;
&lt;span class="kwrd"&gt;var&lt;/span&gt; serverUrl = Xrm.Page.context.getServerUrl();
&lt;span class="rem"&gt;//The OData end-point&lt;/span&gt;
&lt;span class="kwrd"&gt;var&lt;/span&gt; ODATA_ENDPOINT = “/XRMServices/2011/OrganizationData.svc”;
&lt;span class="rem"&gt;//Asynchronous AJAX function to Create a CRM record using OData&lt;/span&gt;
$.ajax({
type: “POST”,
contentType: “application/json; charset=utf-8″,
datatype: “json”,
url: serverUrl + ODATA_ENDPOINT + “/” + odataSetName,
data: jsonEntity,
beforeSend: &lt;span class="kwrd"&gt;function&lt;/span&gt; (XMLHttpRequest) {
&lt;span class="rem"&gt;//Specifying this header ensures that the results will be returned as JSON.&lt;/span&gt;
XMLHttpRequest.setRequestHeader(“Accept”, “application/json”);
},
success: &lt;span class="kwrd"&gt;function&lt;/span&gt; (data, textStatus, XmlHttpRequest) {
&lt;span class="kwrd"&gt;if&lt;/span&gt; (successCallback) {
successCallback(data.d, textStatus, XmlHttpRequest);
}
},
error: &lt;span class="kwrd"&gt;function&lt;/span&gt; (XmlHttpRequest, textStatus, errorThrown) {
&lt;span class="kwrd"&gt;if&lt;/span&gt; (errorCallback)
errorCallback(XmlHttpRequest, textStatus, errorThrown);
&lt;span class="kwrd"&gt;else&lt;/span&gt;
errorHandler(XmlHttpRequest, textStatus, errorThrown);
}
});
}&lt;/pre&gt;
    &lt;style type="text/css"&gt;
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }&lt;/style&gt;&lt;/blockquote&gt;

  &lt;p&gt;&lt;strong&gt;How do I call this method&lt;/strong&gt; :-&lt;/p&gt;

  &lt;ul&gt;
    &lt;li&gt;Create a new .jscript file (i.e., ”account.js”) &lt;/li&gt;

    &lt;li&gt;Copy &amp;amp; Paste above code &lt;/li&gt;

    &lt;li&gt;Add “account.js” as a webresource in CRM &lt;/li&gt;

    &lt;li&gt;Add “Json2.js” &amp;amp; “jquery1.4.1.min.js” &lt;em&gt;helper&lt;/em&gt; script files as webresources &lt;/li&gt;

    &lt;li&gt;Add “&lt;strong&gt;createAccount&lt;/strong&gt;” function to form load method (&lt;em&gt;Refer below&lt;/em&gt;)&lt;/li&gt;
  &lt;/ul&gt;

  &lt;p&gt;&lt;a href="http://rajeevpentyala.files.wordpress.com/2012/01/adding-webresources-to-account-form.png"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" title="Adding webresources to account form" alt="Adding webresources to account form" src="http://rajeevpentyala.files.wordpress.com/2012/01/adding-webresources-to-account-form.png?w=372&amp;amp;h=296" width="372" height="296" /&gt;&lt;/a&gt;&lt;/p&gt;

  &lt;p&gt;Adding webresources to account form&lt;/p&gt;

  &lt;ul&gt;
    &lt;li&gt;Save &amp;amp; Publish &lt;/li&gt;

    &lt;li&gt;Open any account record and on loading of record our script fires and it creates new account name “Rajeev Pentyala”&lt;/li&gt;
  &lt;/ul&gt;
&lt;/blockquote&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;a href="#Top"&gt;&amp;lt;Return to section navigation list&amp;gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;&lt;a name="NET"&gt;Windows Azure Access Control, Service Bus and Workflow &lt;/a&gt;&lt;/h4&gt;

&lt;p&gt;&lt;img title="image72232222222" border="0" alt="image72232222222" align="right" src="http://lh3.ggpht.com/-fc3mII5ve4w/TgtZiTRqOHI/AAAAAAAAMWk/JwVfa2Jb9HY/image722322222222.png?imgmax=800" width="240" height="47" /&gt;No significant articles today.&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;a href="#Top"&gt;&amp;lt;Return to section navigation list&amp;gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;&lt;a name="WAVN"&gt;Windows Azure VM Role, Virtual Network, Connect, RDP and CDN&lt;/a&gt;&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;Mick Badran&lt;/strong&gt; (@&lt;a href="https://twitter.com/#!/mickba"&gt;mickba&lt;/a&gt;) reported &lt;a href="http://blogs.breeze.net/mickb/2012/01/25/MicrosoftAppFabric11ForWindowsServerreleased.aspx"&gt;Microsoft AppFabric 1.1 for Windows Server–released!&lt;/a&gt; in a 1/25/2012 post:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-pxSQ2W0WjJY/TyRY5tN1oBI/AAAAAAAAaCE/DiiQcAsVwoI/s1600-h/image%25255B79%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" align="right" src="http://lh3.ggpht.com/-nCdxmqdXRiE/TyRY50y7vyI/AAAAAAAAaCM/4rQ7HNYabzQ/image_thumb%25255B26%25255D.png?imgmax=800" width="46" height="51" /&gt;&lt;/a&gt;Recently there’s been an update to the ‘on-premise’ AppFabric for Windows Server. Grab the update here - &lt;a href="http://www.microsoft.com/download/en/details.aspx?id=27115"&gt;http://www.microsoft.com/download/en/details.aspx?id=27115&lt;/a&gt; (runs on win7, 2008, 2008R2) &lt;/p&gt;

  &lt;p&gt;&lt;strong&gt;What’s new&lt;/strong&gt;&lt;/p&gt;

  &lt;p&gt;I’m in the process of updating my components, but the majority of updates seems to be around caching and performance. &lt;/p&gt;

  &lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/hh351389.aspx"&gt;http://msdn.microsoft.com/en-us/library/hh351389.aspx&lt;/a&gt;&lt;/p&gt;

  &lt;table style="border-bottom: #bbb 1px solid; border-left: #bbb 1px solid; border-collapse: collapse; word-wrap: break-word; border-top: #bbb 1px solid; border-right: #bbb 1px solid" width="100%"&gt;&lt;tbody&gt;
      &lt;tr style="vertical-align: top"&gt;
        &lt;td style="border-bottom: 1px solid; border-left: 1px solid; padding-bottom: 9px; line-height: 14pt; background-color: #fff; padding-left: 4px; padding-right: 4px; borde
