<?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-01-30T18:22:02.854-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='Bugs'/><category term='Apache Hadoop on Windows Azure'/><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>1343</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-11646261.post-496394549611548406</id><published>2012-01-30T18:21:00.000-08:00</published><updated>2012-01-30T18:22:02.868-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;&lt;a href="http://lh5.ggpht.com/-b12ldkAeWXo/TycRHhFblhI/AAAAAAAAaNc/IeO7TOsN8yI/s1600-h/image%25255B87%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/-39JJ5_nOAqQ/TycRH306KtI/AAAAAAAAaNk/Phme_aMnDmI/image_thumb%25255B49%25255D.png?imgmax=800" width="58" 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;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;(More to follow)&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://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;&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;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;Note: 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 symbol next to the offending text box, retype the parameter value shown above, and click the validation arrow again.&lt;/p&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;15. (TeraVerify example to follow)&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;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; 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://lh5.ggpht.com/-39JJ5_nOAqQ/TycRH306KtI/AAAAAAAAaNk/Phme_aMnDmI/s72-c/image_thumb%25255B49%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; border-top: 1px solid; border-right: 1px solid; padding-top: 9px"&gt;
          &lt;p style="position: relative; margin-bottom: 0px"&gt;&lt;strong&gt;&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 9.7pt"&gt;Read-Through/Write-Behind&lt;/font&gt;&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;
        &lt;/td&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; border-top: 1px solid; border-right: 1px solid; padding-top: 9px"&gt;
          &lt;p style="position: relative; margin-bottom: 0px"&gt;&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 9.7pt"&gt;This allows a backend provider to be used on the cache servers to assist with retrieving and storing data to a backend, such as a database. Read-through enables the cache to &amp;quot;read-through&amp;quot; to a backend in the context of a Get request. Write-behind enables updates to cached data to be saved asynchronously to the backend. For more information, see &lt;/font&gt;&lt;/font&gt;&lt;font style="font-size: 9.7pt"&gt;&lt;a href="http://blogs.breeze.net/mickb/ct.ashx?id=2ac84c34-76c2-4d0b-b20a-3d66a01ac265&amp;amp;url=http%3a%2f%2fmsdn.microsoft.com%2fen-us%2flibrary%2fhh361704.aspx"&gt;&lt;font color="#1364c4" face="Segoe UI"&gt;Creating a Read-Through / Write-Behind Provider (AppFabric 1.1 Caching)&lt;/font&gt;&lt;/a&gt;&lt;/font&gt;&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 9.7pt"&gt;.&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
        &lt;/td&gt;
      &lt;/tr&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; border-top: 1px solid; border-right: 1px solid; padding-top: 9px"&gt;
          &lt;p style="position: relative; margin-bottom: 0px"&gt;&lt;strong&gt;&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 9.7pt"&gt;Graceful Shutdown&lt;/font&gt;&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;
        &lt;/td&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; border-top: 1px solid; border-right: 1px solid; padding-top: 9px"&gt;
          &lt;p style="position: relative; margin-bottom: 0px"&gt;&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 9.7pt"&gt;This is useful for moving data from a single cache hosts to rest of the servers in the cache cluster before shutting down the cache host for maintenance. This helps to prevent unexpected loss of cached data in a running cache cluster. This can be accomplished with the &lt;strong&gt;Graceful&lt;/strong&gt; parameter of the &lt;strong&gt;Stop-CacheHost&lt;/strong&gt; Windows PowerShell command.&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
        &lt;/td&gt;
      &lt;/tr&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; border-top: 1px solid; border-right: 1px solid; padding-top: 9px"&gt;
          &lt;p style="position: relative; margin-bottom: 0px"&gt;&lt;strong&gt;&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 9.7pt"&gt;Domain Accounts&lt;/font&gt;&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;
        &lt;/td&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; border-top: 1px solid; border-right: 1px solid; padding-top: 9px"&gt;
          &lt;p style="position: relative; margin-bottom: 0px"&gt;&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 9.7pt"&gt;In addition to running the AppFabric Caching Service with the NETWORK SERVICE account, you can now run the service as a domain account. For more information, see &lt;/font&gt;&lt;/font&gt;&lt;font style="font-size: 9.7pt"&gt;&lt;a href="http://blogs.breeze.net/mickb/ct.ashx?id=2ac84c34-76c2-4d0b-b20a-3d66a01ac265&amp;amp;url=http%3a%2f%2fmsdn.microsoft.com%2fen-us%2flibrary%2fhh386447.aspx"&gt;&lt;font color="#1364c4" face="Segoe UI"&gt;Change the Caching Service Account (AppFabric 1.1 Caching)&lt;/font&gt;&lt;/a&gt;&lt;/font&gt;&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 9.7pt"&gt;.&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
        &lt;/td&gt;
      &lt;/tr&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; border-top: 1px solid; border-right: 1px solid; padding-top: 9px"&gt;
          &lt;p style="position: relative; margin-bottom: 0px"&gt;&lt;strong&gt;&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 9.7pt"&gt;New ASP.NET Session State and Output Caching Provider&lt;/font&gt;&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;
        &lt;/td&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; border-top: 1px solid; border-right: 1px solid; padding-top: 9px"&gt;
          &lt;p style="position: relative; margin-bottom: 0px"&gt;&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 9.7pt"&gt;New ASP.NET session state and output caching providers are available. The new session state provider has support for the lazy-loading of individual session state items using AppFabric Caching as a backing store. This makes sites that have a mix of small and large session state data more efficient, because pages that don't need large session state items won't incur the cost of sending this data over the network. For more information, see &lt;/font&gt;&lt;/font&gt;&lt;font style="font-size: 9.7pt"&gt;&lt;a href="http://blogs.breeze.net/mickb/ct.ashx?id=2ac84c34-76c2-4d0b-b20a-3d66a01ac265&amp;amp;url=http%3a%2f%2fmsdn.microsoft.com%2fen-us%2flibrary%2fhh361705.aspx"&gt;&lt;font color="#1364c4" face="Segoe UI"&gt;Using the ASP.NET 4 Caching Providers for AppFabric 1.1&lt;/font&gt;&lt;/a&gt;&lt;/font&gt;&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 9.7pt"&gt;.&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
        &lt;/td&gt;
      &lt;/tr&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; border-top: 1px solid; border-right: 1px solid; padding-top: 9px"&gt;
          &lt;p style="position: relative; margin-bottom: 0px"&gt;&lt;strong&gt;&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 9.7pt"&gt;Compression&lt;/font&gt;&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;
        &lt;/td&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; border-top: 1px solid; border-right: 1px solid; padding-top: 9px"&gt;
          &lt;p style="position: relative; margin-bottom: 0px"&gt;&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 9.7pt"&gt;You can now enable compression for cache clients. For more information, see &lt;/font&gt;&lt;/font&gt;&lt;font style="font-size: 9.7pt"&gt;&lt;a href="http://blogs.breeze.net/mickb/ct.ashx?id=2ac84c34-76c2-4d0b-b20a-3d66a01ac265&amp;amp;url=http%3a%2f%2fmsdn.microsoft.com%2fen-us%2flibrary%2fhh351483.aspx"&gt;&lt;font color="#1364c4" face="Segoe UI"&gt;Application Configuration Settings (AppFabric 1.1 Caching)&lt;/font&gt;&lt;/a&gt;&lt;/font&gt;&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 9.7pt"&gt;.&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
        &lt;/td&gt;
      &lt;/tr&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; border-top: 1px solid; border-right: 1px solid; padding-top: 9px"&gt;
          &lt;p style="position: relative; margin-bottom: 0px"&gt;&lt;strong&gt;&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 9.7pt"&gt;Multiple Cache Client Application Configuration Sections&lt;/font&gt;&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;
        &lt;/td&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; border-top: 1px solid; border-right: 1px solid; padding-top: 9px"&gt;
          &lt;p style="position: relative; margin-bottom: 0px"&gt;&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 9.7pt"&gt;A new &lt;/font&gt;&lt;/font&gt;&lt;font style="font-size: 9.7pt"&gt;&lt;code&gt;dataCacheClients&lt;/code&gt;&lt;font face="Segoe UI"&gt; section is available that allows you to specify multiple named &lt;/font&gt;&lt;code&gt;dataCacheClient&lt;/code&gt;&lt;font face="Segoe UI"&gt; sections in an application configuration file. You can then programmatically specify which group of cache client settings to use at runtime. For more information, see &lt;/font&gt;&lt;a href="http://blogs.breeze.net/mickb/ct.ashx?id=2ac84c34-76c2-4d0b-b20a-3d66a01ac265&amp;amp;url=http%3a%2f%2fmsdn.microsoft.com%2fen-us%2flibrary%2fhh351483.aspx"&gt;&lt;font color="#1364c4" face="Segoe UI"&gt;Application Configuration Settings (AppFabric 1.1 Caching)&lt;/font&gt;&lt;/a&gt;&lt;/font&gt;&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 9.7pt"&gt;. &lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
        &lt;/td&gt;
      &lt;/tr&gt;
    &lt;/tbody&gt;&lt;/table&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="Live"&gt;Live Windows Azure Apps, APIs, Tools and Test Harnesses&lt;/a&gt;&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;My&lt;/strong&gt; (@&lt;a href="http://twitter.com/rogerjenn"&gt;rogerjenn&lt;/a&gt;) updated &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; post of 1/28/2012 adds the following undocumented pre-requisite if you didn’t include Visual C++ in the programming languages for your Visual Studio 2010 installation:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-kNITJy0Ki3A/TyWELTcJqZI/AAAAAAAAaI8/tUunB5a8kaA/s1600-h/image%25255B16%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/-bzjxm3QnsLg/TyWELu5FbvI/AAAAAAAAaJE/18mYwTwCJLI/image_thumb%25255B6%25255D.png?imgmax=800" width="64" height="66" /&gt;&lt;/a&gt;&lt;strong&gt;*Update&lt;/strong&gt; 1/28/2011: The build script expects to find msvcp100.dll and msvcr100.dll files installed by VS2010 in the C:\Program Files(x86)\Microsoft Visual Studio 10.0\VC\redist\x64\Microsoft.VC100.CRT folder and the msvcp100d.dll and msvcr100d.dll debug versions in the C:\Program Files(x86)\Microsoft Visual Studio 10.0\VC\redist\Debug_NonRedist\x64\Microsoft.VC100.DebugCRT folder. If these files aren’t present in the specified locations, the Windows Azure HPC Scheduler will fail when attempting to run MSCloudNumericsApp.exe as Job 1. &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 install VS 2010 SP1, attempts to use setup’s Add or Remove Features option to add the VC++ compilers fail.&lt;/p&gt;

  &lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: You only need to take the following steps if you intend to submit the application to the Windows Azure and you don’t have the Visual C++ compilers installed:&lt;/p&gt;

  &lt;ol&gt;
    &lt;li&gt;Download the &lt;a href="http://www.microsoft.com/download/en/details.aspx?id=13523"&gt;Microsoft Visual C++ 2010 SP1 Redistributable Package (x64)&lt;/a&gt; (vcredist_x64.exe) to a well-known location &lt;/li&gt;

    &lt;li&gt;Run vcredist_x64.exe to add the msvcp100.dll, msvcp100d.dll, msvcr100.dll and msvcr100d.dll files to the C:\Windows\System32 folder. &lt;/li&gt;

    &lt;li&gt;Create a C:\Program Files(x86)\Microsoft Visual Studio 10.0\VC\redist\x64\Microsoft.VC100.CRT folder and copy the msvcp100.dll and msvcr100.dll files to it. &lt;/li&gt;

    &lt;li&gt;C:\Program Files(x86)\Microsoft Visual Studio 10.0\VC\redist\Debug_NonRedist\x64\Microsoft.VC100.DebugCRT folder and add the msvcp100d.dll and msvcr100d.dll files to it. &lt;/li&gt;
  &lt;/ol&gt;

  &lt;p&gt;Stay tuned for more details about this issue.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;As noted in my &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; post, also updated 1/28/2012, you must:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;Choose Build, Configuration Manager to open the Configuration Manager dialog, select Release in the Active Solution Configurations list, and click OK to change the build configuration from Debug to Release:&lt;/p&gt;

  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-SFHyO_11rPs/TyQ8f7w8jGI/AAAAAAAAZ-U/bYC-2X7QUls/s1600-h/image%25255B21%25255D.png"&gt;&lt;img title="image" border="0" alt="image" src="http://lh4.ggpht.com/-jLpZqZRDxhc/TyQ8gjcZvGI/AAAAAAAAZ-c/Q6jf17sqDw8/image_thumb%25255B12%25255D.png?imgmax=800" width="642" height="400" /&gt;&lt;/a&gt;&lt;/p&gt;

  &lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: For currently unknown reasons, submitting a job built in the Debug configuration fails. This problem is under investigation. This step was added on 1/28/2012.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;strong&gt;• The Windows Azure Team&lt;/strong&gt; added a new &lt;a href="http://www.windowsazure.com/en-us/develop/net/common-tasks/automate-builds/"&gt;Automating Builds for Windows Azure Packages&lt;/a&gt; page to the Windows Azure site’s “Develop” section in late January:&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;MSBuild is a build system for Visual Studio that can be paired with Team Foundation Server (TFS) Team Build to create Windows Azure packages automatically and separate from individual development machines. MSBuild uses an XML format for project files that's extensible and fully supported by Microsoft. In this file format, you can describe what items must be built for one or more platforms and configurations.&lt;/p&gt;

  &lt;p&gt;You can also run MSBuild at a command prompt. By setting properties at a command prompt, you can build specific configurations of a project. Similarly, you can also define the targets that the MSBuild command will build. For more information about command-line parameters and MSBuild, see &lt;a href="http://msdn.microsoft.com/en-us/library/ms164311(v=VS.90).aspx"&gt;MSBuild Command Line Reference&lt;/a&gt;.&lt;/p&gt;

  &lt;p&gt;The process described in this article is equivalent to the &lt;strong&gt;Package &lt;/strong&gt;command in Visual Studio. By applying the methods described in this article, you can configure and define builds, in addition to automating the build and packaging process.&lt;/p&gt;

  &lt;p&gt;This task includes the following steps:&lt;/p&gt;

  &lt;ul&gt;
    &lt;li&gt;&lt;a href="http://www.windowsazure.com/en-us/develop/net/common-tasks/automate-builds/#step1"&gt;Step 1: Configure the Build Server&lt;/a&gt;&lt;/li&gt;

    &lt;li&gt;&lt;a href="http://www.windowsazure.com/en-us/develop/net/common-tasks/automate-builds/#step2"&gt;Step 2: Construct an MSBuild Command&lt;/a&gt;&lt;/li&gt;

    &lt;li&gt;&lt;a href="http://www.windowsazure.com/en-us/develop/net/common-tasks/automate-builds/#step3"&gt;Step 3: Configure TFS to Build a Package&lt;/a&gt; …&lt;/li&gt;
  &lt;/ul&gt;
&lt;/blockquote&gt;

&lt;p&gt;The page continues with detailed tutorials for each step. I’m surprised the team didn’t include specific details for using the new &lt;a href="http://blogs.msdn.com/b/bharry/archive/2011/09/14/team-foundation-server-on-windows-azure.aspx"&gt;Windows Azure Team Foundation Services&lt;/a&gt; announced at the //BUILD/ conference in September 2011. &lt;/p&gt;

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

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

&lt;p&gt;&lt;strong&gt;• Rick Garibay&lt;/strong&gt; (@&lt;a href="https://twitter.com/#!/rickggaribay"&gt;rickggaribay&lt;/a&gt;) explained why &lt;a href="http://rickgaribay.net/archive/2012/01/28/node-is-not-single-threaded.aspx"&gt;Node is Not Single Threaded&lt;/a&gt; is important in a 1/28/2012 post:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-CYbU2l5oCK8/TyWEL51B7uI/AAAAAAAAaJM/m0Ukl2FFd9Y/s1600-h/image%25255B13%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/-Ggvu1T3iAtQ/TyWEMe_5JwI/AAAAAAAAaJU/lnEPDXPYK2c/image_thumb%25255B5%25255D.png?imgmax=800" width="58" height="66" /&gt;&lt;/a&gt;I recently got bitten by the Node.js bug. Hard. &lt;/p&gt;

  &lt;p&gt;If you are even remotely technically inclined, it is virtually impossible to not be seduced by the elegance, speed and low barrier to entry of getting started with Node.js. After all, its just another JavaScript API, only this time designed for running programs on the server. This in and of itself, is intriguing, but there has to be more, much more, to compel legions of open source developers to write entire libraries for Node almost over night, not to mention industry giants like &lt;a href="http://venturebeat.com/2012/01/24/why-walmart-is-using-node-js/"&gt;Wal-Mart&lt;/a&gt; and &lt;a href="http://www.windowsazure.com/en-us/develop/nodejs/"&gt;Microsoft&lt;/a&gt; embracing this very new, fledgling technology that has yet to be proven over any significant period of time.&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;As intriguing as Node is, I have a hard time accepting things at face value that I don't fully understand. When I don’t understand something, I get very frustrated. This frustration usually motivates me to relentlessly attack the subject with varying degrees of success (and sometimes even more frustration!).&lt;/p&gt;

  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-6NcRLwJSHq0/TyWEMknMmEI/AAAAAAAAaJc/rp3ohw8KLa4/s1600-h/image%25255B20%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/-UWvgP9Sm8EU/TyWEM8JeFoI/AAAAAAAAaJk/JY3g_Ea_8wo/image_thumb%25255B8%25255D.png?imgmax=800" width="160" height="44" /&gt;&lt;/a&gt;As such, this post is an attempt to collect my findings on how Node, and it’s alleged single-threaded approach to event-driven programming is different from what I know today. This is not a dissertation on event vs. thread-based concurrency or a detailed comparison of managed frameworks and Node.js. Instead, this is a naive attempt to capture my piecemeal understanding of &lt;strong&gt;how&lt;/strong&gt; Node is different into a single post in hopes that comments and feedback will increase its accuracy in serving as a reference that helps to put in perspective for .NET developers how Node is different and what the hubbub is really all about.&lt;/p&gt;

  &lt;p&gt;To that end, I &lt;strong&gt;&lt;em&gt;sincerely would appreciate&lt;/em&gt;&lt;/strong&gt; your comments and feedback to enrich the quality of this post as I found resources on the web that tackle this specific topic &lt;a href="http://www.quora.com/In-Node-js-how-does-the-event-loop-work"&gt;severely lacking&lt;/a&gt; (or I am just too dense to figure it all out).&lt;/p&gt;

  &lt;p&gt;I’m going to skip the hello world code samples, or showing you how easy it is to spin up an HTTP or TCP server capable of handling a ridiculous amount of concurrent requests on a laptop because this is all well documented elsewhere. If you haven’t ever looked at Node before, check out the following resources which will help to kick-start your node.js addiction (the first hit is free):&lt;/p&gt;

  &lt;ul&gt;
    &lt;li&gt;&lt;a href="http://www.youtube.com/watch?v=jo_B4LTHi3I"&gt;SF PHP User’s Group talk by Ryan Dahl&lt;/a&gt;&lt;/li&gt;

    &lt;li&gt;&lt;a href="http://nodebeginner.org/"&gt;Node Beginner Book by Manuel Kiessling&lt;/a&gt;&lt;/li&gt;

    &lt;li&gt;&lt;a href="http://www.youtube.com/watch?v=M-sc73Y-zQA"&gt;Cinco de Node talk by Ryan Dahl&lt;/a&gt;&lt;/li&gt;
  &lt;/ul&gt;

  &lt;p&gt;Aside from the syntactic sugar that is immediately familiar to legions of web developers regardless of platform or language religion, you can’t come across any literature or talk on Node.js without a mention of the fact that what makes it all so wonderful is the fact that it is &lt;strong&gt;event-driven and &lt;strong&gt;single-threaded&lt;/strong&gt;.&lt;/strong&gt;&lt;/p&gt;

  &lt;p&gt;It is evident to me that there are either a lot of people that are much smarter than me and just instantly get that statement, as well as people that blindly accept it. Then there are those who haven’t slept well for the last week trying to figure out what the hell that means and how it’s different.&lt;/p&gt;

  &lt;p&gt;&lt;strong&gt;Event-driven. So what? &lt;/strong&gt;&lt;/p&gt;

  &lt;p&gt;I’ve written lots of asynchronous code and designed many messaging solutions on event-driven architectures. As a Microsoft guy, I’m pretty familiar with writing imperative code using Begin/End, AsyncCallbacks, WaitHandles, IHttpAyncHandlers, etc. I’ve opted for ever permutation of WCF instancing and concurrency depending on the scenario at hand, and written some pretty slick WF 4 workflows that parallelize activities (yes, I know, its not really truly parallel, but in most cases, close enough). My point is, I get async and eventing, so what’s the big deal and how is Node any different than this, or the &lt;a href="http://www.wischik.com/lu/AsyncSilverlight/AsyncSamples.html"&gt;nice new async language features coming in C# 5&lt;/a&gt;?&lt;/p&gt;

  &lt;p&gt;&lt;strong&gt;IIS and .NET as a Learning Model&lt;/strong&gt;&lt;/p&gt;

  &lt;p&gt;When learning something new, it is a tremendous advantage to know nothing about the topic and start fresh. Absent of that, it is usually helpful to have a familiar model that you can reference that helps you to compare and contrast a new concept, progressively iterating to understand the similarities and differences. As a career-long enterprise guy, working almost exclusively on the Microsoft platform, my model is IIS/WAS and .NET., so let’s summarize how a modern web server like IIS 7+ works which will provide the necessary infrastructure to help frame how .NET’s (or Java) execution model works.&lt;a href="http://learn.iis.net/file.axd?i=15"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" border="0" alt="" src="http://learn.iis.net/file.axd?i=15" width="469" height="419" /&gt;&lt;/a&gt;&lt;/p&gt;

  &lt;p&gt;As described on &lt;a href="http://learn.iis.net/page.aspx/101/introduction-to-iis-architecture/"&gt;Learn.IIS.net&lt;/a&gt;, the following list describes the request-processing flow that is shown to your right: &lt;/p&gt;

  &lt;ol&gt;
    &lt;li&gt;When a client browser initiates an HTTP request for a resource on the Web server, HTTP.sys intercepts the request. &lt;/li&gt;

    &lt;li&gt;HTTP.sys contacts WAS to obtain information from the configuration store. &lt;/li&gt;

    &lt;li&gt;WAS requests configuration information from the configuration store, applicationHost.config. &lt;/li&gt;

    &lt;li&gt;The WWW Service receives configuration information, such as application pool and site configuration. &lt;/li&gt;

    &lt;li&gt;The WWW Service uses the configuration information to configure HTTP.sys. &lt;/li&gt;

    &lt;li&gt;WAS starts a worker process for the application pool to which the request was made. &lt;/li&gt;

    &lt;li&gt;The worker process processes the request and returns a response to HTTP.sys. &lt;/li&gt;

    &lt;li&gt;The client receives a response. &lt;/li&gt;
  &lt;/ol&gt;

  &lt;p&gt;Step 7 is where your application (which might be an ASP.NET MVC app, a WCF or WF service) comes in. When WAS starts a worker process (w3wp.exe) the worker process allocates a thread for loading and executing your application. This is analogous to starting a program and inspecting the process in Windows Task Manager. If you open 3 instances of the program, you will see 3 processes in task manager and each process will have a minimum of one thread. If an unhandled exception occurs in the program, the entire process is torn down, but it doesn’t affect other processes because they are isolated for each other. &lt;/p&gt;

  &lt;p&gt;Processes, however, are not free. Starting and maintaining a process requires CPU time and memory, both of which are finite, and more processes and threads require more resources. &lt;/p&gt;

  &lt;p&gt;.NET improves resource consumption and adds an additional degree of isolation through Application Domains or AppDomains. AppDomains live within a process and your application runs inside an AppDomain.&lt;/p&gt;

  &lt;p&gt;K. Scott Allen &lt;a href="http://odetocode.com/Articles/305.aspx"&gt;summarizes&lt;/a&gt; the relationship between the worker process and AppDomains quite nicely:&lt;/p&gt;

  &lt;blockquote&gt;
    &lt;p&gt;You’ve created two ASP.NET applications on the same server, and have not done any special configuration. What is happening? &lt;/p&gt;

    &lt;p&gt;A single ASP.NET worker process will host both of the ASP.NET applications. On Windows XP and Windows 2000 this process is named aspnet_wp.exe, and the process runs under the security context of the local ASPNET account. On Windows 2003 the worker process has the name w3wp.exe and runs under the NETWORK SERVICE account by default. &lt;/p&gt;

    &lt;p&gt;An object lives in one AppDomain. Each ASP.NET application will have it’s own set of global variables: Cache, Application, and Session objects are not shared. Even though the code for both of the applications resides inside the same process, the unit of isolation is the .NET AppDomain. If there are classes with shared or static members, and those classes exist in both applications, each AppDomain will have it’s own copy of the static fields – the data is not shared. The code and data for each application is safely isolated and inside of a boundary provided by the AppDomain &lt;/p&gt;

    &lt;p&gt;In order to communicate or pass objects between AppDomains, you’ll need to look at techniques in .NET for communication across boundaries, such as .NET remoting or web services. &lt;/p&gt;
  &lt;/blockquote&gt;

  &lt;p&gt;Here is a logical view borrowed from &lt;a href="http://www.matlus.com/instantiating-business-layers-asp-net-performance/"&gt;a post by Shiv Kumar&lt;/a&gt; that helps to show this relationship visually:&lt;/p&gt;

  &lt;p&gt;&lt;img title="IISAppPoolAndGlobal" border="0" alt="IISAppPoolAndGlobal" src="http://www.matlus.com/content/uploads/2011/01/IISAppPoolAndGlobal_7a87db2b-b0be-4e84-96dd-d2bf6d0f4cfa.jpg" width="367" height="271" /&gt;&lt;/p&gt;

  &lt;p&gt;As outlined in steps 1 – 7 above, when a request comes in, IIS uses an I/O thread to dispatch the request off to ASP.NET. ASP.NET immediately sends the request to the CLR thread pool which returns immediately with a pending status. This frees the IIS I/O thread to handle the next request and so on. Now, if there is a thread available in the thread pool, life is good, and the work item is executed, returning back to the I/O thread in step 7. However, if all of the threads in the thread pool are busy, the request will queue until a CLR thread pool thread is available to process the work item, and if the queue length is too high, users will receive a somewhat terse request to go away and come back later.&lt;/p&gt;

  &lt;p&gt;This is a bit of an extreme trivialization of what happens. There are a number of knobs that can be set in IIS and ASP.NET that allow you to tune the number of concurrent requests, threads and connections that affect both IIS and the CLR thread pool. For example, the IIS thread pool has a maximum thread count of 256. ASP.NET initializes its thread pool to 100 threads per processor/core. You can adjust things like the maximum number of concurrent requests per CPU (which defaults to 5000) and maximum number of connections of 12 per CPU but this can be increased. This stuff is not easy to grasp, and system administrators dedicate entire careers to getting this right. In fact, it is so hard, that we are slowly moving away from having to manage this ourselves and just paying some really smart engineers to do it for us, at massive scale. &lt;/p&gt;

  &lt;p&gt;That said, if you are curious or want to read more, &lt;a href="http://%20http//blogs.msdn.com/b/tmarq/archive/2007/07/21/asp-net-thread-usage-on-iis-7-0-and-6-0.aspx"&gt;Thomas Marquardt&lt;/a&gt; and &lt;a href="http://msdn.microsoft.com/en-us/magazine/cc164128.aspx"&gt;Fritz Onion&lt;/a&gt; cover IIS and CLR threading superbly in their respective posts. &lt;/p&gt;

  &lt;p&gt;Back to the example. If all of your code in step 7 (your app) is synchronous, then the number of concurrently executing &lt;strong&gt;requests&lt;/strong&gt; is equal to the number of &lt;strong&gt;threads&lt;/strong&gt; available to concurrently execute your requests and if you exceed this, your application/service will simply grind to a halt. &lt;/p&gt;

  &lt;p&gt;This is why asynchronous programming is so important. If your application/service (that runs in step 7) is well designed, and makes efficient use of IO by leveraging async so that work is distributed across multiple threads, then there are naturally more threads always ready to do work because the the total processing time of a request becomes that of the longest running operation instead of the sum of all operations. Do this right, and your app can scale pretty darn well as long as there are threads available to do the work. &lt;/p&gt;

  &lt;p&gt;However, as I mentioned, these threads are not free and in addition, there is a cost in switching from the kernel thread to the IIS thread and the CLR thread which results in additional CPU cycles, memory and, latency. &lt;/p&gt;

  &lt;p&gt;It is evident that to minimize latency, you apps must perform the work they need to as quickly as possible to keep threads free and ready to do more work. Leveraging asynchrony is key. &lt;/p&gt;

  &lt;p&gt;Even in era where scaling horizontally is simply a matter of pushing a button and swiping a credit card, an app that scales poorly on premise will scale poorly in the cloud, and both are expensive. Moreover, having written a lot of code, and worked with and mentored many teams in my career, I’ll admit that writing asynchronous code is just plain hard. I’ll even risk my nerd points in admitting that given the choice, I’ll write synchronous code all day long if I can get away with it.&lt;/p&gt;

  &lt;p&gt;&lt;strong&gt;So, what’s so different about Node?&lt;/strong&gt;&lt;/p&gt;

  &lt;p&gt;My biggest source of confusion in digging into Node is the assertion that it is event-based &lt;strong&gt;&lt;em&gt;and&lt;/em&gt;&lt;/strong&gt; single threaded. &lt;/p&gt;

  &lt;p&gt;As we’ve just covered in our learning model, IIS and .NET are quite capable of async, but it certainly can’t do that on a single thread. &lt;/p&gt;

  &lt;p&gt;Well, guess what? Neither can Node. Wait, there’s more. &lt;/p&gt;

  &lt;p&gt;If you think about it for just a few seconds, highly concurrent, event-driven and single threaded do not mix. Intentional or otherwise, “single threaded” is a red herring and something that has simply been propagated over and over. Like a game of telephone, it’s meaning has been distorted and this is the main thing that was driving me NUTS.&lt;/p&gt;

  &lt;p&gt;Let’s take a closer look. &lt;/p&gt;

  &lt;p&gt;In Node, an program/application is created in a process, just like in the .NET world. If you run Node on Windows, you can see an instance of the process for each .js program you have running in Task Manager. &lt;/p&gt;

  &lt;p&gt;What makes Node unique is *not* that it is single-threaded, it’s the way in which it manages event-driven/async for you and this where the concept of an Event Loop comes in.&lt;/p&gt;

  &lt;p&gt;To provide an example, to open a WebSocket server that is compliant with the latest IETF and W3C standards, you write code like this written by my friend &lt;a href="http://twitter.com/adammokan"&gt;Adam Mokan&lt;/a&gt;:&lt;/p&gt;

  &lt;pre&gt;&lt;pre&gt;  1: var ws = require('websocket.io')
&lt;/pre&gt;&lt;pre&gt;  2:   , server = ws.listen(3000)
&lt;/pre&gt;&lt;pre&gt;  3: 
&lt;/pre&gt;&lt;pre&gt;  4: server.on('connection', function (socket) {
&lt;/pre&gt;&lt;pre&gt;  5:   
&lt;/pre&gt;&lt;pre&gt;  6:   console.log('connected to client');
&lt;/pre&gt;&lt;pre&gt;  7:   socket.send('You connected to a web socket!');
&lt;/pre&gt;&lt;pre&gt;  8: 
&lt;/pre&gt;&lt;pre&gt;  9:   socket.on('message', function (data) { 
&lt;/pre&gt;&lt;pre&gt; 10: 		console.log('nessage received:', data);
&lt;/pre&gt;&lt;pre&gt; 11:   });
&lt;/pre&gt;&lt;pre&gt; 12: 
&lt;/pre&gt;&lt;pre&gt; 13:   socket.on('close', function () { 
&lt;/pre&gt;&lt;pre&gt; 14: 		console.log('socket closed!');
&lt;/pre&gt;&lt;pre&gt; 15:   });
&lt;/pre&gt;&lt;pre&gt; 16: });&lt;/pre&gt;&lt;/pre&gt;

  &lt;p&gt;As soon as ws.listen(3000) executes, a WebSocket server is created on a &lt;strong&gt;single thread&lt;/strong&gt; which listens continuously on port 3000. When an HTML5 WebSocket compliant client connects to it, it fires the ‘connection’ event which the loop picks up and immediately publishes to the thread pool (see, I told you it was only half the story), and is ready to receive the next request. Thanks to the V8 Engine, this happens really, really fast. &lt;/p&gt;

  &lt;p&gt;What’s cool is that the program *is* the server. It doesn’t require a server like IIS or Apache to delegate requests to it. Node is fully capable of hosting an HTTP or TCP socket, and it &lt;em&gt;&lt;strong&gt;does do this on a single thread. &lt;/strong&gt;&lt;/em&gt;On the surface, this is actually quite similar to WCF which can be hosted in any CLR process or IIS, and to take this analogy one step further, you could configure a self-hosted WCF service as a singleton with multiple concurrency for a similar effect. But, as you well know, there is a ton of work that now needs to be done from a synchronization perspective and if you don’t use async to carry out the work, your performance will pretty much suck.&lt;/p&gt;

  &lt;p&gt;Wait! You say. Other than an (arguably) easier async programming model, how is this different than IIS/WAS and ASP.NET or WCF? Take a look at this drawing from from a great &lt;a href="http://www.aaronstannard.com/post/2011/12/14/Intro-to-NodeJS-for-NET-Developers.aspx"&gt;post&lt;/a&gt; by &lt;a href="http://www.aaronstannard.com/post/2011/12/14/Intro-to-NodeJS-for-NET-Developers.aspx"&gt;Aarron Stannard&lt;/a&gt; who just happens to be a Developer Evangelist at Microsoft:&lt;/p&gt;

  &lt;p&gt;&lt;img title="nodejs for dotnet" border="0" alt="nodejs for dotnet" src="http://www.aaronstannard.com/image.axd?picture=nodejs for dotnet_thumb.png" width="557" height="352" /&gt;&lt;/p&gt;

  &lt;p&gt;As you can see, there is more than one thread involved. I don’t mean this to sound like a revelation, but it is a necessary refinement to explain how the concurrency is accomplished. But, and it’s a BIG but, unlike .NET, you don’t have a choice but to write your code asynchronously. As you can see in the code sample above, you simply can’t write synchronous code in Node. The work for each event is delegated work to an event handler by the loop immediately after the event fires . The work is picked up by a worker thread in the thread pool and then calls back to the event loop which send the request on its way. It is kind of subtle, but the single thread is *almost* never busy and when it is, it is only busy for a very short period of time. &lt;/p&gt;

  &lt;p&gt;This is different from our model in at least 3 ways I can think of:&lt;/p&gt;

  &lt;ol&gt;
    &lt;li&gt;Your code is aysnc by default, period. &lt;/li&gt;

    &lt;li&gt;There is no context switching as the Event Loop simply publishes and subscribes to the thread pool. &lt;/li&gt;

    &lt;li&gt;The Event Loop never blocks. &lt;/li&gt;
  &lt;/ol&gt;

  &lt;p&gt;&lt;strong&gt;Your code is aysnc by default, period. &lt;/strong&gt;&lt;/p&gt;

  &lt;p&gt;This can’t be understated. Writing asynchronous code is hard, and given the option, most of us won’t. In a thread-based approach, particularly where all work isn’t guaranteed to be asynchronous, latency can become a problem. This isn’t optional in Node, so you either learn async or go away. Since it’s JavaScript, the language is pretty familiar to a very, very wide range of developers.&lt;/p&gt;

  &lt;p&gt;Node is very low level, but modules and frameworks like Express add sugar on top of it that help take some of the sting out of it and modules like Socket.IO and WebSocket.IO are pure awesome sauce. &lt;/p&gt;

  &lt;p&gt;&lt;strong&gt;There is no context switching as the Event Loop simply publishes and subscribes to the thread pool&lt;/strong&gt;&lt;/p&gt;

  &lt;p&gt;I am not a threading expert, but simple physics tells me that that 0 thread hops is better than a minimum of 3. &lt;/p&gt;

  &lt;p&gt;I guess this might be analogous to a hypothetical example where HTTP.sys is the only gate, and WWW Publishing Service, WAS, ASP.NET are no longer in play, but unless HTTP.sys was changed from a threaded approach for concurrency to an Event Loop, I’m guessing it wouldn’t necessarily be apples to apples.&lt;/p&gt;

  &lt;p&gt;With Node, while there are worker threads involved, since they are each carrying out one and only one task at a time asynchronously, the CPU and memory footprint should be lower than a multi-treaded scenario, since less threads are required. This tends to be better for scalability in a highly concurrent environment, even on commodity hardware.&lt;/p&gt;

  &lt;p&gt;&lt;strong&gt;The Event Loop never blocks. &lt;/strong&gt;&lt;/p&gt;

  &lt;p&gt;This is still something I’m trying to get my head around, but conceptually, what appears to be fundamentally different is that the Event Loop always runs on the same, single I/O thread. It is never blocking, but instead waits for something to happen (a connection, request, message, etc.) before doing anything, and then, like a good manager, simply delegates the work to an army of workers who report back when the work is done. In other words, the worker threads do all the work, while the Event Loop just kind of chills waiting for the next request and while it is waiting, it consumes 0 resources. &lt;/p&gt;

  &lt;p&gt;One of the things that I am not clear on is that when the callbacks are serialized back to the loop, only one callback can be handled at one time, so, if a request comes in at the exact same time that the loop is temporarily busy with the callback, will that request block, even if just for the slightest instant? &lt;/p&gt;

  &lt;p&gt;&lt;strong&gt;So?&lt;/strong&gt;&lt;/p&gt;

  &lt;p&gt;Obviously, still being very new to Node, I have a ton to learn, but it is clear that for highly concurrent, real-time scenarios, Node has a lot of promise. &lt;/p&gt;

  &lt;p&gt;Does this mean that I’m abandoning .NET for Node? Of course not. For one, it will take a few years to see how things pan out in the wild, but the traction that Node is getting can’t be ignored, and it could very well signal the shift to event-based server programming and EDA in the large.&lt;/p&gt;

  &lt;p&gt;I’d love to know what you think, and as I mentioned in the introduction, welcome your comments and feedback.&lt;/p&gt;

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

  &lt;ul&gt;
    &lt;li&gt;&lt;a href="http://www.matlus.com/instantiating-business-layers-asp-net-performance/"&gt;http://www.matlus.com/instantiating-business-layers-asp-net-performance/&lt;/a&gt;&lt;/li&gt;

    &lt;li&gt;&lt;a href="http://odetocode.com/Articles/305.aspx"&gt;http://odetocode.com/Articles/305.aspx&lt;/a&gt;&lt;/li&gt;

    &lt;li&gt;&lt;a href="http://learn.iis.net/page.aspx/101/introduction-to-iis-architecture/"&gt;http://learn.iis.net/page.aspx/101/introduction-to-iis-architecture/&lt;/a&gt;&lt;/li&gt;

    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/magazine/cc164128.aspx"&gt;http://msdn.microsoft.com/en-us/magazine/cc164128.aspx&lt;/a&gt;&lt;/li&gt;

    &lt;li&gt;&lt;a href="http://blogs.msdn.com/b/tmarq/archive/2007/07/21/asp-net-thread-usage-on-iis-7-0-and-6-0.aspx"&gt;http://blogs.msdn.com/b/tmarq/archive/2007/07/21/asp-net-thread-usage-on-iis-7-0-and-6-0.aspx&lt;/a&gt;&lt;/li&gt;

    &lt;li&gt;&lt;a href="http://blogs.msdn.com/b/tmarq/archive/2010/04/14/performing-asynchronous-work-or-tasks-in-asp-net-applications.aspx"&gt;http://blogs.msdn.com/b/tmarq/archive/2010/04/14/performing-asynchronous-work-or-tasks-in-asp-net-applications.aspx&lt;/a&gt;&lt;/li&gt;

    &lt;li&gt;&lt;a href="http://nodebeginner.org/"&gt;http://nodebeginner.org/&lt;/a&gt;&lt;/li&gt;

    &lt;li&gt;&lt;a href="http://www.beakkon.com/geek/node.js/why-node.js-single-thread-event-loop-javascript"&gt;http://www.beakkon.com/geek/node.js/why-node.js-single-thread-event-loop-javascript&lt;/a&gt;&lt;/li&gt;

    &lt;li&gt;&lt;a href="http://www.aaronstannard.com/post/2011/12/14/Intro-to-NodeJS-for-NET-Developers.aspx"&gt;http://www.aaronstannard.com/post/2011/12/14/Intro-to-NodeJS-for-NET-Developers.aspx&lt;/a&gt;&lt;/li&gt;

    &lt;li&gt;&lt;a href="http://www.quora.com/How-does-an-event-loop-work"&gt;http://www.quora.com/How-does-an-event-loop-work&lt;/a&gt;&lt;/li&gt;

    &lt;li&gt;&lt;a href="http://debuggable.com/posts/understanding-node-js:4bd98440-45e4-4a9a-8ef7-0f7ecbdd56cb"&gt;http://debuggable.com/posts/understanding-node-js:4bd98440-45e4-4a9a-8ef7-0f7ecbdd56cb&lt;/a&gt;&lt;/li&gt;
  &lt;/ul&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;• Hanu Kommalapati&lt;/strong&gt; (@&lt;a href="https://twitter.com/#!/hanuk"&gt;hanuk&lt;/a&gt;) listed five &lt;a href="http://blogs.msdn.com/b/hanuk/archive/2012/01/28/ecm-cms-systems-on-windows-azure.aspx"&gt;ECM / CMS Systems on Windows Azure&lt;/a&gt; in a 1/28/2012 post:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-R6D3XeSxGjo/TyWENGF3RRI/AAAAAAAAaJs/gScRHxs5u64/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/-T9bsKoBWccM/TyWENq3-pSI/AAAAAAAAaJ0/xQmoVTD45qc/image_thumb%25255B1%25255D.png?imgmax=800" width="54" height="66" /&gt;&lt;/a&gt;Here is a list of CMS systems that are available on Windows Azure from various ISVs:&lt;/p&gt;

  &lt;ul&gt;
    &lt;li&gt;Ektron CMS for .NET on Windows Azure: &lt;a href="http://www.ektron.com/Solutions/Technology-and-features/Features-and-Tools/Ektron-Azure-Edition/"&gt;http://www.ektron.com/Solutions/Technology-and-features/Features-and-Tools/Ektron-Azure-Edition/&lt;/a&gt;&lt;/li&gt;

    &lt;li&gt;Telerik Sitefinity: &lt;a href="http://www.sitefinity.com/asp-net-cms-features-for-it-managers/windows-azure.aspx"&gt;http://www.sitefinity.com/asp-net-cms-features-for-it-managers/windows-azure.aspx&lt;/a&gt;&lt;/li&gt;

    &lt;li&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;Sitecore CMS on Azure: &lt;a href="http://www.sitecore.net/Azure"&gt;http://www.sitecore.net/Azure&lt;/a&gt;&lt;/li&gt;

    &lt;li&gt;Kentico CMS on Azure: &lt;a href="http://www.kentico.com/Product/All-Features/Website/Windows-Azure"&gt;http://www.kentico.com/Product/All-Features/Website/Windows-Azure&lt;/a&gt;&lt;/li&gt;

    &lt;li&gt;Drupal on Azure: &lt;a href="http://azurephp.interoperabilitybridges.com/articles/how-to-deploy-drupal-to-windows-azure-using-the-drupal-scaffold"&gt;http://azurephp.interoperabilitybridges.com/articles/how-to-deploy-drupal-to-windows-azure-using-the-drupal-scaffold&lt;/a&gt;&lt;/li&gt;
  &lt;/ul&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;Steve Marx&lt;/strong&gt; (@&lt;a href="http://twitter.com/smarx"&gt;smarx&lt;/a&gt;) announced his departure from Microsoft for life as an entrepreneur in 1/27/2012 post:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-vDszL1AQUbM/TyRY6MMb8GI/AAAAAAAAaCU/D3QaNhWVt3g/s1600-h/image%25255B91%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/-2iV87Qlf9oA/TyRY6dsyJiI/AAAAAAAAaCc/ZsnOKIacU9I/image_thumb%25255B30%25255D.png?imgmax=800" width="57" height="66" /&gt;&lt;/a&gt;I joined Microsoft in 2002, right out of college. Since then, every few years, I've looked for a new challenge, whether that's a new role (tester, developer, evangelist, program manager, two kinds of &amp;quot;strategist,&amp;quot; technical product manager) or a new technology (Windows, static code analysis, ASP.NET AJAX, Windows Azure). For the past almost-decade, I've found all those new challenges within Microsoft. In my opinion, one of the biggest advantages of working at Microsoft is that it's easy to move around the company and find the right role. There's no shortage of interesting work to do and great people to work with.&lt;/p&gt;

  &lt;p&gt;After more than four years working on Windows Azure, I'm ready to find a new challenge again. This time, however, I'd like to create something all of my own. To that end, I'm cofounding a company with a friend (and former coworker). I won't say what we're going to be working on because we honestly don't know yet! 
    &lt;br /&gt;I'm sad to leave Microsoft and Windows Azure. I think this is going to be an amazing year for Windows Azure, and it's going to be strange for me to watch it from the outside. At the same time, I'm excited for the next stage of my career as an entrepreneur.&lt;/p&gt;

  &lt;p&gt;On a practical note, this blog isn't going anywhere, though its content will broaden to other topics. I'm still happy to answer questions about blog posts or code I've written over the past few years, so don't hesitate to email me at &lt;a href="mailto:smarx@smarx.com"&gt;smarx@smarx.com&lt;/a&gt; or ping me on Twitter (&lt;a href="http://twitter.com/smarx"&gt;@smarx&lt;/a&gt;) about anything.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;We Azure coders will miss you, Steve!&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/windows-azure-troubleshooting-taking-specific-windows-azure-instance-offline.aspx"&gt;Windows Azure Troubleshooting - Taking specific Windows Azure Instance offline&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/-yXOdI10BQ-U/TyRY64Mi1DI/AAAAAAAAaCk/EUQMNHb5l1U/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://lh6.ggpht.com/-5KabZ3yjtEs/TyRY7Bjt68I/AAAAAAAAaCw/DU8TTBWNWF8/image_thumb%25255B6%25255D.png?imgmax=800" width="65" height="57" /&gt;&lt;/a&gt;When you have lots of instances running on Windows Azure, you may need to investigate issues on a specific instance however there is not direct way, you can offline specific instance from your total instances. To investigate a specific instance your first requirement is to take that instance out of the network load-balancer so that you can enable offline troubleshooting. Azure Service Management portal does not provide such functionality however you can use PowerShell and Windows Azure cmdlets on the Compute nodes to remove your instance away from Load Balancer. To use it, you must have Remote login enabled on your Windows Azure application.&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;Here are the steps:&lt;/p&gt;

  &lt;ol&gt;
    &lt;li&gt;Remote login to your specific instance you would want to make offline &lt;/li&gt;

    &lt;li&gt;Launch PowerShell as Administrator &lt;/li&gt;

    &lt;li&gt;Run command - Add-PSSnapIn Microsoft.WindowsAzure.ServiceRuntime &lt;/li&gt;

    &lt;li&gt;Select ‘R’ to run the untrusted code &lt;/li&gt;

    &lt;li&gt;Run command - ‘Set-RoleInstanceStatus –busy’ &lt;/li&gt;

    &lt;li&gt;Please leave PowerShell window open to keep instance in offline mode (If you will close the PowerShell window the instance will become Active again). You will also see a message about it in PowerShell command window. &lt;/li&gt;

    &lt;li&gt;Now it will take about 2-5 minutes and after that time your specific instance will be off line. &lt;/li&gt;
  &lt;/ol&gt;

  &lt;p&gt;The PowerShell command window 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/5808.offline11.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/5808.offline11.png" /&gt;&lt;/a&gt;&lt;/p&gt;

  &lt;p&gt;Now let’s check the Windows Azure Management Portal for instance 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/7853.offline12.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/7853.offline12.png" /&gt;&lt;/a&gt;&lt;/p&gt;

  &lt;p&gt;To verify that we have offline the same instance run PS command “Get-RoleInstance –Current” 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/1680.offline13.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/350x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-41-09/1680.offline13.png" /&gt;&lt;/a&gt;&lt;/p&gt;

  &lt;p&gt;After I close the PowerShell Windows my specific instance will become responsive again in next 2-5 minutes 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/5556.offline14.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/5556.offline14.png" /&gt;&lt;/a&gt;&lt;/p&gt;

  &lt;p&gt;That’s it!!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;strong&gt;Nathan Totten&lt;/strong&gt; (@&lt;a href="https://twitter.com/#!/ntotten"&gt;ntotten&lt;/a&gt;) reported &lt;a href="http://blog.ntotten.com/2012/01/26/windows-azure-toolkit-for-social-games-version-1-2-2-released/"&gt;Windows Azure Toolkit for Social Games Version 1.2.2 Released&lt;/a&gt; in a 1/26/2012 post:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-8N7wA1sQt04/TyRY7dwpJ9I/AAAAAAAAaC4/SFNqxvq6cg8/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://lh5.ggpht.com/-MQBJrzYr1ZI/TyRY7gsywTI/AAAAAAAAaDA/0WlmdJlBo9o/image_thumb%25255B28%25255D.png?imgmax=800" width="49" height="66" /&gt;&lt;/a&gt;Today, I released version 1.2.2 of the &lt;a href="https://github.com/WindowsAzure-Toolkits/wa-toolkit-games"&gt;Windows Azure Toolkit for Social Games&lt;/a&gt;. You can download the self-extracting package &lt;a href="https://github.com/downloads/WindowsAzure-Toolkits/wa-toolkit-games/WATGames-v1.2.2.exe"&gt;here&lt;/a&gt;. This version does not add any new features compared to the last (Version 1.2.0 – Beta), but this release is considered stable. We added a number of performance enhancements as well as optimized the setup of the Autofac dependency injection. The big news with this release is that we have moved the project to &lt;a href="https://github.com/WindowsAzure-Toolkits/wa-toolkit-games"&gt;Github&lt;/a&gt;.&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 those who haven’t downloaded or used the social gaming toolkit yet I would encourage you to check it out. There are a lot of common patterns and tons of reusable code in the toolkit that applies for many scenarios besides the gaming space. With more and more applications relying on real-time communication, sharing, and feedback the mechanisms that are used in games can be applied to many kinds of software.&lt;/p&gt;

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

  &lt;p&gt;Since we started this project Github has become an increasingly popular place to host the open source projects. Additionally, the &lt;a href="https://github.com/WindowsAzure"&gt;Windows Azure SDKs&lt;/a&gt; are now open sourced and available on Github. We have seen a great deal of support from the community in this move and believe that Github is the right place to host this toolkit. Our hope is that with the amazing support Github offers for social coding such as forking, pull requests, etc. more users will be able to utilize and contribute to this project.&lt;/p&gt;

  &lt;p&gt;For those of you that have not used git or Github before I highly recommend watching the &lt;a href="http://tekpub.com/productions/git"&gt;Mastering Git video&lt;/a&gt; on &lt;a href="http://tekpub.com/"&gt;Tekpub&lt;/a&gt;. It costs $15, but it is worth it if you like learning though videos. If you like learning by doing and reading the instructions Github has a great set of help documentation on there &lt;a href="http://help.github.com/"&gt;site&lt;/a&gt;.&lt;/p&gt;

  &lt;h5&gt;Cloning a Repository&lt;/h5&gt;

  &lt;p&gt;Rather than simply downloading the zip or self-extracting package of the Social Gaming Toolkit, you may want to clone the repository. Doing this will make it easier to pull in changes when we release future updates. It also allows you to make local changes to the toolkit and still update code that changes in future versions without loosing all your work.&lt;/p&gt;

  &lt;p&gt;In order to clone a repository first you must have git installed on your computer. You can download git &lt;a href="http://git-scm.com/"&gt;here&lt;/a&gt;. After you have git installed simply open the command prompt and clone the repository using the following command.&lt;/p&gt;

  &lt;pre&gt;git clone git@github.com:WindowsAzure-Toolkits/wa-toolkit-games.git&lt;/pre&gt;

  &lt;h5&gt;Forking a Project&lt;/h5&gt;

  &lt;p&gt;One of the best features of Github is that you can easily &lt;a href="http://help.github.com/fork-a-repo/"&gt;fork projects&lt;/a&gt; and make your own edits. If you use this toolkit and want to keep your own version simply create a fork and make your edits. Additionally, if you make a change that you think everyone would benefit from simply&lt;a href="http://help.github.com/send-pull-requests/"&gt; send a pull request&lt;/a&gt; and request that we add your change to our fork.&lt;/p&gt;

  &lt;p&gt;Forking a repository is easy. Simply click the fork button and select where you want the fork to live.&lt;/p&gt;

  &lt;p&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" title="forks" alt="" src="http://nathantotten.files.wordpress.com/2012/01/forks.png?w=584&amp;amp;h=236" width="560" height="226" /&gt;&lt;/p&gt;

  &lt;p&gt;After you have forked the project, you can push change[s] to your own repository. If you have a change that you want to be added to the original repository all you have to do is send a pull request.&lt;/p&gt;

  &lt;p&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" title="pullrequest" alt="" src="http://nathantotten.files.wordpress.com/2012/01/pullrequest.png?w=584" /&gt;&lt;/p&gt;

  &lt;p&gt;If your pull request is accepted, your changes will be added to the original repository for everybody to use. Feel free to add features or fix any bugs you find and send us a pull request.&lt;/p&gt;

  &lt;p&gt;As always, feel free to leave comments, feedback, or suggestions. I would love to hear how you are using the toolkit and what you think about using Github.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;strong&gt;PRNewsWire&lt;/strong&gt; asserted “Integration Offers Unparalleled End-to-End Node.js Development Experience” in the introduction to a &lt;a href="http://cloudinterop.ulitzer.com/node/2139004"&gt;Cloud9 IDE to Offer Windows Azure Deployment&lt;/a&gt; press release of 1/24/2012 (missed when published):&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-1Q_mc1jRlSo/TyRY7_D3Z7I/AAAAAAAAaDI/aepxuMiGQwk/s1600-h/image%25255B45%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/-xCcQHj4txhQ/TyRY8PVV2UI/AAAAAAAAaDQ/ScVRACzJE-0/image_thumb%25255B15%25255D.png?imgmax=800" width="160" height="27" /&gt;&lt;/a&gt;&lt;a href="http://c9.io/"&gt;Cloud9 IDE, Inc.&lt;/a&gt;, the leading cloud-based Integrated Development Environment (IDE) for web and mobile applications, has announced the availability of &lt;a href="http://www.windowsazure.com/en-us/"&gt;Windows Azure&lt;/a&gt; deployment from the IDE. Windows Azure is an open cloud platform that enables users to manage applications across a global network of Microsoft-managed datacenters. The integration offers Node.js developers the advantages of a comprehensive cloud-based development environment, paired with Windows Azure's industry-leading ease of use, scalability, and interoperability. &lt;/p&gt;

  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-dWcYJuiCIrE/TyRY8XO3dKI/AAAAAAAAaDY/tnQih371K9c/s1600-h/image%25255B48%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/-663WAPZCmwM/TyRY8rWabkI/AAAAAAAAaDg/fMGbN4DTWa0/image_thumb%25255B16%25255D.png?imgmax=800" width="65" height="39" /&gt;&lt;/a&gt;Cloud9 IDE runs in modern web browsers and enables developers to run, debug and deploy Node.js applications from anywhere, at anytime. Integrating the Node.js IDE with Windows Azure allows developers to directly deploy applications and permanently host code on Windows Azure's robust services platform. Developers can instantly benefit from Windows Azure's high availability and 'infinite scale' model, which enables users to deploy enterprise-level applications globally, with the ability to grow or shrink resource usage based on need.&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;&amp;quot;We're pleased to offer Windows Azure deployment from Cloud9 IDE,&amp;quot; said Ruben Daniels, CEO, Cloud9 IDE. &amp;quot;Like Cloud9, Microsoft has demonstrated a strong commitment to the Node.js community through Windows Azure. This relationship shows how quickly Node.js is becoming the runtime of cloud, and proves that a fully cloud-based development workflow is now a reality.&amp;quot;&lt;/p&gt;

  &lt;p&gt;Developers can also take advantage of the Node-specific capabilities offered by both Cloud9 IDE and Windows Azure. Cloud9 IDE offers a variety of Node features, such as syntax highlighting, NPM support, code completion, testing and in-browser debugging. The company also recently announced a variety of tools designed to support the growth of the Node.js community, including &lt;a href="http://nodebits.org/"&gt;Nodebits.org&lt;/a&gt;, a blog featuring high-quality Node.js tutorials, and &lt;a href="http://nodemanual.org/"&gt;Nodemanual.org&lt;/a&gt;, Cloud9 IDE's Node documentation site. Similarly, Node.js developers can utilize Windows Azure's new &lt;a href="http://www.windowsazure.com/en-us/develop/nodejs/"&gt;Node.js Developer Center&lt;/a&gt; and &lt;a href="http://www.microsoft.com/web/gallery/install.aspx?appid=azurenodepowershell&amp;amp;clcid=0x409"&gt;Windows Azure SDK for Node.js&lt;/a&gt;. &lt;/p&gt;

  &lt;p&gt;&amp;quot;Windows Azure's adoption of Node.js gives customers new and powerful options that let them take advantage of the openness and flexibility of the cloud,&amp;quot; said, Scott Guthrie, Corporate Vice President, Microsoft Server and Tools Business. &amp;quot;By working with Cloud9 IDE, our goal is to make development even easier for customers and to continue to demonstrate our support for interoperability.&amp;quot;&lt;/p&gt;

  &lt;p&gt;The Windows Azure integration marks a significant milestone as Cloud9 IDE continues to revolutionize the landscape of modern-day programming. Developers can now extend the professional Node.js experience offered by Cloud9 IDE onto Windows Azure, for a complete end-to-end development solution.&lt;/p&gt;

  &lt;p&gt;&lt;b&gt;About Cloud9 IDE&lt;/b&gt;&lt;/p&gt;

  &lt;p&gt;Cloud9 IDE, a leading cloud-based Integrated Development Environment, enables web and mobile developers to work together in remote teams anywhere, anytime. With the rise of JavaScript and the explosion of mobile apps, Cloud9 IDE is leading the revolution with Development as a Service (DaaS) for Node.js, supporting JavaScript and HTML5. Founded in 2010, the company, based in San Francisco and Amsterdam, received additional funding from Accel Partners and Atlassian. To learn more about Cloud9 IDE, please visit &lt;a href="http://www.cloud9ide.com"&gt;www.cloud9ide.com&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;• Paul Van Bladel&lt;/strong&gt; (@&lt;a href="https://twitter.com/#!/paulvanbladel"&gt;paulvanbladel&lt;/a&gt;) described how to implement &lt;a href="http://blog.pragmaswitch.com/?p=258"&gt;Row level security&lt;/a&gt; in Visual Studio LightSwitch on 1/29/2012:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;h5&gt;&lt;a href="http://lh3.ggpht.com/-51DpU1JoeGk/TyWEN_N2O6I/AAAAAAAAaJ8/mtw5GH6NwQo/s1600-h/image%25255B10%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/-s-GhGCFn3dI/TyWEOBPSfMI/AAAAAAAAaKE/VJXqheMbQLA/image_thumb%25255B4%25255D.png?imgmax=800" width="54" height="66" /&gt;&lt;/a&gt;Introduction&lt;/h5&gt;

  &lt;p&gt;The previous post covered table level security. Let’s focus now on row level security: which rows can a user see depending on her permission set.&lt;/p&gt;

  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-lHJYK1geIQY/TyWEOZT9AoI/AAAAAAAAaKM/kiSOg5EEW-Q/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://lh4.ggpht.com/-RKKh930vXeE/TyWEOtoYXlI/AAAAAAAAaKU/8vli-oCQz3Y/image_thumb%25255B3%25255D.png?imgmax=800" width="170" height="53" /&gt;&lt;/a&gt;Let’s take in mind the app for managing purchase requests. I have an PurchaseOrder which is initially requested by a company employee (we call them requestors). Before being sent eventually to the vendor, the purchase order first needs to be approved by several other parties: a procurement officers and and Adviser.&lt;/p&gt;

  &lt;p&gt;Let’s imagine that following row level security rules needs to be implemented:&lt;/p&gt;

  &lt;ul&gt;
    &lt;li&gt;requestors can see only their own requests &lt;/li&gt;

    &lt;li&gt;procurement officers can only see requests to which they are assigned as procurement officer &lt;/li&gt;

    &lt;li&gt;advisers can see only those requests to which they are assigned as adviser.&lt;/li&gt;
  &lt;/ul&gt;

  &lt;p&gt;An important requirement is that it is perfectly possible that users have different roles at the same time: e.g. an adviser can hand in as well a purchase request. This means that she can see requests handed in by her and requests in which she particapates as adviser.&lt;/p&gt;

  &lt;h3&gt;Preprocess query method and permissions&lt;/h3&gt;

  &lt;p&gt;It is clear that the row level security that we want to implement is handled in the ProProcessQuery method associated with the PurchaseRequest entity. Furthermore, the LightSwitch permission mechanism is used as “entry point” to the security implementation.&lt;/p&gt;

  &lt;p&gt;Let’s keep the data model as simple as possible:&lt;/p&gt;

  &lt;p&gt;&lt;a href="http://blog.pragmaswitch.com/wp-content/uploads/2012/01/purchaserequestentity.png"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" title="purchaserequestentity" alt="" src="http://blog.pragmaswitch.com/wp-content/uploads/2012/01/purchaserequestentity.png" width="560" height="335" /&gt;&lt;/a&gt;&lt;/p&gt;

  &lt;p&gt;We define 3 permissions in the Access Control Tab of the application properties:&lt;/p&gt;

  &lt;ul&gt;
    &lt;li&gt;RLS_ApplyFilteringOnAssociatedRequestor &lt;/li&gt;

    &lt;li&gt;RLS_ApplyFilteringOnAssociatedProcurementOfficer &lt;/li&gt;

    &lt;li&gt;RLS_ApplyFilteringOnAssociatedAdviser&lt;/li&gt;
  &lt;/ul&gt;

  &lt;p&gt;The RLS stands for Row Level Security. By using this prefix the permissions can be easily identified in the permission list. That’s practical, because row level security permissions have a slightly different semantic than other permissions. A “normal” permission is a kind of additional right in the application. So, more permissions, more rights. That’s kind of different with the row level security permissions. I you have a certain RLS permission, additional filtering on data is applied, so in a way, you have less rights.&lt;/p&gt;

  &lt;h5&gt;What is wrong with the following approach&lt;/h5&gt;

  &lt;p&gt;What is the problem with following code?&lt;/p&gt;

  &lt;pre&gt;partial void PurchaseRequests_All_PreprocessQuery(ref IQueryable&amp;lt;LightSwitchApplication.PurchaseRequest&amp;gt; query)
        {
            bool applyRequestorFiltering= this.Application.User.HasPermission(Permissions.RLS_ApplyFilteringOnAssociatedRequestor);
            bool applyProcurementOfficerFiltering = this.Application.User.HasPermission(Permissions.RLS_ApplyFilteringOnAssociatedProcurementOfficer);
            bool applyAdviserFiltering = this.Application.User.HasPermission(Permissions.RLS_ApplyFilteringOnAssociatedAdviser);

            if (applyRequestorFiltering)
            {
                query = query.Where(r =&amp;gt; r.RequestorUserName == this.Application.User.Name);
            }

            if (applyProcurementOfficerFiltering)
            {
                query = query.Where(r =&amp;gt; r.ProcurementOfficerUserName == this.Application.User.Name);
            }

            if (applyAdviserFiltering)
            {
                query = query.Where(r =&amp;gt; r.AdviserUserName == this.Application.User.Name);
            }
        }&lt;/pre&gt;

  &lt;p&gt;What is happening here? We first take the 3 permissions in a simple boolean value (e.g. applyRequestorFiltering). Depending on the active filters, a specific predicate will be applied. This all makes sense and this works also perfectly under the assumption that the user has either:&lt;/p&gt;

  &lt;ul&gt;
    &lt;li&gt;one of the 3 possible permissions: a single where clause is applied. &lt;/li&gt;

    &lt;li&gt;no permission at all: in this case the query will just be returned untouched.&lt;/li&gt;
  &lt;/ul&gt;

  &lt;p&gt;What happens when the user has e.g. both the requestor and the adviser permission? Well, .. the 2 filters are applied but only the &lt;strong&gt;Intersection &lt;/strong&gt;is returned and that’s not what we want. We want the records where the current user is requestor OR where the current user is Adviser.&lt;/p&gt;

  &lt;p&gt;It’s very tempting to try to combine the 3 predicates in one where clause, but you’ll see you end up with other trouble.&lt;/p&gt;

  &lt;h5&gt;Introducing the ConditionalOr Operator&lt;/h5&gt;

  &lt;p&gt;Try to see what’s happening here:&lt;/p&gt;

  &lt;pre&gt; partial void PurchaseRequests_All_PreprocessQuery(ref IQueryable&amp;lt;LightSwitchApplication.PurchaseRequest&amp;gt; query)
        {
            bool applyRequestorFiltering = this.Application.User.HasPermission(Permissions.RLS_ApplyFilteringOnAssociatedRequestor);
            bool applyProcurementOfficerFiltering = this.Application.User.HasPermission(Permissions.RLS_ApplyFilteringOnAssociatedProcurementOfficer);
            bool applyAdviserFiltering = this.Application.User.HasPermission(Permissions.RLS_ApplyFilteringOnAssociatedAdviser);

            if (!applyRequestorFiltering &amp;amp;&amp;amp; !applyProcurementOfficerFiltering &amp;amp;&amp;amp; !applyAdviserFiltering)
            {
                return;
            }

            Expression&amp;lt;Func&amp;lt;PurchaseRequest, bool&amp;gt;&amp;gt; StartWith = r =&amp;gt; false;
            Expression&amp;lt;Func&amp;lt;PurchaseRequest, bool&amp;gt;&amp;gt; requestorPredicate = r =&amp;gt; r.RequestorUserName == this.Application.User.Name;
            Expression&amp;lt;Func&amp;lt;PurchaseRequest, bool&amp;gt;&amp;gt; procurementOfficerPredicate = r =&amp;gt; r.ProcurementOfficerUserName == this.Application.User.Name;
            Expression&amp;lt;Func&amp;lt;PurchaseRequest, bool&amp;gt;&amp;gt; adviserPredicate = r =&amp;gt; r.AdviserUserName == this.Application.User.Name;

            Expression&amp;lt;Func&amp;lt;PurchaseRequest, bool&amp;gt;&amp;gt; predicate =
                StartWith
                .ConditionalOr(requestorPredicate, applyRequestorFiltering)
                .ConditionalOr(procurementOfficerPredicate, applyProcurementOfficerFiltering)
                .ConditionalOr(adviserPredicate, applyAdviserFiltering);
            query = query.Where(predicate);
        }&lt;/pre&gt;

  &lt;p&gt;So, we split the 3 permissions into 3 Expressions and we start with a query that’s returning nothing by applying the StartWith expression. Afterwards each filter is applied in a conditional way and Or-ed with the previous expression.&lt;/p&gt;

  &lt;p&gt;This will give the result we expect: in case a user has multiple permissions, the correct result set is returned.&lt;/p&gt;

  &lt;p&gt;Of course, we still need the code for the ConditionalOr operator (I found this approach here: &lt;a href="http://blogs.msdn.com/b/meek/archive/2008/05/02/linq-to-entities-combining-predicates.aspx"&gt;http://blogs.msdn.com/b/meek/archive/2008/05/02/linq-to-entities-combining-predicates.aspx&lt;/a&gt;):&lt;/p&gt;

  &lt;pre&gt;public static class Utility
    {
        public static Expression&amp;lt;T&amp;gt; Compose&amp;lt;T&amp;gt;(this Expression&amp;lt;T&amp;gt; first, Expression&amp;lt;T&amp;gt; second, Func&amp;lt;Expression, Expression, Expression&amp;gt; merge)
        {
            // build parameter map (from parameters of second to parameters of first)
            var map = first.Parameters.Select((f, i) =&amp;gt; new { f, s = second.Parameters[i] }).ToDictionary(p =&amp;gt; p.s, p =&amp;gt; p.f);

            // replace parameters in the second lambda expression with parameters from the first
            var secondBody = ParameterRebinder.ReplaceParameters(map, second.Body);

            // apply composition of lambda expression bodies to parameters from the first expression
            return Expression.Lambda&amp;lt;T&amp;gt;(merge(first.Body, secondBody), first.Parameters);
        }

        public static Expression&amp;lt;Func&amp;lt;T, bool&amp;gt;&amp;gt; And&amp;lt;T&amp;gt;(this Expression&amp;lt;Func&amp;lt;T, bool&amp;gt;&amp;gt; first, Expression&amp;lt;Func&amp;lt;T, bool&amp;gt;&amp;gt; second)
        {
            return first.Compose(second, Expression.And);
        }

        public static Expression&amp;lt;Func&amp;lt;T, bool&amp;gt;&amp;gt; Or&amp;lt;T&amp;gt;(this Expression&amp;lt;Func&amp;lt;T, bool&amp;gt;&amp;gt; first, Expression&amp;lt;Func&amp;lt;T, bool&amp;gt;&amp;gt; second)
        {
            return first.Compose(second, Expression.Or);
        }

        public static Expression&amp;lt;Func&amp;lt;T, bool&amp;gt;&amp;gt; ConditionalOr&amp;lt;T&amp;gt;(this Expression&amp;lt;Func&amp;lt;T, bool&amp;gt;&amp;gt; first, Expression&amp;lt;Func&amp;lt;T, bool&amp;gt;&amp;gt; second, bool? doCompose)
        {
            if (doCompose.Value == true)
            {
                return first.Compose(second, Expression.Or);
            }

            else
            {
                return first;
            }
        }
    }
    public class ParameterRebinder : ExpressionVisitor
    {
        private readonly Dictionary&amp;lt;ParameterExpression, ParameterExpression&amp;gt; map;

        public ParameterRebinder(Dictionary&amp;lt;ParameterExpression, ParameterExpression&amp;gt; map)
        {
            this.map = map ?? new Dictionary&amp;lt;ParameterExpression, ParameterExpression&amp;gt;();
        }

        public static Expression ReplaceParameters(Dictionary&amp;lt;ParameterExpression, ParameterExpression&amp;gt; map, Expression exp)
        {
            return new ParameterRebinder(map).Visit(exp);
        }

        protected override Expression VisitParameter(ParameterExpression p)
        {
            ParameterExpression replacement;
            if (map.TryGetValue(p, out replacement))
            {
                p = replacement;
            }
            return base.VisitParameter(p);
        }
    }&lt;/pre&gt;

  &lt;p&gt;Note that you can get the same result by using the excellent LinqKit Predicatebuilder (&lt;a href="http://www.albahari.com/nutshell/predicatebuilder.aspx"&gt;http://www.albahari.com/nutshell/predicatebuilder.aspx&lt;/a&gt;).&lt;/p&gt;

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

  &lt;p&gt;Row level security is key in every decent enterprise application. LightSwitch allows to implement row level security in an excellent way. Extending Linq with the conditionalOr operator allows to really tune the row level security at any level.&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;Beth Massi&lt;/strong&gt; (@&lt;a href="http://twitter.com/bethmassi"&gt;bethmassi&lt;/a&gt;) posted a &lt;a href="http://blogs.msdn.com/b/bethmassi/archive/2012/01/26/beginning-lightswitch-address-book-sample.aspx"&gt;Beginning LightSwitch–Address Book Sample&lt;/a&gt; on 1/26/2012:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-nYMqZ51ivCM/TyRY88smWsI/AAAAAAAAaDo/Cz72BElOz04/s1600-h/image%25255B33%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/-ASUqo0ctkkE/TyRY9N2xHnI/AAAAAAAAaDw/6AdRTqXLo10/image_thumb%25255B10%25255D.png?imgmax=800" width="56" height="66" /&gt;&lt;/a&gt;Some folks have been asking for this so I just released the completed Address Book sample that you build step-by-step in the &lt;a href="http://blogs.msdn.com/b/bethmassi/archive/2011/12/01/beginning-lightswitch-getting-started.aspx"&gt;Beginning LightSwitch Article Series&lt;/a&gt;. &lt;/p&gt;

  &lt;h5&gt;&lt;a href="http://code.msdn.microsoft.com/Begining-LightSwitch-508763ea"&gt;&lt;img border="0" alt="Download Sample" src="http://i.msdn.microsoft.com/ee402630.Download_sm(en-us,MSDN.10).png" /&gt;&lt;/a&gt; &lt;a href="http://code.msdn.microsoft.com/Begining-LightSwitch-508763ea"&gt;Download the Address Book Sample&lt;/a&gt;&lt;/h5&gt;

  &lt;h5&gt;Read the Series&lt;/h5&gt;

  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-bXNtHNFiC30/TyRY9T9MgKI/AAAAAAAAaD4/EcZPCUIFamU/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://lh5.ggpht.com/-OdegkTA2xyE/TyRY9juW0lI/AAAAAAAAaEA/O-SsPebcohc/image_thumb1_thumb%25255B1%25255D.png?imgmax=800" width="171" height="54" /&gt;&lt;/a&gt;Are you completely new to LightSwitch and software development? Read this entry-level article series to get started with the most important concepts you need to build any LightSwitch application.&lt;/p&gt;

  &lt;ul&gt;
    &lt;li&gt;&lt;a href="http://blogs.msdn.com/b/bethmassi/archive/2011/12/06/beginning-lightswitch-part-1-what-s-in-a-table-describing-your-data.aspx"&gt;Part 1: What’s in a Table? Describing Your Data&lt;/a&gt; &lt;/li&gt;

    &lt;li&gt;&lt;a href="http://blogs.msdn.com/b/bethmassi/archive/2011/12/08/beginning-lightswitch-part-2-feel-the-love-defining-data-relationships.aspx"&gt;Part 2: Feel the Love. Defining Data Relationships&lt;/a&gt; &lt;/li&gt;

    &lt;li&gt;&lt;a href="http://blogs.msdn.com/b/bethmassi/archive/2011/12/14/beginning-lightswitch-part-3-screen-templates-which-one-do-i-choose.aspx"&gt;Part 3: Screen Templates, Which One Do I Choose?&lt;/a&gt; &lt;/li&gt;

    &lt;li&gt;&lt;a href="http://blogs.msdn.com/b/bethmassi/archive/2011/12/15/beginning-lightswitch-part-4-too-much-information-sorting-and-filtering-data-with-queries.aspx"&gt;Part 4: Too much information! Sorting and Filtering Data with Queries&lt;/a&gt; &lt;/li&gt;

    &lt;li&gt;&lt;a href="http://blogs.msdn.com/b/bethmassi/archive/2011/12/20/beginning-lightswitch-part-5-may-i-defining-user-permissions.aspx"&gt;Part 5: May I? Controlling Access with User Permissions&lt;/a&gt; &lt;/li&gt;

    &lt;li&gt;&lt;a href="http://blogs.msdn.com/b/bethmassi/archive/2011/12/21/beginning-lightswitch-part-6-i-feel-pretty-customizing-the-quot-look-and-feel-quot-with-themes.aspx"&gt;Part 6: I Feel Pretty! Customizing the &amp;quot;Look and Feel&amp;quot; with Themes&lt;/a&gt; &lt;/li&gt;
  &lt;/ul&gt;

  &lt;h5&gt;More Information&lt;/h5&gt;

  &lt;p&gt;Visit the &lt;a href="http://msdn.com/lightswitch"&gt;LightSwitch Developer Center&lt;/a&gt; to download LightSwitch and get started learning.&lt;/p&gt;

  &lt;p&gt;&lt;a href="http://go.microsoft.com/fwlink/?LinkID=211226"&gt;&lt;img border="0" alt="" src="http://i.msdn.microsoft.com/ee402630.Numeral1_sm(en-us,MSDN.10).png" /&gt;&lt;/a&gt;&lt;a href="http://go.microsoft.com/fwlink/?LinkID=211226"&gt;Download Visual Studio LightSwitch&lt;/a&gt;&lt;/p&gt;

  &lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/lightswitch/gg604823"&gt;&lt;img border="0" alt="" src="http://i.msdn.microsoft.com/ee402630.Numeral2_sm(en-us,MSDN.10).png" /&gt;&lt;/a&gt;&lt;a href="http://msdn.microsoft.com/en-us/lightswitch/gg604823"&gt;Watch the instructional LightSwitch &amp;quot;How Do I?&amp;quot; videos&lt;/a&gt;&lt;/p&gt;

  &lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/lightswitch/ff938857"&gt;&lt;img border="0" alt="Get essential training" src="http://i.msdn.microsoft.com/ee402630.Numeral3_sm(en-us,MSDN.10).png" /&gt;&lt;/a&gt;&lt;a href="http://msdn.microsoft.com/en-us/lightswitch/ff938857"&gt;Get essential training&lt;/a&gt;&lt;/p&gt;

  &lt;p&gt;&lt;a href="http://social.msdn.microsoft.com/Forums/en-us/category/vslightswitch"&gt;&lt;img border="0" alt="" src="http://i.msdn.microsoft.com/ee402630.Numeral4_sm(en-us,MSDN.10).png" /&gt;&lt;/a&gt;&lt;a href="http://social.msdn.microsoft.com/Forums/en-us/category/vslightswitch"&gt;Ask questions in the LightSwitch forums&lt;/a&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;David Pallman&lt;/strong&gt; recommended &lt;a href="http://davidpallmann.blogspot.com/2012/01/taking-fresh-look-at-windows-azure.html"&gt;Taking a Fresh Look at the Windows Azure Development Experience&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/-5H22TGV55Uw/TyRY96Vtf5I/AAAAAAAAaEI/CoNq7WEgKY8/s1600-h/image%25255B66%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/-BscRhgo0ZBw/TyRY-Gswd4I/AAAAAAAAaEQ/FgydzH4R37Y/image_thumb%25255B22%25255D.png?imgmax=800" width="50" height="66" /&gt;&lt;/a&gt;Windows Azure has grown up over the years since it first debuted in late 2008. In this article we're going to take an updated look at what the cloud developer experience is with Windows Azure today. Here's what we'll cover, which will include a walk-through of developing a cloud application:&lt;/p&gt;

  &lt;ul&gt;
    &lt;li&gt;Key Online Resources &lt;/li&gt;

    &lt;li&gt;What You Need for Cloud Development &lt;/li&gt;

    &lt;li&gt;The Cloud Development Lifecycle &lt;/li&gt;

    &lt;li&gt;Application Development Walk-through &lt;/li&gt;
  &lt;/ul&gt;

  &lt;br /&gt;&lt;strong&gt;Key Online Resources&lt;/strong&gt; 

  &lt;br /&gt;&lt;strong&gt;Azure.com&lt;/strong&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;You can't be an effective developer these days without knowing where your online lifelines are! In Windows Azure, that's been made easy by giving you one place to find just about everything: &lt;a href="http://azure.com/"&gt;Azure.com&lt;/a&gt;. Here are some of the things you can do there: 

  &lt;ul&gt;
    &lt;li&gt;Set up an account or a &lt;a href="http://www.developer.com/services/step-by-step-guide-to-setting-up-a-windows-azure-free-trial.html"&gt;90-day free trial account&lt;/a&gt; &lt;/li&gt;

    &lt;li&gt;Estimate your operation costs with a pricing calculator &lt;/li&gt;

    &lt;li&gt;See your current and past billing activity &lt;/li&gt;

    &lt;li&gt;Visit a developer center &lt;/li&gt;

    &lt;li&gt;Download an SDK &lt;/li&gt;

    &lt;li&gt;Find documentation &lt;/li&gt;

    &lt;li&gt;Go to community forums &lt;/li&gt;

    &lt;li&gt;Go to the Windows Azure Management Portal to manage your cloud solutions &lt;/li&gt;
  &lt;/ul&gt;

  &lt;p&gt;&lt;a href="http://1.bp.blogspot.com/-9FsPTm0u6rI/TyK5mOw84qI/AAAAAAAACFs/sG6LDF29w9c/s1600/AzureDotCom.png"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" border="0" src="http://1.bp.blogspot.com/-9FsPTm0u6rI/TyK5mOw84qI/AAAAAAAACFs/sG6LDF29w9c/s400/AzureDotCom.png" width="400" height="345" /&gt;&lt;/a&gt;&lt;/p&gt;

  &lt;p&gt;Whether you work in C# in Visual Studio or Java or PHP in Eclipse, Microsoft wants developers of all stripes to be able to use the Windows Azure platform. The Developer Centeron Azure.com lets you select your preferrred language/platform and gives you information relevant to the way you want to work.&lt;/p&gt;

  &lt;p&gt;&lt;a href="http://1.bp.blogspot.com/-bJa4VRhWFpk/TyK6KYPZljI/AAAAAAAACF0/4ndz51j-sFc/s1600/AzureDotComDeveloperCenter.png"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" border="0" src="http://1.bp.blogspot.com/-bJa4VRhWFpk/TyK6KYPZljI/AAAAAAAACF0/4ndz51j-sFc/s400/AzureDotComDeveloperCenter.png" width="400" height="185" /&gt;&lt;/a&gt;&lt;/p&gt;

  &lt;p&gt;&lt;strong&gt;Windows Azure Management Portal&lt;/strong&gt; 

    &lt;br /&gt;The Windows Azure Management Portal is where you provision cloud services, manage and deploy your solutions, and view status. You can get here by clicking the Manage link on Azure.com, or by navigating directly to &lt;a href="http://windows.azure.com/"&gt;windows.azure.com&lt;/a&gt;.&lt;/p&gt;

  &lt;p&gt;&lt;a href="http://4.bp.blogspot.com/-X5Lb6e2hww0/TyK7OE-c7vI/AAAAAAAACF8/BkjIRNiLhWc/s1600/AzureMgmtPortal.png"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" border="0" src="http://4.bp.blogspot.com/-X5Lb6e2hww0/TyK7OE-c7vI/AAAAAAAACF8/BkjIRNiLhWc/s400/AzureMgmtPortal.png" width="400" height="306" /&gt;&lt;/a&gt;&lt;/p&gt;

  &lt;p&gt;
    &lt;br /&gt;&lt;strong&gt;What You Need for Cloud Development&lt;/strong&gt; 

    &lt;br /&gt;Let's review what you need in order to develop for Windows Azure. You will typically develop and testing your solution locally (using a simulator) before you deploy to a cloud data center. 

    &lt;br /&gt;&lt;strong&gt;To Develop Locally&lt;/strong&gt; 

    &lt;br /&gt;You will need the following in order to develop locally:&lt;/p&gt;

  &lt;ul&gt;
    &lt;li&gt;A Windows PC (running Windows Vista or later, WIndows 7 recommended) &lt;/li&gt;

    &lt;li&gt;A development environment, such as Visual Studio or Eclipse &lt;/li&gt;

    &lt;li&gt;The Windows Azure SDK (download from Azure.com), which includes the Windows Azure Simulation Environment &lt;/li&gt;

    &lt;li&gt;SQL Server Express &lt;/li&gt;
  &lt;/ul&gt;
  &lt;strong&gt;To Deploy and Run in the Cloud&lt;/strong&gt; 

  &lt;br /&gt;You will need the following in order to deploy to a Windows Azure data center: 

  &lt;ul&gt;
    &lt;li&gt;A Windows Azure account (note there is a 90-trial available, and if you have an MSDN subscription that will also give you some free hours) &lt;/li&gt;
  &lt;/ul&gt;
  &lt;strong&gt;The Cloud Development Lifecycle&lt;/strong&gt; 

  &lt;br /&gt;In Windows Azure, the pattern is to develop and test locally as much as you can before deploying to the cloud. Once you're ready to run in the cloud, it's typical with the Compute service to first deploy to a Staging slot, test the solution in the cloud, and finally promote from Staging to Production (a one-click operation). After that, you allow people use your application, monitor and manage activity, and scale scale as needed if demand changes. 

  &lt;p&gt;&lt;a href="http://4.bp.blogspot.com/-56gDUN3p9eM/TyLKUPqrxVI/AAAAAAAACGU/CSCSVDt5DSA/s1600/CloudDevLifecycle.png"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" border="0" src="http://4.bp.blogspot.com/-56gDUN3p9eM/TyLKUPqrxVI/AAAAAAAACGU/CSCSVDt5DSA/s400/CloudDevLifecycle.png" width="400" height="204" /&gt;&lt;/a&gt;&lt;/p&gt;

  &lt;p&gt;Eventually you'll want to change something in your solution and then the process repeats. In an upgrade situation, promotion Staging to Production is actually swapping them. This allows you to leave the older deployment in Staging until you're sure Production is working as it should, then you can remove it. 
    &lt;br /&gt;&lt;strong&gt;Application Development Walk-through&lt;/strong&gt; 

    &lt;br /&gt;To illustrate what development is like, let's walk through provisoning, developing, testing, and deploying a cloud solution. 

    &lt;br /&gt;&lt;strong&gt;What We'll Build: T-Shirt World&lt;/strong&gt; 

    &lt;br /&gt;In this example we'll build a simple order entry and order processing application named T-Shirt World. This is a rather simple application--nothing to write home about!--but it's more than a mere Hello, Cloud: it has a front end and a back end, and will make use of multple cloud services.&lt;/p&gt;

  &lt;p&gt;&lt;a href="http://1.bp.blogspot.com/-r8Nz5yZWWdU/TyLLY_0OMOI/AAAAAAAACGc/uYazU41IRnI/s1600/tshirt01.png"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" border="0" src="http://1.bp.blogspot.com/-r8Nz5yZWWdU/TyLLY_0OMOI/AAAAAAAACGc/uYazU41IRnI/s400/tshirt01.png" width="330" height="400" /&gt;&lt;/a&gt;&lt;/p&gt;

  &lt;p&gt;&lt;strong&gt;Activity Flow&lt;/strong&gt; 

    &lt;br /&gt;There's a 4-step sequence of activity in T-Shirt World:&lt;/p&gt;

  &lt;ol&gt;
    &lt;li&gt;Submit an Order &lt;/li&gt;

    &lt;li&gt;Queue the Order &lt;/li&gt;

    &lt;li&gt;Dequeue the Order &lt;/li&gt;

    &lt;li&gt;Store the Order in a Database &lt;/li&gt;
  &lt;/ol&gt;
The first two steps happen on the front end, a web page (what we call a Web Role). The last two steps happen on the back end, in a worker process (what we call a Worker Role). 

  &lt;p&gt;&lt;a href="http://2.bp.blogspot.com/-KjHkHaGsy7A/TyLMGytEtVI/AAAAAAAACGk/beDd-VwpHaI/s1600/tshirt02.png"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" border="0" src="http://2.bp.blogspot.com/-KjHkHaGsy7A/TyLMGytEtVI/AAAAAAAACGk/beDd-VwpHaI/s400/tshirt02.png" width="400" height="274" /&gt;&lt;/a&gt;&lt;/p&gt;

  &lt;p&gt;&lt;strong&gt;Cloud Services We'll be Using&lt;/strong&gt; 

    &lt;br /&gt;Any cloud solution you create is likely to use multiple Windows Azure services. We're going to make use of four Windows Azure services in this sample application:&lt;/p&gt;

  &lt;ul&gt;
    &lt;li&gt;Windows Azure Compute - hosts the web role (site) and worker role (back end process) &lt;/li&gt;

    &lt;li&gt;Windows Azure Storage - image files for the web site &lt;/li&gt;

    &lt;li&gt;Service Bus - we'll use a queue to route orders from front end to back end &lt;/li&gt;

    &lt;li&gt;SQL Azure Database - order records … &lt;/li&gt;
  &lt;/ul&gt;
&lt;/blockquote&gt;

&lt;p&gt;David continues with a detailed seven-step walkthrough that ends with “Walk-through Step 7: Deploy to the Cloud.”&lt;/p&gt;

&lt;hr /&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 “Enterprise software providers need to understand the new world order if they and their customers are to succeed” in a deck for his &lt;a href="http://www.infoworld.com/d/cloud-computing/3-ways-big-software-companies-may-fail-in-the-cloud-184750"&gt;3 ways big software companies may fail in the cloud&lt;/a&gt; article of 1/26/2012 for InfoWorld’s Cloud Computing blog:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-QDb-Bkl-9l8/TyRY-bCC42I/AAAAAAAAaEY/Cz3Ld3cDBMU/s1600-h/image%25255B60%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/-6a6xG-ODm3Q/TyRY-m3GHjI/AAAAAAAAaEg/pG--s5QKqUs/image_thumb%25255B20%25255D.png?imgmax=800" width="65" height="64" /&gt;&lt;/a&gt;Be careful what you wish for: &amp;quot;Big Software&amp;quot; -- the multi-billion-dollar companies selling enterprise software -- have discovered the cloud, and they are now providing cloud apps and services. That should be good news, except that Big Software's history over the last 30 years shows it could easily get the cloud transition wrong -- and harm users in the process.&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;So, here's my free advice to Big Software about the right way to understand the cloud for the ultimate benefit of customers while looking at the three dangerous shifts enterprise providers need to understand.&lt;/p&gt;

  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-f5kSf4Ocgzg/TyRY-s6LjUI/AAAAAAAAaEo/FOZLJqMBS8E/s1600-h/image%25255B63%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/-CoF4WTZJCuw/TyRY-xBVF4I/AAAAAAAAaEw/qn58nQ5BRDI/image_thumb%25255B21%25255D.png?imgmax=800" width="65" height="15" /&gt;&lt;/a&gt;&lt;strong&gt;1. It's not just a platform change.&lt;/strong&gt; Software providers that look at moving to the cloud as an A-to-A port are in for a surprise. The movement to the cloud needs to come with a complete reworking of the application architecture -- in many cases, from the ground up. Skipping this step means your software won't properly support resource and tenant management; users will quickly feel that limitation, and you'll fail.&lt;/p&gt;

  &lt;p&gt;&lt;strong&gt;2. You can't charge the same amount. &lt;/strong&gt;Traditional enterprise software providers typically work multi-million-dollar deals with lucrative maintenance agreements. The cloud makes all of that unnecessary, so traditional enterprise providers that insist on receiving the same margins will find out fast that it won't work. The cloud is cheaper for you, so it should be much cheaper for your users as well.&lt;/p&gt;

  &lt;p&gt;&lt;strong&gt;3. It's changing your world. &lt;/strong&gt;Many in enterprise software don't understand, or perhaps refuse to understand, that their world is changing forever. Can you say Blockbuster meets Netflix? I understand the reality is like turning a battleship because you're so fat and happy with the software profits you've been collecting for years. But the fact of the matter is that the playing field is now much more level. New providers are entering the game, and the cost of switching is actually pretty close to free.&lt;/p&gt;

  &lt;p&gt;It's time for some companies to get a clue.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Is David’s article directed to Oracle, Microsoft, IBM, HP or all four?&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="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;Mark Hassall&lt;/strong&gt; (@&lt;a href="https://twitter.com/#!/MSFTmarkhas"&gt;MSFTmarkhas&lt;/a&gt;) reported &lt;a href="http://blogs.technet.com/b/server-cloud/archive/2012/01/25/dell-and-microsoft-deliver-a-foundation-for-private-cloud.aspx"&gt;Dell and Microsoft Deliver a Foundation for Private Cloud&lt;/a&gt; in a 1/25/2012 post:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;Dell vStart 200 for Microsoft [is] Available Today!&lt;/p&gt;

  &lt;p&gt;Last week, you heard about System Center and the Microsoft private cloud solution – and how together they help customers and partners move faster, save money and better compete today. Many of our customers are excited about getting the benefits of private cloud today and want to know how they can do that – quickly, simply and cost effectively. Today, we are excited to talk to you about one option that helps you do just that. &lt;/p&gt;

  &lt;p&gt;As part of our &lt;a href="http://dell.to/xMUats"&gt;ongoing strategic partnership&lt;/a&gt; with Dell to help customers quickly deploy and manage virtualization and private cloud technologies, we’re announcing the &lt;a href="http://dell.to/yA0EZ3"&gt;availability of Dell vStart 200m&lt;/a&gt;, a pre-built, pre-configured, simple and fast path to a Microsoft private cloud. &lt;/p&gt;

  &lt;p&gt;This &lt;a href="http://bit.ly/y8CJoR"&gt;Microsoft Private Cloud Fast Track&lt;/a&gt;-validated solution brings together the best of Dell and Microsoft technology to give you a turnkey appliance that delivers virtualization, simply and at scale. With this new solution, customers only have to take one step to move from virtualization to private cloud computing – and that is adding &lt;a href="http://bit.ly/uJKawA"&gt;Microsoft System Center&lt;/a&gt;. Built on Microsoft Hyper-V and Windows Server 2008 R2 DataCenter Edition, which includes unlimited virtualization rights, Dell vStart200m helps customers benefit from the economics of the Microsoft private cloud. Dell vStart 100m, built on Microsoft Hyper-V is also available today.&lt;/p&gt;

  &lt;p&gt;We are also announcing improved integration of Dell AIM and Microsoft System Center – giving customers deep management insight across infrastructure, operating systems and applications, and providing a simplified, integrated management experience delivered through a “single pane of glass”.&lt;/p&gt;

  &lt;p&gt;Whether you are ready to start your journey to private cloud or looking for integrated management solutions, Dell and Microsoft are committed to helping you quickly manage and deploy virtualization and private cloud solutions – today. &lt;/p&gt;

  &lt;p&gt;These new solutions from Dell are available in the U.S., Canada and Mexico in North America and Brazil now and will be available in select countries in EMEA and APJ in the near future. You can learn more about these solutions by visiting &lt;a href="http://dell.to/niV01d"&gt;dell.com/vstart&lt;/a&gt; and &lt;a href="http://dell.to/wch3cC"&gt;dell.com/aim&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Mark is director, WSMM Outbound Marketing&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;strong&gt;Kevin Remde&lt;/strong&gt; (@&lt;a href="https://twitter.com/#!/KevinRemde"&gt;KevinRemde&lt;/a&gt;) posted &lt;a href="http://feedproxy.google.com/~r/technet/wwzZ/~3/DaSdC0hOosk/breaking-news-free-private-cloud-jump-start-training.aspx"&gt;Breaking News: Free Private Cloud “Jump Start” Training&lt;/a&gt; on 1/23/2012 (Missed when published):&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-tAx3gwMQQSU/TyRY_OhfQwI/AAAAAAAAaE4/l3rUGirWo5g/s1600-h/image%25255B76%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/-8AjjO_6FoQg/TyRY_g46CRI/AAAAAAAAaFA/CBF0QH4mGXo/image_thumb%25255B25%25255D.png?imgmax=800" width="65" height="64" /&gt;&lt;/a&gt;Microsoft has just scheduled a FREE 2-day training course entitled &lt;strong&gt;&lt;a href="http://mctreadiness.com/MicrosoftCareerConferenceRegistration.aspx?pid=298"&gt;“Creating and Managing a Private Cloud with System Center 2012 Jump Start”&lt;/a&gt;&lt;/strong&gt;, happening on &lt;strong&gt;February 21st-22nd&lt;/strong&gt;, 2012 from &lt;strong&gt;9:00am&lt;/strong&gt; to &lt;strong&gt;5:00pm PST&lt;/strong&gt;. &lt;/p&gt;

  &lt;p&gt;&lt;a href="http://mctreadiness.com/MicrosoftCareerConferenceRegistration.aspx?pid=298"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" title="Jump Start Training" border="0" alt="Jump Start Training" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-41-36-metablogapi/3678.image_5F00_515842B0.png" width="500" height="130" /&gt;&lt;/a&gt;&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;Adopting this exciting new computing paradigm provides a whole new landscape of technology and career direction for IT professionals. Microsoft Learning and the Microsoft System Center 2012 team have partnered to bring you an exciting opportunity to learn what you need to know to deploy, manage and maintain Microsoft’s private cloud solution. Leveraging the popular Jump Start virtual classroom approach, the industry’s most gifted cloud experts will show attendees why this new private cloud solution, based on System Center 2012 and Windows Server, has garnered so much attention. Here are the details:&lt;/p&gt;

  &lt;ul&gt;
    &lt;li&gt;Course: &lt;strong&gt;“Creating and Managing a Private Cloud with System Center 2012 Jump Start”&lt;/strong&gt; &lt;/li&gt;

    &lt;li&gt;Date/Time: &lt;strong&gt;February 21-22, 2012&lt;/strong&gt; from &lt;strong&gt;9:00am – 5:00pm PST&lt;/strong&gt; &lt;/li&gt;

    &lt;li&gt;Where: &lt;strong&gt;Live virtual classroom&lt;/strong&gt; (online from wherever you are) &lt;/li&gt;

    &lt;li&gt;Cost: &lt;strong&gt;FREE!&lt;/strong&gt; &lt;/li&gt;

    &lt;li&gt;Target audience: &lt;strong&gt;IT Professionals&lt;/strong&gt; (IT Implementers, managers, decision makers) &lt;/li&gt;
  &lt;/ul&gt;

  &lt;p&gt;&lt;strong&gt;&lt;em&gt;“What’s a ‘Jump Start’ course?”&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

  &lt;p&gt;From the registration page:&lt;/p&gt;

  &lt;blockquote&gt;
    &lt;p&gt;&lt;em&gt;“Training specifically designed for experienced technologists whose jobs demand they know how to best leverage new, emerging Microsoft technologies. These advanced courses assume a certain level of expertise and domain knowledge, so they move quickly and cover topics in a fashion that enables teams to effectively map new skills to real-world situations.”&lt;/em&gt;&lt;/p&gt;
  &lt;/blockquote&gt;

  &lt;p&gt;&lt;strong&gt;&lt;em&gt;“And.. did you say ‘FREE’?”&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

  &lt;p&gt;Yes, I did. &lt;/p&gt;

  &lt;p&gt;&lt;strong&gt;&lt;em&gt;“Is there anything I can do to get ready for this?&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

  &lt;p&gt;Download and install the &lt;a href="http://www.microsoft.com/en-us/server-cloud/system-center/2012.aspx"&gt;System Center 2012&lt;/a&gt; evaluation software: &lt;strong&gt;&lt;a href="http://aka.ms/PvtCld"&gt;http://aka.ms/PvtCld&lt;/a&gt; &lt;/strong&gt;&lt;/p&gt;

  &lt;p&gt;Then go to &lt;a href="http://mctreadiness.com/MicrosoftCareerConferenceRegistration.aspx?pid=298"&gt;&lt;strong&gt;this page&lt;/strong&gt;&lt;/a&gt; for course details, schedule, speakers, registration link, and fabulous prizes.&lt;/p&gt;

  &lt;p&gt;&lt;strong&gt;&lt;em&gt;“Huh? Prizes?”&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

  &lt;p&gt;Not really. I was just seeing if you were still paying attention.&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;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="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/28/2012 &lt;a href="http://feedproxy.google.com/~r/LooselyCoupledHumanCodeFactory/~3/HGlZsQZOZ7Y/"&gt;Kav Latiolais Presenting “Better Together: Building Scalable Real Time Collaborative Apps with Node.js” @ #NodePDX&lt;/a&gt;:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-N2ufKtX01ik/TyWEO8Vx3MI/AAAAAAAAaKc/yFja2zmFvso/s1600-h/image%25255B30%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/-GJNmserC5ag/TyWEPOMb-QI/AAAAAAAAaKk/aHkO0e50Sbw/image_thumb%25255B12%25255D.png?imgmax=800" width="53" height="66" /&gt;&lt;/a&gt;Kav is coming down from Seattle to present “Better Together: Building Scalable Real Time Collaborative Apps with Node.js”. Here’s his description of the presentation:&lt;/p&gt;

  &lt;blockquote&gt;
    &lt;p&gt;&lt;a href="http://nodepdx.github.com/"&gt;&lt;img style="display: inline; float: right" alt="" align="right" src="http://adronhall.smugmug.com/Software/Meetups/PDX-Nodejs-Conference/i-tSdnGqv/0/O/nodepdx.png" width="160" height="80" /&gt;&lt;/a&gt;If you’re not using node to build collaborative real time applications you might as well be using rails. In this talk we’ll discuss patterns and pitfalls of synchronous node apps. We’ll roll up our sleeves and dig into some code demonstrating patterns that can help you get started building highly interactive applications that sync real time state with Node.js, Socket.io, and Backbone.js. You will leave this talk with insight on how to build synchronous experiences into your applications and avoid some of the pitfalls we’ve suffered.&lt;/p&gt;
  &lt;/blockquote&gt;

  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-m9SKu6Eurr0/TyWEPhoSzyI/AAAAAAAAaKs/zbrE4-gdznA/s1600-h/image%25255B24%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/-oLLmIsobr9E/TyWEP7ShEkI/AAAAAAAAaK0/OMirSyDWuaw/image_thumb%25255B10%25255D.png?imgmax=800" width="50" height="89" /&gt;&lt;/a&gt;Kav Latiolais is a principal and co-founder at Liffft in Seattle and has been developing collaborative Node.js applications for the past year with Giant Thinkwell. He once built a horse racing app in 30 minutes on a bet. Before starting his love affair with Node.JS, Socket.IO, and CoffeeScript Kav was a Program Manager at Microsoft tasked with designing Visual Studio. Don’t tell his old coworkers he exclusively uses TextMate on his Air.&lt;/p&gt;

  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-h1KANkoxM2E/TyWEQYDI3sI/AAAAAAAAaK8/bpfXq1w_FQg/s1600-h/image%25255B34%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/-I3sRj4AnNqg/TyWEQuqTlGI/AAAAAAAAaLE/pMJQx20m8EQ/image_thumb%25255B13%25255D.png?imgmax=800" width="160" height="44" /&gt;&lt;/a&gt;If you’d like to come and check out Kav’s Presentation and the other amazing 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;p&gt;
  &lt;hr /&gt;&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;Tiffany Trader&lt;/strong&gt; reported &lt;a href="http://www.hpcinthecloud.com/hpccloud/2012-01-27/hadoop_summit_2012_announced_to_showcase_apache_hadoop_as_next_generation_enterprise_data_platform.html"&gt;Hadoop Summit 2012 Announced to Showcase Apache Hadoop as Next Generation Enterprise Data Platform&lt;/a&gt; in a 1/27/2012 post:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;em&gt;Premier Apache Hadoop community event opens call for papers&lt;/em&gt;&lt;/p&gt;

  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-Tbwj55j3Loo/TyRY_12ESKI/AAAAAAAAaFI/CIUKQee6x1Y/s1600-h/image_thumb3_thumb%25255B18%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/-tsGbBxwlh-w/TyRZAJuGMGI/AAAAAAAAaFQ/iCrpfD3pO30/image_thumb3_thumb_thumb%25255B4%25255D.png?imgmax=800" width="160" height="39" /&gt;&lt;/a&gt;SUNNYVALE, Calif., Jan. 26 — Hadoop Summit 2012, the premier Apache Hadoop community event, will take place at the San Jose Convention Center, June 13-14, 2012. The event, now expanded to two days, is co-sponsored by Yahoo! and Hortonworks, and will outline the evolution of Apache Hadoop into the next generation enterprise data platform. Hadoop Summit will feature presentations from community developers, experienced users and administrators, as well as a vast array of ecosystem solution providers.&lt;/p&gt;

  &lt;p&gt;Apache Hadoop is the open source technology at the epicenter of big data and cloud computing. It enables organizations to more efficiently and cost-effectively store, process, manage and analyze the ever-increasing volume of data being created and collected every day. With Apache Hadoop, companies can connect thousands of servers to process and analyze data at supercomputing speed. Yahoo! pioneered Apache Hadoop and is a contributor to and one of the leading users of the big data platform, while Hortonworks is an independent company consisting of key architects and is the leading contributor to the Apache Hadoop technology.&lt;/p&gt;

  &lt;p&gt;The Hadoop Summit tracks include the following:&lt;/p&gt;

  &lt;ul&gt;
    &lt;li&gt;&lt;strong&gt;Future of Hadoop&lt;/strong&gt;: This track will take a technical look at the key projects and research efforts driving innovation in and around the Hadoop platform. &lt;/li&gt;

    &lt;li&gt;&lt;strong&gt;Deployment and Operations&lt;/strong&gt;: This track will focus on the deployment and operations of Hadoop clusters with an emphasis on tips, tricks and best practices. &lt;/li&gt;

    &lt;li&gt;&lt;strong&gt;Enterprise Data Architecture&lt;/strong&gt;: This track will focus on Hadoop as a data platform and how it fits within broader enterprise data architectures. &lt;/li&gt;

    &lt;li&gt;&lt;strong&gt;Applications and Data Science&lt;/strong&gt;:&lt;strong&gt; &lt;/strong&gt;This track will focus on applications, tools, algorithms and data science&lt;strong&gt; &lt;/strong&gt;as well as areas of advanced research and emerging applications that use and extend the Hadoop platform. &lt;/li&gt;

    &lt;li&gt;&lt;strong&gt;Analytics and Business Intelligence&lt;/strong&gt;: This track will focus on how Hadoop is powering a new generation of analytics and business intelligence solutions. &lt;/li&gt;

    &lt;li&gt;&lt;strong&gt;Hadoop in Action&lt;/strong&gt;: This track will be laser-focused on business innovation and provide concrete examples of how Hadoop is enabling businesses across a wide range of industries to become data driven. &lt;/li&gt;
  &lt;/ul&gt;

  &lt;p&gt;The event's call for papers is now open. The deadline to submit an abstract for consideration is February 22, 2012. The community-driven selection committee will choose the presentations that best highlight innovative use cases on how best to implement Hadoop to extract value from massive data sets and build momentum for the burgeoning Apache Hadoop market. Accepted presenters will be notified on or before March 9, 2012.&lt;/p&gt;

  &lt;p&gt;Discounted early bird registration is available now through March 30, 2012. To register for the event or to submit a speaking abstract for consideration, visit &lt;a href="http://www.hadoopsummit.org"&gt;www.hadoopsummit.org&lt;/a&gt;.&lt;/p&gt;

  &lt;p&gt;Sponsorship packages are also now available. For more information on how to sponsor this year's event please visit: &lt;a href="http://www.hadoopsummit.org/sponsors"&gt;www.hadoopsummit.org/sponsors&lt;/a&gt;.&lt;/p&gt;

  &lt;p&gt;&lt;strong&gt;About Hortonworks&lt;/strong&gt;&lt;/p&gt;

  &lt;p&gt;Hortonworks was formed in July 2011 by Yahoo! and Benchmark Capital in order to promote the development and adoption of Apache Hadoop, the leading open source platform for storing, managing and analyzing large volumes of data. Together with the Apache community, Hortonworks is making Hadoop more robust and easier to install, manage and use. The company and its founders are leaders in designing and delivering current and future generations of Apache Hadoop and leverage their expertise to provide unmatched technical support, training and certification programs for enterprises, systems integrators and technology vendors, including ISVs, OEMs and service providers. For more information, visit &lt;a href="http://www.hortonworks.com"&gt;www.hortonworks.com&lt;/a&gt;.&lt;/p&gt;

  &lt;p&gt;&lt;strong&gt;About Yahoo!&lt;/strong&gt;&lt;/p&gt;

  &lt;p&gt;Yahoo! is the premier digital media company, creating deeply personal digital experiences that keep more than half a billion people connected to what matters most to them, across devices and around the globe. And Yahoo!'s unique combination of Science + Art + Scale connects advertisers to the consumers who build their businesses. Yahoo! is headquartered in Sunnyvale, California. For more information, visit the &lt;a href="http://www.pressroom.yahoo.com"&gt;pressroom&lt;/a&gt; or the company's blog, &lt;a href="http://www.yodel.yahoo.com"&gt;Yodel Anecdotal&lt;/a&gt;.&lt;/p&gt;

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

  &lt;p&gt;&lt;em&gt;Source: Yahoo! Inc.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;strong&gt;David Pallman&lt;/strong&gt; reported on 1/26/2012 &lt;a href="http://davidpallmann.blogspot.com/2012/01/upcoming-sessions-on-web-and-cloud-at.html"&gt;Upcoming Sessions on Web and Cloud at SoCal Code Camp Jan 28 2012&lt;/a&gt;:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-oUnsKFGlG_4/TyRZATz6nDI/AAAAAAAAaFY/xD6oFl6EqvQ/s1600-h/image%25255B70%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/-LEDd_6_rRRQ/TyRZAiYXBCI/AAAAAAAAaFg/Zgl-Yg0g-Ks/image_thumb%25255B23%25255D.png?imgmax=800" width="50" height="66" /&gt;&lt;/a&gt;Here are some talks I and my &lt;a href="http://www.neudesic.com/"&gt;Neudesic&lt;/a&gt; colleageus are giving on web, cloud, and programming at SoCal Code Camp this weekend in Orange County: 

    &lt;br /&gt;&lt;strong&gt;&lt;a href="http://www.socalcodecamp.com/"&gt;SoCal Code Camp&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

  &lt;p&gt;&lt;strong&gt;Sat Jan 28 2012 - Sun Jan 29 2012&lt;/strong&gt;&lt;/p&gt;

  &lt;p&gt;&lt;strong&gt;Mobile &amp;amp; Global with HTML5, MVC and Windows Azure&lt;/strong&gt; 

    &lt;br /&gt;David Pallmann (@davidpallmann) Sat Jan 28 12:15p 

    &lt;br /&gt;What happens when the web meets the cloud? The modern web (HTML5, mobile devices) is revolutioning the front end and our experiences, while at the same time the cloud (cloud computing, social networks) is revolutioning the back end. Putting them together gives you web-cloud applications that can run anywhere and everywhere. &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;/p&gt;

  &lt;p&gt;In this session you'll see how to create solutions that are &amp;quot;mobile &amp;amp; global&amp;quot; by combining HTML5, mobile devices, and open standards on the web client with the MS web platform, Windows Azure cloud computing, and social networking on the web server. We'll progressively develop a &amp;quot;mobile &amp;amp; global&amp;quot; application in 7 steps, starting with design comps and ending with global deployment on 3 continents.&lt;/p&gt;

  &lt;p&gt;&lt;strong&gt;Windows Azure Design Patterns&lt;/strong&gt; 

    &lt;br /&gt;Mickey Williams (@mickeyw) Sat Jan 28 2:45p 

    &lt;br /&gt;In order to design great cloud solutions architects need to understand the design patterns intrinsic to their cloud platform. In this session we will review the design patterns inherent in the Windows Azure platform services, followed by a discussion of application patterns for combining those services. Design patterns will be reviewed for compute, storage, relational data, communication, security, and networking. Key patterns will be illustrated with application examples.&lt;/p&gt;

  &lt;p&gt;&lt;strong&gt;Using Lucene for Full-Text Search in Azure&lt;/strong&gt; 

    &lt;br /&gt;Mickey Williams (@mickeyw) Sat Jan 28 4:00p 

    &lt;br /&gt;SQL Azure does not currently support full-text indexing. In this talk, we will walk through the use of Lucene to provide full-text search capabilities.&lt;/p&gt;

  &lt;p&gt;&lt;strong&gt;F# - Functional Programming Fundamentals&lt;/strong&gt; 

    &lt;br /&gt;&lt;a href="http://www.linkedin.com/pub/oleksiy-tereshchenko/31/33/7a7"&gt;Oleksiy Tereshchenko&lt;/a&gt; Sat Jan 28 4:00p 

    &lt;br /&gt;F# is functional programming language. Originally, developed by Microsoft Research. Iit is fully supported by Microsoft Development Division in Visual Studio 2010. Presentation will provide overview of the language and include fundamental programming concepts. Attendees will be able to understand what it is about F# that is interesting and exciting, even if they can’t necessarily see how to apply it themselves just yet.&lt;/p&gt;

  &lt;p&gt;&lt;strong&gt;F# - Functional Programming Progamming Techniques&lt;/strong&gt; 

    &lt;br /&gt;&lt;a href="http://www.linkedin.com/pub/oleksiy-tereshchenko/31/33/7a7"&gt;Oleksiy Tereshchenko&lt;/a&gt; Sun Jan 29 9:00a 

    &lt;br /&gt;F# is functional programming language. Originally, developed by Microsoft Research, it is fully supported by Microsoft Development Division in Visual Studio 2010. Presentation will provide overview of the functional programming techniques and demonstrate them using calculator parser. Attendees will be able to experience functional style development.&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;) invited you on 1/26/2012 to &lt;a href="http://blogs.technet.com/b/dataplatforminsider/archive/2012/01/26/join-us-march-7-2012-for-the-virtual-launch-of-sql-server-2012.aspx"&gt;Join us March 7, 2012 for the Virtual Launch of SQL Server 2012!&lt;/a&gt;:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-v38AwlX4k6o/TyRZAkxg8HI/AAAAAAAAaFo/f2xLjh2Lvfw/s1600-h/image%25255B51%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/-IDYYU0A_5X8/TyRZAyE7c1I/AAAAAAAAaFw/lrsl_zuF_XM/image_thumb%25255B17%25255D.png?imgmax=800" width="64" height="66" /&gt;&lt;/a&gt;On March 7, 2012 we are hosting the &lt;a href="http://www.sqlserverlaunch.com/"&gt;SQL Server 2012 Virtual Launch Event&lt;/a&gt; (VLE), to share the latest on SQL Server 2012 and the evolution of the Microsoft data platform. Through our VLE, anyone, anywhere in the world can simply log in and be a part of this amazing experience – consuming content at your own pace while still experiencing all the benefits of a tradeshow event. &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;What are some great reasons to check out our VLE experience?&lt;/p&gt;

  &lt;p&gt;&lt;b&gt;&lt;u&gt;You want to learn from SQL Server insiders&lt;/u&gt;&lt;/b&gt; 

    &lt;br /&gt;Learn more about the new features of SQL Server 2012 through access to more than 30 sessions. Our experts will demonstrate how your business can go further, forward, faster by capitalizing on mission critical capabilities, new features that drive true business insights and the most cloud-ready SQL Server ever.&lt;/p&gt;

  &lt;p&gt;&lt;b&gt;&lt;u&gt;You want to engage with Partners and Customers&lt;/u&gt;&lt;/b&gt;&lt;b&gt;&lt;u&gt; 
        &lt;br /&gt;&lt;/u&gt;&lt;/b&gt;Visit our Partner Pavilion to discuss how partner and pioneer customer solutions integrate with SQL Server 2012.&lt;/p&gt;

  &lt;p&gt;&lt;b&gt;&lt;u&gt;You want to chat live with product experts and MVPs 
        &lt;br /&gt;&lt;/u&gt;&lt;/b&gt;Chat live with product experts and MVPs to get the inside scoop. Our team will be on hand to answer questions about SQL Server 2012 and network in the virtual lounge.&lt;/p&gt;

  &lt;p&gt;&lt;b&gt;&lt;u&gt;You want to engage with the community – and maybe win a prize!&lt;/u&gt;&lt;/b&gt; 

    &lt;br /&gt;Participate in virtual launch activities like the keynote speech, technical demos and networking lounge, and collect points to earn cool prizes such as cash gift cards, SQL Server Gear, and Xbox systems. The more points you earn, the bigger your prize could be!&lt;/p&gt;

  &lt;p&gt;Register today at: &lt;a href="http://www.sqlserverlaunch.com"&gt;www.sqlserverlaunch.com&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="Other"&gt;Other Cloud Computing Platforms and Services&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=3409"&gt;With Cloud, The PaaSibilities Are Endless…&lt;/a&gt; on 1/26/2012:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/--hTTUFXYMBc/TyRZBSTKgcI/AAAAAAAAaF4/mDUZuNExo6A/s1600-h/image%25255B36%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/-f06SzhO-1eI/TyRZBrw9ggI/AAAAAAAAaGA/Y1XSvaCa6Aw/image_thumb%25255B11%25255D.png?imgmax=800" width="65" height="64" /&gt;&lt;/a&gt;I read a very interesting article from ZDNet UK this morning titled “&lt;a href="http://www.zdnet.co.uk/news/cloud/2012/01/26/amazon-cuts-off-stack-at-the-paas-40094915/"&gt;Amazon Cuts Off Stack at the PaaS&lt;/a&gt;”&lt;/p&gt;

  &lt;p&gt;The gist of the article is that according to &lt;a href="http://www.allthingsdistributed.com/"&gt;Werner Vogels&lt;/a&gt; (@werner,) AWS’ CTO, they have no intention of delivering a PaaS service and instead expect to allow an ecosystem of PaaS providers, not unlike &lt;a href="http://www.heroku.com/"&gt;Heroku&lt;/a&gt;, to flourish atop their platform:&lt;/p&gt;

  &lt;blockquote&gt;
    &lt;p&gt;“We want 1,000 platforms to bloom,” said Vogels, before explaining Amazon has “no desire to go and really build a [PaaS].”&lt;/p&gt;
  &lt;/blockquote&gt;

  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-K8Mb6edDaCE/TyRZBzrV0jI/AAAAAAAAaGI/qeBPuERUED0/s1600-h/image%25255B40%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/-0qPWOdh-kO4/TyRZCG7gouI/AAAAAAAAaGQ/w-Rgcka19ag/image_thumb%25255B12%25255D.png?imgmax=800" width="160" height="62" /&gt;&lt;/a&gt;That’s all well and good, but it lead me to scratch my head, especially with regard to what I *thought* AWS already offered in terms of PaaS with BeanStalk, which is described thusly in their FAQ:&lt;/p&gt;

  &lt;blockquote&gt;&lt;dl&gt;&lt;dt&gt;Q: What is AWS Elastic Beanstalk? &lt;/dt&gt;&lt;dd&gt;AWS Elastic Beanstalk makes it even easier for developers to quickly deploy and manage applications in the AWS Cloud. Developers simply upload their application, and Elastic Beanstalk automatically handles the deployment details of capacity provisioning, load balancing, auto-scaling, and application health monitoring. &lt;/dd&gt;&lt;dt&gt;Q: How is AWS Elastic Beanstalk different from existing application containers or platform-as-a-service solutions? &lt;/dt&gt;&lt;dd&gt;Most existing application containers or platform-as-a-service solutions, while reducing the amount of programming required, significantly diminish developers’ flexibility and control. Developers are forced to live with all the decisions pre-determined by the vendor – with little to no opportunity to take back control over various parts of their application’s infrastructure. However, with AWS Elastic Beanstalk, developers retain full control over the AWS resources powering their application. If developers decide they want to manage some (or all) of the elements of their infrastructure, they can do so seamlessly by using AWS Elastic Beanstalk’s management capabilities.&lt;/dd&gt;&lt;/dl&gt;&lt;/blockquote&gt;
  &lt;dl&gt;&lt;dd&gt;While these snippets from the FAQ certainly seem to describe infrastructure components that enable PaaS (meta-PaaS?) when you combine the other elements of AWS’ offerings, it sure as heck sounds like PaaS regardless of what you call it. &lt;/dd&gt;&lt;dd&gt;In fact, a Twitter exchange with @GeorgeReese, @krishnan and @jamessaull well summarized the headscratching: &lt;/dd&gt;&lt;dd&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" title="AWS-Not-PaaS?" alt="" src="http://www.rationalsurvivability.com/blog/wp-content/media/2012/01/AWS-Not-PaaS.jpg" width="557" height="373" /&gt;&lt;/dd&gt;&lt;dd&gt;With all those components, AWS can certainly enable PaaS platforms like Heroku to “flourish.” &lt;/dd&gt;&lt;dd&gt;However, suggesting that despite having all the raw components and not pointing to it and saying “PaaS” is like having all the components to assemble a bomb, not package it as such, and declaring it’s not dangerous because in that state it won’t go off. &lt;/dd&gt;&lt;dd&gt;I’d say the potential for going BOOM! are real. It appears Marten Mickos was hinting at the same thing: &lt;/dd&gt;&lt;dd&gt;
      &lt;blockquote&gt;
        &lt;p&gt;However, Mickos disputed Vogels’ claim that Amazon is going to let a thousand platforms bloom.&lt;/p&gt;

        &lt;p&gt;“He will always say that, and Amazon will slowly take a step higher and higher,” he said, before pointing to Beanstalk as an example. “[But] in my view PaaS has middleware components… and I could agree that it is okay to add [those] to an IaaS.”&lt;/p&gt;
      &lt;/blockquote&gt;

      &lt;p&gt;In the long term, as I’ve stated prior, the value in platforms will be in how easy they make it for developers to create and deliver applications fluidly.&lt;/p&gt;

      &lt;p&gt;I may not be as good at marketing as some, but that sounds less like an infrastructure-centric business model and much more like an application-centric one.&lt;/p&gt;

      &lt;p&gt;Moving on up is where it’s at. I saw the scratching on the cave walls when I wrote “&lt;a href="http://www.rationalsurvivability.com/blog/?p=1523"&gt;Silent Lucidity: IaaS — Already A Dinosaur. The Evolution of PaaSasarus Rex&lt;/a&gt;” back in 2009.&lt;/p&gt;

      &lt;p&gt;What do you think? Is AWS being coy?&lt;/p&gt;
    &lt;/dd&gt;&lt;/dl&gt;

  &lt;h5&gt;Related articles&lt;/h5&gt;

  &lt;ul&gt;
    &lt;li&gt;&lt;a href="http://shop.oreilly.com/product/0636920023128.do"&gt;Understanding PaaS&lt;/a&gt; (shop.oreilly.com) &lt;/li&gt;

    &lt;li&gt;&lt;a href="http://www.readwriteweb.com/cloud/2012/01/paas-makes-progress-in-2011.php"&gt;PaaS Makes Progress in 2011&lt;/a&gt; (readwriteweb.com) &lt;/li&gt;

    &lt;li&gt;&lt;a href="http://www.rackspace.com/cloud/blog/2011/12/06/deploy-your-own-platform-as-a-service-paas-for-net-applications-in-minutes-with-apprenda/"&gt;Deploy Your Own Platform as a Service (PaaS) for .NET Applications in Minutes with Apprenda&lt;/a&gt; (rackspace.com) &lt;/li&gt;
  &lt;/ul&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;) described &lt;a href="http://feedproxy.google.com/~r/AmazonWebServicesBlog/~3/khureF5pRbQ/new-tagging-features-for-auto-scaling-groups.html"&gt;New Tagging for Auto Scaling Groups&lt;/a&gt; in a 1/26/2012 post:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/--N0RDEV0LXo/TyRZCUzPkkI/AAAAAAAAaGY/SLzlclDMRMo/s1600-h/image%25255B2%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/-nDYkEhyRfaY/TyRZCim0sqI/AAAAAAAAaGg/LqlEIxRS9Bg/image_thumb.png?imgmax=800" width="65" height="65" /&gt;&lt;/a&gt;You can now add up to 10 tags to any of your &lt;a href="http://aws.amazon.com/autoscaling/"&gt;Auto Scaling Groups&lt;/a&gt;. You can also, if you'd like, propagate the tags to the EC2 instances launched from your groups.&lt;/p&gt;

  &lt;p&gt;Adding tags to your Auto Scaling groups will make it easier for you to identify and distinguish them.&lt;/p&gt;

  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-whgXQnYOAIc/TyRZC1QT5LI/AAAAAAAAaGo/B83OA0e8my8/s1600-h/image%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" border="0" alt="image" align="right" src="http://lh6.ggpht.com/-LNWqQZybzfU/TyRZDDsV1LI/AAAAAAAAaGw/u4iKgEPZMEQ/image_thumb%25255B2%25255D.png?imgmax=800" width="160" height="62" /&gt;&lt;/a&gt;Each tag has a name, a value, and an optional propagation flag. If the flag is set, then the corresponding tag will be applied to EC2 instances launched from the group. You can use this feature to label or distinguish instances created by distinct Auto Scaling groups. You might be using multiple groups to support multiple scalable applications, or multiple scalable tiers or components of a single application. Either, way the tags can help you to keep your instances straight.&lt;/p&gt;

  &lt;p&gt;Read more in the newest version of the &lt;a href="http://docs.amazonwebservices.com/AutoScaling/latest/DeveloperGuide/Welcome.html"&gt;Auto Scaling Developer Guide&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Sounds to me like a minor but useful feature.&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;strong&gt;Damon Edwards&lt;/strong&gt; (@&lt;a href="https://twitter.com/#!/damonedwards"&gt;damonedwards&lt;/a&gt;) reported &lt;a href="http://feedproxy.google.com/~r/Dev2ops/~3/iyneJ-TXiTo/crowbar-is-quietly-getting-more-interesting-video.html"&gt;Crowbar is quietly getting more interesting (video)&lt;/a&gt; in a 1/25/2012 post to his dev2ops: delivering change blog:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-WTk74AK_gkE/TyRZDYIs4vI/AAAAAAAAaG4/VOvoy6NrPMs/s1600-h/image%25255B73%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/-wsFh3gBUsHA/TyRZDmcRdSI/AAAAAAAAaHI/mmqcIcyYRns/image_thumb%25255B24%25255D.png?imgmax=800" width="52" height="66" /&gt;&lt;/a&gt;&lt;a href="https://github.com/dellcloudedge/crowbar"&gt;Crowbar&lt;/a&gt; is an interesting project that I've covered &lt;a href="http://dev2ops.org/blog/2011/7/19/matt-ray-talks-crowbar-chef-and-openstack-integration-for-bu.html"&gt;before&lt;/a&gt;. Born out of Dell's cloud group, much of the initial buzz described it as an installer for the cloud era... &amp;quot;kickstart on steroids&amp;quot;, if you will.&lt;/p&gt;

  &lt;p&gt;Crowbar's close association with the OpenStack project has further cemented its reputation as an installer to watch. But's it's Crowbar's quiet potential as a stack management tool that is the most interesting. Through the use of barclamps (Crowbar's modules) you can tell Crowbar to build a full stack from the BIOS config all the way up to your middleware and applications. &lt;a href="http://www.twitter.com/botchagalupe"&gt;John Willis&lt;/a&gt; on an episode of &lt;a href="http://devopscafe.org/"&gt;DevOps Cafe&lt;/a&gt; called it &amp;quot;Data Center as Code&amp;quot;.&lt;/p&gt;

  &lt;p&gt;Crowbar barclamps are also an interesting way for independent projects or vendors to ensure that their projects/products can be easily integrated into a custom platform (today this type of focus is usually in the context of making things work on OpenStack). Want to add a new component to your platform? Grab the barclamp and Crowbar will know how to do the rest. Or at least that is the promise. The project is still young and the community is still forming.&lt;/p&gt;

  &lt;p&gt;Leading open source software projects is new territory for Dell, as a company, but the Crowbar team does seem committed and community focused. I've heard some grumbles from developers that barclamp development and testing cycles can be a bit tedious due to the nature of what you are building. But no reason to believe that those types of issues won't get sorted out over time. &lt;/p&gt;

  &lt;p&gt;A couple of Crowbar related videos are below:&lt;/p&gt;

  &lt;p&gt;The first video was made by my &lt;a href="http://dtosolutions.com/"&gt;DTO Solutions&lt;/a&gt; colleague, &lt;a href="http://www.cloudmess.com/"&gt;Keith Hudgins&lt;/a&gt;, after he wrote a &lt;a href="https://github.com/khudgins/barclamp-zenoss"&gt;barclamp for Zenoss&lt;/a&gt;. It's a short demo and tour that can give you a feel for Crowbar and Barclamps.&lt;/p&gt;

  &lt;p&gt;The next video is &lt;a href="http://bartongeorge.net/about/"&gt;Barton George&lt;/a&gt; (Dell) interviewing &lt;a href="http://robhirschfeld.com/"&gt;Rob Hirshfeld&lt;/a&gt; (Dell). They start off talking about the Hadoop barclamp but quickly getting into a broader discussion about Crowbar. &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:b9dc7197-3432-483e-b297-0a47a32f4fae" 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/Hadoop" rel="tag"&gt;Hadoop&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Crowbar" rel="tag"&gt;Crowbar&lt;/a&gt;,&lt;a href="http://technorati.com/tags/OpenStack" rel="tag"&gt;OpenStack&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Codename+%22Data+Numerics%22" rel="tag"&gt;Codename &amp;quot;Data Numerics&amp;quot;&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Windows+Azure+HPC+Scheduler" rel="tag"&gt;Windows Azure HPC Scheduler&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+on+Azure" rel="tag"&gt;Hadoop on Azure&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Team+Foundation+Server" rel="tag"&gt;Team Foundation Server&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Team+Foundation+Services" rel="tag"&gt;Team Foundation Services&lt;/a&gt;,&lt;a href="http://technorati.com/tags/TFS" rel="tag"&gt;TFS&lt;/a&gt;,&lt;a href="http://technorati.com/tags/TFS+on+Azure" rel="tag"&gt;TFS on Azure&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-8891267344813571530?l=oakleafblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oakleafblog.blogspot.com/feeds/8891267344813571530/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11646261&amp;postID=8891267344813571530' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11646261/posts/default/8891267344813571530'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11646261/posts/default/8891267344813571530'/><link rel='alternate' type='text/html' href='http://oakleafblog.blogspot.com/2012/01/windows-azure-and-cloud-computing-posts_28.html' title='Windows Azure and Cloud Computing Posts for 1/27/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-2692311103706311013</id><published>2012-01-28T14:14:00.001-08:00</published><updated>2012-01-29T12:03:00.835-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Cerebrata'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows Azure Storage'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL Azure Federations'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL Azure Database'/><category scheme='http://www.blogger.com/atom/ns#' term='Azure Data Services'/><category scheme='http://www.blogger.com/atom/ns#' term='Azure Diagnostics'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows Azure Diagnostics'/><category scheme='http://www.blogger.com/atom/ns#' term='Azure'/><category scheme='http://www.blogger.com/atom/ns#' term='ADO.NET Data Services'/><category scheme='http://www.blogger.com/atom/ns#' term='Cloud Computing'/><title type='text'>Links to My Cloud Computing Articles at Red Gate Software’s ACloudyPlace Blog</title><content type='html'>&lt;p&gt;&lt;a href="http://lh5.ggpht.com/-LHmGWTNIEag/TyRzVFnkeWI/AAAAAAAAaH8/e8wlPHj3jxM/s1600-h/image%25255B12%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/-NNr0_7Z0hTA/TyRzVQZ4PLI/AAAAAAAAaIE/IRdCcihOIz0/image_thumb%25255B4%25255D.png?imgmax=800" width="64" height="66" /&gt;&lt;/a&gt;I’m a regular contributor of articles about cloud computing development and strategy to Red Gate Software’s (@&lt;a href="https://twitter.com/#!/redgate"&gt;redgate&lt;/a&gt;) ACloudyPlace (@&lt;a href="https://twitter.com/#!/ACloudyPlace"&gt;ACloudyPlace&lt;/a&gt;) blog. The following table lists the topics I’ve covered to date:&lt;/p&gt;  &lt;table border="1" cellspacing="0" cellpadding="2" width="614"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="80"&gt;&lt;strong&gt;Date&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="532"&gt;&lt;strong&gt;Title&lt;/strong&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="80"&gt;1/18/2012&lt;/td&gt;        &lt;td valign="top" width="532"&gt;&lt;a href="http://acloudyplace.com/2012/01/upload-big-data-to-sql-azure-federated-databases-with-bcp-automatically/"&gt;Upload Big Data to SQL Azure Federated Databases with BCP Automatically&lt;/a&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="80"&gt;12/16/2011&lt;/td&gt;        &lt;td valign="top" width="532"&gt;&lt;a href="http://acloudyplace.com/2011/12/use-odata-to-execute-restful-crud-operations-on-big-data-in-the-cloud/"&gt;Use OData to Execute RESTful CRUD Operations on Big Data in the Cloud&lt;/a&gt;&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-QktQp3wtO4k/TyRzVRseX9I/AAAAAAAAaMs/Cs8Oi6MgWE8/s1600-h/image%25255B1%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/-HyhVBmmswoE/TyRzVmIChuI/AAAAAAAAaMw/WOtqDFx9fiM/image_thumb%25255B1%25255D.png?imgmax=800" width="55" height="54" /&gt;&lt;/a&gt;Red Gate Software offers the following “cloud-ready” tools:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.red-gate.com/products/sql-development/sql-compare/"&gt;SQL Compare&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.red-gate.com/products/sql-development/sql-data-compare/"&gt;SQL Data Compare&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://lh6.ggpht.com/-Y7T2THgU6So/TyRzV9AK3hI/AAAAAAAAaM0/d-R1V9MiQek/s1600-h/image13%25255B1%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/-EHWq35JUotM/TyRzWM8JZwI/AAAAAAAAaM4/DFqY4-Nv4aE/image13_thumb.png?imgmax=800" width="55" height="41" /&gt;&lt;/a&gt;&lt;a href="http://www.red-gate.com/products/dba/sql-azure-backup/"&gt;SQL Azure Backup&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.red-gate.com/products/sql-development/mysql-compare/"&gt;MySQL Compare&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-JXmIrf9x_j4/TyRzWYj6eSI/AAAAAAAAaIs/SeSsbpyoex0/s1600-h/image%25255B9%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/-3xYoZAtswmI/TyRzWsSkyOI/AAAAAAAAaI0/6U4B6-U3MfQ/image_thumb%25255B3%25255D.png?imgmax=800" width="134" height="35" /&gt;&lt;/a&gt;The firm acquired &lt;a href="http://www.cerebrata.com/Default.aspx"&gt;Cerebrata Software Private Ltd&lt;/a&gt; in October 2011. The press release for the acquisition is &lt;a href="http://www.red-gate.com/our-company/about/news/cerebrata-announcement"&gt;here&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Full disclosure&lt;/strong&gt;: I have gratis licenses for most Cerebrata products, including Cloud Storage Studio and Diagnostics Manager. I use these tools regularly.&lt;/p&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:de057779-4dd9-461b-bc16-659af866f708" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Red+Gate+Software" rel="tag"&gt;Red Gate Software&lt;/a&gt;,&lt;a href="http://technorati.com/tags/ACloudyPlace" rel="tag"&gt;ACloudyPlace&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Cerebrata+Software" rel="tag"&gt;Cerebrata Software&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Cloud+Storage+Studio" rel="tag"&gt;Cloud Storage Studio&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Diagnostics+Manager" rel="tag"&gt;Diagnostics Manager&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Windows+Azure" rel="tag"&gt;Windows Azure&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/OData" rel="tag"&gt;OData&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/Big+Data+Analytics" rel="tag"&gt;Big Data Analytics&lt;/a&gt;,&lt;a href="http://technorati.com/tags/SQL+Azure" rel="tag"&gt;SQL Azure&lt;/a&gt;,&lt;a href="http://technorati.com/tags/SQL+Azure+Federations+Migration+Wizard" rel="tag"&gt;SQL Azure Federations Migration Wizard&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-2692311103706311013?l=oakleafblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oakleafblog.blogspot.com/feeds/2692311103706311013/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11646261&amp;postID=2692311103706311013' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11646261/posts/default/2692311103706311013'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11646261/posts/default/2692311103706311013'/><link rel='alternate' type='text/html' href='http://oakleafblog.blogspot.com/2012/01/links-to-my-cloud-computing-articles-at.html' title='Links to My Cloud Computing Articles at Red Gate Software’s ACloudyPlace Blog'/><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://lh6.ggpht.com/-NNr0_7Z0hTA/TyRzVQZ4PLI/AAAAAAAAaIE/IRdCcihOIz0/s72-c/image_thumb%25255B4%25255D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11646261.post-1654152279604684399</id><published>2012-01-28T10:20:00.000-08:00</published><updated>2012-01-30T11:37:39.835-08:00</updated><title type='text'>Deploying “Cloud Numerics” Sample Applications to Windows Azure HPC Clusters</title><content type='html'>&lt;h4&gt;Introduction&lt;/h4&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-k7P1oOZuAYQ/TyBJSLmBfOI/AAAAAAAAZuE/gCIqkSeyTBs/s1600-h/image%25255B35%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/-vM6Ti73s_Eo/TyBJU60hh4I/AAAAAAAAZuM/RvOXhVI2Qz0/image_thumb%25255B17%25255D.png?imgmax=800" width="159" height="45" /&gt;&lt;/a&gt;In addition to the basic MSCloudNumerics Visual Studio template and “Cloud Numerics” sample application described in 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; of 1/23/2011, the &lt;a href="https://connect.microsoft.com/site1267/Microsoft%20Codename%20Cloud%20Numerics"&gt;&amp;quot;Cloud Numerics&amp;quot; Microsoft Connect Site&lt;/a&gt;’s &lt;a href="http://connect.microsoft.com/site1267/Downloads/DownloadDetails.aspx?DownloadID=40598"&gt;Example applications&lt;/a&gt; download offers three additional end-to-end examples:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Latent Semantic Indexing (LSI) document classification example &lt;/li&gt;    &lt;li&gt;Statistics functionality demonstration &lt;/li&gt;    &lt;li&gt;Time-series analysis of cereal yield data &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;This post describes how to configure and deploy two 8-core HPC clusters hosted in Windows Azure and submit the LSICloudApplication to the Windows Azure HPC Scheduler for processing. Configuring, deploying and submitting the other two examples differs only slightly.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Update&lt;/strong&gt; 1/30/2012: Added review and link to a PDF copy of David Skillcorn’s &lt;a href="http://www.amazon.com/Understanding-Complex-Datasets-Decompositions-Knowledge/dp/1584888326/ref=sr_1_1?s=books&amp;amp;ie=UTF8&amp;amp;qid=1327951181&amp;amp;sr=1-1"&gt;&lt;em&gt;Understanding Complex Data Sets: Data Mining with Matrix Decomposition&lt;/em&gt;&lt;/a&gt;&lt;em&gt; &lt;/em&gt;(Chapman &amp;amp; Hall/CRC, 2007) in the “Learning about the Latent Semantic Indexing Example” section below.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Update&lt;/strong&gt; 1/28/2012: Added step 2 to the “Extracting and Running the Latent Semantic Indexing Example” section to change build configuration from the default Debug to Release. This change prevents failure of the job submitted to the Windows Azure HPC Scheduler in step 33.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: See the &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; post’s “‘Cloud Numerics’” Prerequisites section (updated 1/28/2012) if your Visual Studio 2010 installation doesn’t have the Visual C++ features installed.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Table of Contents&lt;/strong&gt;&amp;#160; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Creating a Windows Azure Pay-As-You-Go Subscription &lt;/li&gt;    &lt;li&gt;Learning about the Latent Semantic Indexing Example &lt;/li&gt;    &lt;li&gt;Extracting and Running the Latent Semantic Indexing Example &lt;/li&gt;    &lt;li&gt;Configuring and Deploying the Windows Azure HPC Cluster &lt;/li&gt;    &lt;li&gt;Using the Windows Azure HPC Scheduler Web Portal &lt;/li&gt;    &lt;li&gt;Running the Latent Semantic Indexing Example Locally &lt;/li&gt; &lt;/ul&gt;  &lt;h4&gt;Creating a Windows Azure Pay-As-You-Go Subscription &lt;/h4&gt;  &lt;p&gt;The example applications store their results in Windows Azure blobs, so you must have a Windows Azure subscription with a Windows Azure storage account and SQL Azure database to run these projects. Unlike other SQL Azure Labs CTPs, such as &lt;a href="https://www.hadooponazure.com/Account/BillingHistory"&gt;Apache Hadoop-based Services for Windows Azure&lt;/a&gt; (which is free), users must provide and pay for their own resources. You can’t take advantage of the Windows &lt;a href="https://www.windowsazure.com/en-us/pricing/free-trial/"&gt;Azure 3 Month Free Trial&lt;/a&gt; because it provides 750 hours per month of a small compute instance. Compute instances of various sizes aren’t interchangeable with trial subscriptions. For these reasons, “Cloud numerics” requires a pay-as-you-go subscription:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-Vx7ddn5XdXY/TyA_oRbcopI/AAAAAAAAZiE/IbvPR0JrKnE/s1600-h/image10.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://lh6.ggpht.com/-ronl7BhtM5w/TyA_szk65HI/AAAAAAAAZiM/stfqhElilbM/image_thumb5.png?imgmax=800" width="642" height="301" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;This tutorial assumes that you have a pay-as-you-go subscription. If you don’t, go to the &lt;a href="https://account.windowsazure.com/Subscriptions?wa=wsignin1.0"&gt;Account page&lt;/a&gt;, click Add Subscription and sign up with your credit card.&lt;/p&gt;  &lt;p&gt;&lt;font color="#ff0000"&gt;A deployed Codename “Cloud Numerics” application with the minimum number of head (1), compute (2) and Web FrontEnd (1) nodes will cost you $2.16/hour while it’s deployed. Compute nodes are Extra Large instances, which use 8 cores each, so 18 cores are deployed at US$0.12/core*hour. You also will be charged about US$0.33/day (US$9.99/month) for a 1-GB SQL Azure Web edition database.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#000000"&gt;&lt;strong&gt;Note&lt;/strong&gt;: You can run the LSICloudApplication project locally with a 3-Month Trial Subscription’s Windows Azure storage account. See the “Running the Latent Semantic Indexing Example Locally” section near the end of this post for details.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#000000"&gt;1. Select your pay-as-you-go subscription and click the Manage button to open the Windows Azure Management portal.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;2. Click the Hosted Services, Storage Accounts &amp;amp; CDN button and the Active button in the Deployment Health Status column to display your active Subscription(s):&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-sFjwgx3JrZE/TyA_xAhLTtI/AAAAAAAAZiU/qnK4lmCG6oE/s1600-h/image15.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/-suyI81fMU_0/TyA_0lqxIsI/AAAAAAAAZic/ApVkHmH0o2U/image_thumb8.png?imgmax=800" width="642" height="482" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: You will use your Subscription ID in the next section.&lt;/p&gt;  &lt;h4&gt;Learning about the Latent Semantic Indexing Example&lt;/h4&gt;  &lt;p&gt;&lt;strong&gt;Ronnie Hoogerwerf&lt;/strong&gt;’s &lt;a href="http://blogs.msdn.com/b/cloudnumerics/archive/2012/01/13/cloud-numerics-example-latent-semantic-indexing-and-analysis.aspx"&gt;“Cloud Numerics” Example: Latent Semantic Indexing and Analysis&lt;/a&gt; post of 1/13/2012 to the Microsoft Codename “Cloud Numerics” blog describes this example as follows:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;How do you find similar or related records or documents within a collection of unstructured data or a text corpus? One classical solution to this problem is &lt;a href="http://en.wikipedia.org/wiki/Latent_semantic_indexing"&gt;Latent Semantic Indexing&lt;/a&gt; (LSI). In this blog post we’ll walk you through the steps of applying the LSI technique. We will use a subset of public &lt;a href="http://www.sec.gov/answers/form10k.htm"&gt;SEC 10-K&lt;/a&gt; filings by companies as the text corpus to analyze. We will use LSI to capture similarities between these companies based on the information in their 10-K filings. [Wikipedia link added.]&lt;/p&gt;    &lt;p&gt;LSI is a method grounded in linear algebra and &lt;a href="http://en.wikipedia.org/wiki/Singular_Value_Decomposition"&gt;Singular Value Decomposition&lt;/a&gt; (SVD&lt;strong&gt;*&lt;/strong&gt;). The “Cloud Numerics” library offers an implementation of SVD that works on distributed arrays. This distributed array support enables the LSI solution to be scaled out over a cluster of Windows Azure nodes. [Wikipedia link added.]&lt;/p&gt;    &lt;p&gt;This example focuses on the data computation and the examination of the correlated results. It does not discuss the one-time preparation to clean, tokenize, and stem each document in order to assemble the word counts. These pre-processing steps are well suited to a map/reduce framework, such as Hadoop. The preprocessed dictionaries of terms and term counts are available by way of the following Windows Azure storage containers:&lt;/p&gt;    &lt;ul&gt;     &lt;li&gt;https://cloudnumericslab.blob.core.windows.net/parseddictfull &lt;/li&gt;      &lt;li&gt;https://cloudnumericslab.blob.core.windows.net/parseddocfull &lt;/li&gt;   &lt;/ul&gt;    &lt;p&gt;The C# LSI example constructs and operates on a term-document matrix --an array where columns correspond to documents, rows correspond to individual terms, and the elements correspond to logarithmically scaled frequencies of terms in each document.&lt;/p&gt;    &lt;p&gt;…&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Ronnie continues with details of the seven steps involved in performing the calculations and writing the result to a Windows Azure blob.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;*&lt;/strong&gt; &lt;strong&gt;Update&lt;/strong&gt; 1/30/2012: SVD is one of the topics of David Skillcorn’s &lt;a href="http://www.amazon.com/Understanding-Complex-Datasets-Decompositions-Knowledge/dp/1584888326/ref=sr_1_1?s=books&amp;amp;ie=UTF8&amp;amp;qid=1327951181&amp;amp;sr=1-1"&gt;&lt;em&gt;Understanding Complex Data Sets: Data Mining with Matrix Decomposition&lt;/em&gt;&lt;/a&gt;&lt;em&gt;&amp;#160;&lt;/em&gt;(Chapman &amp;amp; Hall/CRC, 2007), which &lt;a href="http://www.blogger.com/profile/17521653713510631422"&gt;Alexander Stojanovic&lt;/a&gt; (@&lt;a href="http://twitter.com/stojanovic"&gt;stojanovic&lt;/a&gt;, pictured below) reviewed in his &lt;a href="http://conceptualorigami.blogspot.com/#!/2011/12/understanding-complex-datasets-through.html"&gt;Understanding Complex Datasets through Matrix Decomposition&lt;/a&gt; post of 12/31/2011:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-vw4ZPQZY890/TybxejQ4nkI/AAAAAAAAaM8/JwOwz9EvPKs/s1600-h/image%25255B10%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/-bpL4N7PfJV0/Tybxe-qYa1I/AAAAAAAAaNE/p-V5Op-V-Qw/image_thumb%25255B5%25255D.png?imgmax=800" width="52" height="66" /&gt;&lt;/a&gt;David Skillcorn's book on matrix decomposition techniques is superb. I especially enjoyed his coverage on non-negative matrix factorization (NNMF) techniques and eigendecomposition (i.e. spectral techniques). I would recommend the book to those interested in data mining and knowledge extraction. The techniques cover a wide range of media and are not simply restricted to relational datasets and textual documents. &lt;/p&gt;    &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-5ZUYbk5M_G8/TybxfgPxOiI/AAAAAAAAaNM/6H_bx2jqOnY/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://lh3.ggpht.com/-BRGMsWRC7uk/TybxgTzHFpI/AAAAAAAAaNU/VJac6CsQ4jw/image_thumb%25255B4%25255D.png?imgmax=800" width="221" height="321" /&gt;&lt;/a&gt;The treatment of PageRank is concise and articulate: demonstrating the deep relationship between graph mining and learning techniques and matrix decomposition (SVD amongst others) techniques that make search engines such as Google and Bing possible. &lt;/p&gt;    &lt;p&gt;As a reviewer summarized, &amp;quot;The author explores the deep connections between matrix decompositions and structures within graphs, relating the PageRank algorithm of Google's search engine to singular value decomposition. He also covers dimensionality reduction, collaborative filtering, clustering, and spectral analysis. With numerous figures and examples, the book shows how matrix decompositions can be used to find documents on the Internet, look for deeply buried mineral deposits without drilling, explore the structure of proteins, detect suspicious emails or cell phone calls, and more.&amp;quot;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;You can read a complete PDF copy of Skillcorn’s book &lt;a href="http://lnfm1.sai.msu.ru/~rastor/Books/Skillicorn-Understanding_complex_datasets_data_mining_with_matrix_decompositions.pdf"&gt;here&lt;/a&gt;. (Alexander Stojanovic is credited &lt;a href="http://social.technet.microsoft.com/wiki/contents/articles/6206.apache-hadoop-based-services-for-windows-azure-how-to-guide.aspx"&gt;here&lt;/a&gt; as the founder and general manager of Apache Hadoop on Windows Azure and Windows)&lt;/p&gt;  &lt;h4&gt;Extracting, Running and Deploying the Latent Semantic Indexing Example&lt;/h4&gt;  &lt;p&gt;To run the Latent Semantic Indexing example in Visual Studio 2010 Professional or higher, do the following:&lt;/p&gt;  &lt;p&gt;1. Extract LSICloudApplication.zip to the \My Documents\Visual Studio 2010\Projects folder:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-kksDMrpDkzw/TyA_3FeSjGI/AAAAAAAAZik/iFjtWTTS-nY/s1600-h/image21.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://lh3.ggpht.com/-UKlJRTaTRr0/TyA_6HOeaYI/AAAAAAAAZis/42W-gy03pjE/image_thumb11.png?imgmax=800" width="628" height="460" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Extracting the files creates a \My Documents\Visual Studio 2010\Projects\LSICloudApplication subfolder.&lt;/p&gt;  &lt;p&gt;2. Choose Build, Configuration Manager to open the Configuration Manager dialog, select Release in the Active Solution Configurations list, and click OK to change the build configuration from Debug to Release:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-SFHyO_11rPs/TyQ8f7w8jGI/AAAAAAAAZ-U/bYC-2X7QUls/s1600-h/image%25255B21%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/-jLpZqZRDxhc/TyQ8gjcZvGI/AAAAAAAAZ-c/Q6jf17sqDw8/image_thumb%25255B12%25255D.png?imgmax=800" width="642" height="400" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: For currently unknown reasons, submitting a job built in the debug configuration fails. This problem is under investigation. This step was added on 1/28/2012.&lt;/p&gt;  &lt;p&gt;3. Press F5 to build and run the application for the first time. If you receive errors and warnings as partially shown here due to missing references in the DictionaryReader.cs component, you probably have installed the project to C:\Users\&lt;em&gt;UserName&lt;/em&gt;\My Documents\Visual Studio 2010\Projects\LSICloudApplication\LSICloudApplication, instead of C:\Users\&lt;em&gt;UserName&lt;/em&gt;\My Documents\Visual Studio 2010\Projects\LSICloudApplication. Copy the contents of the installation folder to the first LSICloudApplication folder, overwriting the contents of the subfolder.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-joOHBDxmbfA/TyA_-kJnLqI/AAAAAAAAZi0/0afcyHdNm2E/s1600-h/image4.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://lh5.ggpht.com/-7t6S9rxwl_E/TyBADC6kAHI/AAAAAAAAZi8/amCDZlCavuk/image_thumb2.png?imgmax=800" width="642" height="482" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;4. Verify that the AppConfigure is set as the startup project and press F5 to run the project again. After a minute or two the following Cloud Numerics Deployment Utility dialog opens:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-quStsNpa8Zc/TyBAF2J-SLI/AAAAAAAAZjE/BrMRL3yUiL4/s1600-h/image28.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://lh3.ggpht.com/-3bJ6P-m7UOs/TyBAJy1vFuI/AAAAAAAAZjM/Lb-XByc6AUs/image_thumb16.png?imgmax=800" width="642" height="708" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;h4&gt;Configuring and Deploying the Windows Azure HPC Cluster&lt;/h4&gt;  &lt;p&gt;5. Open the &lt;a href="https://windows.azure.com/default.aspx"&gt;Windows Azure Management Portal&lt;/a&gt;, click the Hosted Services, Storage Accounts &amp;amp; CDN button and the Active button in the Deployment Health Status column to display your active Subscription(s).&lt;/p&gt;  &lt;p&gt;6. Select the subscription to use for this and the following examples and copy the Subscription ID to the clipboard (see step 2 of the preceding section).&lt;/p&gt;  &lt;p&gt;7. Paste the value into the Subscription ID text box.&lt;/p&gt;  &lt;p&gt;8. Click the Cloud Numerics Deployment Utility dialog’s Create button to create a new Management Certificate for the service from the Certificate Name dialog. Accept the default Certificate Name, click Browse to open the Specify a New .cer File dialog, and navigate to a well known location to save the file:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-X70rAH2lYlE/TyBANrUqVsI/AAAAAAAAZjU/g3GWs56SKJg/s1600-h/image37.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://lh3.ggpht.com/-1993qWBr24Q/TyBASTqpbdI/AAAAAAAAZjc/dyKEaeYyKyg/image_thumb20.png?imgmax=800" width="625" height="480" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: You can have up to 10 Management Certificates for a hosted service.&lt;/p&gt;  &lt;p&gt;9. Click Open and Save to save the certificate file and return to the Specify a New .cer File dialog:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-wCv7zh5dc68/TyBAUU4lDSI/AAAAAAAAZjk/X3-eC3LA5Io/s1600-h/image41.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://lh3.ggpht.com/-HF31dwzA3KU/TyBAX1o7BJI/AAAAAAAAZjs/-KMZHx4lYek/image_thumb22.png?imgmax=800" width="498" height="234" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;10. Click OK to close the dialog and open the Security Warning dialog:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-CLriy3FU4yg/TyBAa-qkFMI/AAAAAAAAZj0/k_h0_JoVRW8/s1600-h/image53.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://lh3.ggpht.com/-AAcZjT5biZg/TyBAeBpOewI/AAAAAAAAZj8/sBgTLOT_Kr8/image_thumb29.png?imgmax=800" width="497" height="439" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: This certificate will appear in Trusted Root Certification Authorities list of Internet Explorer Tools’ Certificates dialog:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-egt9VpsSa30/TyBAgqRmM4I/AAAAAAAAZkE/dZqMx_ci97w/s1600-h/image71.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/-ZozpJ83AAf4/TyBAkN3P5eI/AAAAAAAAZkM/BPYzGVhaI_g/image_thumb39.png?imgmax=800" width="519" height="477" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;11. Click Yes to install the self-signed certificate, close the dialog, and confirm the certificate: &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-pC17lrAcBDQ/TyBAmYOxonI/AAAAAAAAZkU/7A1G3RYtoZs/s1600-h/image58%25255B1%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://lh3.ggpht.com/-1Oa1VG3XHfs/TyBAoDX2tDI/AAAAAAAAZkc/qBS-bvmFMo4/image_thumb32.png?imgmax=800" width="486" height="191" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;12. Click OK to close the message box and return to the Deployment Utility.&lt;/p&gt;  &lt;p&gt;13. Return to the Windows Azure Management Portal, click the Management Certificates button, select your pay-as-you-go subscription in the list, and click the Add Certificate button to open the Add New Management Certificate dialog:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-D7pkeON_JKs/TyBAqEvD03I/AAAAAAAAZkk/1oq_OuNe3sE/s1600-h/image45.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://lh5.ggpht.com/-JAVKA-hAix0/TyBAsle67UI/AAAAAAAAZks/BBfOzmY2yvU/image_thumb24.png?imgmax=800" width="538" height="190" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;14. Click the Browse button to open the Open dialog, navigate to the folder in which you saved the certificate in step 8, and double-click MicrosoftCloudNumerics.cer to close the dialog and add it as the Certificate file:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-93gCehcCkf8/TyBAuHg0l7I/AAAAAAAAZk0/R46is6N0498/s1600-h/image49.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://lh3.ggpht.com/-xq2Jo9Fp9LA/TyBAw9rzsCI/AAAAAAAAZk8/rFLitjRJxUQ/image_thumb26.png?imgmax=800" width="538" height="190" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;15. Click OK to close the dialog and, after the certificate’s status is Created, return to the Deployment Utility dialog.&lt;/p&gt;  &lt;p&gt;16. Type a globally unique DNS prefix name for the service, &lt;strong&gt;oakleaf1lsi&lt;/strong&gt; for this example, in the Service Name text box:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-ujXfjGq0-hE/TyBAzb0SxlI/AAAAAAAAZlE/bfZ78rrIUYM/s1600-h/image61.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://lh6.ggpht.com/-KZtRHWx6ShE/TyBA2ZSccWI/AAAAAAAAZlM/XoZDRHmZKg0/image_thumb32%25255B1%25255D.png?imgmax=800" width="588" height="374" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;17&lt;strong&gt;. &lt;/strong&gt;Open the Location list and choose a region in which to host the service, North Central US for the LSI example:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-8HeXy6iGr1U/TyBA5WrGbvI/AAAAAAAAZlU/kAsYhd9Hc4k/s1600-h/image57.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://lh6.ggpht.com/-6FeVJfl4bFs/TyBA88424zI/AAAAAAAAZlc/QlzgqdYizYc/image_thumb30.png?imgmax=800" width="586" height="373" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: If you encounter the following error message:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-ICzSP0-M9_I/TyBA_34XkUI/AAAAAAAAZlk/Dof523mGX7o/s1600-h/image67.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://lh5.ggpht.com/-SpuzV6MR5hs/TyBBDk2K9MI/AAAAAAAAZls/ngAFB7pDB-4/image_thumb37%25255B1%25255D.png?imgmax=800" width="486" height="161" /&gt;&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;wait a minute or two and try again. &lt;/p&gt;  &lt;p&gt;18. Click Next to activate the Cluster in Azure tab, type and existing or new name for the Cluster Administrator, a complex password and password confirmation, accept 1 Head and Web FrontEnd node, and specify 2 (the minimum) for Compute nodes, which are Extra Large Instances having 8 cores each:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-K-Vyv06qe1E/TyBBGgiEE3I/AAAAAAAAZl0/NuJmHr9vVgg/s1600-h/image129.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://lh5.ggpht.com/-iZp_Al7kO8c/TyBBKKVolWI/AAAAAAAAZl8/scPYeJytbts/image_thumb71.png?imgmax=800" width="581" height="368" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: If you select 3 Compute Nodes, you receive the following message near the end of the deployment process because 3 compute nodes consume 24 cores:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-U1_-q41tTU4/TyBBNJI1vxI/AAAAAAAAZmE/JnvYStIb2MM/s1600-h/image133.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/-fVhwwvMIXKw/TyBBQL9jf-I/AAAAAAAAZmM/4roPRGJDTps/image_thumb72.png?imgmax=800" width="482" height="176" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;If you want to increase the default 20-core quota for your pay-as-you-go subscription, contact &lt;a href="https://support.microsoft.com/oas/default.aspx?prid=14234&amp;amp;st=1&amp;amp;wfxredirect=1&amp;amp;sd=gn"&gt;Windows Azure Billing Support&lt;/a&gt; with Quota Increase as the Support Topic and Windows Azure Compute Instances as the subtopic:&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-maBFqMp2ql4/TyBBUdgUb-I/AAAAAAAAZmU/bqD9xvcdXps/s1600-h/image%25255B5%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://lh5.ggpht.com/-dkI22EAG69U/TyBBZYZDZNI/AAAAAAAAZmc/Ju--t2l3IA0/image_thumb%25255B2%25255D.png?imgmax=800" width="642" height="482" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;19. Click Next to activate the SQL Azure Server to associate with your server. Accept the defaults shown here, unless you want to customize the server instance:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-JUQC3JgiUE0/TyBBbk0o5OI/AAAAAAAAZmk/037Rc60ABQs/s1600-h/image88.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://lh6.ggpht.com/-uUbDvH7Ruc8/TyBBek-TQoI/AAAAAAAAZms/Bt_4sQJej7s/image_thumb48.png?imgmax=800" width="581" height="368" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: Deploying an SQL Azure server isn’t optional. The SQL Azure server’s &lt;em&gt;DNSPrefixName&lt;/em&gt; database, &lt;em&gt;oakleaflsi&lt;/em&gt; for this example, stores deployment metadata in 54 tables, one of which is named Zombie:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-P-Ejr_mINmo/TyBBiYBgNrI/AAAAAAAAZm0/1gzohnZYPIs/s1600-h/image138.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://lh5.ggpht.com/-t8PaQdi6uKg/TyBBlYn3_VI/AAAAAAAAZm8/RiKvsRL3Lkk/image_thumb75.png?imgmax=800" width="642" height="482" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;20. Click the Deployment Action frame’s Configure Cluster button to start the cluster configuration process:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-hAZ7hQ_GOK8/TyBBmLhm2XI/AAAAAAAAZnE/HtmCo_qOcRA/s1600-h/image96.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/-0wbP9ruSKKI/TyBBnBYm3bI/AAAAAAAAZnM/VjEiOcsnKGs/image_thumb52.png?imgmax=800" width="279" height="51" /&gt;&lt;/a&gt;&lt;a href="http://lh4.ggpht.com/-pZQq_pRN6xQ/TyBBofySChI/AAAAAAAAZnU/gAs6Dw-gPxU/s1600-h/image92.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: left; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" align="left" src="http://lh5.ggpht.com/-y1-U_c5nGOo/TyBBqlCS89I/AAAAAAAAZnc/fueSgicEJcw/image_thumb50.png?imgmax=800" width="283" height="50" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;21. Return to the Windows Azure Management Portal, click the Storage Accounts button and confirm that the oakleaf1lsi storage account has been created:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-jVZmvbzG5x8/TyBBu8-3hcI/AAAAAAAAZnk/Fx20_gxUh_M/s1600-h/image69.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://lh3.ggpht.com/-8nnEDzw-Qi0/TyBBy5G_Y6I/AAAAAAAAZns/Kz8rgIjH9hE/image_thumb36.png?imgmax=800" width="642" height="482" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: Clicking the Primary Access Key’s View button displays it in this dialog (partially obscured for security here) and lets you copy it to the clipboard:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-evhOeZN3Plo/TyBB1hNEBkI/AAAAAAAAZn0/RNRQ5uLokKM/s1600-h/image72.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://lh5.ggpht.com/-XB2o0HeBQNM/TyBB4ZY_Z_I/AAAAAAAAZn8/_uzNgtlL_rg/image_thumb37.png?imgmax=800" width="538" height="191" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;You will use the storage account Name and Primary Access Key values later in this section.&lt;/p&gt;  &lt;p&gt;22. Click the Hosted Services button and verify that the oakleaf1lsi.cloudapp.net hosted service and its service certificate has been created:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-y5F9NgFUCHI/TyBB9WgaauI/AAAAAAAAZoE/hJKMDwXvF2o/s1600-h/image80.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://lh6.ggpht.com/-5KXDkdsiEgc/TyBCCTqoEoI/AAAAAAAAZoM/RBDvZ1uo1qM/image_thumb41.png?imgmax=800" width="642" height="482" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: Cores used = 0 because the services haven’t been deployed yet.&lt;/p&gt;  &lt;p&gt;23. When the Configuration Complete message appears, click the Deploy Cluster button. The progress bar displays the following deployment operations:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-Mg_6A8x3ET8/TyBCEbii28I/AAAAAAAAZoU/hgndoVZHW5I/s1600-h/image107.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/-M4AvaQ-luPs/TyBCGya9DxI/AAAAAAAAZoc/u-IwnRSgxns/image_thumb57.png?imgmax=800" width="311" height="48" /&gt;&lt;/a&gt;&lt;a href="http://lh4.ggpht.com/-9Os4NgaZSwQ/TyBCJTASEgI/AAAAAAAAZok/fpaOoyGufGQ/s1600-h/image106%25255B1%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: left; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" align="left" src="http://lh4.ggpht.com/-evg-p5vbnP8/TyBCMJoDI2I/AAAAAAAAZos/DrDBGwli7EY/image_thumb56%25255B1%25255D.png?imgmax=800" width="281" height="48" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: It took me a loooong time (about an hour and 15 minutes) to upload the 205 MB HPC package to blob storage on a slow (410 kbps up) DSL line:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-o33jdqqkr0E/TyBCOJBJKCI/AAAAAAAAZo0/67Ap9ISHoUw/s1600-h/image108.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: left; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" align="left" src="http://lh3.ggpht.com/-WGRCmSCzZxs/TyBCRMfe1BI/AAAAAAAAZo8/VouUV6BY8QQ/image_thumb58%25255B1%25255D.png?imgmax=800" width="275" height="52" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-2JS4gyqRPbk/TyBCUvQ-2EI/AAAAAAAAZpE/FGQYf-SUacA/s1600-h/image112.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/-niw5Hjo6cwg/TyBCXZy5KDI/AAAAAAAAZpM/7YqMceegusQ/image_thumb60.png?imgmax=800" width="358" height="47" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;24. When deployment is complete, the Deployment Utility dialog appears as follows:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-G2LCLXyBV8I/TyBaEyMQ99I/AAAAAAAAZuU/5qjXbyMuZ8Y/s1600-h/image%25255B5%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://lh5.ggpht.com/-c0si_b7H9AQ/TyBaFmjysZI/AAAAAAAAZuc/jeho9zFkAdk/image_thumb%25255B2%25255D.png?imgmax=800" width="642" height="706" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;25. Click Check Cluster Status to display the current condition:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-NZ0SFIYlTsw/TyBCnrNxBtI/AAAAAAAAZp0/VBwslg_taVU/s1600-h/image109.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/-yMHwvvQrupE/TyBCqKg_s1I/AAAAAAAAZp8/0nSEYrO-Nu8/image_thumb58.png?imgmax=800" width="457" height="50" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;26. Return to the Windows Azure Management Portal and verify the Hosted Services deployment with 18 cores being used at a cost of US$2.16 per hour:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-1jV8tCKPYFU/TyBaG1ImRnI/AAAAAAAAZuk/qpNXSvSdE4s/s1600-h/image%25255B29%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/-LsAb2AV4Npk/TyBaILcXK_I/AAAAAAAAZus/DY8Z1dR-3cM/image_thumb%25255B16%25255D.png?imgmax=800" width="642" height="482" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;27. Use Cerebrata’s Cloud Storage Studio or a similar application to inspect the uploaded cluster blob:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-tCC2GQvHSew/TyBaIyXYvsI/AAAAAAAAZu0/T4N7oFDOuCY/s1600-h/image%25255B10%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://lh3.ggpht.com/-V8xFYlgcMjw/TyBaKKyKKEI/AAAAAAAAZu8/LFSeUu8X1AE/image_thumb%25255B5%25255D.png?imgmax=800" width="640" height="485" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;h5&gt;&lt;font style="font-weight: normal"&gt;Running the LSICloudApplication locally created the &lt;em&gt;lsiresult&lt;/em&gt; blob. You must run the application locally to create the *.exe and copy local the required libraries, as described in &lt;/font&gt;&lt;font style="font-weight: normal"&gt;the “Running the Latent Semantic Indexing Example Locally” section near the end of the chapter. Return here after completing the operation.&lt;/font&gt;&lt;/h5&gt;  &lt;h5&gt;&lt;font style="font-weight: normal"&gt;28. Click the Deployment Utility’s Application Code tab, click the Browse button, and navigate to the \My Documents\Visual Studio 2010\Projects\LSICloudApplication\LSICloudApplication\MSCloudNumericsApp\bin\Debug folder and double-click the MSCloudNumericsApp.exe executable file to add its path and filename to the text box and click the Submit Job button:&lt;/font&gt;&lt;/h5&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-tLnkCax0GzQ/TyBaKsNC3MI/AAAAAAAAZvE/Gb387XRjCvQ/s1600-h/image%25255B15%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://lh5.ggpht.com/-UOlgEU7J5a4/TyBaLmYKOZI/AAAAAAAAZvM/T-k_XiOhrb8/image_thumb%25255B8%25255D.png?imgmax=800" width="642" height="706" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-XzQgG10n2NA/TyBaL7Oo8BI/AAAAAAAAZvU/dwqRBy3Zc_M/s1600-h/image%25255B19%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; margin-left: 0px; border-left-width: 0px; margin-right: 0px; padding-top: 0px" title="image" border="0" alt="image" align="right" src="http://lh3.ggpht.com/-sU-YIZoiUMs/TyBaMKqivpI/AAAAAAAAZvc/e9wjNkdHzrM/image_thumb%25255B10%25255D.png?imgmax=800" width="276" height="48" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;The status bar appears as follows while uploading the MSCloudNumericsApp.exe file to blob storage: &lt;/p&gt;  &lt;p&gt;29. When the Job Successfully Submitted message appears, close the dialog. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-ckbOEgGxgYs/TyBaMjBGB5I/AAAAAAAAZvk/qQeoOFZeuO4/s1600-h/image%25255B24%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://lh3.ggpht.com/-3nvi0t5K9Wo/TyBaNU49ECI/AAAAAAAAZvs/6h9AnO11cOc/image_thumb%25255B13%25255D.png?imgmax=800" width="642" height="706" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;h4&gt;Using the Windows Azure HPC Scheduler Web Portal&lt;/h4&gt;  &lt;p&gt;30. To check the status of the jobs submitted, type the URL for the hosted service (&lt;a href="https://oakleaf1lsi.cloudapp.net"&gt;https://oakleaf1lsi.cloudapp.net&lt;/a&gt; for this example) and click the Continue to Web Site link to accept the self-signed certificate and open the Sample Application page:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-0v8xWmccgEc/TyBaOKWXt9I/AAAAAAAAZv0/k7yTL_NJFwg/s1600-h/image%25255B34%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://lh6.ggpht.com/-sM0s-a5m54g/TyBaOmAjceI/AAAAAAAAZv8/9xHOAd_Qhvs/image_thumb%25255B19%25255D.png?imgmax=800" width="642" height="209" /&gt;&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;31. Click the Windows Azure HPC Scheduler Web Portal Link and type your administrative user name and password in the Windows Security dialog:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-KlMXQeCrgtw/TyBaOy1lzSI/AAAAAAAAZwE/mZijfn9ea7Q/s1600-h/image%25255B38%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://lh5.ggpht.com/-DYjfDGoF3sY/TyBaPUrDcQI/AAAAAAAAZwM/Q0tGKix08Kg/image_thumb%25255B21%25255D.png?imgmax=800" width="439" height="253" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;32. Click OK to open the HPC Scheduler Web Portal. You might receive the following and another non-fatal error message:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-mQZU8f9hAr8/TyBaQFE6VbI/AAAAAAAAZwU/ctDrq2VvYfA/s1600-h/image%25255B44%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://lh3.ggpht.com/-ssR9r0Ts2vo/TyBaQxvH9NI/AAAAAAAAZwc/0fOJUPE3r3Y/image_thumb%25255B25%25255D.png?imgmax=800" width="642" height="278" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;33. Click the All Jobs button once or twice to display their current state. The MSCloudNumerics job finished execution in this example:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-7SmuOYKB8nM/TyQ8hvP34mI/AAAAAAAAZ-k/-fRC7ONJfqY/s1600-h/image%25255B5%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://lh5.ggpht.com/-VjtHFm2xBTQ/TyQ8iju-_TI/AAAAAAAAZ-s/EsyuHH9iUmI/image_thumb%25255B2%25255D.png?imgmax=800" width="642" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;34. Click the link to MSCloudNumericsApp.exe to open a detail page:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-6H90ghXQEBI/TyQ8jbojqUI/AAAAAAAAZ-0/R-W50su8Cdo/s1600-h/image%25255B10%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://lh3.ggpht.com/-vLFeKAO61gk/TyQ8kVn57xI/AAAAAAAAZ-8/58mTsOoe0xU/image_thumb%25255B5%25255D.png?imgmax=800" width="642" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;35. Click the View Tasks tab to display more information about the task:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-SfyqqZaauL8/TyQ8k7rNiHI/AAAAAAAAZ_E/yCqCwLErMq8/s1600-h/image%25255B15%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/-MOCvYqKE60c/TyQ8lvmdDLI/AAAAAAAAZ_M/DDc4qRg64y4/image_thumb%25255B8%25255D.png?imgmax=800" width="642" height="356" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;The complete Summary entry is:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font face="Courier New"&gt;-------------------------- Summary --------------------------        &lt;br /&gt;3 Nodes succeeded         &lt;br /&gt;0 Nodes failed         &lt;br /&gt;&lt;/font&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;36. If you don’t want to be charged US$2.16 per hour for compute instances and US$0.33/day for the database, return to the Windows Azure Management Portal and delete the Deployment for Windows Azure and hosted service (oakleaf1lsi for this example), as well as the database created during the configuration process.&lt;/p&gt;  &lt;h4&gt;Running the Latent Semantic Indexing Example Locally&lt;/h4&gt;  &lt;p&gt;The &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; post’s MSCloudNumerics solution is self-contained and uses locally-generated matrices with random values as its input data. In local mode, the LSICloudApplication downloads text data from &lt;a title="http://cloudnumericslab.blob.core.windows.ne" href="http://cloudnumericslab.blob.core.windows.net&amp;rsquo;s"&gt;http://cloudnumericslab.blob.core.windows.net’s&lt;/a&gt; public &lt;em&gt;financialdocs&lt;/em&gt; container, processes it with the local copy of the Microsoft HPC Pack 2008 R2 MS-MPI Redistributable Pack (Mpiexec.exe), and uploads the results to the Windows Azure storage account you created in the preceding section.&lt;/p&gt;  &lt;p&gt;The AzureSampleService project contains a Roles node with ComputeNode, FrontEnd and HeadNode subnodes, as well as ServiceConfiguration.Cloud.csfg and ServiceConfiguration.Local.csfg configuration files. The latter is used when running the LSICloudApplication locally.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Correcting Erroneous Debug Command Line Arguments and Working Directory Values&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Early versions of the example programs specify a user named &lt;em&gt;roastala&lt;/em&gt; (Roope Astala, a program manager on the Codename “Cloud Numerics” team in the LSICloudApplication project’s Debug properties page’s Command Line Arguments and Working Directory property values. To determine if your version has this problem, do the following: &lt;/p&gt;  &lt;p&gt;1. Right click the LSICloudApplication node and choose Set As Startup Project.&lt;/p&gt;  &lt;p&gt;2. Press F5 and wait for the console window to appear. &lt;/p&gt;  &lt;p&gt;3. If you see the following message:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-UHpWNufGH2o/TyBDsxu5urI/AAAAAAAAZsU/usZBC-laoEk/s1600-h/image89%25255B1%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://lh3.ggpht.com/-2_FhnaKiWGw/TyBDv3D_QsI/AAAAAAAAZsc/FTsvK2Jx42k/image_thumb46.png?imgmax=800" width="489" height="191" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;3a. Click OK to close the message box, right-click the LSI CloudApplication node and choose Properties to open its properties pages.&lt;/p&gt;  &lt;p&gt;3b. Replace the two instances of &lt;em&gt;roastala&lt;/em&gt; in the text boxes:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-cuDNdsUsYYI/TyBD3vYST6I/AAAAAAAAZsk/_VCIX4MQTlI/s1600-h/image98.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/-Pz7Zvxo5-J0/TyBD9WCKBTI/AAAAAAAAZss/GidLWbWgKy8/image_thumb51.png?imgmax=800" width="642" height="482" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;with your user name.&lt;/p&gt;  &lt;p&gt;3c. Press Ctrl+Shift+B to build the solution with the new user name.&amp;#160; &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Specifying the myAccountKey and myAccountName Variable Values in Program.cs&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;4. Open LSICloudApplication project’s Program.cs file, scroll to line 224, replace myAccountKey by pasting the storage account’s Primary Account Key value, which you can copy to the clipboard as shown in step 20 of the preceding section, and replace myAccountName with the name of your storage account, &lt;em&gt;oakleaf1lsi&lt;/em&gt; for this example.&lt;/p&gt;  &lt;p&gt;5. Press F5 to run the project locally. Allow firewall access for two processes, if this is the first time you’ve run an HPC project locally. After a minute or so, mpiexec.exe’s command window appears as shown here:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-3R_NfT5qMd0/TyBD_7h1arI/AAAAAAAAZs0/DhJrbJLdNFE/s1600-h/image%25255B10%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://lh6.ggpht.com/-79UCQFosI3k/TyBEDvlDwJI/AAAAAAAAZs8/Z5Ata-kKWCE/image_thumb%25255B5%25255D.png?imgmax=800" width="640" height="323" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;After a few more minutes, four additional lines appear: &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-ZFyByCUhHsk/TyBEGTTzbmI/AAAAAAAAZtE/pTIUIZOkzcU/s1600-h/image%25255B14%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/-8Yh086Gjea0/TyBEKOM39RI/AAAAAAAAZtM/lebCfclDyb8/image_thumb%25255B7%25255D.png?imgmax=800" width="640" height="325" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;When Mpiexec.exe completes execution a few minutes later and sends its data to a blob in Windows Azure storage, the Command Prompt window replaces Mpiexec.exe’s window.&lt;/p&gt;  &lt;p&gt;6. Close the command prompt and type &lt;strong&gt;https://&lt;em&gt;accountName&lt;/em&gt;.blob.core.windows.net/lsiresult/lsiresult&lt;/strong&gt; in IE’s address bar to display the results from the U.S. SEC’s 10K reports in comma-separated values (*.csv) format:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-MINVCz-kQCw/TyBENK12xZI/AAAAAAAAZtU/cZXDjHRiNW4/s1600-h/image%25255B19%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://lh3.ggpht.com/-qj00KApCrqw/TyBEQibgFrI/AAAAAAAAZtc/d4nGphLhoZc/image_thumb%25255B10%25255D.png?imgmax=800" width="642" height="482" /&gt;&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;7. Optionally, save the data as a *.txt file, change the file extension to *.csv and open it in Excel for further analysis:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-i6rpYo6kn-w/TyBEUbXPHtI/AAAAAAAAZtk/jbk30uLC6BU/s1600-h/image%25255B24%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/-hMf2gQmjz8U/TyBEYIEz5QI/AAAAAAAAZts/hb6N_UH47Qs/image_thumb%25255B13%25255D.png?imgmax=800" width="642" height="482" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;8. Right-click the AppConfigure project and choose Set As Startup Project to re-enable deployment to Windows Azure.&lt;/p&gt;  &lt;p&gt;9. If you were in the process of configuring and deploying LSICloudApplication to Windows Azure when you ran the program locally, press F5 to restart the program, click the Check Cluster Status button to enable the Submit Job button and continue at the “Configuring and Deploying the Windows Azure HPC Cluster” section’s step 28 to upload the application code and libraries to the Windows Azure HPC Scheduler.&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:39561aa6-56a5-4939-adc1-40ce8a1e96e3" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/SQL+Azure+Labs" rel="tag"&gt;SQL Azure Labs&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Microsoft+Codename+%22Cloud+Numerics%22" rel="tag"&gt;Microsoft Codename &amp;quot;Cloud Numerics&amp;quot;&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Codename+%22Cloud+Numerics%22" rel="tag"&gt;Codename &amp;quot;Cloud Numerics&amp;quot;&lt;/a&gt;,&lt;a href="http://technorati.com/tags/%22Cloud+Numerics%22" rel="tag"&gt;&amp;quot;Cloud Numerics&amp;quot;&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Latent+Semantic+Indexing" rel="tag"&gt;Latent Semantic Indexing&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Windows+Azure" rel="tag"&gt;Windows Azure&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/Windows+HPC+Server+2008+R2" rel="tag"&gt;Windows HPC Server 2008 R2&lt;/a&gt;,&lt;a href="http://technorati.com/tags/MPI" rel="tag"&gt;MPI&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Matrix+Algebra" rel="tag"&gt;Matrix Algebra&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Linear+Algebra" rel="tag"&gt;Linear Algebra&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Distributed+Arrays" rel="tag"&gt;Distributed Arrays&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Windows+Azure+HPC+Web+Portal" rel="tag"&gt;Windows Azure HPC Web Portal&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Dryad" rel="tag"&gt;Dryad&lt;/a&gt;,&lt;a href="http://technorati.com/tags/DryadLINQ" rel="tag"&gt;DryadLINQ&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-1654152279604684399?l=oakleafblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oakleafblog.blogspot.com/feeds/1654152279604684399/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11646261&amp;postID=1654152279604684399' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11646261/posts/default/1654152279604684399'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11646261/posts/default/1654152279604684399'/><link rel='alternate' type='text/html' href='http://oakleafblog.blogspot.com/2012/01/deploying-cloud-numerics-sample.html' title='Deploying “Cloud Numerics” Sample Applications to Windows Azure HPC Clusters'/><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/-vM6Ti73s_Eo/TyBJU60hh4I/AAAAAAAAZuM/RvOXhVI2Qz0/s72-c/image_thumb%25255B17%25255D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11646261.post-4810617602819294677</id><published>2012-01-28T07:40:00.000-08:00</published><updated>2012-01-28T10:52:22.228-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Windows Azure Storage'/><category scheme='http://www.blogger.com/atom/ns#' term='HPC Server 2008 R2'/><category scheme='http://www.blogger.com/atom/ns#' term='HPC'/><category scheme='http://www.blogger.com/atom/ns#' term='Azure'/><category scheme='http://www.blogger.com/atom/ns#' term='Dryad'/><category scheme='http://www.blogger.com/atom/ns#' term='Codename &quot;Cloud Numerics&quot;'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows HPC Server 2008 R2'/><category scheme='http://www.blogger.com/atom/ns#' term='DryadLINQ'/><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='Cloud Computing'/><title type='text'>Introducing Microsoft Codename “Cloud Numerics” from SQL Azure Labs</title><content type='html'>&lt;h4&gt;Introduction&lt;/h4&gt;  &lt;p&gt;&lt;strong&gt;Table of Contents&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;“Cloud Numerics” Background &lt;/li&gt;    &lt;li&gt;The MSCloudNumerics.sln Project Template and Sample Solution &lt;/li&gt;    &lt;li&gt;“Cloud Numerics” Prerequisites (updated 1/28/2012, see below) &lt;/li&gt;    &lt;li&gt;Installing the HPC and “Cloud Numerics” Components &lt;/li&gt;    &lt;li&gt;“Cloud Numerics” Mathematic Libraries for .NET &lt;/li&gt;    &lt;li&gt;“Cloud Numerics” Distributed Array, Algorithm and Runtime Libraries for .NET &lt;/li&gt;    &lt;li&gt;Limitations of “Cloud Numerics” &lt;/li&gt;    &lt;li&gt;Running the MSCloudNumerics Sample Project Locally &lt;/li&gt;    &lt;li&gt;References &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Updated&lt;/strong&gt; 1/28/2012: Added Visual C++ as an (undocumented) required component of Visual Studio 2010 SP1. If the VC++ feature isn’t present, the alternative is download and copy the Microsoft Visual C++ 2010 SP1 Redistributable Package (x64) .dll files to added folders that emulate those created by VS 2010 with VC++. These files are a prerequisite for enabling the Windows Azure HPC Cluster to run submitted executable files for a job. (See the “Cloud Numerics” Prerequisites section for details.)&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Updated&lt;/strong&gt; 1/25/2012: My (@&lt;a href="http://twitter.com/rogerjenn"&gt;rogerjenn&lt;/a&gt;) &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; of 1/25/2012 describes how to configure and deploy two 8-core HPC clusters hosted in Windows Azure and submit the Latent Semantic Indexing (LSICloudApplication) project to the Windows Azure HPC Scheduler for processing.&lt;/p&gt;  &lt;hr /&gt;  &lt;h4&gt;“Cloud Numerics” Background&lt;/h4&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-yAnqeGRG91s/Tx2L2r5eB-I/AAAAAAAAZfI/zuqc7F7vBs8/s1600-h/image%25255B4%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/-l3UMfkSdwec/Tx2L2wJEaQI/AAAAAAAAZfM/2SGul9GzkQM/image_thumb%25255B1%25255D.png?imgmax=800" width="159" height="45" /&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/en-us/sqlazurelabs/labs/numerics.aspx"&gt;Codename “Cloud Numerics”&lt;/a&gt; is the latest in a series of new SQL Azure Labs tools for managing and analyzing Big Data in the Cloud with Windows Azure and SQL Azure. &lt;strong&gt;Ronnie Hoogerwerf&lt;/strong&gt;’s introductory &lt;a href="http://blogs.msdn.com/b/cloudnumerics/archive/2012/01/11/the-cloud-numerics-programming-and-runtime-execution-model.aspx"&gt;The “Cloud Numerics” Programming and runtime execution model&lt;/a&gt; post of 1/11/2012 to the Microsoft Codename “Cloud Numerics” blog begins:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;Microsoft Codename “Cloud Numerics” is a new .NET® programming framework tailored towards performing numerically-intensive computations on large distributed data sets. It consists of &lt;/p&gt;    &lt;ul&gt;     &lt;li&gt;a programming model that exposes the notion of a &lt;i&gt;partitioned&lt;/i&gt; or &lt;i&gt;distributed&lt;/i&gt; &lt;a href="http://en.wikipedia.org/wiki/Array_data_type"&gt;array&lt;/a&gt; to the user &lt;/li&gt;      &lt;li&gt;an execution framework or runtime that efficiently maps operations on distributed arrays to a collection of nodes in a &lt;a href="http://en.wikipedia.org/wiki/Cluster_(computing)"&gt;cluster&lt;/a&gt; &lt;/li&gt;      &lt;li&gt;&lt;a href="http://lh4.ggpht.com/-lKM0Omsd4Jw/Tx2a6XrBRYI/AAAAAAAAZhU/j9dKUYSVh2g/s1600-h/image%25255B28%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/-exbQDtQUSIA/Tx2a6pj6PtI/AAAAAAAAZhc/hvTX09eDX0Q/image_thumb%25255B12%25255D.png?imgmax=800" width="161" height="28" /&gt;&lt;/a&gt;an extensive library of pre-existing operations on distributed arrays and tools that simplify the deployment and execution of a “Cloud Numerics” application on the Windows Azure™ platform &lt;/li&gt;   &lt;/ul&gt;    &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;Writing numerical algorithms is challenging and requires thorough knowledge of the underlying math; typically this line of work is the realm of experts with job titles such as: data scientist, quantitative analyst, engineer, etc. Writing numerical algorithms that scale-out to the cloud is even harder. At the same time the ever increasing appetite for and availability of data is making it more and more important to be able to scale-out data analytics models and this is exactly what “Cloud Numerics” is all about. For example, with “Cloud Numerics” it is possible to write document classification applications using powerful linear algebra and statistical methods, such as &lt;a href="http://en.wikipedia.org/wiki/Singular_value_decomposition"&gt;Singular Value Decomposition&lt;/a&gt; or &lt;a href="http://en.wikipedia.org/wiki/Principal_component_analysis"&gt;Principle Component Analysis&lt;/a&gt;, or to write applications that search for correlations in financial &lt;a href="http://en.wikipedia.org/wiki/Time_series"&gt;time series&lt;/a&gt; or &lt;a href="http://en.wikipedia.org/wiki/Genomics"&gt;genomic data&lt;/a&gt; that work on today’s cloud-scale datasets. [Links added.]&lt;/p&gt;    &lt;p&gt;“Cloud Numerics” provides a complete [C#] solution for writing and developing distributed applications that run on Windows Azure. To use “Cloud Numerics” you start in Visual Studio with our custom project definition that includes an extensive library of numerical functions. You develop and debug your numerical application on your desktop, using a dataset that is appropriate for the size of your machine. You can read large datasets in parallel, allocate and manipulate large data objects as distributed arrays, and apply numerical functions on these distributed array[s]. When your application is ready and you want to scale-out and run on the cloud you start our deployment wizard, fill out your Azure information, deploy, and run you[r] application.&lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;…&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;An important takeaway from the preceding excerpt is that the BigData input to “Cloud Numerics” applications must be a &lt;i&gt;partitioned&lt;/i&gt; or &lt;i&gt;distributed&lt;/i&gt; numeric array. You can load data into distributed arrays with data that implements the &lt;font face="Consolas"&gt;Numerics.Distributed.IO.ParallelReader&lt;/font&gt; interface or is processed by the sample &lt;font face="Consolas"&gt;Distributed.IO.CSVLoader&lt;/font&gt; class, which implements that interface. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: Source code for the &lt;font face="Consolas"&gt;Distributed.IO.CSVLoader&lt;/font&gt; class is included in the Cloud Numerics - Examples download, which is described in the “Install the HPC and ‘Cloud Numerics’ Components”&lt;strong&gt; &lt;/strong&gt;section below.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-Wy2fM_E23hE/Tx2QuOWzDBI/AAAAAAAAZfw/dn0vZi7w8sA/s1600-h/image%25255B4%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/-1CLaVmKslao/Tx2QuYZ9fbI/AAAAAAAAZf4/MJWPLr0MKEc/image_thumb%25255B1%25255D.png?imgmax=800" width="250" height="182" /&gt;&lt;/a&gt;Ronnie’s &lt;a href="http://blogs.msdn.com/b/cloudnumerics/archive/2012/01/20/using-data.aspx"&gt;Using Data&lt;/a&gt; post of 1/20/2012 is a useful reference for array data; it contains the following topics:&lt;/p&gt;  &lt;blockquote&gt;   &lt;ul&gt;     &lt;li&gt;&lt;a href="http://blogs.msdn.com/b/cloudnumerics/atom.aspx#_Ref310587446"&gt;Working with Arrays&lt;/a&gt; &lt;/li&gt;      &lt;li&gt;&lt;a href="http://blogs.msdn.com/b/cloudnumerics/atom.aspx#_Ref310587464"&gt;Loading Distributed Data from a File&lt;/a&gt; &lt;/li&gt;      &lt;li&gt;&lt;a href="http://blogs.msdn.com/b/cloudnumerics/atom.aspx#_Ref310588118"&gt;Creating Distributed Arrays from Azure Blobs&lt;/a&gt; &lt;/li&gt;      &lt;li&gt;&lt;a href="http://blogs.msdn.com/b/cloudnumerics/atom.aspx#_Ref310958240"&gt;Accessing Data with LINQ&lt;/a&gt; &lt;/li&gt;   &lt;/ul&gt; &lt;/blockquote&gt;  &lt;p&gt;A rectangular array of numbers, symbols or expressions is called a &lt;em&gt;matrix&lt;/em&gt;. Wikipedia has very detailed &lt;a href="http://en.wikipedia.org/wiki/Matrix_theory"&gt;Matrix Theory&lt;/a&gt; and &lt;a href="http://en.wikipedia.org/wiki/Linear_algebra"&gt;Linear Algebra&lt;/a&gt; topics. Matrix theory is a part of linear algebra. &lt;a href="http://lh5.ggpht.com/-ukID3BudTsg/Tx2QumMRQ4I/AAAAAAAAZgA/HvbKs1t0Sec/s1600-h/image%25255B8%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/-UQCY5i9qRHI/Tx2Qur50pII/AAAAAAAAZgI/rOHU-m1foIU/image_thumb%25255B3%25255D.png?imgmax=800" width="206" height="17" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;hr /&gt;  &lt;h4&gt;The MSCloudNumerics.sln Project Template and Sample Solution&lt;/h4&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/--46gvvcxvXU/TxsySUeJgoI/AAAAAAAAZd4/TgEWCVG20GM/s1600-h/image%25255B42%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 0px 0px 0px 5px; 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/-_rjjmsl00NA/TxsyTMT183I/AAAAAAAAZd8/_9hy37WKsQM/image_thumb%25255B23%25255D.png?imgmax=800" width="179" height="766" /&gt;&lt;/a&gt;The first “Cloud Numerics” deliverable is a C# project template and sample program for Visual Studio 2010 Professional or Ultimate edition that takes advantage of the following newly available High-Performance Computing (HPC) components, which supersede Microsoft Research’s &lt;a href="http://research.microsoft.com/en-us/projects/dryad/"&gt;Dryad&lt;/a&gt; and &lt;a href="http://research.microsoft.com/en-us/projects/dryadlinq/default.aspx"&gt;DryadLINQ&lt;/a&gt; initiatives for high-performance, parallel computing in the cloud:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.microsoft.com/download/en/details.aspx?id=28015"&gt;Windows Azure HPC Scheduler&lt;/a&gt;, modules and features that developers can use to create Windows Azure deployments that support compute-intensive, parallel applications that can scale when offered more compute power &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.microsoft.com/download/en/details.aspx?id=17017"&gt;HPC Pack 2008 R2 Client Utilities Redistributable Package with Service Pack 3&lt;/a&gt;, a stand-alone, and redistributable, installer for the Microsoft HPC Pack 2008 R2 Client Utilities &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.microsoft.com/download/en/details.aspx?id=14737"&gt;HPC Pack 2008 R2 MS-MPI Redistributable Package with Service Pack 3&lt;/a&gt;, a stand-alone, and redistributable, installer for the Microsoft MPI (Message Passing Interface) implementation &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;An &lt;a href="http://connect.microsoft.com/site1267/Downloads/DownloadDetails.aspx?DownloadID=40597"&gt;MSI installer for the “Cloud Numeric” software&lt;/a&gt; sets up the following components for Visual Studio 2010:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Math, Statistics, and Signal Processing libraries as managed Dynamically Linked Library (DLL) files. &lt;/li&gt;    &lt;li&gt;DLLs for initializing and running jobs on Windows Azure used by the Math, Signal, and Statistics libraries. &lt;/li&gt;    &lt;li&gt;Associated IntelliSense files for the DLLs. &lt;/li&gt;    &lt;li&gt;A project deployment template and utility for deploying your application package to Azure. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;I’ve covered the following three earlier SQL Azure Labs with illustrated, multi-part tutorials and overview articles: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.microsoft.com/en-us/sqlazurelabs/labs/dataexplorer.aspx"&gt;Microsoft Codename &amp;quot;Data Explorer&amp;quot;&lt;/a&gt; provides a new way to organize, manage, mash up and gain new insights from your data. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.microsoft.com/en-us/sqlazurelabs/labs/datatransfer.aspx"&gt;Microsoft Codename &amp;quot;Data Transfer&amp;quot;&lt;/a&gt; is an easy-to-use Web application to move your data into SQL Azure or Windows Azure Blob storage. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.microsoft.com/en-us/sqlazurelabs/labs/socialanalytics.aspx"&gt;Microsoft Codename &amp;quot;Social Analytics&amp;quot;&lt;/a&gt; is an experimental cloud service for integrate social web information into business applications. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;All four SQL Azure Labs projects require self-nomination for access. Sign up for “Cloud Numerics” &lt;a href="http://connect.microsoft.com/site1267/SelfNomination.aspx?ProgramID=7456&amp;amp;pageType=1"&gt;here&lt;/a&gt;. The above three projects require an invitation code for access to resources; “Cloud Analytics” doesn’t.&lt;/p&gt;  &lt;hr /&gt;  &lt;h4&gt;“Cloud Numerics” Prerequisites&lt;/h4&gt;  &lt;p&gt;The project template and sample program have the following operating system and software prerequisites:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Windows 7 or Windows Server 2008 R2 SP1, 32 or 64-bit &lt;/li&gt;    &lt;li&gt;Visual Studio 2010 Professional or Ultimate Edition with SP1 with Visual C++ components installed&lt;strong&gt;*&lt;/strong&gt; &lt;/li&gt;    &lt;li&gt;SQL Server 2008 R2 Express or higher &lt;/li&gt;    &lt;li&gt;Windows Azure SDK v1.6 and Windows Azure Tools for Visual Studio, November 2011 or later edition &lt;/li&gt;    &lt;li&gt;A Windows Azure subscription for deploying projects from local, debugging mode to Windows Azure. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;If any of the following obsolete components are present, installation will appear to succeed but you probably won’t be able to open a new “Cloud Numerics” project:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Microsoft HPC Pack 2008 R2 Azure Edition &lt;/li&gt;    &lt;li&gt;Microsoft HPC Pack 2008 R2 Client Components &lt;/li&gt;    &lt;li&gt;Microsoft HPC Pack 2008 R2 MS-MPI Redistributable Pack &lt;/li&gt;    &lt;li&gt;Microsoft HPC Pack 2008 R2 SDK &lt;/li&gt;    &lt;li&gt;Windows Azure SDK v1.5 &lt;/li&gt;    &lt;li&gt;Windows Azure AppFabric v1.5 &lt;/li&gt;    &lt;li&gt;Windows Azure Tools for Microsoft VS2010 1.5 &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;*Update&lt;/strong&gt; 1/28/2011: The build script expects to find msvcp100.dll and msvcr100.dll files installed by VS2010 in the C:\Program Files(x86)\Microsoft Visual Studio 10.0\VC\redist\x64\Microsoft.VC100.CRT folder and the msvcp100d.dll and msvcr100d.dll debug versions in the C:\Program Files(x86)\Microsoft Visual Studio 10.0\VC\redist\Debug_NonRedist\x64\Microsoft.VC100.DebugCRT folder. If these files aren’t present in the specified locations, the Windows Azure HPC Scheduler will fail when attempting to run MSCloudNumericsApp.exe as Job 1. &lt;/p&gt;  &lt;p&gt;After you install VS 2010 SP1, attempts to use setup’s Add or Remove Features option to add the VC++ compilers fail.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: You only need to take the following steps if you intend to submit the application to the Windows Azure and you don’t have the Visual C++ compilers installed:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Download the &lt;a href="http://www.microsoft.com/download/en/details.aspx?id=13523"&gt;Microsoft Visual C++ 2010 SP1 Redistributable Package (x64)&lt;/a&gt; (vcredist_x64.exe) to a well-known location &lt;/li&gt;    &lt;li&gt;Run vcredist_x64.exe to add the msvcp100.dll, msvcp100d.dll, msvcr100.dll and msvcr100d.dll files to the C:\Windows\System32 folder.&amp;#160; &lt;/li&gt;    &lt;li&gt;Create a C:\Program Files(x86)\Microsoft Visual Studio 10.0\VC\redist\x64\Microsoft.VC100.CRT folder and copy the msvcp100.dll and msvcr100.dll files to it. &lt;/li&gt;    &lt;li&gt;C:\Program Files(x86)\Microsoft Visual Studio 10.0\VC\redist\Debug_NonRedist\x64\Microsoft.VC100.DebugCRT folder and add the msvcp100d.dll and msvcr100d.dll files to it. &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;Stay tuned for more details about this issue.&lt;/p&gt;  &lt;hr /&gt;  &lt;h4&gt;Installing the HPC and “Cloud Numerics” Components&lt;/h4&gt;  &lt;p&gt;Follow the instructions in the &lt;a href="http://social.technet.microsoft.com/wiki/contents/articles/5993.microsoft-codename-cloud-numerics.aspx"&gt;Microsoft Codename &amp;quot;Cloud Numerics&amp;quot;&lt;/a&gt; wiki article’s “&lt;a name="Software_Requirements"&gt;&lt;/a&gt;Software Requirements” section to install the four components listed earlier.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: Links to &lt;a href="http://connect.microsoft.com/"&gt;http://connect.microsoft.com/&lt;/a&gt; in the wiki article won’t work because you don’t receive an invitation code to enter. &lt;/p&gt;  &lt;p&gt;Go directly to the &lt;a href="https://connect.microsoft.com/site1267/Microsoft%20Codename%20Cloud%20Numerics"&gt;&amp;quot;Cloud Numerics&amp;quot; Microsoft Connect Site&lt;/a&gt; to download:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://connect.microsoft.com/site1267/Downloads/DownloadDetails.aspx?DownloadID=40597"&gt;Installer for &amp;quot;Cloud Numerics&amp;quot;&lt;/a&gt;: Downloads the MSI installer for &amp;quot;Cloud Numerics.&amp;quot; Make sure to also download the documentation for &amp;quot;Cloud Numerics&amp;quot; (see below). &lt;/li&gt;    &lt;li&gt;&lt;a href="http://connect.microsoft.com/site1267/Downloads/DownloadDetails.aspx?DownloadID=40599"&gt;Release Notes&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://bit.ly/xPzh76"&gt;Getting Started with &amp;quot;Cloud Numerics&amp;quot;&lt;/a&gt;&lt;strong&gt;: &lt;/strong&gt;This document walks you through the installation and deployment process. By the end you should have a &amp;quot;Cloud Numerics&amp;quot; application running on Azure. For online version see &lt;a href="http://social.technet.microsoft.com/wiki/contents/articles/5993.aspx "&gt;here&lt;/a&gt;. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://connect.microsoft.com/site1267/Downloads/DownloadDetails.aspx?DownloadID=40550"&gt;Documentation for &amp;quot;Cloud Numerics&lt;strong&gt;&amp;quot;&lt;/strong&gt;&lt;/a&gt;: Documentation in the form of a Windows Help file (.chm). Download the file, save it in an easy to remember location, and open by double-cliking the file (see below). &lt;/li&gt;    &lt;li&gt;&lt;a href="http://connect.microsoft.com/site1267/Downloads/DownloadDetails.aspx?DownloadID=40612"&gt;&amp;quot;Cloud Numerics&amp;quot; architecture white paper&lt;/a&gt;: White paper describing the architecture and technology behind &amp;quot;Cloud Numerics&amp;quot; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://connect.microsoft.com/site1267/Downloads/DownloadDetails.aspx?DownloadID=40598"&gt;Example applications&lt;/a&gt;: Three end-to-end examples: Latent Semantic Indexing, Statistics, and Time-series &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-SNPMohhim2U/Tx4C0Lcbq5I/AAAAAAAAZhk/p14l2BUlvrQ/s1600-h/image%25255B5%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://lh5.ggpht.com/-Ozm0kDQcWjQ/Tx4C1WT1GUI/AAAAAAAAZhs/TKtA0w7O4GA/image_thumb%25255B2%25255D.png?imgmax=800" width="642" height="482" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;The wiki article’s &lt;a href="http://social.technet.microsoft.com/wiki/contents/articles/5993.microsoft-codename-cloud-numerics.aspx#_simple_examples"&gt;Simple Examples&lt;/a&gt; section includes several example programs that you can run by replacing the code in the MSCloudNumerics project’s Sample.cs file. (See the “Run the MSCloudNumerics Sample Project” section below.) &lt;/p&gt;  &lt;hr /&gt;  &lt;h4&gt;“Cloud Numerics” Mathematic Libraries for .NET &lt;/h4&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-Ax1fKslL3ao/Tx2QvNAC1SI/AAAAAAAAZgQ/hCHlQgJixZw/s1600-h/image%25255B12%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/-9rIUfSnE0R4/Tx2QvTuWG2I/AAAAAAAAZgY/_0xuh4IMF54/image_thumb%25255B5%25255D.png?imgmax=800" width="137" height="38" /&gt;&lt;/a&gt;The CloudNumericsLab.chm help file provides the details of the Microsoft.Numerics classes and their members’ syntax, categorized by namespace: &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-WZ0Y0a28gEY/Txw-xQDohLI/AAAAAAAAZeI/Qzvl4s0XoRY/s1600-h/image%25255B3%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://lh3.ggpht.com/-d2P73rsgXTc/Txw-yhuc3AI/AAAAAAAAZeQ/T7ZAcKzy9o0/image_thumb%25255B1%25255D.png?imgmax=800" width="640" height="561" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: The sample application that follows uses the Cholesky Decomposition. You can replace the code MSCloudNumerics sample application’s Program.cs file with sample code from the help files.&lt;/p&gt;  &lt;p&gt;This table from the TechNet wiki article describes the Cloud Numerics Mathematic Libraries for .NET:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-UmmgDMVNzQw/Txw-zATXNtI/AAAAAAAAZeY/WEHJpJVmz0Q/s1600-h/image%25255B7%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://lh5.ggpht.com/-A2lWvlbcWco/Txw-zVX3mVI/AAAAAAAAZeg/g56TZ5yBP6A/image_thumb%25255B3%25255D.png?imgmax=800" width="583" height="271" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;hr /&gt;  &lt;h4&gt;“Cloud Numerics” Distributed Array, Algorithm and Runtime Libraries for .NET&lt;/h4&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-42PTWDwfgjA/Tx2QvtCeWzI/AAAAAAAAZgg/M3L5u42KN0k/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/-WrTGpmPlUHw/Tx2Qv40HYzI/AAAAAAAAZgo/prYiHLXC4xA/image_thumb%25255B6%25255D.png?imgmax=800" width="137" height="38" /&gt;&lt;/a&gt;This table from the Tech*Net wiki article describes the Cloud Numerics Distributed Array and Runtime Libraries for .NET.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-OBA1Al6q9aY/Txw-zssWkOI/AAAAAAAAZeo/hsjPuGMYeX8/s1600-h/image%25255B11%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/-4lBj7Y8REkY/Txw-0LpDnRI/AAAAAAAAZew/OHe4g8DtCdc/image_thumb%25255B5%25255D.png?imgmax=800" width="584" height="279" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;hr /&gt;  &lt;h4&gt;Limitations of “Cloud Numerics” &lt;/h4&gt;  &lt;p&gt;From Ronnie’s &lt;a href="http://blogs.msdn.com/b/cloudnumerics/archive/2012/01/11/the-cloud-numerics-programming-and-runtime-execution-model.aspx"&gt;The “Cloud Numerics” Programming and runtime execution model&lt;/a&gt; post of 1/11/2012:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;First, the “Cloud Numerics” programming model is primarily based around distributed array operations (c.f. &lt;i&gt;data parallel&lt;/i&gt; or SIMD-style of programming). Certain relational operations such as “selects” with user-defined functions or complex joins are simpler to express on top of languages such as Pig, Hive and SCOPE. Similarly, while “Cloud Numerics” is designed to deal with large data sets, it is currently constrained to operate on arrays that can fit in the main memory of a cluster. On the other hand, data on disk can be pre-processed via existing “big data” processing tools and ingested into a “Cloud Numerics” application for further processing.&lt;/p&gt;    &lt;p&gt;Second, “Cloud Numerics” is not just a convenient C# wrapper around message-passing libraries such as MPI, for example MPI.NET [3]; all aspects of parallelism are expressed via operations on distributed arrays and the “Cloud Numerics” runtime transparently handles the efficient execution of these high-level array operations on a cluster.&lt;/p&gt;    &lt;p&gt;A key aspect that distinguishes “Cloud Numerics” from parallelization techniques such as PLINQ and DryadLINQ [4], that are based on implementing a custom LINQ provider, is that parallelization in “Cloud Numerics” occurs purely at runtime and does not involve any code generation from (say) LINQ expression trees; a user’s application can be developed as a regular .NET application by referencing the “Cloud Numerics” runtime and library DLLs and executed on the cluster in Azure.&lt;/p&gt;    &lt;p&gt;Finally, the underlying communication layer in “Cloud Numerics” is built on top of the message passing interface (MPI) and does inherit some of the limitations in the underlying implementation such as:&lt;/p&gt;    &lt;ol&gt;     &lt;li&gt;The process model is currently &lt;i&gt;inelastic&lt;/i&gt;; once a “Cloud Numerics” application has been launched on (say) &lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-50-10-metablogapi/0284.clip_5F00_image003_5F00_00C822C3.png"&gt;&lt;em&gt;P&lt;/em&gt;&lt;/a&gt; cores in a cluster, it is not possible to dynamically grow or shrink the resources as the application is running. &lt;/li&gt;      &lt;li&gt;The implementation is not resilient against hardware failure. Unlike frameworks like Hadoop that are designed explicitly to operate on unreliable hardware, if one or more nodes in a cluster fails, it is not possible for a “Cloud Numerics” application to automatically recover and continue executing. &lt;/li&gt;   &lt;/ol&gt;    &lt;p&gt;On the other hand, having MPI as the underlying communication layer in the “Cloud Numerics” runtime does endow it with certain advantages. For instance, “Cloud Numerics” applications can automatically take advantage of high-speed interconnects such as Infiniband between nodes in a cluster and optimizations such as zero-copy memory transfers and shared-memory-aware collectives within a single multi-core node. More importantly, array operators in “Cloud Numerics” can leverage the vast ecosystem of high-performance distributed memory numerical libraries such as ScaLAPACK built on top of MPI.&lt;/p&gt; &lt;/blockquote&gt;  &lt;hr /&gt;  &lt;h4&gt;Running the MSCloudNumerics Sample Project Locally&lt;/h4&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-7jLNl0Hvu5E/Tx2QwJEDVWI/AAAAAAAAZgw/NXq6LfVxjxk/s1600-h/image%25255B20%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/-MFSGw_cZDOo/Tx2QwcffrjI/AAAAAAAAZg4/YRf-cmrdw14/image_thumb%25255B8%25255D.png?imgmax=800" width="160" height="30" /&gt;&lt;/a&gt;1. Launch Visual Studio, choose New, Project, Visual C#, and select Microsoft Cloud Numerics Application: &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-utkH2vP1Egw/Txss_759fTI/AAAAAAAAZcI/Oqj3kB68wC4/s1600-h/image%25255B14%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://lh6.ggpht.com/-7bsTpolCbLk/TxstA9AHE7I/AAAAAAAAZcQ/2uLdOi4i4_M/image_thumb%25255B8%25255D.png?imgmax=800" width="640" height="463" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;2. Click OK to generate a new MSCloudNumerics1 console project and press F5 to run it. Mark the Windows Security Alert’s Private Networks check box:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-St1PvDM6HcA/TxstBuYSBWI/AAAAAAAAZcY/LdFUPJoE1ws/s1600-h/image%25255B18%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://lh3.ggpht.com/--oKWu5_ijcc/TxstCr5JqTI/AAAAAAAAZcg/nrINqQRTwqA/image_thumb%25255B10%25255D.png?imgmax=800" width="640" height="473" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: The firewall must permit interprocess communication between cores on your machine in the form of network calls to localhost. &lt;/p&gt;  &lt;p&gt;3. Click Allow Access for the application to close the dialog and repeat step 2 for the HPC MPI Process manager.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/--j6i8lL88cM/TxstDDrwzcI/AAAAAAAAZco/9xhoqcBMjFI/s1600-h/image%25255B23%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://lh3.ggpht.com/-uLswNou-KIY/TxstDqBZq0I/AAAAAAAAZcw/4G1FLuHU4Gk/image_thumb%25255B13%25255D.png?imgmax=800" width="541" height="423" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;4. Click Allow Access to close the dialog. The console displays the dimensions of the distributed array processed by the following code:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-rHytPKaxp-k/TxstE0Q5rsI/AAAAAAAAZeA/59xMBDo66k8/s1600-h/image%25255B43%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://lh6.ggpht.com/-jT6G4tio_74/TxstHX-BreI/AAAAAAAAZeE/WXDqgqQqAKc/image_thumb%25255B24%25255D.png?imgmax=800" width="473" height="768" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: Wikipedia has more information about the &lt;a href="http://en.wikipedia.org/wiki/Choleski_decomposition"&gt;Choleski Decomposition&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;5. While the application is running, launch TaskMan and display the CPU cores’ usage:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-VrKEf-KGcy0/TxstH-l_tVI/AAAAAAAAZdI/jeJCuaMJ-qc/s1600-h/image%25255B32%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/-3lLjC9y2uMo/TxstIYanrMI/AAAAAAAAZdQ/rW5aViCkd68/image_thumb%25255B18%25255D.png?imgmax=800" width="537" height="459" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: The lab release of the local distributed application runs on a maximum of two cores. Microsoft states that you will be able to specify the number of cores in future versions. My development computer runs Windows 7 on a 2.83 GHz Q9550 Intel Core 2 Quad CPU on a DQ45CB motherboard with 8 GB of RAM. &lt;/p&gt;  &lt;p&gt;6. Press Enter to close the console. &lt;/p&gt;  &lt;p&gt;The application’s references include the Microsoft.Numerics namespaces from C:\Program Files\Microsoft Numerics\v0.1\Bin: &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-XMpNusk0X1Y/Txsu-tyRKDI/AAAAAAAAZdY/g4j4E23soKk/s1600-h/image%25255B36%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://lh6.ggpht.com/-SGjViKkX1z4/TxsvAg58rGI/AAAAAAAAZdg/zALZihCj0Nc/image_thumb%25255B20%25255D.png?imgmax=800" width="640" height="443" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;hr /&gt;  &lt;h4&gt;References&lt;/h4&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-T1JuVzRIZmA/Tx2Qw4IkebI/AAAAAAAAZhA/gSLp-3R6hgA/s1600-h/image%25255B23%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/-bf6bW5GUE9Q/Tx2QxLMrOEI/AAAAAAAAZhI/9jAcJmnBMzg/image_thumb%25255B9%25255D.png?imgmax=800" width="51" height="66" /&gt;&lt;/a&gt;&lt;strong&gt;Ronnie Hoogerwerf&lt;/strong&gt;’s articles from the Microsoft Codename “Cloud Numerics” blog, in chronological order:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://blogs.msdn.com/b/cloudnumerics/archive/2012/01/10/announcing-microsoft-codename-cloud-numerics.aspx"&gt;Announcing Microsoft Codename “Cloud Numerics”&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/b/cloudnumerics/archive/2012/01/11/the-cloud-numerics-programming-and-runtime-execution-model.aspx"&gt;The “Cloud Numerics” Programming and runtime execution model&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/b/cloudnumerics/archive/2012/01/13/cloud-numerics-example-latent-semantic-indexing-and-analysis.aspx"&gt;“Cloud Numerics” Example: Latent Semantic Indexing and Analysis&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/b/cloudnumerics/archive/2012/01/16/cloud-numerics-example-distributed-numerics-on-azure-with-f.aspx"&gt;“Cloud Numerics” Example: Distributed Numerics on Azure with F#&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/b/cloudnumerics/archive/2012/01/18/cloud-numerics-example-using-the-iparallelreader-interface.aspx"&gt;“Cloud Numerics” Example: Using the IParallelReader Interface&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/b/cloudnumerics/archive/2012/01/20/using-data.aspx"&gt;Using Data&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-Oq-I8MMQR08/TyBItwvi9-I/AAAAAAAAZt0/KQKoZsVRwFU/s1600-h/image%25255B3%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/-vzbcP5kCKVQ/TyBIwogRD_I/AAAAAAAAZt8/VryQ6raA2Cg/image_thumb.png?imgmax=800" width="62" height="66" /&gt;&lt;/a&gt;&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/deploying-cloud-numerics-sample.html"&gt;Deploying “Cloud Numerics” Sample Applications to Windows Azure HPC Clusters&lt;/a&gt; of 1/25/2012 describes how to configure and deploy two 8-core HPC clusters hosted in Windows Azure and submit the Latent Semantic Indexing (LSICloudApplication) project to the Windows Azure HPC Scheduler for processing.&lt;/p&gt;  &lt;hr /&gt;  &lt;p&gt;Stay tuned for additional tutorials detailing local execution of Statistics and Time-series application, as well as deployment of these sample projects to Windows Azure.&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:a8b84bd6-b563-4d5d-9608-725ba88aa5c4" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/SQL+Azure+Labs" rel="tag"&gt;SQL Azure Labs&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Microsoft+Codename+%22Cloud+Numerics%22" rel="tag"&gt;Microsoft Codename &amp;quot;Cloud Numerics&amp;quot;&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Codename+%22Cloud+Numerics%22" rel="tag"&gt;Codename &amp;quot;Cloud Numerics&amp;quot;&lt;/a&gt;,&lt;a href="http://technorati.com/tags/%22Cloud+Numerics%22" rel="tag"&gt;&amp;quot;Cloud Numerics&amp;quot;&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Windows+Azure" rel="tag"&gt;Windows Azure&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/Windows+HPC+Server+2008+R2" rel="tag"&gt;Windows HPC Server 2008 R2&lt;/a&gt;,&lt;a href="http://technorati.com/tags/MPI" rel="tag"&gt;MPI&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Choleski+Decomposition" rel="tag"&gt;Choleski Decomposition&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Matrix+Algebra" rel="tag"&gt;Matrix Algebra&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Linear+Algebra" rel="tag"&gt;Linear Algebra&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Signal+Processing" rel="tag"&gt;Signal Processing&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Distributed+Arrays" rel="tag"&gt;Distributed Arrays&lt;/a&gt;,&lt;a href="http://technorati.com/tags/HPC" rel="tag"&gt;HPC&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Dryad" rel="tag"&gt;Dryad&lt;/a&gt;,&lt;a href="http://technorati.com/tags/DryadLINQ" rel="tag"&gt;DryadLINQ&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-4810617602819294677?l=oakleafblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oakleafblog.blogspot.com/feeds/4810617602819294677/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11646261&amp;postID=4810617602819294677' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11646261/posts/default/4810617602819294677'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11646261/posts/default/4810617602819294677'/><link rel='alternate' type='text/html' href='http://oakleafblog.blogspot.com/2012/01/introducing-microsoft-codename-cloud.html' title='Introducing Microsoft Codename “Cloud Numerics” from SQL Azure Labs'/><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/-l3UMfkSdwec/Tx2L2wJEaQI/AAAAAAAAZfM/2SGul9GzkQM/s72-c/image_thumb%25255B1%25255D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11646261.post-1800643896130657298</id><published>2012-01-27T07:49:00.000-08:00</published><updated>2012-01-27T07:55:38.962-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Azure AppFabric'/><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='Windows Azure App Fabric Labs'/><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='SQL Azure Data Sync'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows Azure'/><category scheme='http://www.blogger.com/atom/ns#' term='Amazon DynamoDB'/><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='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 1/26/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/27/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, Traffic Manager, 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;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/25/node-js-and-windows-azure-creating-a-blog-application-using-node-js-and-windows-azure-table-amp-blob-storage-part-1.aspx"&gt;Node.js and Windows Azure: Creating a blog application using Node.JS and Windows Azure Table &amp;amp; Blob Storage Part 1&lt;/a&gt; in a 1/25/2012 post:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-CcBD0zl_Yrs/TyHBUoK3E4I/AAAAAAAAZ5U/DTxVTmPR0bg/s1600-h/image44.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/-zzVMTbRt2eE/TyHBVtJtgmI/AAAAAAAAZ5c/sRkDGbz1Q5M/image_thumb19.png?imgmax=800" width="65" height="58" /&gt;&lt;/a&gt;In this example I will create a node.js based blob application which will storage all the blog articles on Azure Storage. When application starts it reads blog article from Windows Azure table storage and then render it using EJS viewer. This sample is part of Azure Node SDK however I am going to enhance it to make it look like a full scale blog application. This is just a start. I will write this blog assume you are a new to node programming. This application uses following node packages:&lt;/p&gt;    &lt;ul&gt;     &lt;li&gt;Express &lt;/li&gt;      &lt;li&gt;EJS &lt;/li&gt;      &lt;li&gt;Jade &lt;/li&gt;      &lt;li&gt;Stylus &lt;/li&gt;      &lt;li&gt;Azure &lt;/li&gt;      &lt;li&gt;Node-uuid &lt;/li&gt;   &lt;/ul&gt;    &lt;p&gt;Let’s start with downloading package one by one:&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;Express:&lt;/strong&gt;&lt;/p&gt;    &lt;pre class="csharpcode"&gt;C:\Azure\nodeprojects\BlogUsingAzureStorage&amp;gt;npm install express
npm http GET https:&lt;span class="rem"&gt;//registry.npmjs.org/express&lt;/span&gt;
npm http 200 https:&lt;span class="rem"&gt;//registry.npmjs.org/express&lt;/span&gt;
npm http GET https:&lt;span class="rem"&gt;//registry.npmjs.org/mime&lt;/span&gt;
npm http GET https:&lt;span class="rem"&gt;//registry.npmjs.org/qs&lt;/span&gt;
npm http GET https:&lt;span class="rem"&gt;//registry.npmjs.org/mkdirp/0.0.7&lt;/span&gt;
npm http GET https:&lt;span class="rem"&gt;//registry.npmjs.org/connect&lt;/span&gt;
npm http 304 https:&lt;span class="rem"&gt;//registry.npmjs.org/qs&lt;/span&gt;
npm http 304 https:&lt;span class="rem"&gt;//registry.npmjs.org/mkdirp/0.0.7&lt;/span&gt;
npm http 304 https:&lt;span class="rem"&gt;//registry.npmjs.org/connect&lt;/span&gt;
npm http 200 https:&lt;span class="rem"&gt;//registry.npmjs.org/mime&lt;/span&gt;
npm http GET https:&lt;span class="rem"&gt;//registry.npmjs.org/formidable&lt;/span&gt;
npm http 304 https:&lt;span class="rem"&gt;//registry.npmjs.org/formidable&lt;/span&gt;
express@2.5.6 ./node_modules/express
├── mime@1.2.4
├── qs@0.4.0
├── mkdirp@0.0.7
└── connect@1.8.5&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;&lt;strong&gt;EJS:&lt;/strong&gt;&lt;/p&gt;

  &lt;pre class="csharpcode"&gt;C:\Azure\nodeprojects\BlogUsingAzureStorage&amp;gt;npm install ejs
npm http GET https:&lt;span class="rem"&gt;//registry.npmjs.org/ejs&lt;/span&gt;
npm http 304 https:&lt;span class="rem"&gt;//registry.npmjs.org/ejs&lt;/span&gt;
ejs@0.6.1 ./node_modules/ejs&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;&lt;strong&gt;Jade:&lt;/strong&gt;&lt;/p&gt;

  &lt;pre class="csharpcode"&gt;C:\Azure\nodeprojects\BlogUsingAzureStorage&amp;gt;npm install jade
npm http GET https:&lt;span class="rem"&gt;//registry.npmjs.org/jade&lt;/span&gt;
npm http 200 https:&lt;span class="rem"&gt;//registry.npmjs.org/jade&lt;/span&gt;
npm http GET https:&lt;span class="rem"&gt;//registry.npmjs.org/mkdirp&lt;/span&gt;
npm http GET https:&lt;span class="rem"&gt;//registry.npmjs.org/commander&lt;/span&gt;
npm http 304 https:&lt;span class="rem"&gt;//registry.npmjs.org/mkdirp&lt;/span&gt;
npm http 304 https:&lt;span class="rem"&gt;//registry.npmjs.org/commander&lt;/span&gt;
jade@0.20.0 ./node_modules/jade
├── commander@0.2.1
└── mkdirp@0.3.0&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;&lt;strong&gt;Stylus:&lt;/strong&gt;&lt;/p&gt;

  &lt;pre class="csharpcode"&gt;C:\Azure\nodeprojects\BlogUsingAzureStorage&amp;gt;npm install stylus
npm http GET https:&lt;span class="rem"&gt;//registry.npmjs.org/stylus&lt;/span&gt;
npm http 304 https:&lt;span class="rem"&gt;//registry.npmjs.org/stylus&lt;/span&gt;
npm http GET https:&lt;span class="rem"&gt;//registry.npmjs.org/mkdirp/0.0.7&lt;/span&gt;
npm http GET https:&lt;span class="rem"&gt;//registry.npmjs.org/growl/1.1.0&lt;/span&gt;
npm http GET https:&lt;span class="rem"&gt;//registry.npmjs.org/cssom/0.2.1&lt;/span&gt;
npm http 304 https:&lt;span class="rem"&gt;//registry.npmjs.org/mkdirp/0.0.7&lt;/span&gt;
npm http 304 https:&lt;span class="rem"&gt;//registry.npmjs.org/growl/1.1.0&lt;/span&gt;
npm http 304 https:&lt;span class="rem"&gt;//registry.npmjs.org/cssom/0.2.1&lt;/span&gt;
stylus@0.22.6 ./node_modules/stylus
├── growl@1.1.0
├── mkdirp@0.0.7
└── &lt;a href="mailto:cssom@0.2.1"&gt;cssom@0.2.1&lt;/a&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;&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;strong&gt;Azure:&lt;/strong&gt;&lt;/p&gt;

  &lt;pre class="csharpcode"&gt;C:\Azure\nodeprojects\BlogUsingAzureStorage&amp;gt;npm install azure
npm http GET https:&lt;span class="rem"&gt;//registry.npmjs.org/azure&lt;/span&gt;
npm http 304 https:&lt;span class="rem"&gt;//registry.npmjs.org/azure&lt;/span&gt;
npm http GET https:&lt;span class="rem"&gt;//registry.npmjs.org/qs&lt;/span&gt;
npm http GET https:&lt;span class="rem"&gt;//registry.npmjs.org/mime&lt;/span&gt;
npm http GET https:&lt;span class="rem"&gt;//registry.npmjs.org/sax&lt;/span&gt;
npm http GET https:&lt;span class="rem"&gt;//registry.npmjs.org/xmlbuilder&lt;/span&gt;
npm http GET https:&lt;span class="rem"&gt;//registry.npmjs.org/xml2js&lt;/span&gt;
npm http GET https:&lt;span class="rem"&gt;//registry.npmjs.org/log&lt;/span&gt;
npm http 304 https:&lt;span class="rem"&gt;//registry.npmjs.org/qs&lt;/span&gt;
npm http 304 https:&lt;span class="rem"&gt;//registry.npmjs.org/mime&lt;/span&gt;
npm http 304 https:&lt;span class="rem"&gt;//registry.npmjs.org/sax&lt;/span&gt;
npm http 304 https:&lt;span class="rem"&gt;//registry.npmjs.org/xmlbuilder&lt;/span&gt;
npm http 304 https:&lt;span class="rem"&gt;//registry.npmjs.org/xml2js&lt;/span&gt;
npm http 304 https:&lt;span class="rem"&gt;//registry.npmjs.org/log&lt;/span&gt;
azure@0.5.1 ./node_modules/azure
├── xmlbuilder@0.3.1
├── mime@1.2.4
├── log@1.2.0
├── qs@0.4.0
├── xml2js@0.1.13
└── sax@0.3.5&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;&lt;strong&gt;Node-uuid:&lt;/strong&gt;&lt;/p&gt;

  &lt;pre class="csharpcode"&gt;C:\Azure\nodeprojects\BlogUsingAzureStorage&amp;gt;npm install node-uuid
npm http GET https:&lt;span class="rem"&gt;//registry.npmjs.org/node-uuid&lt;/span&gt;
npm http 200 https:&lt;span class="rem"&gt;//registry.npmjs.org/node-uuid&lt;/span&gt;
npm WARN node-uuid@1.3.3 dependencies field should be hash of &amp;lt;name&amp;gt;:&amp;lt;version-range&amp;gt; pairs
node-uuid@1.3.3 ./node_modules/node-uuid&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;Now if you will look your application node_modules folder you will all the packages are download as below:&lt;/p&gt;

  &lt;pre class="csharpcode"&gt;C:\Azure\nodeprojects\BlogUsingAzureStorage&amp;gt;dir node_modules
Volume &lt;span class="kwrd"&gt;in&lt;/span&gt; drive C has no label.
Volume Serial Number &lt;span class="kwrd"&gt;is&lt;/span&gt; 8464-7B7C
Directory of C:\Azure\nodeprojects\BlogUsingAzureStorage\node_modules
01/25/2012 11:00 PM &amp;lt;DIR&amp;gt; .
01/25/2012 11:00 PM &amp;lt;DIR&amp;gt; ..
01/25/2012 10:59 PM &amp;lt;DIR&amp;gt; .bin
01/25/2012 11:00 PM &amp;lt;DIR&amp;gt; azure
01/25/2012 10:58 PM &amp;lt;DIR&amp;gt; ejs
01/25/2012 10:57 PM &amp;lt;DIR&amp;gt; express
01/25/2012 10:59 PM &amp;lt;DIR&amp;gt; jade
01/25/2012 11:00 PM &amp;lt;DIR&amp;gt; node-uuid
01/25/2012 10:59 PM &amp;lt;DIR&amp;gt; stylus&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;Now please clone nodeblogwithazurestorage.git repo from GitHub as below:&lt;/p&gt;

  &lt;pre class="csharpcode"&gt;C:\Azure\nodeprojects\BlogUsingAzureStorage&amp;gt;git clone https:&lt;span class="rem"&gt;//Avkash@github.com/Avkash/nodeblogwithazurestorage.git&lt;/span&gt;
Cloning into &lt;span class="str"&gt;'nodeblogwithazurestorage'&lt;/span&gt;...
remote: Counting objects: 16, done.
remote: Compressing objects: 100% (14/14), done.
remote: Total 16 (delta 0), reused 16 (delta 0)
Unpacking objects: 100% (16/16), done.&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;You will see a new folder name “'nodeblogwithazurestorage'” which includes all the files from repo. Please copy all of these files to your root folder so your work folder will look like as below:&lt;/p&gt;

  &lt;pre class="csharpcode"&gt;C:\Azure\nodeprojects\BlogUsingAzureStorage&amp;gt;dir
01/25/2012 11:25 PM 2,828 blog.js
01/25/2012 11:25 PM &amp;lt;DIR&amp;gt; nodeblogwithazurestorage
01/25/2012 11:00 PM &amp;lt;DIR&amp;gt; node_modules
01/25/2012 11:25 PM 161 package.json
01/25/2012 11:29 PM &amp;lt;DIR&amp;gt; &lt;span class="kwrd"&gt;public&lt;/span&gt;
01/25/2012 11:29 PM &amp;lt;DIR&amp;gt; routes
01/25/2012 11:25 PM 2,073 server.js
01/25/2012 11:29 PM &amp;lt;DIR&amp;gt; views&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;That’s it. Let’s run it.&lt;/p&gt;

  &lt;pre class="csharpcode"&gt;C:\Azure\nodeprojects\BlogUsingAzureStorage&amp;gt;node server.js
Express server listening on port 40506 &lt;span class="kwrd"&gt;in&lt;/span&gt; development mode&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;Now open your browser using &lt;a href="http://localhost:40506"&gt;http://localhost:40506&lt;/a&gt; or &lt;a href="http://127.0.0.1:4506"&gt;http://127.0.0.1:4506&lt;/a&gt; and you will see the node blog application is running 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/8831.nodeblog11.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/8831.nodeblog11.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;

  &lt;p&gt;In next blog:&lt;/p&gt;

  &lt;ul&gt;
    &lt;li&gt;We will use Windows Azure Table Storage to store and retrieve Blog articles. &lt;/li&gt;

    &lt;li&gt;Change package.json for correct dependencies &lt;/li&gt;

    &lt;li&gt;Updating package &lt;/li&gt;

    &lt;li&gt;We will deploy this application to Windows Azure &lt;/li&gt;
  &lt;/ul&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="http://lh5.ggpht.com/-cmhjcy0v7cM/TyHBWIKDKYI/AAAAAAAAZ5k/16AEMcqVrEU/s1600-h/image_thumb3_thumb2.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; 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" src="http://lh6.ggpht.com/-bQP459kNijI/TyHBXnkS9bI/AAAAAAAAZ5s/U9d9a18afZ8/image_thumb3_thumb_thumb.png?imgmax=800" width="160" height="39" /&gt;&lt;/a&gt;&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;• Gregory Leake&lt;/strong&gt; posted &lt;a href="http://blogs.msdn.com/b/windowsazure/archive/2012/01/26/announcing-sql-azure-data-sync-preview-refresh.aspx"&gt;Announcing SQL Azure Data Sync Preview Refresh&lt;/a&gt; to the Windows Azure blog on 1/26/2012:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-jMq49Q3wCjY/TyLHoniYfRI/AAAAAAAAZ-E/--6bzWE1NRw/s1600-h/image%25255B3%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/-jQY85rddfn8/TyLHoxtEO9I/AAAAAAAAZ-M/jbdSNk02Ppw/image_thumb%25255B1%25255D.png?imgmax=800" width="65" height="64" /&gt;&lt;/a&gt;It has been just over three months since we made the SQL Azure Data Sync Preview release available in the Windows Azure portal. We are thrilled with the adoption of the service and are pleased to make available an updated preview release with some requested features and fixes. SQL Azure Data Sync allows organizations to easily synchronize between multiple on-premises databases and &lt;a href="https://www.windowsazure.com/en-us/home/tour/sql-azure/?WT.mc_id=cmp_pst001_blg_post0040"&gt;SQL Azure&lt;/a&gt; cloud databases—a key hybrid IT scenario. If you have not used the Data Sync service and want to learn about it, there is a &lt;a href="http://www.microsoft.com/en-us/showcase/details.aspx?uuid=8d4153ef-6c81-4f81-95ee-08bd5d21a123"&gt;new video demonstration&lt;/a&gt; available that provides an overview of the service capabilities, target scenarios and shows the service in use. There is also a series of videos available on Channel 9 &lt;a href="http://channel9.msdn.com/Series/SQL-Azure-Data-Sync"&gt;here&lt;/a&gt;.&lt;/p&gt;

  &lt;p&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;This release addresses several pieces of feedback we’ve heard from customers and brings us a step closer to General Availability. This is the third update to the Preview service since October and contains the following updates:&lt;/p&gt;

  &lt;ul&gt;
    &lt;li&gt;Data Sync servers can now be created in all Windows Azure data centers, enabling Data Sync servers to be created close to the SQL Azure databases for the best possible performance. &lt;/li&gt;

    &lt;li&gt;The Data Sync section of the Windows Azure portal is now localized in ten languages. &lt;/li&gt;

    &lt;li&gt;Miscellaneous fixes and numerous usability improvements including: 
      &lt;ul&gt;
        &lt;li&gt;Progress indicators are now available in the log for long running synchronizations. &lt;/li&gt;

        &lt;li&gt;Error messages have been improved to better help you troubleshoot problems. &lt;/li&gt;

        &lt;li&gt;Synchronization of self-referencing tables is now supported. &lt;/li&gt;

        &lt;li&gt;A new version of the Data Sync Agent is available in the Download Center and it is highly recommended that existing agents are updated to the new version (available &lt;a href="http://www.microsoft.com/download/en/details.aspx?id=27693"&gt;here&lt;/a&gt;).&lt;/li&gt;
      &lt;/ul&gt;
    &lt;/li&gt;
  &lt;/ul&gt;

  &lt;p&gt;Here’s a brief summary of the changes we made in the first two service updates:&lt;/p&gt;

  &lt;ul&gt;
    &lt;li&gt;Addressed the issue that sometimes led to failed syncs for narrow tables with a small number of columns. &lt;/li&gt;

    &lt;li&gt;Allow logins when either username@server or just username are specified. &lt;/li&gt;

    &lt;li&gt;Column names with spaces are now supported. &lt;/li&gt;

    &lt;li&gt;Columns with a NewSequentialID constraint are converted to NewID for SQL Azure databases in the sync group. &lt;/li&gt;

    &lt;li&gt;Both Administrators and non-Administrators are able to install the Data Sync Agent. &lt;/li&gt;

    &lt;li&gt;A new version of the Data Sync Agent was made available on the Download Center.&lt;/li&gt;
  &lt;/ul&gt;

  &lt;p&gt;The team is hard at work on future updates as we approach General Availability and we really appreciate your feedback to date! Please keep the feedback coming and use the &lt;a href="http://social.msdn.microsoft.com/forums/en-US/ssdsgetstarted/threads/"&gt;SQL Azure Forum&lt;/a&gt; to ask questions or get assistance with issues. Have a feature you’d like to see in SQL Azure Data Sync? Be sure to vote on features you’d like to see added or updated using the &lt;a href="http://www.mygreatwindowsazureidea.com/forums/44459-sql-azure-data-sync-feature-voting"&gt;Feature Voting Forum&lt;/a&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;Cihan Biyikoglu&lt;/strong&gt; (@&lt;a href="http://twitter.com/cihangirb"&gt;cihangirb&lt;/a&gt;) asked &lt;a href="http://blogs.msdn.com/b/cbiyikoglu/archive/2012/01/25/how-much-overcapacity-are-you-running-with-today-i-bet-federations-can-beat-that.aspx"&gt;How much overcapacity are you running with today? I bet SQL Azure Federations can trim that&lt;/a&gt;! in a 1/25/2012 post:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-WHW_k8L5taM/TyHBYIQIV3I/AAAAAAAAZ50/nJynyqH2x60/s1600-h/image2.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/-T0ghVhs8jjY/TyHBYUJNRYI/AAAAAAAAZ58/Z8TzgTefu8A/image_thumb.png?imgmax=800" width="57" height="66" /&gt;&lt;/a&gt;I know I already posted a whole bunch on “&lt;a href="http://blogs.msdn.com/b/cbiyikoglu/archive/2010/11/22/sql-azure-federations-sampling-of-scenarios-where-federations-will-help.aspx"&gt;why use federations&lt;/a&gt;” or “&lt;a href="http://social.technet.microsoft.com/wiki/contents/articles/2281.federations-building-scalable-elastic-and-multi-tenant-database-solutions-with-sql-azure.aspx"&gt;what are federation for&lt;/a&gt;” but most conversations on federations, I get the question on ‘why’? so I wanted to go back to basics and what the combination of SQL Azure (a.k.a PaaS database in the cloud) and Federations is a killer combination.&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;Obviously federations can be used in many different ways; multi-tenancy for scaling to spikes and bursts or for gradually growing workloads. It is great for getting you over the capacity limitation of a single node in public cloud (typically a commodity machine) or the limitation of a single SQL Azure database like storage or computation capacity or simply transaction throughput with a single SQL azure database before you get throttled. But… But… But all that aside… The main reason in all these cases it is the amount of overcapacity you maintain. &lt;a href="http://blogs.technet.com/b/markrussinovich/about.aspx"&gt;Mark Russinovich&lt;/a&gt; shows a similar chart in &lt;a href="http://channel9.msdn.com/Events/BUILD/BUILD2011/SAC-852F"&gt;his talks&lt;/a&gt; and I’ll gladly borrow this for federations;&lt;/p&gt;

  &lt;p&gt;Imagine the isolated capacity you need at the database tier; Here is your capacity for the next 6-18 months and here is what you maintain as capacity on premise; You buy some more HW, fire it up and you get more cores, more memory and more IO capacity etc. You release new functionality that changes your workload, you get more customers, your customers data grows or whatever else that changes your workload over time, you push things to limits so you are under provisioned so you acquire some more HW and life goes on…&lt;/p&gt;

  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-43-47-metablogapi/7585.image_5F00_636C8D6B.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-43-47-metablogapi/6012.image_5F00_thumb_5F00_63005A76.png" width="560" height="245" /&gt;&lt;/a&gt;&lt;/p&gt;

  &lt;p&gt;The above picture is also the representation of systems with static partitioning or sharding today on any system that offers no repartitioning operations. Lets say you start life with 20-30 partitions, you distribute and size things for the peak loads. Or if you are multi-tenant architecture already, you place 100 or 200 tenants per database or shard. But those tenants change and grow so these static decisions require some level of overprovisioning to be safe because repartitioning is offline and could be error prone every time.&lt;/p&gt;

  &lt;p&gt;With the cloud, the picture looks like the one below; You provision just in time and simply trace along the capacity line closely.&lt;/p&gt;

  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-43-47-metablogapi/8244.image_5F00_22CA40FC.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-43-47-metablogapi/5123.image_5F00_thumb_5F00_297D4A7F.png" width="560" height="247" /&gt;&lt;/a&gt;&lt;/p&gt;

  &lt;p&gt;Federation is there for trimming overcapacity as well. You don’t need to make a static decision about how many tenants to put into a shard, you don’t need to decide how many shards you need for the web app up front for the next 3 months or the year. You can change your mind over time and Federations let you do repartitioning online without downtime so you don’t need to take down the app or the database. If it turns out some tenants grow and you cannot no longer fit 10000 tenants into 1 database and you need to go 5000 tenants per db… OR if you want to handle the black friday or the tax day or the end of month reporting and you need more capacity… OR if your service takes off and you acquire a whole bunch of customers… OR if you release a new version or a new functionality that changes the workload, you can prepare for it with federations. Kick off a SPLIT and it will engage more nodes. All online!&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;Glen Gailey&lt;/strong&gt; (@&lt;a href="http://twitter.com/ggailey777"&gt;ggailey777&lt;/a&gt;) described a &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; in a 1/25/2012 post:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-CKXM2RT8Ju4/TyHBZih6-ZI/AAAAAAAAZ6E/zjnm--O11s4/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/-b0_GHMJT7mA/TyHBcIybU7I/AAAAAAAAZ6M/VT9NuBcSq8w/image_thumb23.png?imgmax=800" width="44" height="66" /&gt;&lt;/a&gt;If you recall from my previous post &lt;a href="http://blogs.msdn.com/b/writingdata_services/archive/2011/11/14/sync-ing-odata-to-local-storage-in-windows-phone-part-1.aspx"&gt;Sync’ing OData to Local Storage in Windows Phone (Part 1)&lt;/a&gt;, I had written a T4 template for my Windows Phone 7.5 (“Mango”) project to generate a proxy client needed to access both an OData service and local database on the device. My template was based on an existing T4 template,which was published in a blog post by &lt;a href="http://www.silverlightshow.net/Profile/lexer.aspx"&gt;Alexey Zakharov&lt;/a&gt; on &lt;a href="http://www.silverlightshow.net/items/ADO.NET-Data-Services-Advanced-Topics-Custom-proxy-based-on-T4-templates.aspx"&gt;Silverlight Show&lt;/a&gt;, that generated a generic OData proxy client. I had promised to publish my first stab a T4 template to generate this hybrid proxy. However, because my original template was based on Alexey’s OSS sample, it was taking a long time to get the go ahead to post it.&lt;/p&gt;

  &lt;h5&gt;A New T4 Template for OData Clients&lt;/h5&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;Fortunately, the other day I heard about a new T4 template written by the OData team to generate an OData client proxy to access an OData v3 data service. &lt;/p&gt;

  &lt;p&gt;Perfect! &lt;/p&gt;

  &lt;p&gt;With this new Microsoft-developed template, I have been able to port my previous LINQ-to-SQL additions into a new template without too much work. And, I have now updated my previously published project &lt;a href="http://code.msdn.microsoft.com/Using-Local-Storage-with-366c4ee4"&gt;Using Local Storage with OData on Windows Phone To Reduce Network Bandwidth&lt;/a&gt; to now include the actual T4 template. To use this project on your computer, follow the instructions in the main page.&lt;/p&gt;

  &lt;h5&gt;Considerations for My New Hybrid T4 Template&lt;/h5&gt;

  &lt;p&gt;Since I have posted this template to MSDN Samples Gallery Code under the Apache 2.0 license, I should probably mention a few caveats for your using this template:&lt;/p&gt;

  &lt;ul&gt;
    &lt;li&gt;This template requires the libraries that are part of WCF Data Services 1.0 (for OData v3), which you can install from the &lt;a href="http://www.microsoft.com/download/en/details.aspx?id=27728"&gt;Microsoft WCF Data Services October 2011 CTP&lt;/a&gt;. In particular, it uses EDMLib to parse the .edmx metadata. &lt;/li&gt;

    &lt;li&gt;The &lt;a href="http://aka.ms/odatat4"&gt;original T4 template&lt;/a&gt; that I used as my starting point is a preview version that is published to &lt;a href="http://aka.ms/odatat4"&gt;Nuget.org&lt;/a&gt;. Since it’s a preview, I will need to port my updates into the final version, when it becomes available. &lt;/li&gt;

    &lt;li&gt;The &lt;a href="http://aka.ms/odatat4"&gt;original T4 template&lt;/a&gt; was designed to support the upcoming release of WCF Data Services 1.0, which includes new behaviors like collection properties. My template does not (yet) support collection properties because I have not yet figured out the best way to do this (I will probably have to end up serializing them to string values). &lt;/li&gt;

    &lt;li&gt;The &lt;a href="http://aka.ms/odatat4"&gt;original T4 template&lt;/a&gt; doesn’t yet include the data contract serialization attributes needed to support tombstoning on Window Phone, so I added those too in my version. &lt;/li&gt;

    &lt;li&gt;As before, my template supports complex type properties, but I’m not sure that it will handle nested complex types. &lt;/li&gt;

    &lt;li&gt;I’ve tested my template against the Netflix service (since that’s what &lt;a href="http://code.msdn.microsoft.com/Using-Local-Storage-with-366c4ee4"&gt;my sample app&lt;/a&gt; consumes), which is the most complex public OData service that I have found. However, I haven’t tested it against a true OData v3 service. &lt;/li&gt;

    &lt;li&gt;You have to manually set the namespace and path variable to the generated .edmx file on your local machine (T4 doesn’t support Visual Studio macros). &lt;/li&gt;
  &lt;/ul&gt;

  &lt;h5&gt;Installing The Hybrid T4 Template into a New Project&lt;/h5&gt;

  &lt;p&gt;In case you want to try out my T4 template in your own Windows Phone project, here’s how you would do it:&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;Remove the Reference.tt template and replace it with the ReferenceWithLocalDatabase.tt template from &lt;a href="http://code.msdn.microsoft.com/Using-Local-Storage-with-366c4ee4"&gt;my sample&lt;/a&gt;. &lt;/li&gt;

    &lt;li&gt;Open the ReferenceWithLocalDatabase.tt template file and 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 y the service reference. &lt;/li&gt;
  &lt;/ol&gt;

  &lt;p&gt;Now, when you save the template file, VS should access the local .edmx file to generate a new proxy class in C#. &lt;/p&gt;

  &lt;p&gt;As I mentioned, I will post an update to my hybrid template after the final T4 template is released by the OData team.&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;Brian Loesgen&lt;/strong&gt; (@&lt;a href="https://twitter.com/#!/BrianLoesgen"&gt;BrianLoesgen&lt;/a&gt;) reported a &lt;a href="http://www.brianloesgen.com/blog/2012/1/23/new-azure-servicebus-demo-available.html"&gt;New Azure ServiceBus Demo Available&lt;/a&gt; in a 1/22/2012 post (missed when published):&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-9ZIbdy76318/TyHBdOxxlvI/AAAAAAAAZ6U/67P7Ko72ESE/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://lh4.ggpht.com/-VtenIMfweP8/TyHBeOVeb5I/AAAAAAAAZ6c/eFyaET_qs8k/image_thumb21.png?imgmax=800" width="48" height="66" /&gt;&lt;/a&gt;I’m pleased to announce that I FINALLY have finished and packaged up a cool little ServiceBus demo.&lt;/p&gt;

  &lt;p&gt;I say “finally” because this demo has a long lifeline, it began over a year ago. I enhanced it, and showed it to a colleague, &lt;a href="http://blogs.msdn.com/b/tonyguid/"&gt;Tony Guidici&lt;/a&gt;, for his comments. He ended up enhancing it, and putting it into &lt;a href="http://www.amazon.com/Windows-Azure-Platform-Tejaswi-Redkar/dp/1430235632/ref=sr_1_2?ie=UTF8&amp;amp;qid=1326552121&amp;amp;sr=8-2"&gt;his Azure book&lt;/a&gt;. I then took it back, enhanced it further, and, well, here it is. Thanks also to my colleagues David Chou and Greg Oliver for their feedback.&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;There are several resources associated with this demo:&lt;/p&gt;

  &lt;ul&gt;
    &lt;li&gt;High def video walkthrough: &lt;a href="http://youtu.be/xKHl87_BFT0"&gt;http://youtu.be/xKHl87_BFT0&lt;/a&gt; &lt;/li&gt;

    &lt;li&gt;Low def video walkthrough: &lt;a href="http://youtu.be/c3KLhsjstco"&gt;http://youtu.be/c3KLhsjstco&lt;/a&gt; &lt;/li&gt;

    &lt;li&gt;Complete source code, &lt;a href="http://servicebuseventdemo.codeplex.com/"&gt;http://servicebuseventdemo.codeplex.com/&lt;/a&gt; &lt;/li&gt;
  &lt;/ul&gt;

  &lt;p&gt;Note that this is based on the current-when-I-did-this version 1.6 of the Azure SDK and .NET libraries.&lt;/p&gt;

  &lt;p&gt;At a high level, the scenario is that this is a system that listens for events, and when critical events occur, they are multicast to listeners/subscribers through the Azure ServiceBus. The listeners use the ServiceBus relay bindings, the subscribers use the topical pub/sub mechanism of the ServiceBus.&lt;/p&gt;

  &lt;p&gt;Why relay *and* subscription? They serve different models. For example, using the subscription model, a listener could subscribe to all messages, or just a subset based on a filter condition (in this demo, we have examples of both). All subscribers will get all messages. By contrast, a great example of the relay bindings is having a Web service deployed on-prem, and remoting that by exposing an endpoint on the ServiceBus. The ServiceBus recently introduced a load balancing feature, where you could have multiple instances of the same service running, but if a message is received only one of them is called.&lt;/p&gt;

  &lt;p&gt;Both models work very well for inter-application and B2B scenarios.&lt;/p&gt;

  &lt;p&gt;The moving parts in this particular demo look like this:&lt;/p&gt;

  &lt;p&gt;&lt;a href="http://blog.brianloesgen.com/resource/Windows-Live-Writer-New-Azure-ServiceBus-Demo_10E71-?fileId=16176965"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" title="image" border="0" alt="image" src="http://blog.brianloesgen.com/resource/Windows-Live-Writer-New-Azure-ServiceBus-Demo_10E71-?fileId=16176966" width="560" height="500" /&gt;&lt;/a&gt;&lt;/p&gt;

  &lt;p&gt;Subscriptions are shown above as ovals, the direct lines are relay bindings. The red lines are critical events, the black line is all events.&lt;/p&gt;

  &lt;p&gt;The projects in the solutions are:&lt;/p&gt;

  &lt;p&gt;&lt;a href="http://blog.brianloesgen.com/resource/Windows-Live-Writer-New-Azure-ServiceBus-Demo_10E71-?fileId=16176967"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" title="image" border="0" alt="image" src="http://blog.brianloesgen.com/resource/Windows-Live-Writer-New-Azure-ServiceBus-Demo_10E71-?fileId=16176968" width="266" height="370" /&gt;&lt;/a&gt;&lt;/p&gt;

  &lt;p&gt;Their purposes are:&lt;/p&gt;

  &lt;p&gt;&lt;strong&gt;Client&lt;/strong&gt;&lt;strong&gt;&lt;strong&gt; &lt;/strong&gt;&lt;/strong&gt;&lt;/p&gt;

  &lt;ul&gt;
    &lt;li&gt;EventPoint.ConsoleApp: Listens for critical messages multicast through the ServiceBus relay binding &lt;/li&gt;

    &lt;li&gt;EventPoint.ConsoleApp.Topics: Listens for critical messages multicast through the ServiceBus eventpoint-topics namespace &lt;/li&gt;

    &lt;li&gt;EventPoint.Generator: Test harness, publishes messages to the ServiceBus eventpoint-topics namespace &lt;/li&gt;

    &lt;li&gt;EventPoint.Monitor: WinForms app that listens for critical messages multicast through the ServiceBus relay binding &lt;/li&gt;
  &lt;/ul&gt;

  &lt;p&gt;&lt;strong&gt;Cloud&lt;/strong&gt;&lt;/p&gt;

  &lt;ul&gt;
    &lt;li&gt;EventPoint.CriticalPersister: Listens for critical messages multicast through the ServiceBus relay binding and persists them to SQL Azure &lt;/li&gt;

    &lt;li&gt;EventPoint.Data: Message classes &lt;/li&gt;

    &lt;li&gt;EventPoint_WebRole: Table browser UI to see all events that have been persisted to Azure table storage &lt;/li&gt;

    &lt;li&gt;EventPoint_WorkerRole: Worker role that sets up eventpoint-topics subscriptions for 1) All events and 2) critical (priority 0) messages that get multicast to the ServiceBus relay &lt;/li&gt;
  &lt;/ul&gt;

  &lt;p&gt;&lt;strong&gt;Common&lt;/strong&gt;&lt;/p&gt;

  &lt;ul&gt;
    &lt;li&gt;EventPoint.Common: Config, message factory to support push notifications &lt;/li&gt;

    &lt;li&gt;Microsoft.Samples.ServiceBusMessaging: NuGet package to support push notifications &lt;/li&gt;
  &lt;/ul&gt;

  &lt;p&gt;There are a few things you’ll need to do in order to get the demo working. Remarkably few things actually, considering the number of moving parts in the flow diagram!&lt;/p&gt;

  &lt;p&gt;First off, in the admin portal, you will need to create two ServiceBus namespaces:&lt;/p&gt;

  &lt;p&gt;&lt;a href="http://blog.brianloesgen.com/resource/Windows-Live-Writer-New-Azure-ServiceBus-Demo_10E71-?fileId=16176969"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" title="image" border="0" alt="image" src="http://blog.brianloesgen.com/resource/Windows-Live-Writer-New-Azure-ServiceBus-Demo_10E71-?fileId=16176970" width="560" height="347" /&gt;&lt;/a&gt;&lt;/p&gt;

  &lt;p&gt;&lt;em&gt;&lt;strong&gt;NOTE THAT SERVICEBUS NAMESPACES MUST BE GLOBALLY UNIQUE&lt;/strong&gt;. The ones shown above are ones I chose, if you want to run the code you will have to choose your own and cannot re-use mine (unless I delete them).&lt;/em&gt;&lt;/p&gt;

  &lt;p&gt;The “eventpoint-critical” namespace is used for the relay bindings, the “eventpoint-topics” is used for the pub/sub (apparently you cannot use the same namespace for both purposes, at least at the time this was written). You don’t have to use those names, but if you change them, you’ll need to change them in the config file too, so I’d suggest just leaving it this way.&lt;/p&gt;

  &lt;p&gt;Because there are multiple types of apps, ranging from Azure worker roles through console and winforms apps, I created a single shared static config class that is shared among the apps. You can, and need to, update the app.config file with your appropriate account information:&lt;/p&gt;

  &lt;p&gt;&lt;a href="http://blog.brianloesgen.com/resource/Windows-Live-Writer-New-Azure-ServiceBus-Demo_10E71-?fileId=16176971"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" title="image" border="0" alt="image" src="http://blog.brianloesgen.com/resource/Windows-Live-Writer-New-Azure-ServiceBus-Demo_10E71-?fileId=16176972" width="560" height="163" /&gt;&lt;/a&gt;&lt;/p&gt;

  &lt;p&gt;Note: there are more things you need to change that did not fit in the screen shot, they will be self-evident when you look at the App.Config file.&lt;/p&gt;

  &lt;p&gt;To get the ServiceBus issuer name and secret, you may need to scroll as it is bottom-most right-hand side of the ServiceBus page:&lt;/p&gt;

  &lt;p&gt;&lt;a href="http://blog.brianloesgen.com/resource/Windows-Live-Writer-New-Azure-ServiceBus-Demo_10E71-?fileId=16176974"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" title="image" border="0" alt="image" src="http://blog.brianloesgen.com/resource/Windows-Live-Writer-New-Azure-ServiceBus-Demo_10E71-?fileId=16176975" width="560" height="223" /&gt;&lt;/a&gt;&lt;/p&gt;

  &lt;p&gt;Lastly, you’ll need to add the name/creds of your storage account to the Web and worker roles.&lt;/p&gt;

  &lt;p&gt;When you run the app, five visible projects will start, plus a web role and a worker role running in the emulator.&lt;/p&gt;

  &lt;p&gt;In the screen shot below, I generated 5 random messages. Three of them were critical, and you can see they were picked up by the console apps and the WinForms app.&lt;/p&gt;

  &lt;p&gt;&lt;a href="http://blog.brianloesgen.com/resource/Windows-Live-Writer-New-Azure-ServiceBus-Demo_10E71-?fileId=16176977"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" title="image" border="0" alt="image" src="http://blog.brianloesgen.com/resource/Windows-Live-Writer-New-Azure-ServiceBus-Demo_10E71-?fileId=16176979" width="560" height="284" /&gt;&lt;/a&gt;&lt;/p&gt;

  &lt;p&gt;Just as with Windows Azure queues, the Azure ServiceBus is a powerful tool you can use to decouple parts of your application. I hope you find this demo helpful, and that it gives you new ideas about how you can use it in your own solutions.&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, Traffic Manager, Connect, RDP and CDN&lt;/a&gt;&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;Michael Washam&lt;/strong&gt; (@&lt;a href="https://twitter.com/#!/MWashamMS"&gt;MWashamMS&lt;/a&gt;) announced a &lt;a href="http://blogs.msdn.com/b/windowsazure/archive/2012/01/26/new-management-api-for-windows-azure-traffic-manager.aspx"&gt;New Management API for Windows Azure Traffic Manager&lt;/a&gt; in a 1/26/2012 post:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-ztiHVDtUmZU/TyHBeTbGgbI/AAAAAAAAZ6k/7u0Z-B29LlY/s1600-h/image54.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/-0XCF9fGJFJI/TyHBf_QssVI/AAAAAAAAZ6s/Vmh07YUgNgw/image_thumb22.png?imgmax=800" width="50" height="66" /&gt;&lt;/a&gt;As you may have noticed in the &lt;a href="http://www.windowsazure.com/en-us/?WT.mc_id=cmp_pst001_blg_post0039"&gt;Windows Azure &lt;/a&gt;developer portal, we recently released a new management API for Windows Azure Traffic Manager. The new API improves Traffic Manager by allowing developers and IT professionals to script interactions with the service and to interface with the service programmatically.&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 those of you who aren’t familiar with Windows Azure Traffic Manager, it gives you control of how traffic is distributed between hosted services in different datacenters. Traffic Manager increases the perceived performance of your application by sending customer traffic to the closest datacenter, and it improves reliability by not sending traffic to hosted services that are down.&lt;/p&gt;

  &lt;p&gt;With the release of the new API, developers now have full access to the management and creation of Traffic Manager policies, including the creation of a profile from scratch. In this post, we’ll walk through how to create, update, and manage profiles using the new API. Documentation for the new Traffic Manager REST APIs can be found &lt;a href="http://msdn.microsoft.com/en-us/library/windowsazure/hh758255.aspx"&gt;here&lt;/a&gt;. 

    &lt;br /&gt;Let's look at a typical configuration in the portal to see how we could accomplish the same configuration using the APIs. Before we get started, if you are new to Windows Azure Traffic Manager, I highly recommend reading an &lt;a href="http://msdn.microsoft.com/en-us/library/windowsazure/hh744833.aspx"&gt;overview of how the service works&lt;/a&gt; before continuing. 

    &lt;br /&gt;For reference, I have included a screenshot of a configuration I have setup that uses the performance load balancing method to distribute traffic between an application endpoint setup in the North Central US datacenter and the North Europe datacenter. 

    &lt;br /&gt;&lt;b&gt;Figure 1: Traffic Manager Policy Page&lt;/b&gt; 

    &lt;br /&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-13-25/5314.TM1.png" /&gt;&lt;/p&gt;

  &lt;p&gt;The Edit Traffic Manager Policy dialog allows you to configure a Windows Azure Traffic Manager policy in one screen. Behind the scenes there are multiple API calls that create multiple entities on your behalf that represent this policy configuration that you as a developer will need to be aware of. 
    &lt;br /&gt;So how can you accomplish the same configuration programmatically? 

    &lt;br /&gt;Understanding the entities is the first step. The policy represented above consists of a profile with a domain name specified, at least one definition, which in turn consists of the following configuration: load balancing method, DNS TTL, endpoints and a monitoring configuration among other things.&lt;/p&gt;

  &lt;p&gt;&lt;b&gt;Figure 2: Traffic Manager Entities&lt;/b&gt; 

    &lt;br /&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-13-25/3755.TM2.png" /&gt; 

    &lt;br /&gt;Each profile can have multiple definitions associated with it. However, only one definition can be active at a time. Creating multiple definitions is not currently exposed in the portal. It is entirely possible to define multiple distinct definitions and provide the ability to switch between them without rebuilding them.&lt;/p&gt;

  &lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/windowsazure/hh758254.aspx"&gt;Create Profile API&lt;/a&gt;&lt;/p&gt;

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

  &lt;p&gt;https://management.core.windows.net/&amp;lt;subscription-id&amp;gt;/services/WATM/profiles&lt;/p&gt;

  &lt;p&gt;&lt;b&gt;Figure 3: Create Profile Request Parameters 
      &lt;br /&gt;&lt;/b&gt;&lt;/p&gt;

  &lt;p&gt;&lt;img border="0" alt="" src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-25/0081.TM3.png" /&gt;&lt;/p&gt;

  &lt;p&gt;The Create Profile API requires you to specify a profile name and the Traffic Manager Domain name. The domain name consists of a DNS prefix (host name) and .trafficmanager.net. In the management portal there is not a location for a profile name; this is generated for you when you use the portal. This is not the case when you create the profile programmatically. How the profile name is generated is something important to understand as a developer. When you create a profile from the portal the name is generated by taking the hostname of the domain name you are specifying and appending -trafficmanager-net to it. For example if the domain name you specified was: woodgrove.trafficmanager.net the internal name of the profile would be woodgrove-trafficmanager-net. When creating a profile programmatically the profile name is whatever you pass into the Create Profile API. &lt;/p&gt;

  &lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/windowsazure/hh758257.aspx"&gt;Create Definition API&lt;/a&gt;&lt;/p&gt;

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

  &lt;p&gt;&lt;a href="https://management.core.windows.net/%3Csubscription-id%3E/services/WATM/profiles/%3Cprofile-name%3E/definitions"&gt;https://management.core.windows.net/&amp;lt;subscription-id&amp;gt;/services/WATM/profiles/&amp;lt;profile-name&amp;gt;/definitions&lt;/a&gt;&lt;/p&gt;

  &lt;p&gt;&lt;b&gt;Figure 4: Create Definition Request Parameters&lt;/b&gt;&lt;/p&gt;

  &lt;p&gt;&lt;img border="0" alt="" src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-25/6371.TM4.png" /&gt;&lt;/p&gt;

  &lt;p&gt;Once a profile is created, you can then create a definition using the Create Definition API to specify the rest of your Windows Azure Traffic Manager configuration. 
    &lt;br /&gt;The definition configuration is not as complex as it looks. Defining the monitor consists of specifying the relative path to an HTTP/HTTPS resource that will tell Traffic Manager the health of your application via the returned status code. You may change the port, protocol and the relative path but the remaining settings have to be set to the default values. 

    &lt;br /&gt;Each endpoint consists of the URL to one of the Windows Azure applications that you want managed in the Windows Azure Traffic Manager and a flag indicating whether it is currently enabled or disabled.&lt;/p&gt;

  &lt;p&gt;The URL specified when creating the Traffic Manager profile (&amp;lt;dnsprefix&amp;gt;.trafficmanager.net) will be mapped to one of the specified endpoints when a DNS name is resolved. Which endpoint is resolved is based on the load balancing method specified (Performance, Failover or RoundRobin).&lt;/p&gt;

  &lt;p&gt;For Example: 
    &lt;br /&gt;WoodGroveUS.cloudapp.net could reside in the North Central data center. 

    &lt;br /&gt;WoodGroveEU.cloudapp.net could reside in the North Europe data center.&lt;/p&gt;

  &lt;p&gt;WoodGrove.trafficmanager.net would be the parent domain name that when resolved would be mapped to one of the data center endpoints.&lt;/p&gt;

  &lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/windowsazure/hh758250.aspx"&gt;Update Profile&lt;/a&gt;&lt;/p&gt;

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

  &lt;p&gt;https://management.core.windows.net/&amp;lt;subscription-id&amp;gt;/services/WATM/profiles/&amp;lt;profile-name&amp;gt;&lt;/p&gt;

  &lt;p&gt;&lt;b&gt;Figure 5: Update Profile Request Parameters&lt;/b&gt;&lt;/p&gt;

  &lt;p&gt;&lt;img border="0" alt="" src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-25/2845.TM5.png" /&gt;&lt;/p&gt;

  &lt;p&gt;There can be multiple definitions associated with a profile but only at most one can be active at a time. For a Traffic Manager profile to be active you must enable one of the definitions associated with the profile. You enable a definition by calling the Update Profile API passing in the version that was returned when you called the Create Definition API.&lt;/p&gt;

  &lt;p&gt;&lt;b&gt;Managing Existing Profiles and Definitions 
      &lt;br /&gt;&lt;/b&gt;Beyond the core operations of creating a profile and its associated definitions, the Traffic Manager REST API also supports &lt;a href="http://msdn.microsoft.com/en-us/library/windowsazure/hh758249.aspx"&gt;List Profiles&lt;/a&gt;, &lt;a href="http://msdn.microsoft.com/en-us/library/windowsazure/hh758251.aspx"&gt;Get Profile&lt;/a&gt;,&lt;a href="http://msdn.microsoft.com/en-us/library/windowsazure/hh758252.aspx"&gt; List Definitions&lt;/a&gt;, &lt;a href="http://msdn.microsoft.com/en-us/library/windowsazure/hh758248.aspx"&gt;Get Definition&lt;/a&gt; and &lt;a href="http://msdn.microsoft.com/en-us/library/windowsazure/hh758256.aspx"&gt;Delete Profile&lt;/a&gt;. These APIs provide full functionality for building an application to manage Windows Azure Traffic Manager configurations. 

    &lt;br /&gt;If you would like to automate the management of your Windows Azure Traffic Manager profiles but you do not want to write code against the REST API to do it we also have an answer for you. We have updated the &lt;a href="http://wappowershell.codeplex.com/"&gt;Windows Azure PowerShell Cmdlets (now version 2.2)&lt;/a&gt; to have full support for the Windows Azure Traffic Manager. 

    &lt;br /&gt;Windows Azure Traffic Manager Cmdlets&lt;/p&gt;

  &lt;ul&gt;
    &lt;li&gt;New-TrafficManagerProfile &lt;/li&gt;

    &lt;li&gt;Get-TrafficManagerProfile &lt;/li&gt;

    &lt;li&gt;Remove-TrafficManagerProfile &lt;/li&gt;

    &lt;li&gt;Set-TrafficManagerProfile &lt;/li&gt;

    &lt;li&gt;Get-TrafficManagerDefinition &lt;/li&gt;

    &lt;li&gt;New-TrafficManagerDefinition &lt;/li&gt;

    &lt;li&gt;Add-TrafficManagerEndpoint &lt;/li&gt;

    &lt;li&gt;New-TrafficManagerEndpoint &lt;/li&gt;

    &lt;li&gt;Set-TrafficManagerEndpoint &lt;/li&gt;

    &lt;li&gt;Remove-TrafficManagerEndpoint &lt;/li&gt;

    &lt;li&gt;New-TrafficManagerMonitor &lt;/li&gt;
  &lt;/ul&gt;

  &lt;p&gt;Here is an example of how you can use PowerShell to create a new profile and definition:&lt;/p&gt;

  &lt;p&gt;&lt;img border="0" alt="" src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-25/0842.Screen-Shot-2012_2D00_01_2D00_26-at-9.42.22-AM.png" /&gt; 

    &lt;br /&gt;Windows Azure Traffic Manager is a key technology for enabling global and highly available applications. The new REST APIs will allow application developers to build applications that make the management of Traffic Manager a native part of their application. We have also opened the door for automating deployments to Windows Azure customers by exposing this functionality in the new release of the Windows Azure PowerShell Cmdlets 2.2. &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="Live"&gt;Live Windows Azure Apps, APIs, Tools and Test Harnesses&lt;/a&gt;&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;Tim Huckaby&lt;/strong&gt; interviewed &lt;strong&gt;Vishwas Lele&lt;/strong&gt; in a 00:05:42 &lt;a href="http://msdn.microsoft.com/en-us/hh780994"&gt;Bytes by MSDN: January 24 - Vishwas Lele&lt;/a&gt; video on 1/26/2012:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;Join Tim Huckaby, Founder of InterKnowlogy and Actus Software, and Vishwas Lele, CTO of Applied Information Sciences, as they discuss the latest announcements around Windows Azure from the Build 2011 Conference. Vishwas is the king of Azure and has worked with many companies including ISV’s, point of sale systems, start-ups and more to migrate to Windows Azure. One new feature in Windows Azure announced at Build that Vishwas is excited about is, the geo-replication capability where you can geo-replicate one Windows Azure storage account in one data center to another data center. This is a great interview showing exciting times in the Azure world with many more changes to come!&lt;/p&gt;
  &lt;script src="http://msdn.microsoft.com/objectforward/default.aspx?type=VideoPlayer&amp;amp;video=http%3A%2F%2Fcontent5.catalog.video.msn.com%2Fe2%2Fds%2F437237c2-8692-464e-81dd-11f9988a7780.wmv&amp;amp;thumb=http%3A%2F%2Fcontent5.catalog.video.msn.com%2Fe2%2Fds%2Fc65e6e0f-f1d1-4aca-837c-a4a40d3dda6f.jpg&amp;amp;title=&amp;amp;width=400&amp;amp;height=400" type="text/javascript"&gt;&lt;/script&gt;

  &lt;p&gt;&lt;strong&gt;About Vishwas&lt;/strong&gt; 

    &lt;br /&gt;&lt;img style="display: inline; float: right" title="" alt="" align="right" src="http://i.msdn.microsoft.com/hh780994.Vishwas Lele_55x55(en-us,MSDN.10).jpg" /&gt;Vishwas Lele is an AIS Chief Technology Officer and is responsible for the company vision and execution of creating business solutions using .NET technologies. Vishwas brings over 20 years of experience and thought leadership to his position, and has been at AIS for 17 years. A noted industry speaker and author, Vishwas is the Microsoft Regional Director for the Washington, D.C. area.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;strong&gt;About Tim&lt;/strong&gt; 

    &lt;br clear="all" /&gt;&lt;img style="display: inline; float: right" title="" alt="" align="right" src="http://i.msdn.microsoft.com/hh780994.Tim_Huckaby_55x55(en-us,MSDN.10).jpg" /&gt;Tim Huckaby is focused on the Natural User Interface (NUI)- Touch, Gesture, and Neural, in Rich Client Technologies on a broad spectrum of devices&lt;/p&gt;

  &lt;p&gt;Tim has been called a &amp;quot;Pioneer of the Smart Client Revolution&amp;quot; by the press. Tim has been awarded many times for the highest rated technical presentations and keynotes for Microsoft and many other technology conferences around the world. Tim has been on stage with, and done numerous keynote demos for many Microsoft executives including Bill Gates and Steve Ballmer.&lt;/p&gt;

  &lt;p&gt;Tim founded InterKnowlogy, a custom application development company, in 1999 and Actus Interactive Software in 2011 and has over 30 years of experience including serving on a Microsoft product team as a development lead on an architecture team on a Server Product. Tim is a Microsoft Regional Director, a Microsoft MVP and serves on many Microsoft councils and boards like the Microsoft .NET Partner Advisory Council.&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;a href="http://lh4.ggpht.com/-Xyrkm9O5-3M/TyHBg7KvAfI/AAAAAAAAZ60/x49CwKLs1bA/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/-yiqu0OAEANA/TyHBhpyLYcI/AAAAAAAAZ68/wH8MtHCCJtE/image_thumb1_thumb1.png?imgmax=800" width="171" height="54" /&gt;&lt;/a&gt;The &lt;strong&gt;Video Studio LightSwitch&lt;/strong&gt; (@&lt;a href="https://twitter.com/#!/VSLightSwitch"&gt;VSLightSwitch&lt;/a&gt;) team published a link to a &lt;a href="http://visualstudiogallery.msdn.microsoft.com/site/search?f[0].Type=VisualStudioVersion&amp;amp;f[0].Value=VSLS&amp;amp;f[0].Text=Visual%20Studio%20LightSwitch"&gt;List of 97 LightSwitch Controls, Exensions and Add-Ins&lt;/a&gt; on 1/26/2012. Here’s a screen capture of the first few:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;&amp;#160;&lt;a href="http://lh6.ggpht.com/-qvGZFEa_MBo/TyHBijfi1PI/AAAAAAAAZ7E/oy0mYpkm1-M/s1600-h/image28.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://lh5.ggpht.com/-bEO_tRYcWSk/TyHBldOqsMI/AAAAAAAAZ7M/ALTKpDz7QyM/image_thumb12.png?imgmax=800" width="562" height="598" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;strong&gt;Satish Kumar&lt;/strong&gt; wrote a &lt;a href="http://www.softwarenewsdaily.com/2012/01/microsoft-visual-studio-lightswitch-2011-review"&gt;Microsoft Visual Studio LightSwitch 2011 Review&lt;/a&gt; for Software News Daily on 1/25/2012:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-ZbKQgjRGc24/TyHBll6CdsI/AAAAAAAAZ7U/Tlsxqe4ZxQc/s1600-h/image_thumb110.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://lh4.ggpht.com/-NCmtNhhTe9E/TyHBl9qfDwI/AAAAAAAAZ7c/vpm43Td5X9o/image_thumb1_thumb2.png?imgmax=800" width="171" height="54" /&gt;&lt;/a&gt;Many organizations are constantly looking to address their business needs with flexible and scalable applications. In most cases, the time and resources necessary to build those applications are not always available.&lt;/p&gt;

  &lt;p&gt;Here’s the solution: &lt;a href="http://www.softwaremedia.com/microsoft/visual-studio/visual-studio-lightswitch-2011.html?utm_source=SND&amp;amp;utm_medium=Link&amp;amp;utm_term=LightSwitch&amp;amp;utm_campaign=LightSwitch_Review"&gt;Microsoft Visual Studio LightSwitch 2011&lt;/a&gt; has the potential to meet these business needs.&lt;/p&gt;

  &lt;p&gt;Microsoft Visual Studio LightSwitch 2011 is a flexible development tool that helps developers to rapidly develop polished and fantastic business applications for the desktop as well as the Cloud.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
  &lt;p&gt;With an intuitive development environment, timesaving tools and templates, &lt;a href="http://www.softwaremedia.com/microsoft/visual-studio/visual-studio-lightswitch-2011.html?utm_source=SND&amp;amp;utm_medium=Link&amp;amp;utm_term=LightSwitch&amp;amp;utm_campaign=LightSwitch_Review"&gt;Visual Studio LightSwitch&lt;/a&gt; helps speed the development process. It also reduces the complexity from user-interface design to Windows Azure cloud deployment. LightSwitch is essential in the development of affordable, scalable custom software solutions that connect with existing applications, legacy systems and web services. It automatically handles the routine code and lets you focus on developing the custom logic that makes your application unique. It facilitates comprehensive and user friendly views of your business data.&lt;/p&gt;

  &lt;p&gt;&lt;strong&gt;&lt;em&gt;Key Features of LightSwitch 2011&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

  &lt;ul&gt;
    &lt;li&gt;LightSwitch 2011 supports exporting data to Microsoft Office Excel for easy reporting. &lt;/li&gt;

    &lt;li&gt;The asynchronous data loading routines help in building load-responsive applications. &lt;/li&gt;

    &lt;li&gt;The built-in authentication models provide all the users with varying degrees of authorization and accessibility. &lt;/li&gt;

    &lt;li&gt;Automatic generation of administration console. &lt;/li&gt;

    &lt;li&gt;A simple and innate way of setting user roles and permissions. &lt;/li&gt;

    &lt;li&gt;The pre-built components and templates of LightSwitch 2011 are absolutely extensible. &lt;/li&gt;

    &lt;li&gt;LightSwitch 2011 ships with a set of &lt;em&gt;Application Shells&lt;/em&gt; that gives a feel of popular Microsoft software. &lt;/li&gt;

    &lt;li&gt;It consists of predefined data types for commonly used fields like email addresses and phone numbers. &lt;/li&gt;
  &lt;/ul&gt;

  &lt;p&gt;&lt;strong&gt;&lt;em&gt;Major Benefits&lt;/em&gt;&lt;/strong&gt;&lt;strong&gt;&lt;em&gt; &lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

  &lt;ul&gt;
    &lt;li&gt;You can easily enhance the functionality of LightSwitch application by adding extensions from third party vendors. &lt;/li&gt;

    &lt;li&gt;It is very easy to collect, analyze and reuse the content from various sources such as Microsoft SQL Azure, Microsoft SQL Server, Microsoft SharePoint, Oracle and other databases. &lt;/li&gt;

    &lt;li&gt;As LightSwitch 2011 handles the code, you can create user friendly business applications. &lt;/li&gt;

    &lt;li&gt;It helps in building the applications with built-in paging, filtering and sorting capabilities. This makes it easier in handling huge amounts of data. &lt;/li&gt;

    &lt;li&gt;The development environment simplifies all the phases of the development by providing assistance as and when required. &lt;/li&gt;

    &lt;li&gt;You can create custom business logic and rules that are unique to a particular business and the users. &lt;/li&gt;

    &lt;li&gt;You can change the behavior and appearance of an application by just changing one setting of shell and theme extensions. &lt;/li&gt;

    &lt;li&gt;With LightSwitch 2011, you can build applications that can be deployed to desktop clients, browser clients or through the Cloud. You can choose the deployment method according to your requirements. &lt;/li&gt;
  &lt;/ul&gt;

  &lt;p&gt;As you create a new LightSwitch project, the only decision you need to make is whether to use Visual C# or Visual Basic. The projects are logically 3-tier applications and follow n-tier best practices. They also utilize Entity Framework and RIA services.&lt;/p&gt;

  &lt;p&gt;Microsoft Visual Studio LightSwitch 2011 is in stock at &lt;a href="http://www.softwaremedia.com/microsoft/visual-studio/visual-studio-lightswitch-2011.html?utm_source=SND&amp;amp;utm_medium=Link&amp;amp;utm_term=SoftwareMedia&amp;amp;utm_campaign=LightSwitch_Review"&gt;SoftwareMedia.com&lt;/a&gt;!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Satish also includes a link to a 00:02:12 promotional video in his post.&lt;/p&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;Mary Jo Foley&lt;/strong&gt; (@&lt;a href="http://twitter.com/maryjofoley"&gt;maryjofoley&lt;/a&gt;) asserted “Microsoft is moving steadily ahead with its plan to enable Linux to run on its Windows Azure cloud platform” in a deck for her &lt;a href="http://www.zdnet.com/blog/microsoft/microsoft-seeking-open-source-expert-to-help-put-linux-on-azure/11741"&gt;Microsoft seeking open-source expert to help put Linux on Azure&lt;/a&gt; article for ZDNet’s All About Microsoft blog:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-ecUFpQpwodo/TyHBmYPhZjI/AAAAAAAAZ7k/xVFji9Cs-04/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://lh6.ggpht.com/-UhJKimgAhXo/TyHBmu9uQsI/AAAAAAAAZ7s/Vu7CTbluFDo/image_thumb13.png?imgmax=800" width="50" height="66" /&gt;&lt;/a&gt;As I blogged earlier this month,&lt;a href="http://www.zdnet.com/blog/microsoft/microsoft-to-enable-linux-on-its-windows-azure-cloud-in-2012/11508"&gt; Microsoft is preparing to enable Linux to run on its Windows Azure cloud platform&lt;/a&gt;. A test build of the coming Linux virtual-machine capability is slated for March, according to my contacts.&lt;/p&gt;

  &lt;p&gt;For those still doubting this is on the Microsoft roadmap, I’ve got a new piece of evidence. A contact of mine provided me with a link to a Microsoft job posting for a &lt;a href="http://www.microsoft-careers.com/job/Redmond-SR-Software-Development-Engineer-%28SDE%29-Job-WA-98052/1405401/"&gt;software development engineer at Microsoft that calls for some serious Linux credentials&lt;/a&gt;.&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;The job posting states quite plainly that the person the Server and Tools team is seeking will be charged with “Defin(ing) and scop(ing) open source projects designed to&lt;strong&gt; enable Linux on Microsoft’s virtualization and cloud platforms&lt;/strong&gt;.” (Emphasis mine.)&lt;/p&gt;

  &lt;p&gt;Here is the pertinent part of the post:&lt;/p&gt;

  &lt;blockquote&gt;
    &lt;p&gt;&lt;em&gt;SR Software Development Engineer (SDE) Job 
        &lt;br /&gt;Date: Jan 22, 2012 

        &lt;br /&gt;Location: Redmond, WA, US 

        &lt;br /&gt;Job Category: Software Engineering: Development 

        &lt;br /&gt;Location: Redmond, WA, US 

        &lt;br /&gt;Job ID: 764856-52821 

        &lt;br /&gt;Division: Server &amp;amp; Tools Business&lt;/em&gt;&lt;/p&gt;

    &lt;p&gt;&lt;em&gt;Senior Software Development Engineer/Linux Virtualization&lt;/em&gt;&lt;/p&gt;

    &lt;p&gt;&lt;em&gt;This position requires a proven track record in the open source community.&lt;/em&gt;&lt;/p&gt;

    &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-ezxXb3wPVhc/TyHBnURceII/AAAAAAAAZ70/6ZbYjLsJa9E/s1600-h/image35.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/-Y_9tKaIRINQ/TyHBnjtk92I/AAAAAAAAZ78/cF1mDqfTEGw/image_thumb14.png?imgmax=800" width="57" height="66" /&gt;&lt;/a&gt;&lt;em&gt;The Windows I
