<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xml:base="http://lorimacvittie.sys-con.com"  xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
 <title>Latest News from Lori MacVittie</title>
 <link>http://lorimacvittie.sys-con.com/</link>
 <description>Latest News from Lori MacVittie</description>
 <language>en</language>
 <copyright>Copyright 2009 Ulitzer.com</copyright>
 <generator>Ulitzer.com</generator>
 <lastBuildDate>Tue, 08 Dec 2009 23:54:50 EST</lastBuildDate>
 <docs>http://backend.userland.com/rss</docs>
 <ttl>360</ttl>
<item>
 <title>Silos Belong on Farms Not in Clouds</title>
 <link>http://lorimacvittie.sys-con.com/node/1211869</link>
 <description>&lt;p&gt;&lt;em&gt;Beware the danger of building out isolated network and application network infrastructures in the cloud lest we end up with silos from which it is difficult to escape. &lt;/em&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/SilosintheClouds_4B6C/cloudsilo_2.png&quot;&gt;&lt;img title=&quot;cloudsilo&quot; style=&quot;border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; margin: 5px 0px 5px 10px; border-right-width: 0px&quot; height=&quot;343&quot; alt=&quot;cloudsilo&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/SilosintheClouds_4B6C/cloudsilo_thumb.png&quot; width=&quot;336&quot; align=&quot;right&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;span style=&quot;font-size: 100px; background: #fff; float: left; color: #000; line-height: 80px; font-family: times; padding-: 1px 5px 0 0&quot;&gt;W&lt;/span&gt;hile writing a &lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/12/03/cloud-is-the-gift-that-keeps-on-giving.aspx&quot;&gt;separate post on the business value of public versus private cloud computing investments&lt;/a&gt; I specifically called out the fact that infrastructure – virtual or physical – provisioned in a cloud environment is applicable &lt;em&gt;only &lt;/em&gt;to that cloud environment; it really can’t be shared within the enterprise architecture or other public cloud computing environments, for that matter. &lt;/p&gt;  &lt;p&gt;That led to considering the impact of the cloud computing deployment model on general application architecture and how much “sharing” of provisioned resources would occur “out there”. There appears to be a very real possibility that the lack of visibility in cloud computing environments may very well lead to the creation of silos in the cloud. &lt;/p&gt;  &lt;hr width=&quot;100%&quot; color=&quot;#680000&quot; noshade=&quot;noshade&quot; /&gt;  &lt;div style=&quot;background: #ebd3d3; width: 66.14%; height: 14px&quot;&gt;&lt;strong&gt;ISOLATION is not always A GOOD THING&lt;/strong&gt;&lt;/div&gt;  &lt;hr width=&quot;100%&quot; color=&quot;#680000&quot; noshade=&quot;noshade&quot; /&gt;  &lt;p&gt;One of the alleged benefits of public cloud computing is that anyone within your organization can take advantage of it. We’ve seen the results of isolated, disconnected departmental-level architecture and development before; internal technological silos. When there is no centralized infrastructure management, each department/project is left to its own devices. This isolation and separation from a shared IT infrastructure management could easily lead to two or more different applications being provisioned with their own “copies” of infrastructure in a public cloud computing environment. &lt;/p&gt;  &lt;p&gt;Somewhere along the line “on-demand” came to carry with it a subtext of “ad-hoc” and was applied to not only provisioning of &lt;em&gt;compute &lt;/em&gt;resources but &lt;em&gt;infrastructure &lt;/em&gt;resources as well. Application not performing well enough? Provision an application delivery controller with application acceleration features and solve the problem. Application needs to scale up? Provision a &lt;a title=&quot;&quot; href=&quot;http://www.f5.com/glossary/load-balancing.html&quot; rel=&quot;&quot;&gt;load balancing&lt;/a&gt; solution and a second or more application instance and solve the problem. Eventually, if there are enough infrastructure services available, you can see where this might lead: isolated, application-specific infrastructure architectures that unnecessarily increase the total cost of ownership for the application. Also inherent in the idea of ad-hoc provisioning of architectural components is a lack of adherence to organizational policies for security, availability, and reliability of application services. &lt;/p&gt;  &lt;hr width=&quot;100%&quot; color=&quot;#680000&quot; noshade=&quot;noshade&quot; /&gt;  &lt;div style=&quot;background: #ebd3d3; width: 100%&quot;&gt;&lt;strong&gt;GOVERNANCE a CRITICAL but MISSING ELEMENT &lt;/strong&gt;&lt;/div&gt;  &lt;hr width=&quot;100%&quot; color=&quot;#680000&quot; noshade=&quot;noshade&quot; /&gt;  &lt;p&gt;The concept of &lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/07/02/governance-service-catalogs-and-the-cloud.aspx&quot;&gt;governance and its relationship to cloud computing has been discussed&lt;/a&gt; but those conversations tend to revolve around the need for more generalized governance. That is, a service catalog of all cloud provider offered services as well as a cloud-application service catalog for consumers. But there’s little mention of the need for architectural governance at the organizational level. The ability of an enterprise architecture group that is responsible for setting the direction of application architecture across all deployments, not just those internal to the organization. &lt;/p&gt;  &lt;p&gt;A centralized architectural approach could eliminate the possibility of silos in public cloud computing deployments by enforcing the use of shared infrastructure services provisioned into the public cloud computing environment. Indeed, without some sharing of infrastructure the concept of &lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/07/09/cloud-balancing-cloud-bursting-and-intercloud.aspx&quot;&gt;Intercloud and cloud-balancing&lt;/a&gt; becomes inherently more difficult – nearly impossible, in fact – to implement. For example, one approach to enabling cloud-balancing is to employ the functionality of an intelligent &lt;a href=&quot;http://www.f5.com/products/big-ip/product-modules/global-traffic-manager.html&quot;&gt;global application delivery platform, a GSLB&lt;/a&gt; (global server &lt;a title=&quot;&quot; href=&quot;http://www.f5.com/glossary/load-balancer.html&quot; rel=&quot;&quot;&gt;Load balancer&lt;/a&gt;), to determine based on the context of a request for an application which location will best serve the specific needs of the user and request in question. Assuming the application is deployed in only one location makes this decision fairly straightforward, but the use of the GSLB provides a layer of abstraction between the consumer of the application and the actual implementation and hides its location while presenting a single, unified “presence” to the consumer. It also centralizes DNS management, which is critical when considering the implementation and deployment of &lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/11/18/itrsquos-dnssec-not-dnssux.aspx&quot;&gt;DNSSEC&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;Without a governance strategy, it is possible and probably likely that silo-like deployments will occur, especially as the service offerings in cloud computing providers continues to mature and expand. Fragmentation of infrastructure across multiple silos also makes it difficult to integrate into existing management systems and &lt;a href=&quot;http://vmblog.com/archive/2009/12/03/the-virtualization-tipping-point-in-2010.aspx&quot;&gt;makes more complex troubleshooting&lt;/a&gt;, log aggregation, event correlation, and reporting in general. &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/SilosintheClouds_4B6C/blockquote_2.gif&quot;&gt;&lt;img title=&quot;blockquote&quot; style=&quot;border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; margin-left: 0px; margin-right: 0px; border-right-width: 0px&quot; height=&quot;28&quot; alt=&quot;blockquote&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/SilosintheClouds_4B6C/blockquote_thumb.gif&quot; width=&quot;46&quot; align=&quot;left&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &quot;&lt;em&gt;We were experiencing what others had warned me about. We suddenly realized ‘wow, this is an extremely complicated environment’ and when there’s a problem, you get 8 staff and 3 vendors on the phone all pointing fingers at one another.  The need for&lt;/em&gt; &lt;font color=&quot;#ff0000&quot;&gt;&lt;strong&gt;cross-silo insight&lt;/strong&gt;&lt;/font&gt; &lt;em&gt;became absolutely critical”.        &lt;br /&gt;        &lt;br /&gt;                                                                                    -- VP of Virtualization Operations, unnamed organization “&lt;strong&gt;&lt;a href=&quot;http://vmblog.com/archive/2009/12/03/the-virtualization-tipping-point-in-2010.aspx&quot;&gt;The Virtualization &quot;Tipping Point&quot; in 2010”&lt;/a&gt;&lt;/strong&gt;&lt;/em&gt; &lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Silos, except on farms, are just plain bad news. But without governance and a strategy with which to approach public cloud computing-based application deployments, they may pop up without intent. &lt;/p&gt;  &lt;hr width=&quot;100%&quot; color=&quot;#680000&quot; noshade=&quot;noshade&quot; /&gt;  &lt;div style=&quot;background: #ebd3d3; width: 100%&quot;&gt;&lt;strong&gt;CLOUD COORDINATOR&lt;/strong&gt;&lt;/div&gt;  &lt;hr width=&quot;100%&quot; color=&quot;#680000&quot; noshade=&quot;noshade&quot; /&gt;  &lt;p&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/SilosintheClouds_4B6C/facecow1_2.jpg&quot;&gt;&lt;img title=&quot;Silos are used as places to ferment (rot) silage for me to eat!&quot; style=&quot;border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; margin: 5px 15px 0px 0px; border-right-width: 0px&quot; height=&quot;84&quot; alt=&quot;Silos are used as places to ferment (rot) silage for me to eat!&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/SilosintheClouds_4B6C/facecow1_thumb.jpg&quot; width=&quot;58&quot; align=&quot;left&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;Maybe this is a job for “Cloud Coordinator”, or whatever you might want to call such a group or individual. &lt;a title=&quot;Service Oriented Architecture definition &quot; href=&quot;http://www.f5.com/glossary/soa.html&quot; rel=&quot;&quot; target=&quot;_blank&quot;&gt;SOA&lt;/a&gt; eventually came up with a similar notion, often called the “Registrar” or the “Librarian”, depending on what governance solution was being implemented. Someone or some team that is responsible for (a) understanding what services are available in the apposite cloud computing environments and (b) managing those services with an eye toward sharing or at least ensuring consistency of solutions across applications  deployed in a public cloud computing environment. One thing that will greatly improve the ability to keep that consistency is the vendor-enablement of shared configurations across disparate instances. Not synchronization, necessarily, but simply sharing of configuration across devices that may or may not (most likely the latter) be paired. Better would be the ability to “share” granular configuration settings – on a per-policy or per-application basis – with other like-devices. &lt;/p&gt;  &lt;p&gt;Avoiding the creation of silos in the cloud will be a challenge. Recognizing the need for a consistent strategy and enforceable governance policy will go a long way toward avoiding the pain of trying to extricate applications and isolated infrastructure deployments from the silos created by ignoring the ad-hoc provisioning of entire infrastructures to support each application. &lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;http://twitter.com/lmacvittie&quot;&gt;&lt;img height=&quot;18&quot; alt=&quot;Follow me on Twitter&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_twitt-twoo-icon.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a title=&quot;Follow F5 Networks on Twitter&quot; href=&quot;http://tweepml.org/F5-Networks-Tweeple/&quot;&gt;&lt;img height=&quot;18&quot; src=&quot;http://tweepml.org/s/tweepml16.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a title=&quot;Follow F5 DevCentral on Twitter&quot; href=&quot;http://tweepml.org/F5-DevCentral/&quot;&gt;&lt;img height=&quot;18&quot; src=&quot;http://tweepml.org/s/tweepml16.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/Rss.aspx&quot;&gt;&lt;img src=&quot;http://devcentral.f5.com/Portals/0/images/Icons/icon_xml_18.gif&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://www.slideshare.net/lmacvittie&quot;&gt;&lt;img height=&quot;18&quot; alt=&quot;View Lori&#039;s profile on SlideShare&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_slideshare.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://www.linkedin.com/in/lmacvittie&quot;&gt;&lt;img src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_linkedin_16.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://www.friendfeed.com/lmacvittie&quot;&gt;&lt;img style=&quot;border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px&quot; height=&quot;18&quot; alt=&quot;friendfeed&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/friendfeed_3.jpg&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://www.facebook.com/lmacvittie&quot;&gt;&lt;img style=&quot;border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px&quot; height=&quot;18&quot; alt=&quot;icon_facebook&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/icon_facebook_4.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a title=&quot;Subscribe using any feed reader!&quot; href=&quot;http://www.addthis.com/feed.php?pub=lmacvittie&amp;amp;h1=http%3A%2F%2Fdevcentral.f5.com%2Fweblogs%2Fmacvittie%2FRss.aspx&amp;amp;t1=&quot;&gt;&lt;img height=&quot;18&quot; alt=&quot;AddThis Feed Button&quot; src=&quot;http://s9.addthis.com/button1-fd.gif&quot; width=&quot;125&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a title=&quot;Bookmark and Share&quot; onclick=&quot;window.open(&#039;http://www.addthis.com/bookmark.php?wt=nw&amp;amp;pub=lmacvittie&amp;amp;url=&#039;+encodeURIComponent(location.href)+&#039;&amp;amp;title=&#039;+encodeURIComponent(document.title), &#039;addthis&#039;, &#039;scrollbars=yes,menubar=no,width=620,height=520,resizable=yes,toolbar=no,location=no,status=no,screenX=200,screenY=100,left=200,top=100&#039;); return false;&quot; href=&quot;http://www.addthis.com/bookmark.php&quot; target=&quot;_blank&quot;&gt;&lt;img height=&quot;18&quot; alt=&quot;Bookmark and Share&quot; src=&quot;http://s9.addthis.com/button1-share.gif&quot; width=&quot;125&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;script type=&quot;text/javascript&quot; src=&quot;http://track.mybloglog.com/js/jsserv.php?mblID=2008070914270355&quot;&gt;&lt;/script&gt;&lt;/p&gt;  &lt;p&gt;Related blogs &amp;amp; articles: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/07/09/cloud-balancing-cloud-bursting-and-intercloud.aspx&quot;&gt;&lt;b&gt;Cloud&lt;/b&gt; &lt;b&gt;Balancing&lt;/b&gt;, &lt;b&gt;Cloud&lt;/b&gt; Bursting, and Intercloud&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/09/14/the-cloud-metastructure-hubub.aspx&quot;&gt;The &lt;b&gt;Cloud&lt;/b&gt; Metastructure Hubub&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/07/02/governance-service-catalogs-and-the-cloud.aspx&quot;&gt;Governance: &lt;b&gt;Service&lt;/b&gt; Catalogs and the Cloud&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://www.cloudfrontoffice.com/2009/06/emergent-consensus-private-cloud-needs-a-front-office-part-1.html?35a87a90&quot;&gt;Emergent Consensus: Private Cloud Needs a Front Office Part 1&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://vmblog.com/archive/2009/12/03/the-virtualization-tipping-point-in-2010.aspx&quot;&gt;The Virtualization Tipping Point in 2010&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p /&gt;  &lt;div class=&quot;wlWriterEditableSmartContent&quot; id=&quot;scid:0767317B-992E-4b12-91E0-4F059A8CECA8:ad633264-19c0-4301-a903-02ec8106ad24&quot; style=&quot;padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px&quot;&gt;Technorati Tags: &lt;a href=&quot;http://technorati.com/tags/MacVittie&quot; rel=&quot;tag&quot;&gt;MacVittie&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/F5&quot; rel=&quot;tag&quot;&gt;F5&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/virtualization&quot; rel=&quot;tag&quot;&gt;virtualization&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/cloud+computing&quot; rel=&quot;tag&quot;&gt;cloud computing&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/cloud&quot; rel=&quot;tag&quot;&gt;cloud&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/infrastructure&quot; rel=&quot;tag&quot;&gt;infrastructure&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/application+delivery&quot; rel=&quot;tag&quot;&gt;application delivery&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/intercloud&quot; rel=&quot;tag&quot;&gt;intercloud&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/cloud+balancing&quot; rel=&quot;tag&quot;&gt;cloud balancing&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/architecture&quot; rel=&quot;tag&quot;&gt;architecture&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/governance&quot; rel=&quot;tag&quot;&gt;governance&lt;/a&gt;&lt;/div&gt;&lt;img src=&quot;http://devcentral.f5.com/weblogs/macvittie/aggbug/734026.aspx&quot; width=&quot;1&quot; height=&quot;1&quot; /&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/f5/XOwx/~4/Xj2DstaPjA0&quot; height=&quot;1&quot; width=&quot;1&quot;/&gt;&lt;p&gt;&lt;a href=&quot;http://lorimacvittie.sys-con.com/node/1211869&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Tue, 08 Dec 2009 06:31:58 EST</pubDate>
 <guid isPermaLink="true">http://lorimacvittie.sys-con.com/node/1211869</guid>
 <comments>http://lorimacvittie.sys-con.com/node/1211869#feedback</comments>
</item>
<item>
 <title>The Application Delivery Spell Book: Contingency</title>
 <link>http://lorimacvittie.sys-con.com/node/1211765</link>
 <description>&lt;p&gt;&lt;em&gt;The long, lost application delivery spell compendium has been found! Its once hidden, arcane knowledge is slowly being translated for the good of all web applications. Luckily, you don’t have to be Elminster or Gandalf or &amp;lt;insert powerful wizard you know here&amp;gt; to cast &lt;/em&gt;this &lt;em&gt;spell over your infrastructure &lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Contingency &lt;a href=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/TheApplicationDeliverySpellBookContingen_BBEE/image7.png&quot;&gt;&lt;img title=&quot;image_thumb6[5]&quot; style=&quot;border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; margin-left: 0px; margin-right: 0px; border-right-width: 0px&quot; height=&quot;240&quot; alt=&quot;image_thumb6[5]&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/TheApplicationDeliverySpellBookContingen_BBEE/image_thumb6%5B5%5D_6852c8a9-298e-4e82-974d-5abdf88d37e3.png&quot; width=&quot;186&quot; align=&quot;right&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;   &lt;strong&gt;School of Magic:&lt;/strong&gt; Evocation &lt;/p&gt;  &lt;p&gt;   &lt;strong&gt;Components&lt;/strong&gt;: Somatic (requires gestures), Material (requires physical component) &lt;/p&gt;  &lt;p&gt;   &lt;strong&gt;Saving Throw: &lt;/strong&gt;None &lt;/p&gt;  &lt;p&gt;   &lt;strong&gt;Spell Resistance: &lt;/strong&gt;No&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;Through the use of the &lt;em&gt;contingency&lt;/em&gt; spell, application delivery professionals can dictate the conditions of the execution of another spell. The &lt;em&gt;contingency &lt;/em&gt;spell and the companion spell(s) are cast at the same time, but the companion spell fires only when the conditions specified by the &lt;em&gt;contingency &lt;/em&gt;spell are met. &lt;/p&gt;    &lt;p&gt;The material component for this spell is a network-side scripting capable &lt;a href=&quot;http://www.f5.com/products/big-ip/&quot;&gt;application delivery controller&lt;/a&gt;. The somatic component requires the caster to complete a series of mouse clicks and keyboard strokes that deploy a &lt;a href=&quot;http://devcentral.f5.com/iRules&quot;&gt;network-side script&lt;/a&gt; that fires when the specified event occurs. A verbal component is not necessary, but some casters find it satisfying to complete the invocation of &lt;em&gt;contingency &lt;/em&gt;with some sort of joyful noise (defensive casters belonging to the &lt;font color=&quot;#800080&quot;&gt;&lt;strong&gt;InfoSec Guild&lt;/strong&gt;&lt;/font&gt; tend to call out “Huzzah! Beat that!” for some reason). &lt;/p&gt;    &lt;p&gt;The spell to be brought into effect by the &lt;em&gt;contingency&lt;/em&gt; can be one that affects layers 2 through 7 and can either be narrow or broad in its targeting. For example, the &lt;em&gt;contingency &lt;/em&gt;can be based upon specified triggers such as: HTTP_REQUEST, HTTP_RESPONSE, CLIENT_DATA, ASM_REQUEST_VIOLATION, SIP_RESPONSE, DNS_REQUEST, and ASM_RESPONSE_VIOLATION. Consult your &lt;a href=&quot;http://devcentral.f5.com/iRules&quot;&gt;player’s handbook&lt;/a&gt; for a &lt;a href=&quot;http://devcentral.f5.com/Wiki/default.aspx/iRules/Events.html&quot;&gt;complete list of possible triggers&lt;/a&gt;. You can use multiple &lt;em&gt;contingency &lt;/em&gt;spells at a time, but each will fire according to the &lt;a href=&quot;http://devcentral.f5.com/Default.aspx?tabid=63&amp;amp;articleType=ArticleView&amp;amp;articleId=344&quot;&gt;order of events&lt;/a&gt; specified in the player’s handbook.  &lt;/p&gt;    &lt;p&gt;Like many illusionist spells the effects of the companion spell(s) are heavily dependent upon your imagination. Existing spells that have been cast along with &lt;em&gt;contingency&lt;/em&gt; that have been made available by their casters can be explored in the &lt;a href=&quot;http://devcentral.f5.com/Wiki/default.aspx/iRules/CodeShare.html &quot;&gt;companion spell compendium&lt;/a&gt;. &lt;/p&gt; &lt;/blockquote&gt;  &lt;hr width=&quot;100%&quot; color=&quot;#680000&quot; noshade=&quot;noshade&quot; /&gt;  &lt;div style=&quot;background: #ebd3d3; width: 100%&quot;&gt;&lt;strong&gt;EVENT-BASED APPLICATION DELIVERY&lt;/strong&gt;&lt;/div&gt;  &lt;hr width=&quot;100%&quot; color=&quot;#680000&quot; noshade=&quot;noshade&quot; /&gt;Network-side scripting capabilities in application delivery controllers offer a unique method of extending a wide variety of IT-related functions “into the network”. When we talk about Infrastructure 2.0 we tend to focus in on &lt;a href=&quot;http://devcentral.f5.com/iControl&quot;&gt;control-plane APIs&lt;/a&gt; that enable management and dynamism in the infrastructure but &lt;a href=&quot;http://devcentral.f5.com/iRules&quot;&gt;network-side scripting&lt;/a&gt; can be as integral to enabling an agile and extensible infrastructure as its control-plane API cousins.   &lt;p&gt;“I wish it would do &lt;em&gt;this &lt;/em&gt;when &lt;em&gt;that &lt;/em&gt;happens” is an utterance I’m sure most of you have heard – if not muttered/exclaimed yourself. No solution is 100% perfect for your environment and needs; there’s always &lt;em&gt;something &lt;/em&gt;you wish it could/would do that it doesn’t. In most cases there’s nothing you can do about it; it’s take it or leave it. &lt;/p&gt;  &lt;p&gt;Network-side scripting provides the means by which you can probably make &lt;em&gt;that &lt;/em&gt;happen when &lt;em&gt;this &lt;/em&gt;happens. The number of &lt;em&gt;that happens &lt;/em&gt;supported by network-side scripting capable solutions varies but in some cases is quite lengthy and spans a wide variety of infrastructure concerns. Network-side scripting enables you to say WHEN &lt;em&gt;THAT_HAPPENS &lt;/em&gt;do THIS. It provides a framework in which you can tailor application delivery functions – &lt;a href=&quot;http://www.f5.com/solutions/security/&quot;&gt;security&lt;/a&gt;, authentication, &lt;a href=&quot;http://www.f5.com/solutions/acceleration/&quot;&gt;acceleration&lt;/a&gt;, optimization, &lt;a href=&quot;http://www.f5.com/glossary/load-balancing.html&quot;&gt;load balancing&lt;/a&gt;, routing, transformation - to your unique environment in a way that’s just not possible in a turn-key solution.     &lt;/p&gt;&lt;hr width=&quot;100%&quot; color=&quot;#680000&quot; noshade=&quot;noshade&quot; /&gt;     &lt;div style=&quot;background: #ebd3d3; width: 100%&quot;&gt;&lt;strong&gt;EXAMPLE: IMPROVING SECURITY-RELATED RESPONSES&lt;/strong&gt;&lt;/div&gt;    &lt;hr width=&quot;100%&quot; color=&quot;#680000&quot; noshade=&quot;noshade&quot; /&gt;One of the downsides to web application firewalls has been that the range of actions you can perform has always been somewhat limited. You can block, quarantine, log, or ignore policy violations but it’s difficult to enable custom functionality. “Contingency”, a.k.a. network-side scripting, changes that and allows developers and architects to respond to application security policy violations specifically tailored to suit organizational needs. Both inbound (request) and outbound (response) violations can be used to trigger custom responses.   &lt;p&gt;Just a few of the attack types you can respond to are: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;ATTACK_TYPE_TROJAN_BACKDOOR_SPYWARE        &lt;br /&gt;&lt;/strong&gt;Trojan/Backdoor/Spyware &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;ATTACK_TYPE_DETECTION_EVASION&lt;/strong&gt;       &lt;br /&gt;Detection Evasion &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;ATTACK_TYPE_VULNERABILITY_SCAN&lt;/strong&gt;       &lt;br /&gt;Vulnerability Scan &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;ATTACK_TYPE_ABUSE_OF_FUNCTIONALITY&lt;/strong&gt;       &lt;br /&gt;Abuse of Functionality &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;ATTACK_TYPE_AUTHENTICATION_AUTHORIZATION_ATTACKS&lt;/strong&gt;       &lt;br /&gt;Authentication/Authorization Attacks &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;ATTACK_TYPE_BUFFER_OVERFLOW&lt;/strong&gt;       &lt;br /&gt;Buffer Overflow &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;ATTACK_TYPE_PREDICTABLE_RESOURCE_LOCATION&lt;/strong&gt;       &lt;br /&gt;Predictable Resource Location &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;ATTACK_TYPE_INFORMATION_LEAKAGE&lt;/strong&gt;       &lt;br /&gt;Information Leakage &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;ATTACK_TYPE_DIRECTORY_INDEXING        &lt;br /&gt;&lt;/strong&gt;Directory Indexing &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;ATTACK_TYPE_PATH_TRAVERSAL        &lt;br /&gt;&lt;/strong&gt;Path Traversal &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;ATTACK_TYPE_XPATH_INJECTION        &lt;br /&gt;&lt;/strong&gt;XPath Injection&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;The ability to act on specific policy violations combined with the proper &lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2008/12/02/the-context-aware-cloud.aspx&quot;&gt;context&lt;/a&gt; provides the means by which a web application firewall can be leveraged to enhance business value – by providing helpful information to legitimate users that can assist in resolving the problem without involving the help/support desk – as well as the overall security posture of the applications being defended. Perhaps its nothing more than a custom blocking page on which you emphatically inform the violator that you know what they’re doing or a redirection to a self-service site for users you know, because you have the proper context, are simply having a bad day and need some help. &lt;/p&gt;  &lt;p&gt;Ultimately the purpose of this kind of flexibility is to enable a more agile infrastructure and increase visibility into application delivery. Visibility comes from information, and it is a wealth of information that can be provided by examining application security policy violation events. Even if the response is nothing more than to log the details information security pros deem important it’s improving the visibility into the application environment that can aid IT in improving web application security and related processes. &lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;http://twitter.com/lmacvittie&quot;&gt;&lt;img height=&quot;18&quot; alt=&quot;Follow me on Twitter&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_twitt-twoo-icon.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a title=&quot;Follow F5 Networks on Twitter&quot; href=&quot;http://tweepml.org/F5-Networks-Tweeple/&quot;&gt;&lt;img height=&quot;18&quot; src=&quot;http://tweepml.org/s/tweepml16.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a title=&quot;Follow F5 DevCentral on Twitter&quot; href=&quot;http://tweepml.org/F5-DevCentral/&quot;&gt;&lt;img height=&quot;18&quot; src=&quot;http://tweepml.org/s/tweepml16.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/Rss.aspx&quot;&gt;&lt;img src=&quot;http://devcentral.f5.com/Portals/0/images/Icons/icon_xml_18.gif&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://www.slideshare.net/lmacvittie&quot;&gt;&lt;img height=&quot;18&quot; alt=&quot;View Lori&#039;s profile on SlideShare&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_slideshare.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://www.linkedin.com/in/lmacvittie&quot;&gt;&lt;img src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_linkedin_16.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://www.friendfeed.com/lmacvittie&quot;&gt;&lt;img style=&quot;border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px&quot; height=&quot;18&quot; alt=&quot;friendfeed&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/friendfeed_3.jpg&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://www.facebook.com/lmacvittie&quot;&gt;&lt;img style=&quot;border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px&quot; height=&quot;18&quot; alt=&quot;icon_facebook&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/icon_facebook_4.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a title=&quot;Subscribe using any feed reader!&quot; href=&quot;http://www.addthis.com/feed.php?pub=lmacvittie&amp;amp;h1=http%3A%2F%2Fdevcentral.f5.com%2Fweblogs%2Fmacvittie%2FRss.aspx&amp;amp;t1=&quot;&gt;&lt;img height=&quot;18&quot; alt=&quot;AddThis Feed Button&quot; src=&quot;http://s9.addthis.com/button1-fd.gif&quot; width=&quot;125&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a title=&quot;Bookmark and Share&quot; onclick=&quot;window.open(&#039;http://www.addthis.com/bookmark.php?wt=nw&amp;amp;pub=lmacvittie&amp;amp;url=&#039;+encodeURIComponent(location.href)+&#039;&amp;amp;title=&#039;+encodeURIComponent(document.title), &#039;addthis&#039;, &#039;scrollbars=yes,menubar=no,width=620,height=520,resizable=yes,toolbar=no,location=no,status=no,screenX=200,screenY=100,left=200,top=100&#039;); return false;&quot; href=&quot;http://www.addthis.com/bookmark.php&quot; target=&quot;_blank&quot;&gt;&lt;img height=&quot;18&quot; alt=&quot;Bookmark and Share&quot; src=&quot;http://s9.addthis.com/button1-share.gif&quot; width=&quot;125&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;script type=&quot;text/javascript&quot; src=&quot;http://track.mybloglog.com/js/jsserv.php?mblID=2008070914270355&quot;&gt;&lt;/script&gt;&lt;/p&gt;  &lt;p&gt;Related blogs &amp;amp; articles: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/10/01/the-gazebo-on-your-web-site.aspx&quot;&gt;Excuse Me But Is That a Gazebo On Your Site?!&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2008/10/31/understanding-network-side-scripting.aspx&quot;&gt;Understanding &lt;em&gt;network&lt;/em&gt;-&lt;em&gt;side&lt;/em&gt; scripting&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2008/12/11/9-ways-to-use-network-side-scripting-to-architect-faster-scalable.aspx&quot;&gt;9 ways to use network-side scripting to architect faster, scalable, more secure applications&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/09/03/if-your-users-see-an-http-error-code-yoursquore-doing.aspx&quot;&gt;If Your Users See an HTTP Error Code You’re Doing It Wrong&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/10/05/using-network-side-scripting-to-implement-mock-api-endpoints.aspx&quot;&gt;Using Network-Side Scripting to Implement Mock API Endpoints&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/09/16/ajax-and-network-side-scripting.aspx&quot;&gt;AJAX and Network-Side Scripting&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/01/05/stop-brute-force-listing-of-http-options-with-network-side-scripting.aspx&quot;&gt;Stop brute force listing of HTTP OPTIONS with network-side scripting&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/04/23/jedi-mind-tricks-http-request-smuggling.aspx&quot;&gt;Jedi Mind Tricks: HTTP Request Smuggling&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/01/15/i-am-in-your-http-headers-attacking-your-application.aspx&quot;&gt;I am in your HTTP headers, attacking your application&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt; &lt;/p&gt;  &lt;div class=&quot;wlWriterEditableSmartContent&quot; id=&quot;scid:0767317B-992E-4b12-91E0-4F059A8CECA8:f6ffdfa7-3b16-4806-930a-afa182ba9f73&quot; style=&quot;padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px&quot;&gt;Technorati Tags: &lt;a href=&quot;http://technorati.com/tags/MacVittie&quot; rel=&quot;tag&quot;&gt;MacVittie&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/F5&quot; rel=&quot;tag&quot;&gt;F5&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/application+delivery&quot; rel=&quot;tag&quot;&gt;application delivery&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/contingency&quot; rel=&quot;tag&quot;&gt;contingency&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/ADSB&quot; rel=&quot;tag&quot;&gt;ADSB&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/network-side+scripting&quot; rel=&quot;tag&quot;&gt;network-side scripting&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/event-driven+architecture&quot; rel=&quot;tag&quot;&gt;event-driven architecture&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/security&quot; rel=&quot;tag&quot;&gt;security&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/acceleration&quot; rel=&quot;tag&quot;&gt;acceleration&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/load+balancing&quot; rel=&quot;tag&quot;&gt;load balancing&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/routing&quot; rel=&quot;tag&quot;&gt;routing&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/D%26D&quot; rel=&quot;tag&quot;&gt;D&amp;amp;D&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/iRules&quot; rel=&quot;tag&quot;&gt;iRules&lt;/a&gt;&lt;/div&gt;&lt;img src=&quot;http://devcentral.f5.com/weblogs/macvittie/aggbug/734023.aspx&quot; width=&quot;1&quot; height=&quot;1&quot; /&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/f5/XOwx/~4/nrMf2w-d8ZA&quot; height=&quot;1&quot; width=&quot;1&quot;/&gt;&lt;p&gt;&lt;a href=&quot;http://lorimacvittie.sys-con.com/node/1211765&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Mon, 07 Dec 2009 06:37:15 EST</pubDate>
 <guid isPermaLink="true">http://lorimacvittie.sys-con.com/node/1211765</guid>
 <comments>http://lorimacvittie.sys-con.com/node/1211765#feedback</comments>
</item>
<item>
 <title>Cloud Is the Gift That Keeps on Giving</title>
 <link>http://lorimacvittie.sys-con.com/node/1210099</link>
 <description>Brenda Michelson, Principal of Elemental Links, writes &quot;elemental cloud computing&quot; recently tweeted: &quot;100k buys way more public, than private, cloud computing power&quot; which started a short but inspiring conversation on the subject centering around the observation that &quot;cloud is the gift that keeps on giving.&quot; That&#039;s alluding to the fact that the compute power purchased in &quot;the cloud&quot; is an annual expense, unlike private, cloud computing power which requires renewal at longer intervals, usually in the 3-5 year range.

Still, Brenda is right at least in the short term. $100,000 purchases a lot more compute power in a public cloud computing environment than it will/would/does in a private cloud computing environment. The problem is that $100,000 in a private cloud computing environment is likely to provide more business value than would a comparable investment in a public cloud computing environment. And that&#039;s really the metric we should be using instead of CAPEX versus OPEX.&lt;p&gt;&lt;a href=&quot;http://lorimacvittie.sys-con.com/node/1210099&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Fri, 04 Dec 2009 15:45:00 EST</pubDate>
 <guid isPermaLink="true">http://lorimacvittie.sys-con.com/node/1210099</guid>
 <comments>http://lorimacvittie.sys-con.com/node/1210099#feedback</comments>
</item>
<item>
 <title>No Shirt, No Shoes, No HTTP Service</title>
 <link>http://lorimacvittie.sys-con.com/node/1204447</link>
 <description>But on the web, access to services is implicit in the fact that the business is offering the service. If the HTTP service is accessible, it’s implicitly allowing connections and providing service without any standard criteria for access. This results in access by more than just customers and potential customers. Bots, spiders, and miscreants are afforded the same access to business services as more desirable visitors. This can unfortunately lead to compromise, theft, and corruption of data via myriad injection and attack methods – many of them automated. While gating access to services that comes from offering a service is likely not the best solution (although it is a solution), there has to be a way to at least mitigate the automated abuse of open access to services by miscreants that leverage scripting to attack sites.&lt;p&gt;&lt;a href=&quot;http://lorimacvittie.sys-con.com/node/1204447&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Fri, 04 Dec 2009 14:15:00 EST</pubDate>
 <guid isPermaLink="true">http://lorimacvittie.sys-con.com/node/1204447</guid>
 <comments>http://lorimacvittie.sys-con.com/node/1204447#feedback</comments>
</item>
<item>
 <title>Next-Generation Management of Data Centers Should be Modeled on Social Networking</title>
 <link>http://lorimacvittie.sys-con.com/node/1211086</link>
 <description>&lt;p&gt;&lt;em&gt;Should the next generation management of network and application network devices look and act more like Facebook and Twitter? Infrastructure 2.0 could take us there. &lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style=&quot;font-size: 100px; background: #fff; float: left; color: #000; line-height: 80px; font-family: times; padding-: 1px 5px 0 0&quot;&gt;Y&lt;/span&gt; ou may think I’m kidding and certainly I make this proposal with some amount of humorous intent, but there is some value, I think, in applying the concepts of Web 2.0 and social networking to network management systems (NMS). &lt;/p&gt;  &lt;p&gt;There’s a reason it’s called social &lt;em&gt;networking&lt;/em&gt;, after all. It’s modeled closely on &lt;em&gt;networking &lt;/em&gt;and NMS is primarily about managing not just individual network and application network devices, but on managing &lt;font color=&quot;#ff0000&quot;&gt;the relationships&lt;/font&gt; between them. “Dependencies” are often included in NMS applications to better visualize and traverse the myriad relationships between network, application network, storage, and applications that make up the data center infrastructure. Understanding which devices are “friends” and which are “followers” is nothing new to NMS and IT professionals who spend their days mired inside these applications. &lt;/p&gt;  &lt;p&gt;I occasionally see tweets and press releases regarding new versions of this NMS solution or that, but even the newer ones are all very focused on doing the same old thing with a dash of “cloud” for flavor. If we’re going to completely and potentially irrevocably change the style of computing, shouldn’t we change our methods of management, too? &lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/NextGenerationManagementSystemsShouldbeM_473E/infrashare_2.png&quot;&gt;&lt;img title=&quot;infrashare&quot; style=&quot;border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; margin: 0px 15px 5px 0px; border-right-width: 0px&quot; height=&quot;184&quot; alt=&quot;infrashare&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/NextGenerationManagementSystemsShouldbeM_473E/infrashare_thumb.png&quot; width=&quot;425&quot; align=&quot;left&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;Wouldn’t it be nice if you could use mechanisms similar to &lt;a href=&quot;http://oauth.net/&quot;&gt;OAuth&lt;/a&gt; to connect various devices together and on a granular basis permit the exchange of configuration – relevant polices, for example? And wouldn’t it be even nicer if that exchange could be mediated automatically? When &lt;a href=&quot;http://www.f5.com/big-ip/&quot;&gt;BIG-IP&lt;/a&gt; 003 “&lt;a href=&quot;http://www.twitter.com&quot;&gt;tweets&lt;/a&gt;” a configuration update – such as the launch of a new virtual instance of an application - it is picked up by its followers (including BIG-IP 002) and triggers the appropriate update on &lt;em&gt;its &lt;/em&gt;configuration. &lt;a href=&quot;http://www.facebook.com&quot;&gt;Facebook&lt;/a&gt; style Walls could substitute for text-based log files and provide many of the same features as Web 2.0 and social networking sites do today: sharing with other systems, tagging, marking for later perusal, etc… &lt;/p&gt;  &lt;p&gt;Example: you’re perusing through your &lt;a href=&quot;http://www.apache.org&quot;&gt;Apache&lt;/a&gt; “Wall”. You see in the log an HTTP request that is obviously an attempt to exploit a vulnerability. You click the “SHARE” button and are presented with a list of all your “network” friends. You choose your firewall/&lt;a href=&quot;http://www.f5.com/solutions/security/&quot;&gt;web application firewall&lt;/a&gt; and options are immediately presented as to the kind of sharing you want to do. You choose “create a policy to block this IP” and WHAM! No more exploitable requests from &lt;em&gt;that &lt;/em&gt;IP address. It’s the &lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/01/29/virtual-patching-what-is-it-and-why-you-should-be.aspx&quot;&gt;virtual patching&lt;/a&gt; that &lt;a href=&quot;http://www.whitehatsec.com&quot;&gt;White Hat Security&lt;/a&gt; has been doing for years married to Facebook. Awesome powerful stuff there. &lt;/p&gt;  &lt;hr width=&quot;100%&quot; color=&quot;#680000&quot; noshade=&quot;noshade&quot; /&gt;  &lt;div style=&quot;background: #ebd3d3; width: 100%&quot;&gt;&lt;strong&gt;THIS is WHERE INFRASTRUCTURE 2.0 COULD TAKE US – IF WE WANTED TO GO THERE&lt;/strong&gt;&lt;/div&gt;  &lt;hr width=&quot;100%&quot; color=&quot;#680000&quot; noshade=&quot;noshade&quot; /&gt;  &lt;p&gt;I started out by mentioning there is some amount of humorous intent in this idea but the core concept is very serious: the collaboration and relationships that are inherent in Web 2.0 and&lt;a href=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/NextGenerationManagementSystemsShouldbeM_473E/infrabook_2.png&quot;&gt;&lt;img title=&quot;Infrabook&quot; style=&quot;border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; margin: 10px 0px 10px 15px; border-right-width: 0px&quot; height=&quot;302&quot; alt=&quot;Infrabook&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/NextGenerationManagementSystemsShouldbeM_473E/infrabook_thumb.png&quot; width=&quot;617&quot; align=&quot;right&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; social networking are definitely applicable to managing emerging data center models. The ability to interconnect the network, application network, storage, and applications is paramount to a successful implementation. Without that interconnection - without a dynamic control plane to support the collaboration – any next generation implementation simply adds complexity to an already complex set of systems. Efficiency and indeed agility is achieved through dynamism, and dynamism is achieved through the ability to send and receive actionable data and execute the appropriate processes without requiring human intervention. But we shouldn’t stop at the operational layer. Let’s keep going, up the “stack” and re-examine how we manage these systems. There’s no reason we can’t leverage the &lt;a href=&quot;http://www.f5.com/pdf/white-papers/icontrol-wp.pdf&quot;&gt;robust APIs available&lt;/a&gt; [PDF] to control and manage infrastructure solutions to build a next-generation management system that is itself dynamic and collaborative. &lt;/p&gt;  &lt;p&gt;How this collaboration is leveraged is completely up to the implementer, which is why even though it may seem funny we certainly &lt;em&gt;could &lt;/em&gt;see Facebook/Twitter-style functionality in our &lt;a href=&quot;http://www.hp.com&quot;&gt;HP&lt;/a&gt; OpenView/&lt;a href=&quot;http://www.ca.com&quot;&gt;CA&lt;/a&gt; Unicenter/&lt;a href=&quot;http://www.ibm.com&quot;&gt;IBM&lt;/a&gt; Tivoli/&amp;lt;insert NMS here&amp;gt; solutions. There’s no reason why, when most infrastructure 2.0 solutions are capable of &lt;a href=&quot;http://devcentral.f5.com/iControl&quot;&gt;SOAPy&lt;/a&gt; or RESTful (or both) integration that we &lt;em&gt;can’t &lt;/em&gt;create something that’s more collaborative, more integrated, and generally makes the ability to configure and manage systems across multiple installations a bit easier. &lt;/p&gt;  &lt;p&gt;Remember the &lt;a href=&quot;http://devcentral.f5.com/weblogs/Joe/archive/2008/12/15/two-twitterbots-are-better-than-one.aspx&quot;&gt;Twitter-bots Joe and I created for BIG-IP&lt;/a&gt;? It wasn’t just alerting and notifications; we could command a BIG-IP remotely via Twitter. So my funny idea gets a bit more serious when you consider we’re already leveraging the collaborative capabilities of infrastructure 2.0 to find new ways to manage and interact with network, storage, and application network solutions. There’s a lot we can learn from the success and rapid adoption of social networking and Web 2.0, and primary among those lessons is that collaboration, relationships, and integration doesn’t have to painful. It can be dynamic, simple, and even at times enjoyable. &lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;http://twitter.com/lmacvittie&quot;&gt;&lt;img height=&quot;18&quot; alt=&quot;Follow me on Twitter&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_twitt-twoo-icon.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a title=&quot;Follow F5 Networks on Twitter&quot; href=&quot;http://tweepml.org/F5-Networks-Tweeple/&quot;&gt;&lt;img height=&quot;18&quot; src=&quot;http://tweepml.org/s/tweepml16.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a title=&quot;Follow F5 DevCentral on Twitter&quot; href=&quot;http://tweepml.org/F5-DevCentral/&quot;&gt;&lt;img height=&quot;18&quot; src=&quot;http://tweepml.org/s/tweepml16.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/Rss.aspx&quot;&gt;&lt;img src=&quot;http://devcentral.f5.com/Portals/0/images/Icons/icon_xml_18.gif&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://www.slideshare.net/lmacvittie&quot;&gt;&lt;img height=&quot;18&quot; alt=&quot;View Lori&#039;s profile on SlideShare&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_slideshare.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://www.linkedin.com/in/lmacvittie&quot;&gt;&lt;img src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_linkedin_16.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://www.friendfeed.com/lmacvittie&quot;&gt;&lt;img style=&quot;border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px&quot; height=&quot;18&quot; alt=&quot;friendfeed&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/friendfeed_3.jpg&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://www.facebook.com/lmacvittie&quot;&gt;&lt;img style=&quot;border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px&quot; height=&quot;18&quot; alt=&quot;icon_facebook&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/icon_facebook_4.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a title=&quot;Subscribe using any feed reader!&quot; href=&quot;http://www.addthis.com/feed.php?pub=lmacvittie&amp;amp;h1=http%3A%2F%2Fdevcentral.f5.com%2Fweblogs%2Fmacvittie%2FRss.aspx&amp;amp;t1=&quot;&gt;&lt;img height=&quot;18&quot; alt=&quot;AddThis Feed Button&quot; src=&quot;http://s9.addthis.com/button1-fd.gif&quot; width=&quot;125&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a title=&quot;Bookmark and Share&quot; onclick=&quot;window.open(&#039;http://www.addthis.com/bookmark.php?wt=nw&amp;amp;pub=lmacvittie&amp;amp;url=&#039;+encodeURIComponent(location.href)+&#039;&amp;amp;title=&#039;+encodeURIComponent(document.title), &#039;addthis&#039;, &#039;scrollbars=yes,menubar=no,width=620,height=520,resizable=yes,toolbar=no,location=no,status=no,screenX=200,screenY=100,left=200,top=100&#039;); return false;&quot; href=&quot;http://www.addthis.com/bookmark.php&quot; target=&quot;_blank&quot;&gt;&lt;img height=&quot;18&quot; alt=&quot;Bookmark and Share&quot; src=&quot;http://s9.addthis.com/button1-share.gif&quot; width=&quot;125&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;script type=&quot;text/javascript&quot; src=&quot;http://track.mybloglog.com/js/jsserv.php?mblID=2008070914270355&quot;&gt;&lt;/script&gt;&lt;/p&gt;  &lt;p&gt;Related blogs &amp;amp; articles: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/01/29/virtual-patching-what-is-it-and-why-you-should-be.aspx&quot;&gt;&lt;b&gt;Virtual&lt;/b&gt; &lt;b&gt;Patching&lt;/b&gt;: What is it and why you should be doing it&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/11/12/cloud-standards-and-pants.aspx&quot;&gt;Cloud, Standards, and Pants&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/11/04/the-api-is-the-new-cli.aspx&quot;&gt;The API Is the New CLI&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/10/08/infrastructure-2.0-is-the-beginning-of-the-story-not-the.aspx&quot;&gt;&lt;b&gt;Infrastructure&lt;/b&gt; &lt;b&gt;2.0&lt;/b&gt; Is the Beginning of the Story, Not the End&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/09/29/infrastructure-2.0-isnrsquot-just-for-cloud-computing.aspx&quot;&gt;&lt;b&gt;Infrastructure&lt;/b&gt; &lt;b&gt;2.0&lt;/b&gt; Isn’t Just For Cloud Computing&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/09/25/infrastructure-integration-metadata-versus-api.aspx&quot;&gt;Infrastructure Integration: Metadata versus API&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/09/14/the-cloud-metastructure-hubub.aspx&quot;&gt;The Cloud Metastructure Hubub&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;div class=&quot;wlWriterEditableSmartContent&quot; id=&quot;scid:0767317B-992E-4b12-91E0-4F059A8CECA8:5cf82e7b-738f-405c-8d7b-3cc1d1e816a6&quot; style=&quot;padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px&quot;&gt;Technorati Tags: &lt;a href=&quot;http://technorati.com/tags/MacVittie&quot; rel=&quot;tag&quot;&gt;MacVittie&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/F5&quot; rel=&quot;tag&quot;&gt;F5&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/infrastructure+2.0&quot; rel=&quot;tag&quot;&gt;infrastructure 2.0&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/infrastructure&quot; rel=&quot;tag&quot;&gt;infrastructure&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/network+and+systems+management&quot; rel=&quot;tag&quot;&gt;network and systems management&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/NSM&quot; rel=&quot;tag&quot;&gt;NSM&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/CA&quot; rel=&quot;tag&quot;&gt;CA&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/HP&quot; rel=&quot;tag&quot;&gt;HP&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/IBM&quot; rel=&quot;tag&quot;&gt;IBM&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/Tivoli&quot; rel=&quot;tag&quot;&gt;Tivoli&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/OpenView&quot; rel=&quot;tag&quot;&gt;OpenView&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/Unicenter&quot; rel=&quot;tag&quot;&gt;Unicenter&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/API&quot; rel=&quot;tag&quot;&gt;API&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/SOAP&quot; rel=&quot;tag&quot;&gt;SOAP&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/REST&quot; rel=&quot;tag&quot;&gt;REST&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/facebook&quot; rel=&quot;tag&quot;&gt;facebook&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/twitter&quot; rel=&quot;tag&quot;&gt;twitter&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/social+networking&quot; rel=&quot;tag&quot;&gt;social networking&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/web+2.0&quot; rel=&quot;tag&quot;&gt;web 2.0&lt;/a&gt;&lt;/div&gt;&lt;img src=&quot;http://devcentral.f5.com/weblogs/macvittie/aggbug/734019.aspx&quot; width=&quot;1&quot; height=&quot;1&quot; /&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/f5/XOwx/~4/_aph-vlxmu8&quot; height=&quot;1&quot; width=&quot;1&quot;/&gt;&lt;p&gt;&lt;a href=&quot;http://lorimacvittie.sys-con.com/node/1211086&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Fri, 04 Dec 2009 07:34:52 EST</pubDate>
 <guid isPermaLink="true">http://lorimacvittie.sys-con.com/node/1211086</guid>
 <comments>http://lorimacvittie.sys-con.com/node/1211086#feedback</comments>
</item>
<item>
 <title>Grokking the Goodness of MapReduce and SPDY</title>
 <link>http://lorimacvittie.sys-con.com/node/1206754</link>
 <description>&lt;p&gt;&lt;em&gt;Certainly no one would seriously argue that web applications are fast enough for everyone. SPDY is one suggested solution, but what if we combine MapReduce and SPDY? Could we develop an architectural solution that leverages the best of SPDY without &lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/11/17/google-spdy-protocol-would-require-mass-change-in-infrastructure.aspx&quot;&gt;requiring entire infrastructure changes to support a new protocol&lt;/a&gt;? &lt;/em&gt;&lt;/p&gt;  &lt;p&gt;More than a couple of people have mentioned &lt;a href=&quot;http://labs.google.com/papers/mapreduce.html&quot;&gt;Map/Reduce&lt;/a&gt; as a means to achieve workload-level distribution of applications in a cloud computing environment. I hadn’t looked into Map/Reduce but finally decided that if that many very smart people were thinking it was a solution, I should look into it. After reading through a few tutorials and articles on the subject, including a &lt;a href=&quot;http://pages.cs.wisc.edu/~remzi/Classes/537/Fall2008/Notes/mapreduce.pdf&quot;&gt;much referenced lecture&lt;/a&gt; from a UW Madison (yeah! Badgers!) professor, I began to wonder how well we could combined MapReduce with &lt;a href=&quot;http://dev.chromium.org/spdy/spdy-protocol&quot;&gt;SPDY&lt;/a&gt; as a means to improve application delivery. [The referenced ‘illustrated’ PDF from the lecture is hard to find. &lt;a href=&quot;http://pages.cs.wisc.edu/~haryadi/537/slides/lec24-mapReduce-illustrated.pdf&quot;&gt;You can access it here&lt;/a&gt;. ] &lt;/p&gt;  &lt;p&gt;From &lt;a href=&quot;http://burtonator.files.wordpress.com/2008/01/p107-dean.pdf&quot;&gt;Google’s paper on Map/Reduce&lt;/a&gt;:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/c175e84cc35d_CD2E/blockquote_2.gif&quot;&gt;&lt;img title=&quot;blockquote&quot; style=&quot;border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; margin-left: 0px; margin-right: 0px; border-right-width: 0px&quot; height=&quot;28&quot; alt=&quot;blockquote&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/c175e84cc35d_CD2E/blockquote_thumb.gif&quot; width=&quot;46&quot; align=&quot;left&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; MapReduce is a programming model and an associated implementation for processing and generating large datasets that is amenable to a broad variety of real-world tasks. Users specify the computation in terms of a map and a reduce function, and the underlying runtime system automatically parallelizes the computation across large-scale clusters of machines, handles machine failures, and schedules inter-machine communication to make efficient use of the network and disks. &lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;Programmers find the system easy to use: more than ten thousand distinct MapReduce programs have been implemented internally at Google over the past four years, and an average of one hundred thousand MapReduce jobs are executed on Google’s clusters every day, processing a total of more than twenty petabytes of data per day.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;It isn’t &lt;em&gt;just &lt;/em&gt;the protocol (SPDY) that’s apposite to application performance and more specifically, web application performance. After looking through Map/Reduce, it would certainly appear that the combination of the “programmatic model” and SPDY would definitely provide the kind of scale and processing speed necessary to achieve a “speedier web.”     &lt;/p&gt;&lt;hr width=&quot;100%&quot; color=&quot;#680000&quot; noshade=&quot;noshade&quot; /&gt;    &lt;div style=&quot;background: #ebd3d3; width: 100%&quot;&gt;&lt;strong&gt;THE WAY IT WORKS TODAY&lt;/strong&gt;&lt;/div&gt;    &lt;hr width=&quot;100%&quot; color=&quot;#680000&quot; noshade=&quot;noshade&quot; /&gt;  &lt;p /&gt;  &lt;p&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/c175e84cc35d_CD2E/image_2.png&quot;&gt;&lt;img title=&quot;image&quot; style=&quot;border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; margin: 0px 10px 0px 0px; border-right-width: 0px&quot; height=&quot;225&quot; alt=&quot;image&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/c175e84cc35d_CD2E/image_thumb.png&quot; width=&quot;478&quot; align=&quot;left&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;When we want to scale a web application today we need to build out an architecture that load balances requests across a pool of servers. Clients are limited in the &lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2008/06/17/3365.aspx&quot;&gt;number of connections that can be opened to any given host&lt;/a&gt;, but that number is now in the 6-8 range for modern browsers. The connections are synchronous, meaning that once a request is sent a reply must be received before the next request can be sent. &lt;/p&gt;  &lt;p&gt;Each object in a page can be mapped to a request and thus the browser’s task is to distribute object requests across its available connections and then to aggregate the responses into a document that can be rendered for the user’s viewing pleasure. &lt;/p&gt;  &lt;p&gt;In much the same way, the &lt;a href=&quot;http://www.f5.com/glossary/load-balancer.html&quot;&gt;load balancer&lt;/a&gt; also distributes the requests across its pool of available resources: the application instances. The &lt;a title=&quot;&quot; href=&quot;http://www.f5.com/glossary/load-balancer.html&quot; rel=&quot;&quot;&gt;Load balancer&lt;/a&gt; is capable of handling much high volumes of connections, of course, and it can intelligently distribute requests based on a variety of parameters. An advanced load balancer (application delivery controller) can distribute requests based on the URI, values in HTTP headers, and on data in the actual request (payload). But it is still bound to the same synchronous request/reply pattern as the browser. In order to achieve high scalability and fast performance, the load balancer optimizes connections and uses as much information as possible when distributing requests. The latter is often a matter of configuration: even though the load balancer can use a wide variety of environmental factors upon which to base its &lt;a title=&quot;&quot; href=&quot;http://www.f5.com/glossary/load-balancing.html&quot; rel=&quot;&quot;&gt;load balancing&lt;/a&gt; decision it must be configured to do so and many an administrator/architect ignores these capabilities. &lt;/p&gt;  &lt;p&gt;The result is still synchronous, with potentially multiple connections per client being utilized to return as many objects in parallel as possible. Both the browser and the load balancer are essentially parallelizing requests and responses.    &lt;/p&gt;&lt;hr width=&quot;100%&quot; color=&quot;#680000&quot; noshade=&quot;noshade&quot; /&gt;    &lt;div style=&quot;background: #ebd3d3; width: 100%&quot;&gt;&lt;strong&gt;WHAT IF WE COMBINE MAP/REDUCE and SPDY? &lt;/strong&gt;&lt;/div&gt;    &lt;hr width=&quot;100%&quot; color=&quot;#680000&quot; noshade=&quot;noshade&quot; /&gt;  &lt;p /&gt;  &lt;p&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/c175e84cc35d_CD2E/image_6.png&quot;&gt;&lt;img title=&quot;image&quot; style=&quot;border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; margin: 0px 10px 0px 0px; border-right-width: 0px&quot; height=&quot;235&quot; alt=&quot;image&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/c175e84cc35d_CD2E/image_thumb_2.png&quot; width=&quot;485&quot; align=&quot;left&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;The biggest difference to note immediately is the &lt;a href=&quot;http://devcentral.f5.com/weblogs/f5news/archive/2009/11/24/accelerating-secure-ride-cloud-mblb.aspx&quot;&gt;lack of synchronous communication&lt;/a&gt;. SPDY is asynchronous, and thus the browser need not parallelize the requests. Using SPDY the browser could, as it was parsing the main page, simply send a request for each object it encounters back to the origin server. &lt;/p&gt;  &lt;p&gt;Remember that SPDY allows for only one connection per browser, so all requests for component objects in a web page would need to be sent over that single connection. Aside from the synchronicity, this is not much different than would be the case is browsers were programmatically limited to a single connection per host. &lt;/p&gt;  &lt;p&gt;Right now it appears the usage of SPDY is simulating traditional behavior; that is, the browser is still responsible for parsing out the “main page” and initiating individual requests for each component, albeit in the case of SPDY over the same connection. &lt;/p&gt;  &lt;p&gt;If you have the capabilities afforded by Map/Reduce on the web/application server (or intermediary of some kind), could we not take advantage of that? Using Map/Reduce it certainly appears (and I may be completely off-base, but someone, I’m sure, will correct me if that’s the case) you could push the parsing (disaggregation) of the “main page” to the server/intermediary and let it “map” and “reduce” (aggregate) its component objects into a single, completed page that can then be returned to the client over that single connection. The “map” function is used to apply the same function to a large set of inputs, and all we’re doing is saying the function is “load/generate this page”, after all. The application &lt;a href=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/c175e84cc35d_CD2E/image_8.png&quot;&gt;&lt;img title=&quot;image&quot; style=&quot;border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; margin: 10px 0px 0px 10px; border-right-width: 0px&quot; height=&quot;244&quot; alt=&quot;image&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/c175e84cc35d_CD2E/image_thumb_3.png&quot; width=&quot;431&quot; align=&quot;right&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;of compression and security policies can be applied either at the component or complete page comprising all HTML required. The rest of the infrastructure need only act on a single, completed page in which all pertinent data exists, greatly simplifying processing.&lt;/p&gt;  &lt;p&gt;It would have to be selective in that only some included content needs to be “reduced” into the main page. Some objects – navigational links, for example – can’t be included because, well, it would break the entire web. But there is a subset of objects that &lt;em&gt;could&lt;/em&gt; be included that might result in improved performance overall. This is where SPDY (or at least its core functionality as applied to HTTP) comes into the picture, as its asynchronous nature would improve the delivery of objects that &lt;em&gt;can’t &lt;/em&gt;be included in the core HTML for whatever reason. Distinguishing between the two could be as simple as an attribute on an anchor element such as “aggregate=true” with a default of false, just to try to maintain backward compatibility. &lt;/p&gt;  &lt;p&gt;This would remove the need for the browser to parse the original page and subsequently issue requests, eliminating the round trip time for each object from the overall response time. While the resulting page is larger because it contains the complete HTML necessary, the browser can more effectively employ  progressive rendering techniques on the complete page as soon as data begins returning. &lt;/p&gt;  &lt;p&gt;The draft SPDY protocol, by allowing asynchronous requests, eliminates approximately &lt;em&gt;half &lt;/em&gt;the round trip times by not requiring immediate responses, but by leveraging Map/Reduce capable systems on the server/intermediary side we can eliminate more ( #objects * RTT to be exact). We also completely eliminate the negative impact on the network (and thus application performance) from dealing with many small packets generated from many small objects. &lt;/p&gt;  &lt;p&gt;The RTT between the server/intermediary and internal application servers is still applicable, but because this is almost always over high-speed, low-latency LAN connections (and we’re paying that price &lt;em&gt;regardless) &lt;/em&gt;the impact on overall performance remains minimal.     &lt;/p&gt;&lt;hr width=&quot;100%&quot; color=&quot;#680000&quot; noshade=&quot;noshade&quot; /&gt;    &lt;div style=&quot;background: #ebd3d3; width: 100%&quot;&gt;&lt;strong&gt;AREN’T YOU ARGUING AGAINST APPLICATION DELIVERY CONTROLLERS? &lt;/strong&gt;&lt;/div&gt;    &lt;hr width=&quot;100%&quot; color=&quot;#680000&quot; noshade=&quot;noshade&quot; /&gt;If you think of &lt;a href=&quot;http://www.f5.com/big-ip/&quot;&gt;application delivery controllers&lt;/a&gt; as nothing more than load balancers then it certainly might appear that way, wouldn’t it? But load balancing, while an integral component to an application delivery controller, is not the be-all and end-all of its capabilities or its only role in high-availability architectures. &lt;a href=&quot;http://www.f5.com/solutions/acceleration/&quot;&gt;Optimization and acceleration&lt;/a&gt; still applies, as does &lt;a href=&quot;http://www.f5.com/solutions/security/&quot;&gt;security and its myriad related functions&lt;/a&gt;. So, too, does ability to transform requests on-demand, both ingress and egress. Context is still as important, if not more so in an architecture such as the one described, and given an application delivery controller generally sits in what is a strategic point of control in a data center architecture- traditional, virtualized, or cloud computing – it is still the best place to provide most application delivery functionality.   &lt;p&gt;So no, I’m not shooting myself in the foot by postulating on a web-application architecture using SPDY and Map/Reduce (or some similar mechanism that has yet to be designed) as a core means to achieve fast and highly-scalable web applications. The use of SPDY and Map/Reduce would only speed up the internal processing and reduce the latency associated with the traditional request/reply paradigm. It does not address high-latency links, congestion, conditional network problems, or security-related issues. It doesn’t solve the problem of regulating request rates nor prioritization nor business-layer load balancing. And there are many BHQ (Big Hairy Questions) involving such a solution that would need answers before it could be useful, such as the handling of off-domain requests and credential mapping for integrated widgets/gadgets/sites. &lt;/p&gt;  &lt;p&gt;Besides, it is somewhat interesting to note that much of the functionality described by Map/Reduce, when applied strictly to URI-based workloads (think REST and even &lt;a title=&quot;Service Oriented Architecture definition &quot; href=&quot;http://www.f5.com/glossary/soa.html&quot; rel=&quot;&quot; target=&quot;_blank&quot;&gt;SOA&lt;/a&gt;) already exists in application delivery controllers. It isn’t, after all, just about load-balancing, it’s about &lt;em&gt;intelligent routing &lt;/em&gt;of requests based on context, like the URI. The single-session concept is something already demanded by service-providers (RADIUS, DIAMETER, SIP) and &lt;a href=&quot;http://www.f5.com/pdf/white-papers/message-based-load-balancing-wp.pdf&quot;&gt;some application delivery controllers can handle this type of message-based load balancing&lt;/a&gt; &lt;strong&gt;[PDF]&lt;/strong&gt; scenario, so all that’s left is the aggregation of the disparate components into a single page for delivery. So it’s possible that the definition of such an architecture combined with the protocol could be natively supported by application delivery controllers with relative ease. What’s necessary is to break out of the connection-oriented processing paradigm inherent in load balancing and proxies and HTTP, and in some cases we’re half-way there already. &lt;/p&gt;  &lt;p&gt;It is definitely interesting to contemplate a new architectural solution to the problems associated with HTTP and performance. Map/Reduce is also certainly one answer to &lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/09/21/cloud-computing-versus-cloud-data-centers.aspx&quot;&gt;moving cloud computing out of its current instantiation toward truly on-demand resource utilization on a per-workload basis&lt;/a&gt;. It’s an interesting concept and one that obviously works well for Google, given the number of applications in its repertoire that apparently take advantage of the model. Thus it (or similar concepts) is certainly something to consider for potentially broader usage outside of Google’s infrastructure. &lt;/p&gt;  &lt;p&gt;I don’t think anyone would argue that the web is “speedy” enough as it is, so exploring new concepts is something we need to do. We may find a thousand ways &lt;em&gt;not &lt;/em&gt;to do it – and this may be one of those ‘not’ ways – but eventually someone will find a way. &lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;http://twitter.com/lmacvittie&quot;&gt;&lt;img height=&quot;18&quot; alt=&quot;Follow me on Twitter&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_twitt-twoo-icon.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a title=&quot;Follow F5 Networks on Twitter&quot; href=&quot;http://tweepml.org/F5-Networks-Tweeple/&quot;&gt;&lt;img height=&quot;18&quot; src=&quot;http://tweepml.org/s/tweepml16.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a title=&quot;Follow F5 DevCentral on Twitter&quot; href=&quot;http://tweepml.org/F5-DevCentral/&quot;&gt;&lt;img height=&quot;18&quot; src=&quot;http://tweepml.org/s/tweepml16.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/Rss.aspx&quot;&gt;&lt;img src=&quot;http://devcentral.f5.com/Portals/0/images/Icons/icon_xml_18.gif&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://www.slideshare.net/lmacvittie&quot;&gt;&lt;img height=&quot;18&quot; alt=&quot;View Lori&#039;s profile on SlideShare&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_slideshare.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://www.linkedin.com/in/lmacvittie&quot;&gt;&lt;img src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_linkedin_16.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://www.friendfeed.com/lmacvittie&quot;&gt;&lt;img style=&quot;border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px&quot; height=&quot;18&quot; alt=&quot;friendfeed&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/friendfeed_3.jpg&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://www.facebook.com/lmacvittie&quot;&gt;&lt;img style=&quot;border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px&quot; height=&quot;18&quot; alt=&quot;icon_facebook&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/icon_facebook_4.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a title=&quot;Subscribe using any feed reader!&quot; href=&quot;http://www.addthis.com/feed.php?pub=lmacvittie&amp;amp;h1=http%3A%2F%2Fdevcentral.f5.com%2Fweblogs%2Fmacvittie%2FRss.aspx&amp;amp;t1=&quot;&gt;&lt;img height=&quot;18&quot; alt=&quot;AddThis Feed Button&quot; src=&quot;http://s9.addthis.com/button1-fd.gif&quot; width=&quot;125&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a title=&quot;Bookmark and Share&quot; onclick=&quot;window.open(&#039;http://www.addthis.com/bookmark.php?wt=nw&amp;amp;pub=lmacvittie&amp;amp;url=&#039;+encodeURIComponent(location.href)+&#039;&amp;amp;title=&#039;+encodeURIComponent(document.title), &#039;addthis&#039;, &#039;scrollbars=yes,menubar=no,width=620,height=520,resizable=yes,toolbar=no,location=no,status=no,screenX=200,screenY=100,left=200,top=100&#039;); return false;&quot; href=&quot;http://www.addthis.com/bookmark.php&quot; target=&quot;_blank&quot;&gt;&lt;img height=&quot;18&quot; alt=&quot;Bookmark and Share&quot; src=&quot;http://s9.addthis.com/button1-share.gif&quot; width=&quot;125&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;script type=&quot;text/javascript&quot; src=&quot;http://track.mybloglog.com/js/jsserv.php?mblID=2008070914270355&quot;&gt;&lt;/script&gt;&lt;/p&gt;  &lt;p&gt;Related blogs &amp;amp; articles: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href=&quot;http://pages.cs.wisc.edu/%7Eremzi/Classes/537/Fall2008/Notes/mapreduce.pdf&quot;&gt;MapReduce and PageRank Notes from Remzi Arpaci-Dusseau&#039;s Fall 2008 class &lt;/a&gt;[PDF] &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://hadoop.apache.org/common/docs/current/mapred_tutorial.html&quot;&gt;Map/Reduce Tutorial from Hadoop&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/11/17/google-spdy-protocol-would-require-mass-change-in-infrastructure.aspx&quot;&gt;Google SPDY Protocol Would Require Mass Change in Infrastructure&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://www.f5.com/pdf/white-papers/message-based-load-balancing-wp.pdf&quot;&gt;Message-Based Load Balancing: Scaling Diameter, RADIUS, and Message-Oriented Protocols&lt;/a&gt; [PDF] &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/09/21/cloud-computing-versus-cloud-data-centers.aspx&quot;&gt;Cloud Computing versus Cloud Data Centers&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://dev.chromium.org/spdy/spdy-protocol&quot;&gt;Draft of the SPDY Protocol&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://labs.google.com/papers/mapreduce.html&quot;&gt;Google Research Publications: Map/Reduce&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2008/06/17/3365.aspx&quot;&gt;Application Acceleration 2.0 : Breaking Browser Limitations&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/04/20/itrsquos-like-load-balancing.-on-steroids.aspx&quot;&gt;It’s like load balancing. On steroids.&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2008/12/02/the-context-aware-cloud.aspx&quot;&gt;The Context-Aware Cloud&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/f5news/archive/2009/11/24/accelerating-secure-ride-cloud-mblb.aspx&quot;&gt;Accelerating Your (Secure) Ride to the Cloud: Drive Smart(er)&lt;/a&gt;  &lt;/li&gt; &lt;/ul&gt;  &lt;p /&gt;  &lt;p /&gt;  &lt;p /&gt;  &lt;p /&gt;  &lt;p /&gt;  &lt;p /&gt;  &lt;p /&gt;  &lt;p /&gt;  &lt;p /&gt;  &lt;p /&gt;  &lt;div class=&quot;wlWriterEditableSmartContent&quot; id=&quot;scid:0767317B-992E-4b12-91E0-4F059A8CECA8:84098bd5-3484-4e69-afb2-630e370016d8&quot; style=&quot;padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px&quot;&gt;Technorati Tags: &lt;a href=&quot;http://technorati.com/tags/MacVittie&quot; rel=&quot;tag&quot;&gt;MacVittie&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/F5&quot; rel=&quot;tag&quot;&gt;F5&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/load+balancing&quot; rel=&quot;tag&quot;&gt;load balancing&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/SPDY&quot; rel=&quot;tag&quot;&gt;SPDY&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/Google&quot; rel=&quot;tag&quot;&gt;Google&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/MapReduce&quot; rel=&quot;tag&quot;&gt;MapReduce&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/parallelization&quot; rel=&quot;tag&quot;&gt;parallelization&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/MBLB&quot; rel=&quot;tag&quot;&gt;MBLB&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/message-based+load+balancing&quot; rel=&quot;tag&quot;&gt;message-based load balancing&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/architecture&quot; rel=&quot;tag&quot;&gt;architecture&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/infrastructure&quot; rel=&quot;tag&quot;&gt;infrastructure&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/application+delivery&quot; rel=&quot;tag&quot;&gt;application delivery&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/optimization&quot; rel=&quot;tag&quot;&gt;optimization&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/acceleration&quot; rel=&quot;tag&quot;&gt;acceleration&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/security&quot; rel=&quot;tag&quot;&gt;security&lt;/a&gt;&lt;/div&gt;&lt;img src=&quot;http://devcentral.f5.com/weblogs/macvittie/aggbug/6229.aspx&quot; width=&quot;1&quot; height=&quot;1&quot; /&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/f5/XOwx/~4/KrksFALMnSs&quot; height=&quot;1&quot; width=&quot;1&quot;/&gt;&lt;p&gt;&lt;a href=&quot;http://lorimacvittie.sys-con.com/node/1206754&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Wed, 02 Dec 2009 12:00:00 EST</pubDate>
 <guid isPermaLink="true">http://lorimacvittie.sys-con.com/node/1206754</guid>
 <comments>http://lorimacvittie.sys-con.com/node/1206754#feedback</comments>
</item>
<item>
 <title>Virtual Infrastructure in Cloud Computing Just Passes the Buck</title>
 <link>http://lorimacvittie.sys-con.com/node/1206590</link>
 <description>&lt;p&gt;&lt;em&gt;There are many good reasons to go down the virtual infrastructure road. The illusion that it’s cheaper than dedicated hardware solutions is not one of them. &lt;/em&gt;&lt;/p&gt;
&lt;p&gt;I was reading an &lt;a href=&quot;http://vmblog.com/archive/2009/11/30/what-the-2010-cloud-means-for-wan-optimization.aspx&quot;&gt;interesting predictive article on WAN optimization&lt;/a&gt; that contends that &lt;font color=&quot;#ff0000&quot;&gt;virtualized&lt;/font&gt; WAN optimization controllers (WOC) are, well, just better than sliced bread. One of the reasons why the author opined this way was presented as the great benefits of horizontal scalability (linear) in cloud computing environments. &lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/TonightWereGonnaArchitectLikeIts1999_8E4A/blockquote_2.gif&quot;&gt;&lt;img width=&quot;46&quot; height=&quot;28&quot; border=&quot;0&quot; align=&quot;left&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/TonightWereGonnaArchitectLikeIts1999_8E4A/blockquote_thumb.gif&quot; alt=&quot;blockquote&quot; style=&quot;border: 0px none ; display: inline; margin-left: 0px; margin-right: 0px;&quot; title=&quot;blockquote&quot; /&gt;&lt;/a&gt; Savings and scalability.  This approach ensures that there is &lt;font color=&quot;#800080&quot;&gt;&lt;strong&gt;no need for dedicated hardware to support WAN optimization, saving on CAPEX and OPEX&lt;/strong&gt;.&lt;/font&gt;  &lt;font color=&quot;#800080&quot;&gt;&lt;strong&gt;Cost savings will also be realized through virtual scalability&lt;/strong&gt;&lt;/font&gt;.  As enterprises add more services or applications to be accessed by additional remote workers via the cloud, the virtualized WAN optimization model will be able to scale linearly. &lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The implication here is clear: WAN optimization via virtual solutions saves CAPEX and OPEX over dedicated hardware and additional savings are achieved through virtual scalability. But that’s ignoring that the initial investment cost is simply shifted from CAPEX to longer-term OPEX when scalability enters the picture. Not just scalability of the solution, but the impact of application and virtual infrastructure scalability on the solution as well.    &lt;/p&gt;
&lt;hr width=&quot;100%&quot; noshade=&quot;noshade&quot; color=&quot;#680000&quot; /&gt;
&lt;div style=&quot;background: rgb(235, 211, 211) none repeat scroll 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; width: 100%;&quot;&gt;&lt;strong&gt;VIRTUAL INFRASTRUCTURE is just PASSING the BUCK &lt;/strong&gt;&lt;/div&gt;
&lt;hr width=&quot;100%&quot; noshade=&quot;noshade&quot; color=&quot;#680000&quot; /&gt;
Back in the old days we used to deploy all our infrastructure as software. As you needed more compute resources, you deployed bigger, beefier servers on which to deploy said solutions. That’s vertical scalability. Today we prefer the cloud computing model: horizontal scalability. Pay as you grow, compute resources on-demand. Whatever you want to call it the appeal is certainly in the perception that it’s easier and, perhaps more importantly, cheaper than traditional hardware-based scalability solutions. But it’s not accurate at all to equate this model with what is essentially “cheaper” scalability. The operational expenses associated with management, the cost of additional licenses, integration, and the hourly costs associated with the cloud computing environment in question all must be factored into the equation lest we fall prey to the hype that encircles cloud computing today.
&lt;p&gt;One of the reasons you see cost savings in cloud computing is that the costs of the &lt;em&gt;hardware&lt;/em&gt; – the physical servers – are shared. You only pay a “nominal” fee per hour for using that   hardware. The cost of that hardware is shared across hundreds of other customers, all seeking the same reduction in operating and capital expenditures. So far, so good. Sharing the physical hardware certainly does spread the cost around and results in a cheaper operating environment – at least for the customer. &lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/TonightWereGonnaArchitectLikeIts1999_8E4A/passbuck_2.jpg&quot;&gt;&lt;img width=&quot;134&quot; height=&quot;75&quot; border=&quot;0&quot; align=&quot;left&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/TonightWereGonnaArchitectLikeIts1999_8E4A/passbuck_thumb.jpg&quot; alt=&quot;passbuck&quot; style=&quot;border: 0px none ; margin: 0px 15px 5px 0px; display: inline;&quot; title=&quot;passbuck&quot; /&gt;&lt;/a&gt; But when you start virtualizing the infrastructure (as in virtual software equivalents) you generally don’t get to share the costs of the solution and you never share the costs of management. Most of the time you just share the same costs you do for any other generic virtual image: the underlying physical hardware. You’re also forced to scale horizontally based on the capacity constraints inherent in the virtual image. The provider and/or solution vendor sets the RAM/compute resources available for the virtual instance and if you need more resources when you’ve reached the largest configuration you’ll have to start scaling horizontally. Whether you want to or not. The second image incurs the same management costs as well as the hourly fees. Likely, too, you’re paying for the licensing because virtual versions of solutions aren’t free, after all, unless you’re leveraging open source solutions that are. &lt;/p&gt;
&lt;p&gt;You don’t share those costs with anyone. They are yours, and yours alone. The buck passes from CAPEX to OPEX. CAPEX is reduced, yes, but OPEX? Not so much. Perhaps that’s better from an accounting point of view, but from a total cost perspective it doesn’t really change much.    &lt;/p&gt;
&lt;hr width=&quot;100%&quot; noshade=&quot;noshade&quot; color=&quot;#680000&quot; /&gt;
&lt;div style=&quot;background: rgb(235, 211, 211) none repeat scroll 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; width: 100%;&quot;&gt;&lt;strong&gt;SCALABILITY of APPLICATIONS IMPACTS COSTS of VIRTUAL INFRASTRUCTURE&lt;/strong&gt;&lt;/div&gt;
&lt;hr width=&quot;100%&quot; noshade=&quot;noshade&quot; color=&quot;#680000&quot; /&gt;
You can, of course, choose the largest image and thus avoid horizontal scalability. But that is going to increase the costs of the solution overall. Consider the virtual equivalent of an &lt;a href=&quot;http://www.f5.com/products/big-ip/&quot;&gt;application delivery controller&lt;/a&gt; delivered via &lt;a href=&quot;http://aws.amazon.com/ec2&quot;&gt;Amazon EC2&lt;/a&gt; on its largest (quadruple large) image is $4.80 / hour (based on &lt;a href=&quot;http://www.zeus.com/downloads/developers/ec2/zeus_ec2_pricing.html&quot;&gt;pricing listed by Zeus Technologies&lt;/a&gt; for its virtual  solution on &lt;a href=&quot;http://www.amazon.com&quot;&gt;Amazon&lt;/a&gt;). It is &lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/10/16/putting-a-price-on-uptime.aspx&quot;&gt;unlikely you’ll have any hour in which that solution is not used&lt;/a&gt;. Assuming even one request handled per hour, every hour, every day you’re looking at more than &lt;font color=&quot;#008000&quot;&gt;&lt;strong&gt;$42000 per year&lt;/strong&gt;&lt;/font&gt;. Don’t forget, too, you may likely have additional charges for bandwidth – both ingress and egress. Not nearly as “inexpensive” as purported. You could start smaller, but that means it’s more likely you’ll need to “upgrade” midstream. This is far easier to do with a virtual infrastructure than with hardware, at least from a physical deployment &lt;a href=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/TonightWereGonnaArchitectLikeIts1999_8E4A/mo-money_2.jpg&quot;&gt;&lt;img width=&quot;160&quot; height=&quot;240&quot; border=&quot;0&quot; align=&quot;right&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/TonightWereGonnaArchitectLikeIts1999_8E4A/mo-money_thumb.jpg&quot; alt=&quot;Someone is happy with this situation, but probably not you. &quot; style=&quot;border: 0px none ; margin: 15px 0px 0px 10px; display: inline;&quot; title=&quot;Someone is happy with this situation, but probably not you. &quot; /&gt;&lt;/a&gt;perspective, but it is just as disruptive a process and may lead to jumping onto the horizontal scalability path earlier rather than later because it is so easy to simply “add another instance” when compared to “upgrade to a new image.” Consider, too, that deploying virtual infrastructure means it is not integrated with the rest of the environment. That may not sound bad, until you realize that automatic scalability means new instances of applications – and perhaps &lt;em&gt;other &lt;/em&gt;infrastructure solutions - may be popping up that you need to manage via the infrastructure. How is the infrastructure going to know about it? Either you are manually managing this process or you are going to be doing some integration work. That’s yet another soft-cost of “scalability” that isn’t factored into the equation when comparing hardware to virtual infrastructure.
&lt;p&gt;Contrast that to a model in which services are provided via shared hardware infrastructure solutions. The cost of the hardware is not nominal. But like the rest of the physical infrastructure its costs are shared across &lt;em&gt;all customers&lt;/em&gt;. Providing &lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/06/18/your-cloud-is-not-a-precious-snowflake-but-it-could.aspx&quot;&gt;traditional network and application network solutions as services is inherently better suited to a cloud computing environment&lt;/a&gt; in that it allows the management costs to be shared (the provider manages the solution, not the customer) and is completely on-demand. Scalability is not the concern of the customer and generally speaking the limitations on RAM/compute resources do not exist in the same way they exist in virtual solutions. Bandwidth in both scenarios can be limited or unlimited, depending on requirements and implementation. Integration should also be taken care of by virtue of the fact that it’s a part of the cloud computing environment and the provider likely wants to ensure that they are billed properly for services rendered. &lt;/p&gt;
&lt;p&gt;The current method of deploying a virtual infrastructure actually breaks the “shared resources, shared costs” model of cloud computing and negates the cost savings associated with the elimination of CAPEX for the hardware with the OPEX costs of management, integration, licensing, and a more constrained operating environment that ultimately leads to the need to scale out sooner than would otherwise be required. Certainly a shared model could be implemented via virtualized software solutions, but this model has the same implementation roadblocks as hardware solutions that lead to non-implementation today. Virtual infrastructure shifts many of the management and maintenance-related burdens offloaded by a public cloud computing model back onto the organization and requires more vigilance and dedication to ensuring the overall architecture is operating as expected.    &lt;/p&gt;
&lt;hr width=&quot;100%&quot; noshade=&quot;noshade&quot; color=&quot;#680000&quot; /&gt;
&lt;div style=&quot;background: rgb(235, 211, 211) none repeat scroll 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; width: 100%;&quot;&gt;&lt;strong&gt;VIRTUALIZED INFRASTRUCTURE is PROBABLY YOUR ONLY OPTION&lt;/strong&gt;&lt;/div&gt;
&lt;hr width=&quot;100%&quot; noshade=&quot;noshade&quot; color=&quot;#680000&quot; /&gt;
Today, virtualized infrastructure may be the only option for an organization to obtain the &lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/03/18/control-choice-and-cost-the-conflict-in-the-cloud.aspx&quot;&gt;control and choice that is currently lacking in today’s cloud computing environments&lt;/a&gt;. Deploying hardware solutions and associated services requires an investment on the part of the provider and additional time and investment in developing the means by which customers can take advantage of the solution via services. While most providers invest in hardware solutions without pause, they rarely take the next step in integrating its offerings as services for customers. This means that if you need specific infrastructure components – &lt;a href=&quot;http://www.f5.com/solutions/acceleration/web-acceleration/&quot;&gt;application acceleration&lt;/a&gt;, WAN optimization, &lt;a href=&quot;http://www.f5.com/products/big-ip/product-modules/application-security-manager.html&quot;&gt;web application security&lt;/a&gt; – that you’ll likely need to go the virtual infrastructure route. That’s not all bad; this path leads to control and isolation of implementation and configuration, which can be a requirement for conforming to organizational security policies. Organizations having concerns about the impact of other customers sharing infrastructure resources (they already do, but a service-based model brings this to the fore) will almost certainly want to take advantage of the isolation afforded by a virtualized infrastructure implementation.
&lt;p&gt;I’m not arguing against virtual infrastructure in theory or against the control and choice they offer customers. There are challenges with such implementations, mind you, but that’s not really the point today. I’m simply arguing against the “it’s cheaper” mantra that is patently false and fails to take into consideration &lt;em&gt;all &lt;/em&gt;the variables in the equation and instead focuses only on the most tangible ones. &lt;/p&gt;
&lt;p&gt;There are certainly benefits realized from both deployment models and it is up to the organization to decide which model is right for them. But don’t fall into the trap of thinking virtual infrastructure is a “cheaper” solution, because when you step back and take a look at the entire cost of a solution, that’s just not the case and in fact a services-enabled infrastructure may be a much more financially advantageous solution – except for the provider. &lt;/p&gt;
&lt;p&gt;Which may be the real reason the only option you ever have is a virtual one. &lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://twitter.com/lmacvittie&quot;&gt;&lt;img width=&quot;18&quot; height=&quot;18&quot; border=&quot;0&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_twitt-twoo-icon.png&quot; alt=&quot;Follow me on Twitter&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://tweepml.org/F5-Networks-Tweeple/&quot; title=&quot;Follow F5 Networks on Twitter&quot;&gt;&lt;img width=&quot;18&quot; height=&quot;18&quot; border=&quot;0&quot; src=&quot;http://tweepml.org/s/tweepml16.png&quot; alt=&quot;&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://tweepml.org/F5-DevCentral/&quot; title=&quot;Follow F5 DevCentral on Twitter&quot;&gt;&lt;img width=&quot;18&quot; height=&quot;18&quot; border=&quot;0&quot; src=&quot;http://tweepml.org/s/tweepml16.png&quot; alt=&quot;&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/Rss.aspx&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://devcentral.f5.com/Portals/0/images/Icons/icon_xml_18.gif&quot; alt=&quot;&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://www.slideshare.net/lmacvittie&quot;&gt;&lt;img width=&quot;18&quot; height=&quot;18&quot; border=&quot;0&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_slideshare.png&quot; alt=&quot;View Lori&#039;s profile on SlideShare&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://www.linkedin.com/in/lmacvittie&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_linkedin_16.png&quot; alt=&quot;&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://www.friendfeed.com/lmacvittie&quot;&gt;&lt;img width=&quot;18&quot; height=&quot;18&quot; border=&quot;0&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/friendfeed_3.jpg&quot; alt=&quot;friendfeed&quot; style=&quot;border-width: 0px;&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://www.facebook.com/lmacvittie&quot;&gt;&lt;img width=&quot;18&quot; height=&quot;18&quot; border=&quot;0&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/icon_facebook_4.png&quot; alt=&quot;icon_facebook&quot; style=&quot;border-width: 0px;&quot; /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.addthis.com/feed.php?pub=lmacvittie&amp;amp;h1=http%3A%2F%2Fdevcentral.f5.com%2Fweblogs%2Fmacvittie%2FRss.aspx&amp;amp;t1=&quot; title=&quot;Subscribe using any feed reader!&quot;&gt;&lt;img width=&quot;125&quot; height=&quot;18&quot; border=&quot;0&quot; src=&quot;http://s9.addthis.com/button1-fd.gif&quot; alt=&quot;AddThis Feed Button&quot; /&gt;&lt;/a&gt; &lt;a target=&quot;_blank&quot; href=&quot;http://www.addthis.com/bookmark.php&quot; onclick=&quot;window.open(&#039;http://www.addthis.com/bookmark.php?wt=nw&amp;amp;pub=lmacvittie&amp;amp;url=&#039;+encodeURIComponent(location.href)+&#039;&amp;amp;title=&#039;+encodeURIComponent(document.title), &#039;addthis&#039;, &#039;scrollbars=yes,menubar=no,width=620,height=520,resizable=yes,toolbar=no,location=no,status=no,screenX=200,screenY=100,left=200,top=100&#039;); return false;&quot; title=&quot;Bookmark and Share&quot;&gt;&lt;img width=&quot;125&quot; height=&quot;18&quot; border=&quot;0&quot; src=&quot;http://s9.addthis.com/button1-share.gif&quot; alt=&quot;Bookmark and Share&quot; /&gt;&lt;/a&gt; &lt;script type=&quot;text/javascript&quot; src=&quot;http://track.mybloglog.com/js/jsserv.php?mblID=2008070914270355&quot;&gt;&lt;/script&gt;&lt;/p&gt;
&lt;p&gt;Related blogs &amp;amp; articles: &lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/03/18/control-choice-and-cost-the-conflict-in-the-cloud.aspx&quot;&gt;Control, choice, and cost: &lt;strong&gt;The&lt;/strong&gt; &lt;strong&gt;Conflict&lt;/strong&gt; &lt;strong&gt;in&lt;/strong&gt; &lt;strong&gt;the&lt;/strong&gt; &lt;strong&gt;Cloud&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/10/16/putting-a-price-on-uptime.aspx&quot;&gt;Putting a Price on Uptime&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/10/27/vertical-scalability-cloud-computing-style.aspx&quot;&gt;Vertical Scalability &lt;strong&gt;Cloud&lt;/strong&gt; Computing Style&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/06/18/your-cloud-is-not-a-precious-snowflake-but-it-could.aspx&quot;&gt;Your &lt;strong&gt;Cloud&lt;/strong&gt; is Not a Precious Snowflake (But it Could Be)&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/06/09/the-infrastructure-2.0-trifecta.aspx&quot;&gt;&lt;strong&gt;The&lt;/strong&gt; Infrastructure 2.0 Trifecta&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/08/25/if-you-focus-on-products-yoursquoll-miss-the-cloud.aspx&quot;&gt;If You Focus on Products You’ll Miss the Cloud&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/05/14/the-revolution-continues-let-them-eat-cloud.aspx&quot;&gt;The Revolution Continues: Let Them Eat Cloud&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/05/07/cloud-computing-is-not-burger-king.-you-canrsquot-have-it.aspx&quot;&gt;Cloud computing is not &lt;strong&gt;Burger&lt;/strong&gt; &lt;strong&gt;King&lt;/strong&gt;. You can’t have it your way. Yet.&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;margin: 0px; padding: 0px; display: inline; float: none;&quot; id=&quot;scid:0767317B-992E-4b12-91E0-4F059A8CECA8:ca81427d-bd2d-4f4c-89a1-85d5e21b337e&quot; class=&quot;wlWriterEditableSmartContent&quot;&gt;Technorati Tags: &lt;a rel=&quot;tag&quot; href=&quot;http://technorati.com/tags/MacVittie&quot;&gt;MacVittie&lt;/a&gt;,&lt;a rel=&quot;tag&quot; href=&quot;http://technorati.com/tags/F5&quot;&gt;F5&lt;/a&gt;,&lt;a rel=&quot;tag&quot; href=&quot;http://technorati.com/tags/WAN&quot;&gt;WAN&lt;/a&gt;,&lt;a rel=&quot;tag&quot; href=&quot;http://technorati.com/tags/WAN+optimization&quot;&gt;WAN optimization&lt;/a&gt;,&lt;a rel=&quot;tag&quot; href=&quot;http://technorati.com/tags/WOC&quot;&gt;WOC&lt;/a&gt;,&lt;a rel=&quot;tag&quot; href=&quot;http://technorati.com/tags/cloud+computing&quot;&gt;cloud computing&lt;/a&gt;,&lt;a rel=&quot;tag&quot; href=&quot;http://technorati.com/tags/virtual+infrastructure&quot;&gt;virtual infrastructure&lt;/a&gt;,&lt;a rel=&quot;tag&quot; href=&quot;http://technorati.com/tags/virtualization&quot;&gt;virtualization&lt;/a&gt;,&lt;a rel=&quot;tag&quot; href=&quot;http://technorati.com/tags/capex&quot;&gt;capex&lt;/a&gt;,&lt;a rel=&quot;tag&quot; href=&quot;http://technorati.com/tags/opex&quot;&gt;opex&lt;/a&gt;&lt;/div&gt;&lt;img src=&quot;http://devcentral.f5.com/weblogs/macvittie/aggbug/6228.aspx&quot; width=&quot;1&quot; height=&quot;1&quot; /&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/f5/XOwx/~4/zQ0DOE63_N8&quot; height=&quot;1&quot; width=&quot;1&quot;/&gt;&lt;p&gt;&lt;a href=&quot;http://lorimacvittie.sys-con.com/node/1206590&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Wed, 02 Dec 2009 11:45:00 EST</pubDate>
 <guid isPermaLink="true">http://lorimacvittie.sys-con.com/node/1206590</guid>
 <comments>http://lorimacvittie.sys-con.com/node/1206590#feedback</comments>
</item>
<item>
 <title>While I am AFK&amp;hellip;</title>
 <link>http://lorimacvittie.sys-con.com/node/1201514</link>
 <description>&lt;p&gt;With any luck I am already AFK for a visit with &lt;a href=&quot;http://devcentral.f5.com/weblogs/dmacvittie&quot;&gt;Don’s&lt;/a&gt; mother and his family for Thanksgiving. And I’m really (really, I swear) going to be AFK (away from keyboard) for the entire time. &lt;/p&gt;  &lt;p&gt;Really. I’m serious this time, stop looking at me like that. Ever heard of “pre-publishing?” &lt;/p&gt;  &lt;p&gt;So while I’m out, you might need something to read. And if so, you might want something you can read two or three times because, well, it was that entertaining. &lt;/p&gt;  &lt;p&gt;If that’s the case, I highly recommend you give “&lt;a href=&quot;http://layer8.itsecuritygeek.com/layer8/bsofh-catering-to-a-niche-market/&quot;&gt;BSOFH:  Catering to a niche market.&lt;/a&gt;” a read. Or two. &lt;/p&gt;  &lt;p&gt;And have a wonderful Thanksgiving. See you next week! &lt;/p&gt;  &lt;p&gt;&lt;em&gt;Disclaimer: If you are enjoying a beverage please put it down before visiting this link. I am not responsible for keyboards or screens damaged by the involuntary loss of beverage-type fluids due to uncontrollable laughter. &lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;http://twitter.com/lmacvittie&quot;&gt;&lt;img height=&quot;18&quot; alt=&quot;Follow me on Twitter&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_twitt-twoo-icon.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a title=&quot;Follow F5 Networks on Twitter&quot; href=&quot;http://tweepml.org/F5-Networks-Tweeple/&quot;&gt;&lt;img height=&quot;18&quot; src=&quot;http://tweepml.org/s/tweepml16.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a title=&quot;Follow F5 DevCentral on Twitter&quot; href=&quot;http://tweepml.org/F5-DevCentral/&quot;&gt;&lt;img height=&quot;18&quot; src=&quot;http://tweepml.org/s/tweepml16.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/Rss.aspx&quot;&gt;&lt;img src=&quot;http://devcentral.f5.com/Portals/0/images/Icons/icon_xml_18.gif&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://www.slideshare.net/lmacvittie&quot;&gt;&lt;img height=&quot;18&quot; alt=&quot;View Lori&#039;s profile on SlideShare&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_slideshare.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://www.linkedin.com/in/lmacvittie&quot;&gt;&lt;img src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_linkedin_16.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://www.friendfeed.com/lmacvittie&quot;&gt;&lt;img style=&quot;border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px&quot; height=&quot;18&quot; alt=&quot;friendfeed&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/friendfeed_3.jpg&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://www.facebook.com/lmacvittie&quot;&gt;&lt;img style=&quot;border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px&quot; height=&quot;18&quot; alt=&quot;icon_facebook&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/icon_facebook_4.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a title=&quot;Subscribe using any feed reader!&quot; href=&quot;http://www.addthis.com/feed.php?pub=lmacvittie&amp;amp;h1=http%3A%2F%2Fdevcentral.f5.com%2Fweblogs%2Fmacvittie%2FRss.aspx&amp;amp;t1=&quot;&gt;&lt;img height=&quot;18&quot; alt=&quot;AddThis Feed Button&quot; src=&quot;http://s9.addthis.com/button1-fd.gif&quot; width=&quot;125&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a title=&quot;Bookmark and Share&quot; onclick=&quot;window.open(&#039;http://www.addthis.com/bookmark.php?wt=nw&amp;amp;pub=lmacvittie&amp;amp;url=&#039;+encodeURIComponent(location.href)+&#039;&amp;amp;title=&#039;+encodeURIComponent(document.title), &#039;addthis&#039;, &#039;scrollbars=yes,menubar=no,width=620,height=520,resizable=yes,toolbar=no,location=no,status=no,screenX=200,screenY=100,left=200,top=100&#039;); return false;&quot; href=&quot;http://www.addthis.com/bookmark.php&quot; target=&quot;_blank&quot;&gt;&lt;img height=&quot;18&quot; alt=&quot;Bookmark and Share&quot; src=&quot;http://s9.addthis.com/button1-share.gif&quot; width=&quot;125&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;script type=&quot;text/javascript&quot; src=&quot;http://track.mybloglog.com/js/jsserv.php?mblID=2008070914270355&quot;&gt;&lt;/script&gt;&lt;/p&gt;  &lt;div class=&quot;wlWriterEditableSmartContent&quot; id=&quot;scid:0767317B-992E-4b12-91E0-4F059A8CECA8:bf58a360-248a-4cba-8ac7-8f46161d3173&quot; style=&quot;padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px&quot;&gt;Technorati Tags: &lt;a href=&quot;http://technorati.com/tags/MacVittie&quot; rel=&quot;tag&quot;&gt;MacVittie&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/F5&quot; rel=&quot;tag&quot;&gt;F5&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/humor&quot; rel=&quot;tag&quot;&gt;humor&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/Layer+8&quot; rel=&quot;tag&quot;&gt;Layer 8&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/AFK&quot; rel=&quot;tag&quot;&gt;AFK&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/Thankgiving&quot; rel=&quot;tag&quot;&gt;Thankgiving&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/holiday&quot; rel=&quot;tag&quot;&gt;holiday&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/cloud&quot; rel=&quot;tag&quot;&gt;cloud&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/security&quot; rel=&quot;tag&quot;&gt;security&lt;/a&gt;&lt;/div&gt;&lt;img src=&quot;http://devcentral.f5.com/weblogs/macvittie/aggbug/6225.aspx&quot; width=&quot;1&quot; height=&quot;1&quot; /&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/f5/XOwx/~4/vRGmmT6mkks&quot; height=&quot;1&quot; width=&quot;1&quot;/&gt;&lt;p&gt;&lt;a href=&quot;http://lorimacvittie.sys-con.com/node/1201514&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Wed, 25 Nov 2009 11:53:00 EST</pubDate>
 <guid isPermaLink="true">http://lorimacvittie.sys-con.com/node/1201514</guid>
 <comments>http://lorimacvittie.sys-con.com/node/1201514#feedback</comments>
</item>
<item>
 <title>WILS: Client IP or Not Client IP, SNAT Is the Question</title>
 <link>http://lorimacvittie.sys-con.com/node/1200549</link>
 <description>&lt;p&gt;&lt;em&gt;Ever wonder why requests coming through proxy-based solutions, particularly load balancers, end up with an IP address other than the &lt;/em&gt;real &lt;em&gt;client? It’s not just a network administrator having fun at your expense. SNAT is the question – and the answer. &lt;/em&gt;&lt;/p&gt;  &lt;p&gt;SNAT is the common abbreviation for Secure NAT, so-called because the configured address will not accept inbound connections and is, therefore, supposed to be secure. It is also sometimes (more accurately in the opinion of many) referred to as Source NAT, however, because it acts on source IP address instead of the destination IP address as is the case for NAT usage. &lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/WILSNATvsSNAT_93CD/snat-lb_2.png&quot;&gt;&lt;img title=&quot;snat-lb&quot; style=&quot;border-right: 0px; border-top: 0px; display: inline; margin: 0px 10px 0px 0px; border-left: 0px; border-bottom: 0px&quot; height=&quot;357&quot; alt=&quot;snat-lb&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/WILSNATvsSNAT_93CD/snat-lb_thumb.png&quot; width=&quot;498&quot; align=&quot;left&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;In &lt;a title=&quot;&quot; href=&quot;http://www.f5.com/glossary/load-balancing.html&quot; rel=&quot;&quot;&gt;load balancing&lt;/a&gt; scenarios SNAT is used to change the source IP of incoming requests to that of the &lt;a title=&quot;&quot; href=&quot;http://www.f5.com/glossary/load-balancer.html&quot; rel=&quot;&quot;&gt;Load balancer&lt;/a&gt;. Now you’re probably thinking this is the  reason we end up having to jump through hoops like &lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2008/06/02/3323.aspx&quot;&gt;X-FORWARDED-FOR&lt;/a&gt; to get the &lt;em&gt;real &lt;/em&gt;client IP address and you’d be right. But the use of SNAT for this purpose isn’t intentionally malevolent. Really. In most cases it’s used to force the return path for responses &lt;em&gt;through&lt;/em&gt; the load balancer, which is important when network routing from the server (virtual or physical) to the client would bypass the load balancer. This is often true because servers need a way to access the Internet for various reasons including automated updates and when the application hosted on the server needs to call out to a third-party application, such as integrating with a Web 2.0 site via an API call. In these situations it is desirable for the server to bypass the load balancer because the traffic is initiated by the server, and is not usually being managed by the load balancer. &lt;/p&gt;  &lt;p&gt;In the case of a request coming from a client the response needs to return through the load balancer because incoming requests are usually destination NAT’d in most load balancing configurations, so the traffic has to traverse the same path, in reverse, in order to undo &lt;em&gt;that &lt;/em&gt;translation and ensure the response is delivered to the client. &lt;/p&gt;  &lt;p&gt;Most land balancing solutions offer the ability to specify, on a per-IP address basis, the SNAT mappings as well as providing an “auto map” feature which uses the IP addresses assigned to load balancer (often called “self-ip” addresses) to perform the SNAT mappings. Advanced load balancers have additional methods of assigning SNAT mappings including assigning a “pool” of addresses to a virtual (network) server to be used automatically as well as intelligent SNAT capabilities that allow the use of network-side scripting to manipulate on a case-by-case basis the SNAT mappings. Most configurations can comfortably use the auto map feature to manage SNAT, by far the least complex of the available configurations. &lt;/p&gt;  &lt;p style=&quot;text-transform: uppercase&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;strong&gt;WILS&lt;/strong&gt;: &lt;em&gt;Write It Like Seth&lt;/em&gt;. &lt;a href=&quot;http://sethgodin.typepad.com/&quot;&gt;Seth Godin&lt;/a&gt; always gets his point across with brevity and wit. WILS is an ATTEMPT TO BE concise about application delivery TOPICS AND just get straight to the point. NO DILLY DALLYING AROUND. &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;http://twitter.com/lmacvittie&quot;&gt;&lt;img height=&quot;18&quot; alt=&quot;Follow me on Twitter&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_twitt-twoo-icon.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a title=&quot;Follow F5 Networks on Twitter&quot; href=&quot;http://tweepml.org/F5-Networks-Tweeple/&quot;&gt;&lt;img height=&quot;18&quot; src=&quot;http://tweepml.org/s/tweepml16.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a title=&quot;Follow F5 DevCentral on Twitter&quot; href=&quot;http://tweepml.org/F5-DevCentral/&quot;&gt;&lt;img height=&quot;18&quot; src=&quot;http://tweepml.org/s/tweepml16.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/Rss.aspx&quot;&gt;&lt;img src=&quot;http://devcentral.f5.com/Portals/0/images/Icons/icon_xml_18.gif&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://www.slideshare.net/lmacvittie&quot;&gt;&lt;img height=&quot;18&quot; alt=&quot;View Lori&#039;s profile on SlideShare&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_slideshare.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://www.linkedin.com/in/lmacvittie&quot;&gt;&lt;img src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_linkedin_16.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://www.friendfeed.com/lmacvittie&quot;&gt;&lt;img style=&quot;border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px&quot; height=&quot;18&quot; alt=&quot;friendfeed&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/friendfeed_3.jpg&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://www.facebook.com/lmacvittie&quot;&gt;&lt;img style=&quot;border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px&quot; height=&quot;18&quot; alt=&quot;icon_facebook&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/icon_facebook_4.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a title=&quot;Subscribe using any feed reader!&quot; href=&quot;http://www.addthis.com/feed.php?pub=lmacvittie&amp;amp;h1=http%3A%2F%2Fdevcentral.f5.com%2Fweblogs%2Fmacvittie%2FRss.aspx&amp;amp;t1=&quot;&gt;&lt;img height=&quot;18&quot; alt=&quot;AddThis Feed Button&quot; src=&quot;http://s9.addthis.com/button1-fd.gif&quot; width=&quot;125&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a title=&quot;Bookmark and Share&quot; onclick=&quot;window.open(&#039;http://www.addthis.com/bookmark.php?wt=nw&amp;amp;pub=lmacvittie&amp;amp;url=&#039;+encodeURIComponent(location.href)+&#039;&amp;amp;title=&#039;+encodeURIComponent(document.title), &#039;addthis&#039;, &#039;scrollbars=yes,menubar=no,width=620,height=520,resizable=yes,toolbar=no,location=no,status=no,screenX=200,screenY=100,left=200,top=100&#039;); return false;&quot; href=&quot;http://www.addthis.com/bookmark.php&quot; target=&quot;_blank&quot;&gt;&lt;img height=&quot;18&quot; alt=&quot;Bookmark and Share&quot; src=&quot;http://s9.addthis.com/button1-share.gif&quot; width=&quot;125&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;script type=&quot;text/javascript&quot; src=&quot;http://track.mybloglog.com/js/jsserv.php?mblID=2008070914270355&quot;&gt;&lt;/script&gt;&lt;/p&gt;  &lt;p&gt;Related blogs &amp;amp; articles: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2008/06/02/3323.aspx&quot;&gt;Using &quot;X-Forwarded-For&quot; in Apache or PHP&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://www.thef5guru.com/ltm/snat-translation-overflow/&quot;&gt;SNAT Translation Overflow&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2008/08/06/3519.aspx&quot;&gt;Working around client-side limitations on custom HTTP headers&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/10/22/wils-why-does-load-balancing-improve-application-performance.aspx&quot;&gt;WILS: Why Does Load Balancing Improve Application Performance?&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/09/23/concise-guide-to-load-balancing.aspx&quot;&gt;WILS: The Concise Guide to *-Load Balancing&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/09/15/network-application-load-balancing.aspx&quot;&gt;WILS: Network Load Balancing versus Application Load Balancing&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/category/4335.aspx&quot;&gt;All WILS Topics on DevCentral&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/09/17/load-balancers-are-dead-or-are-they.aspx&quot;&gt;If Load Balancers Are Dead Why Do We Keep Talking About Them?&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;div class=&quot;wlWriterEditableSmartContent&quot; id=&quot;scid:0767317B-992E-4b12-91E0-4F059A8CECA8:e4425faf-34c5-4d4a-9a26-141d3211e6c9&quot; style=&quot;padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px&quot;&gt;Technorati Tags: &lt;a href=&quot;http://technorati.com/tags/MacVittie&quot; rel=&quot;tag&quot;&gt;MacVittie&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/F5&quot; rel=&quot;tag&quot;&gt;F5&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/application+delivery&quot; rel=&quot;tag&quot;&gt;application delivery&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/load+balancing&quot; rel=&quot;tag&quot;&gt;load balancing&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/SNAT&quot; rel=&quot;tag&quot;&gt;SNAT&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/NAT&quot; rel=&quot;tag&quot;&gt;NAT&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/load+balancer&quot; rel=&quot;tag&quot;&gt;load balancer&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/X-FORWARDED-FOR&quot; rel=&quot;tag&quot;&gt;X-FORWARDED-FOR&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/IP&quot; rel=&quot;tag&quot;&gt;IP&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/routing&quot; rel=&quot;tag&quot;&gt;routing&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/WILS&quot; rel=&quot;tag&quot;&gt;WILS&lt;/a&gt;&lt;/div&gt;&lt;img src=&quot;http://devcentral.f5.com/weblogs/macvittie/aggbug/6224.aspx&quot; width=&quot;1&quot; height=&quot;1&quot; /&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/f5/XOwx/~4/50yNbhe6WtY&quot; height=&quot;1&quot; width=&quot;1&quot;/&gt;&lt;p&gt;&lt;a href=&quot;http://lorimacvittie.sys-con.com/node/1200549&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Wed, 25 Nov 2009 10:15:00 EST</pubDate>
 <guid isPermaLink="true">http://lorimacvittie.sys-con.com/node/1200549</guid>
 <comments>http://lorimacvittie.sys-con.com/node/1200549#feedback</comments>
</item>
<item>
 <title>To Take Advantage of Cloud Computing You Must Unlearn, Luke</title>
 <link>http://lorimacvittie.sys-con.com/node/1163764</link>
 <description>One of the benefits of cloud computing is supposed to be efficiency, particularly in the utilization of compute resources. Over-provisioning of compute resources has long been one way in which IT combats the need for scalability and availability of applications but this often leaves a large percentage of compute resources unused. The utilization rule once employed as a means to ensure availability and performance of applications, i.e. no device or server should utilize more than X% of its resources at any time, is no longer acceptable as it wastes resources which in turn eats away at the bottom line.&lt;p&gt;&lt;a href=&quot;http://lorimacvittie.sys-con.com/node/1163764&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Wed, 25 Nov 2009 04:15:00 EST</pubDate>
 <guid isPermaLink="true">http://lorimacvittie.sys-con.com/node/1163764</guid>
 <comments>http://lorimacvittie.sys-con.com/node/1163764#feedback</comments>
</item>
<item>
 <title>The Application Delivery Spell Book</title>
 <link>http://lorimacvittie.sys-con.com/node/1198798</link>
 <description>&lt;p&gt;&lt;em&gt;&lt;font color=&quot;#000080&quot; /&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;The long, lost application delivery spell compendium has been found! Its once hidden, arcane knowledge is slowly being translated for the good of all web applications. Luckily, you don’t have to be Elminster or Gandalf or &amp;lt;insert powerful wizard you know here&amp;gt; to cast &lt;/em&gt;this &lt;em&gt;spell over your infrastructure&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Detect Invisible (Application) Stalkers &lt;a href=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/ItIsHardToDefendWhenYouDontKnowYoureBein_3562/image_2.png&quot;&gt;&lt;img title=&quot;image&quot; style=&quot;border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; margin-left: 0px; margin-right: 0px; border-right-width: 0px&quot; height=&quot;271&quot; alt=&quot;image&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/ItIsHardToDefendWhenYouDontKnowYoureBein_3562/image_thumb.png&quot; width=&quot;210&quot; align=&quot;right&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;   &lt;strong&gt;School of Magic:&lt;/strong&gt; Abjuration (Protective Spells) &lt;/p&gt;  &lt;p&gt;   &lt;strong&gt;Components&lt;/strong&gt;: Somatic (requires gestures), Material (requires physical component) &lt;/p&gt;  &lt;p&gt;   &lt;strong&gt;Casting Time: &lt;/strong&gt;special &lt;/p&gt;  &lt;p&gt;   &lt;strong&gt;Range: &lt;/strong&gt;Layers 3-7&lt;/p&gt;  &lt;p&gt;   &lt;strong&gt;Area: &lt;/strong&gt;global &lt;/p&gt;  &lt;p&gt;   &lt;strong&gt;Duration: &lt;/strong&gt;Until discharged &lt;/p&gt;  &lt;p&gt;   &lt;strong&gt;Saving Throw: &lt;/strong&gt;Special&lt;/p&gt;  &lt;p&gt;   &lt;strong&gt;Spell Resistance: &lt;/strong&gt;No&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/ItIsHardToDefendWhenYouDontKnowYoureBein_3562/invisiblestalker_2.jpg&quot;&gt;&lt;img title=&quot;invisiblestalker&quot; style=&quot;border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; margin: 0px 10px 0px 0px; border-right-width: 0px&quot; height=&quot;161&quot; alt=&quot;invisiblestalker&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/ItIsHardToDefendWhenYouDontKnowYoureBein_3562/invisiblestalker_thumb.jpg&quot; width=&quot;161&quot; align=&quot;left&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; Invisible (application) stalkers are creatures native to the Internet. They sometimes serve miscreants, corporate spies, and script kiddies, who summon them to perform attacks against specific targets. A summoned invisible stalker undertakes the form of a legitimate application request, pretending to be a real user, and will tirelessly undertake whatever task the caster commands, even if the task sends packets hundreds or thousands of miles away. The creature follows a command until the task is completed and obeys only the caster. &lt;/p&gt;    &lt;p&gt;Invisible (application) stalkers operate only at layer 7 and eschew the use of forms commonly recognized as being of evil intent. Thus an &lt;em&gt;invoke firewall log &lt;/em&gt;spell will show only multiple requests over time from similar agents, and &lt;em&gt;intrusion detection &lt;/em&gt;spells have no effect on the creatures. Only a &lt;em&gt;detect invisible (application) stalker &lt;/em&gt;spell can recognize and subsequently dismiss these agents of evil. &lt;/p&gt;    &lt;p&gt;This spell inserts into the path of the invisible (application) stalker a wall which cannot be avoided, blocking them or reporting to the caster their proximity, as determined by the caster. The material component for this spell is a &lt;a href=&quot;http://www.f5.com/products/big-ip/product-modules/application-security-manager.html&quot;&gt;web application firewall&lt;/a&gt;, which must be placed between the invisible (application) stalker and its intended target. The somatic component requires the caster to complete a series of mouse clicks and keyboard strokes that deploy an application security policy including the ability to prevent &lt;a href=&quot;http://en.wikipedia.org/wiki/Web_scraping&quot;&gt;web scraping&lt;/a&gt;. The casting time for this spell varies based on the complexity of the existing environment, and how many victims are being targeted by the invisible (application) stalkers. &lt;/p&gt;    &lt;p&gt;Once completed, the spell will last until the caster discharges it by disabling the policy created by the somatic gestures. &lt;/p&gt;    &lt;p&gt;The invisible (application) stalker may attempt a saving throw (Will) to realize it is being blocked. If it makes the save, it may attempt to figure out how the wall is blocking it. It must then make a second Will save or discorporate immediately. If the spell is cast as a reporting only mechanism, there is no saving throw allowed and the invisible (application) stalker will never be aware it has been detected. &lt;/p&gt; &lt;/blockquote&gt;  &lt;hr width=&quot;100%&quot; color=&quot;#680000&quot; noshade=&quot;noshade&quot; /&gt;   &lt;div style=&quot;background: #ebd3d3; width: 100%&quot;&gt;&lt;strong&gt;THE FIRST STEP IN ANY SOLUTION IS ALWAYS RECOGNIZING THERE IS A PROBLEM &lt;/strong&gt;&lt;/div&gt;  &lt;hr width=&quot;100%&quot; color=&quot;#680000&quot; noshade=&quot;noshade&quot; /&gt;There are a few attacks today that just can’t be detected by applications. &lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2008/07/08/3429.aspx&quot;&gt;Layer 7 DoS&lt;/a&gt; can’t be detected from within an application because the code that executes does so in the context of a &lt;em&gt;single request&lt;/em&gt; and a DoS implies many requests from many sources. The only way for a developer to detect this attack is to be able to view the single request that is typical of an application in the context of &lt;em&gt;all &lt;/em&gt;requests across &lt;em&gt;all &lt;/em&gt;instances of the application – even across machines – and that’s simply not possible from within the application.   &lt;p&gt;Similarly, web scraping attacks are nearly impossible for a developer to detect because there is nothing in the request that would indicate anything is out of the ordinary. Nothing. No special code, no special characters, no odd manifestations within the headers or network data. In order for the developer to detect such an attack s/he would need to be able to determine whether the client is manned by a human being or is a script/bot. And no, using User-Agent headers isn’t going to work on this one because miscreants have figured out that too many security devices are able to block their attacks based on that value and thus have learned to circumvent it by scripting real browsers or manipulating the HTTP headers such that their bots/scripts appear to be valid user-driven browsers. &lt;/p&gt;  &lt;p&gt;But that’s what a &lt;a href=&quot;http://www.f5.com/products/big-ip/product-modules/application-security-manager.html&quot;&gt;web application firewall (WAF)&lt;/a&gt; was designed to do: to watch, to evaluate requests in context, across all instances and all requests. It has the visibility, it has the capability, and it can detect attacks that are not easily if at all detected from within the application. Even if the WAF isn’t blocking the attacks, it can at least tell you they are happening, which is something the developers need to know if they’re going to put in place solutions to prevent them. &lt;/p&gt;  &lt;p&gt;&lt;em&gt;“Security manager, ‘J.F. Rice,’ whose name and employer have been disguised for obvious reasons” &lt;/em&gt;explains his need to “see” inside connections and understand what is happening in his environment. &lt;/p&gt; &lt;fieldset style=&quot;padding-right: 5px; padding-left: 5px; padding-bottom: 5px; padding-top: 5px&quot;&gt;&lt;legend&gt;&lt;font color=&quot;#000080&quot;&gt;&lt;a href=&quot;http://news.idg.no/cw/art.cfm?id=08DFD829-1A64-67EA-E4996B477BBCB6D3&quot;&gt;We’ve been blind to attacks on our Web sites&lt;/a&gt;&lt;/font&gt;&lt;/legend&gt;    &lt;p&gt;&lt;font color=&quot;#000080&quot;&gt;I installed a Web application firewall in my company&#039;s DMZ to tell us about active attacks that may not be identified by our other devices. I set the device up in monitor mode, though it can be set up to block attacks, because my goal was just to see what was going on. I wanted to know more about what&#039;s inside the connections to those Web servers.&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font color=&quot;#000080&quot;&gt;What I discovered is that our Web sites are being &quot;scraped&quot; by other companies -- our competitors! Some of the information on our sites is valuable intellectual property. It is provided online, in a restricted manner (passwords and such), to our customers. Such restrictions aren&#039;t very difficult to overcome for the Web crawlers that our competitors are using, because webmasters usually don&#039;t know much about security. They make a token attempt to put passwords and restrictions on sensitive files, but they often don&#039;t do a very good job.&lt;/font&gt;&lt;/p&gt; &lt;/fieldset&gt;   &lt;p&gt;&lt;a href=&quot;http://www.f5.com/solutions/security/&quot;&gt;Web application security&lt;/a&gt; requires visibility as well as the expected defensive capabilities. A &lt;a href=&quot;http://www.f5.com/products/big-ip/product-modules/application-security-manager.html&quot;&gt;web application firewall&lt;/a&gt; can provide both capabilities even though you may not leverage both at the same time or at all. Using a WAF as a mechanism to determine what kind of attacks are being directed at your web applications is just as valuable a proposition as enabling its preventative capabilities. &lt;/p&gt;  &lt;p&gt;Either way, knowing is the first step to moving forward on a strategy to address it. &lt;/p&gt;  &lt;p&gt; &lt;a href=&quot;http://twitter.com/lmacvittie&quot;&gt;&lt;img height=&quot;18&quot; alt=&quot;Follow me on Twitter&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_twitt-twoo-icon.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a title=&quot;Follow F5 Networks on Twitter&quot; href=&quot;http://tweepml.org/F5-Networks-Tweeple/&quot;&gt;&lt;img height=&quot;18&quot; src=&quot;http://tweepml.org/s/tweepml16.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a title=&quot;Follow F5 DevCentral on Twitter&quot; href=&quot;http://tweepml.org/F5-DevCentral/&quot;&gt;&lt;img height=&quot;18&quot; src=&quot;http://tweepml.org/s/tweepml16.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/Rss.aspx&quot;&gt;&lt;img src=&quot;http://devcentral.f5.com/Portals/0/images/Icons/icon_xml_18.gif&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://www.slideshare.net/lmacvittie&quot;&gt;&lt;img height=&quot;18&quot; alt=&quot;View Lori&#039;s profile on SlideShare&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_slideshare.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://www.linkedin.com/in/lmacvittie&quot;&gt;&lt;img src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_linkedin_16.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://www.friendfeed.com/lmacvittie&quot;&gt;&lt;img style=&quot;border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px&quot; height=&quot;16&quot; alt=&quot;friendfeed&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/friendfeed_3.jpg&quot; width=&quot;16&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/icon_facebook_2.png&quot;&gt;&lt;img style=&quot;border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px&quot; height=&quot;16&quot; alt=&quot;icon_facebook&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/icon_facebook_4.png&quot; width=&quot;16&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a title=&quot;Subscribe using any feed reader!&quot; href=&quot;http://www.addthis.com/feed.php?pub=lmacvittie&amp;amp;h1=http%3A%2F%2Fdevcentral.f5.com%2Fweblogs%2Fmacvittie%2FRss.aspx&amp;amp;t1=&quot;&gt;&lt;img height=&quot;18&quot; alt=&quot;AddThis Feed Button&quot; src=&quot;http://s9.addthis.com/button1-fd.gif&quot; width=&quot;125&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a title=&quot;Bookmark and Share&quot; onclick=&quot;window.open(&#039;http://www.addthis.com/bookmark.php?wt=nw&amp;amp;pub=lmacvittie&amp;amp;url=&#039;+encodeURIComponent(location.href)+&#039;&amp;amp;title=&#039;+encodeURIComponent(document.title), &#039;addthis&#039;, &#039;scrollbars=yes,menubar=no,width=620,height=520,resizable=yes,toolbar=no,location=no,status=no,screenX=200,screenY=100,left=200,top=100&#039;); return false;&quot; href=&quot;http://www.addthis.com/bookmark.php&quot; target=&quot;_blank&quot;&gt;&lt;img height=&quot;18&quot; alt=&quot;Bookmark and Share&quot; src=&quot;http://s9.addthis.com/button1-share.gif&quot; width=&quot;125&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;script type=&quot;text/javascript&quot; src=&quot;http://track.mybloglog.com/js/jsserv.php?mblID=2008070914270355&quot;&gt;&lt;/script&gt;&lt;/p&gt;  &lt;p&gt;Related blogs &amp;amp; articles: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/f5news/archive/2009/11/20/innovative-web-protection-and-compliance.aspx&quot;&gt;Innovative Web Protection and Compliance&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://www.slideshare.net/DSorensenCPR/f5-offers-advanced-web-security-with-bigip-v101&quot;&gt;BIG-IP v10.1 Security &lt;/a&gt; [Slideshare Presentation] &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/10/01/the-gazebo-on-your-web-site.aspx&quot;&gt;Excuse Me But Is That a Gazebo On Your Site?!&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/09/28/web-application-security-at-the-edge-is-more-efficient-than.aspx&quot;&gt;Web Application Security at the Edge is More Efficient Than In the Application&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/07/21/i-can-has-ur-.htaccess-file.aspx&quot;&gt;I Can Has UR .htaccess File&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/07/08/automatically-removing-cookies.aspx&quot;&gt;Automatically Removing Cookies&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/06/23/clickjacking-protection-using-x-frame-options-available-for-firefox.aspx&quot;&gt;Clickjacking Protection Using X-FRAME-OPTIONS Available for Firefox&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/01/05/stop-brute-force-listing-of-http-options-with-network-side-scripting.aspx&quot;&gt;Stop brute force listing of HTTP OPTIONS with network-side scripting&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/04/23/jedi-mind-tricks-http-request-smuggling.aspx&quot;&gt;Jedi Mind Tricks: HTTP Request Smuggling&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/01/15/i-am-in-your-http-headers-attacking-your-application.aspx&quot;&gt;I am in your HTTP headers, attacking your application&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;div class=&quot;wlWriterEditableSmartContent&quot; id=&quot;scid:0767317B-992E-4b12-91E0-4F059A8CECA8:38d5e35c-78cc-47bd-be06-c8e9ff41e36f&quot; style=&quot;padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px&quot;&gt;Technorati Tags: &lt;a href=&quot;http://technorati.com/tags/MacVittie&quot; rel=&quot;tag&quot;&gt;MacVittie&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/F5&quot; rel=&quot;tag&quot;&gt;F5&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/web+application+security&quot; rel=&quot;tag&quot;&gt;web application security&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/security&quot; rel=&quot;tag&quot;&gt;security&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/web+2.0&quot; rel=&quot;tag&quot;&gt;web 2.0&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/web+scraping&quot; rel=&quot;tag&quot;&gt;web scraping&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/ASM&quot; rel=&quot;tag&quot;&gt;ASM&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/web+application+firewall&quot; rel=&quot;tag&quot;&gt;web application firewall&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/WAF&quot; rel=&quot;tag&quot;&gt;WAF&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/D%26D&quot; rel=&quot;tag&quot;&gt;D&amp;amp;D&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/ADSB&quot; rel=&quot;tag&quot;&gt;ADSB&lt;/a&gt;&lt;/div&gt;&lt;img src=&quot;http://devcentral.f5.com/weblogs/macvittie/aggbug/6222.aspx&quot; width=&quot;1&quot; height=&quot;1&quot; /&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/f5/XOwx/~4/lxUJyY7D-YI&quot; height=&quot;1&quot; width=&quot;1&quot;/&gt;&lt;p&gt;&lt;a href=&quot;http://lorimacvittie.sys-con.com/node/1198798&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Tue, 24 Nov 2009 12:30:00 EST</pubDate>
 <guid isPermaLink="true">http://lorimacvittie.sys-con.com/node/1198798</guid>
 <comments>http://lorimacvittie.sys-con.com/node/1198798#feedback</comments>
</item>
<item>
 <title>Scaling Security in the Cloud: Just Hit the Reset Button</title>
 <link>http://lorimacvittie.sys-con.com/node/1196850</link>
 <description>Today Security administrators deal with 10’s, 100’s, even 1000’s of servers but what happens when potentially tens of thousands of VM’s get spun up and they are not the same as they were an hour ago. Security assessments like Tripwire, while work, inject load and what if those servers are only up for 30 minutes?  How can you be sure what was up and offering content was secure?  One idea he offered was to have servers only live for 30 minutes then drop it and replace.  If someone did compromise the unit, they’d only have a few moments to do anything and then it’s wiped.  You can keep the logs but just replace the instance.  Or, use an Open Source equivalent every other time you load, so crooks can’t get a good feel for baseline system.&lt;p&gt;&lt;a href=&quot;http://lorimacvittie.sys-con.com/node/1196850&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Tue, 24 Nov 2009 11:15:00 EST</pubDate>
 <guid isPermaLink="true">http://lorimacvittie.sys-con.com/node/1196850</guid>
 <comments>http://lorimacvittie.sys-con.com/node/1196850#feedback</comments>
</item>
<item>
 <title>WARNING: Security Device Enclosed</title>
 <link>http://lorimacvittie.sys-con.com/node/1193961</link>
 <description>How many times have you seen an employee wave on by a customer when the “security device enclosed” in some item – be it DVD, CD, or clothing – sets off the alarm at the doors? Just a few weeks ago I heard one young lady explain the alarm away with “it must have be the CD I bought at the last place I was at…” This apparently satisfied the young man at the doors who nodded and turned back to whatever he’d been doing.&lt;p&gt;&lt;a href=&quot;http://lorimacvittie.sys-con.com/node/1193961&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Thu, 19 Nov 2009 16:00:00 EST</pubDate>
 <guid isPermaLink="true">http://lorimacvittie.sys-con.com/node/1193961</guid>
 <comments>http://lorimacvittie.sys-con.com/node/1193961#feedback</comments>
</item>
<item>
 <title>Google SPDY Protocol Would Require Mass Change in Infrastructure</title>
 <link>http://lorimacvittie.sys-con.com/node/1191641</link>
 <description>&lt;p&gt;&lt;em&gt;Google’s desire to speed up the web via a new protocol is laudable, but the SPDY protocol would require massive changes across networks to support&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/e4ce6cd5d41f_63B8/google-logo_2.jpg&quot;&gt;&lt;img title=&quot;google-logo&quot; style=&quot;border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; margin: 0px 20px 0px 0px; border-right-width: 0px&quot; height=&quot;54&quot; alt=&quot;google-logo&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/e4ce6cd5d41f_63B8/google-logo_thumb.jpg&quot; width=&quot;134&quot; align=&quot;left&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://www.arstechnica.com&quot;&gt;ArsTechnica&lt;/a&gt; had an interesting article on one of &lt;a href=&quot;http://www.google.com&quot;&gt;Google’s&lt;/a&gt; latest projects, &lt;a href=&quot;http://arstechnica.com/web/news/2009/11/spdy-google-wants-to-speed-up-the-web-by-ditching-http.ars&quot;&gt;a new web protocol designed to replace HTTP called SPDY&lt;/a&gt;. &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/e4ce6cd5d41f_63B8/blockquote_2.gif&quot;&gt;&lt;img title=&quot;blockquote&quot; style=&quot;border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; margin-left: 0px; margin-right: 0px; border-right-width: 0px&quot; height=&quot;28&quot; alt=&quot;blockquote&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/e4ce6cd5d41f_63B8/blockquote_thumb.gif&quot; width=&quot;46&quot; align=&quot;left&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; SPDY uses a single SSL-encrypted session between a browser and a client, and then compresses all the request/response overhead. The requests, responses, and data are all put into frames that are multiplexed over the one connection. This makes it possible to send a higher-priority small file without waiting for the transfer of a large file that&#039;s already in progress to terminate. Compressing the requests is helpful in typical ADSL/cable setups, where uplink speed is limited. For good measure, unnecessary and duplicated headers in requests and responses are done away with. SPDY also includes real server push and a &quot;server hint&quot; feature.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Having recently emerged from a trip into the world of service-providers and its associated protocols, the description of SPDY immediately brought to mind other asynchronous, message-oriented protocols such as SIP and DIAMETER. It therefore made me seriously consider the kind of massive changes that would be required to support such a protocol across all data center components: security, &lt;a title=&quot;&quot; href=&quot;http://www.f5.com/glossary/load-balancing.html&quot; rel=&quot;&quot;&gt;load balancing&lt;/a&gt;, acceleration, web servers, application servers, caches. Basically any network intermediary based on the premise of a strict request-reply, synchronous behavior would likely need radical changes to its core protocol handling systems. &lt;/p&gt;  &lt;p /&gt;  &lt;hr style=&quot;color: #c0c0c0&quot; width=&quot;100%&quot; noshade=&quot;noshade&quot; /&gt;&lt;strong&gt;MAJOR DIFFERENCES BETWEEN SPDY and HTTP &lt;/strong&gt;  &lt;hr style=&quot;color: #c0c0c0&quot; width=&quot;100%&quot; noshade=&quot;noshade&quot; /&gt;  &lt;p /&gt;  &lt;p&gt;SPDY, as described, is asynchronous and message-oriented. Like DIAMETER, SPDY would allow multiple requests per connection, effectively turning a single connection designed to be used and then closed into a long-lived connection. This is more along the lines of a SIP connection which is initiated and held open until the session is terminated.This is very different from the HTTP model in which connections are opened and closed within fairly short time intervals and are not expected to be held open for exceedingly long periods of time. SPDY thus eliminates the overhead associated with opening and closing many connections and the negative impact that has on application performance. &lt;/p&gt;  &lt;p&gt;The current &lt;a href=&quot;http://dev.chromium.org/spdy/spdy-protocol&quot;&gt;draft of the SPDY protocol&lt;/a&gt; states that “from the perspective of the server business logic or application API, nothing has changed”. But from the perspective of the infrastructure that needs to process the protocol, &lt;em&gt;everything&lt;/em&gt; changes. &lt;/p&gt;  &lt;blockquote&gt;   &lt;hr width=&quot;100%&quot; color=&quot;#680000&quot; noshade=&quot;noshade&quot; /&gt;     &lt;div style=&quot;background: #ebd3d3; width: 100%&quot;&gt;&lt;strong&gt;KEY CHANGES TO HTTP HEADERS&lt;/strong&gt;&lt;/div&gt;    &lt;hr width=&quot;100%&quot; color=&quot;#680000&quot; noshade=&quot;noshade&quot; /&gt;The following  are directly from the draft of the SPDY protocol and document the changes from HTTP to SPDY&lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;REQUEST CHANGES&lt;/strong&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;ul&gt;   &lt;ul&gt;     &lt;li&gt;The first line of the request is unfolded into name/value pairs like other HTTP headers.  The names of the first line fields are &lt;code&gt;method&lt;/code&gt;, &lt;code&gt;url&lt;/code&gt;, and &lt;code&gt;version&lt;/code&gt;.  These keys are required to be present.  The &#039;url&#039; is the fully-qualified URL, containing protocol, host, port, and path.&lt;/li&gt;      &lt;li&gt;HTTP request headers are compressed.  This is accomplished by compressing all data sent by the client with gzip encoding.&lt;/li&gt;      &lt;li&gt;&lt;code&gt;Content-length&lt;/code&gt; is not a valid header. &lt;/li&gt;      &lt;li&gt;Chunked encoding is no longer valid.&lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;RESPONSE CHANGES&lt;/strong&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;ul&gt;   &lt;ul&gt;     &lt;li&gt;The response status line is unfolded into name/value pairs like other HTTP headers.  The names of the status line are &lt;code&gt;status &lt;/code&gt;and &lt;code&gt;version&lt;/code&gt;.  These keys are required to be present&lt;/li&gt;      &lt;li&gt;&lt;code&gt;Content-length&lt;/code&gt; is no longer valid. &lt;/li&gt;      &lt;li&gt;Chunked encoding is no longer valid.&lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;blockquote&gt;   &lt;p&gt;These changes would have a huge impact on infrastructure solutions, many of which rely on URI or HTTP headers (custom and standardized) to perform specific actions such as blocking, scanning, persistence (server affinity), or routing. The requirement that SPDY be transported via SSL has its own, well understood impact on infrastructure and is already dealt with by most devices, but SPDY also requires that headers are compressed via gzip. This means every intermediary requiring to perform some action based on the headers will need to decompress, process, and then likely &lt;em&gt;recompress&lt;/em&gt; the headers before sending it on to the next hop. Coupling required compression with SSL would not only require support on all relevant infrastructure but will also likely reintroduce latency that could offset some of the performance gains claimed by testing of SPDY thus far. &lt;/p&gt; &lt;/blockquote&gt;  &lt;ul&gt;   &lt;ul /&gt; &lt;/ul&gt;  &lt;blockquote&gt;   &lt;hr width=&quot;100%&quot; color=&quot;#680000&quot; noshade=&quot;noshade&quot; /&gt;    &lt;div style=&quot;background: #ebd3d3; width: 100%&quot;&gt;&lt;strong&gt;SINGLE-CONNECTION: LONG LIVED SESSIONS&lt;/strong&gt; &lt;/div&gt;    &lt;hr width=&quot;100%&quot; color=&quot;#680000&quot; noshade=&quot;noshade&quot; /&gt;    &lt;p&gt;That all communication would essentially flow between the client and server over a single connection also poses a challenge for intermediaries that perform any kind of analysis or are required to act on the data exchanged. Load balancers, for example, are not generally designed to handle switching of messages in what becomes a 1:N connection:server scenario. The protocol could likely be supported as is by most load balancing solutions on a strictly layer 4 load balancing basis but advanced features that take advantage of application-aware capabilities such as message header and payload value routing (content-based routing) as well as egress functionality like Data Leak Prevention (DLP) would be much more difficult to implement, if not impossible for some solutions. This capability actually sounds a lot like HTTP pipelining on the request side. &lt;/p&gt;    &lt;p&gt;The single, long-lived connection would have more of an impact on the overall architecture and capacity planning. In some respects it would be easier, as there would be an easy 1:1 ratio between users and connections. But because each user is effectively being handed dedicated compute resources, this would actually change the resource consumption model on servers and make it more difficult to support high volumes of users without building out a scalable infrastructure.  &lt;/p&gt;    &lt;hr width=&quot;100%&quot; color=&quot;#680000&quot; noshade=&quot;noshade&quot; /&gt;    &lt;div style=&quot;background: #ebd3d3; width: 100%&quot;&gt;&lt;strong&gt;ASYNCHRONOUS EXCHANGE OF MESSAGES&lt;/strong&gt;&lt;/div&gt;    &lt;hr width=&quot;100%&quot; color=&quot;#680000&quot; noshade=&quot;noshade&quot; /&gt;    &lt;p&gt; Further complicating the ability of infrastructure solutions to handle SPDY is its definition as asynchronous. Essentially asynchronous protocols do not enforce order of replies. That means a client could send three requests in a row without waiting for a response and the server could send back the response in a completely different order. Again, from the draft SPDY protocol: &lt;/p&gt;    &lt;p&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/e4ce6cd5d41f_63B8/blockquote_4.gif&quot;&gt;&lt;img title=&quot;blockquote&quot; style=&quot;border-right: 0px; border-top: 0px; display: inline; margin-left: 0px; border-left: 0px; margin-right: 0px; border-bottom: 0px&quot; height=&quot;28&quot; alt=&quot;blockquote&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/e4ce6cd5d41f_63B8/blockquote_thumb_1.gif&quot; width=&quot;46&quot; align=&quot;left&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;em&gt;Because TCP provides a single stream of data on which SPDY multiplexes multiple logical streams, it is important for &lt;font color=&quot;#ff0000&quot;&gt;clients and servers to interleave data messages&lt;/font&gt; for concurrent sessions.&lt;/em&gt;&lt;/p&gt;    &lt;p&gt;This may not sound like a problem, but for infrastructure that is optimized to handle HTTP and has been built around its implicit behavior this would require changes to the core networking stacks on most devices. In a typical HTTP scenario a request is received, the infrastructure solution processes any applicable ingress policies, and then initiates a connection to the appropriate server and waits for a response. It  appears that with SPDY, like DIAMETER, the infrastructure still processes any applicable ingress policies and initiates a connection but does not necessarily wait for a reply as it might need to act upon the next incoming message. &lt;/p&gt;    &lt;p&gt;This means a single network “session” would need to carefully track multiple incoming requests and outgoing responses at the same time on a per connection basis. This is not something most infrastructure is typically prepared to handle. Combined with the possibility that different requests may need to be routed to different servers within the infrastructure, this complicates the nature of application delivery and load balancing and could have a huge impact on the costs associated with cloud computing. Long lived sessions/connections initiated on secondary or tertiary servers launched to handle temporary capacity increases &lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/10/16/putting-a-price-on-uptime.aspx&quot;&gt;could hold open those connections long enough to incur excess charges&lt;/a&gt; that are unnecessary. &lt;/p&gt;    &lt;p&gt; &lt;/p&gt;    &lt;p&gt;Also similar to DIAMETER is the inclusion of a “real server push” feature. The ability of a server to act like a client and vice-versa is inherent in DIAMETER and this reverse flow of traffic is not something most infrastructure is prepared to process. &lt;/p&gt; &lt;/blockquote&gt;  &lt;hr style=&quot;color: #c0c0c0&quot; width=&quot;100%&quot; noshade=&quot;noshade&quot; /&gt;&lt;strong&gt;THE IMPACT ON INFRASTRUCTURE&lt;/strong&gt;   &lt;hr style=&quot;color: #c0c0c0&quot; width=&quot;100%&quot; noshade=&quot;noshade&quot; /&gt;  &lt;p&gt;Any infrastructure solution that is heavily focused on application layer (HTTP) processing for any purpose would likely need to make radical changes to its core networking and processing engines. Some solutions, particularly those tasked with load balancing and scaling existing message-based protocols may already be capable of supporting a protocol like SPDY. Whether the &lt;a href=&quot;http://www.f5.com/solutions/industry/telecom/&quot;&gt;solutions that support DIAMETER and SIP load balancing&lt;/a&gt; and scalability could support SPDY without modification is highly dependent on whether support for the service-provider focused protocols is based on an underlying generic &lt;a href=&quot;http://www.f5.com/pdf/white-papers/message-based-load-balancing-wp.pdf&quot;&gt;message-based implementation&lt;/a&gt; [PDF] or a protocol-specific implementation. The latter would be difficult to adapt to a new protocol while the former would be more easily extended to specifically support the requirements of new message-oriented protocols. &lt;/p&gt;  &lt;p&gt;But that’s only &lt;a href=&quot;http://www.f5.com/glossary/load-balancing.html&quot;&gt;load balancing&lt;/a&gt; and scalability. There are many other infrastructure devices that are used to secure, monitor, accelerate, and otherwise manage HTTP that would need to be updated to handle such a new protocol. The upheaval across data centers would likely be on par with the anticipated challenges associated with &lt;a href=&quot;http://devcentral.f5.com/weblogs/f5news/archive/2009/11/09/no-ipv4-for-you.aspx&quot;&gt;mass migration from IPv4 to IPv6&lt;/a&gt;. Like that migration, however, support for both SPDY and HTTP could be achieved through the use of translating gateways; infrastructure capable of supporting both SPDY and HTTP or able to translate between the two could be utilized to enable a smoother transition. &lt;/p&gt;  &lt;p&gt;While it’s a fascinating and exciting notion, the introduction of a completely new protocol to replace HTTP seems more academic than realistic. More realistic would be for gradual implementation through adaptation of SPDY’s core concepts into the next generations of HTTP until HTTP is indistinguishably from a protocol such as SPDY. Making modifications and improvements to HTTP would be an evolutionary step rather than the revolutionary change implied with SPDY that would be almost &lt;em&gt;too&lt;/em&gt; disruptive to adopt. &lt;/p&gt;  &lt;p&gt;That said, not everything that comes out of Google Labs is adopted as an industry wide solution. It’s an experimental environment and a good one at that. What may come out of the SPDY project may well in fact be changes to HTTP rather than the presentation of a new, radically different protocol. Regardless, SDPY and Google’s efforts have people talking about what’s wrong with HTTP and how it might be fixed and that conversation is one we’ve probably needed to have for quite some time now. &lt;/p&gt;  &lt;p&gt;You can read more about the tools Google offers and general problems with web performance at &lt;a href=&quot;http://code.google.com/speed/&quot;&gt;Google’s “Let’s Make the Web Faster” site&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;http://twitter.com/lmacvittie&quot;&gt;&lt;img height=&quot;18&quot; alt=&quot;Follow me on Twitter&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_twitt-twoo-icon.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a title=&quot;Follow F5 Networks on Twitter&quot; href=&quot;http://tweepml.org/F5-Networks-Tweeple/&quot;&gt;&lt;img height=&quot;18&quot; src=&quot;http://tweepml.org/s/tweepml16.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a title=&quot;Follow F5 DevCentral on Twitter&quot; href=&quot;http://tweepml.org/F5-DevCentral/&quot;&gt;&lt;img height=&quot;18&quot; src=&quot;http://tweepml.org/s/tweepml16.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/Rss.aspx&quot;&gt;&lt;img src=&quot;http://devcentral.f5.com/Portals/0/images/Icons/icon_xml_18.gif&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://www.slideshare.net/lmacvittie&quot;&gt;&lt;img height=&quot;18&quot; alt=&quot;View Lori&#039;s profile on SlideShare&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_slideshare.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://www.linkedin.com/in/lmacvittie&quot;&gt;&lt;img src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_linkedin_16.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://www.friendfeed.com/lmacvittie&quot;&gt;&lt;img style=&quot;border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px&quot; height=&quot;18&quot; alt=&quot;friendfeed&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/friendfeed_3.jpg&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://www.facebook.com/lmacvittie&quot;&gt;&lt;img style=&quot;border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px&quot; height=&quot;18&quot; alt=&quot;icon_facebook&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/icon_facebook_4.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a title=&quot;Subscribe using any feed reader!&quot; href=&quot;http://www.addthis.com/feed.php?pub=lmacvittie&amp;amp;h1=http%3A%2F%2Fdevcentral.f5.com%2Fweblogs%2Fmacvittie%2FRss.aspx&amp;amp;t1=&quot;&gt;&lt;img height=&quot;18&quot; alt=&quot;AddThis Feed Button&quot; src=&quot;http://s9.addthis.com/button1-fd.gif&quot; width=&quot;125&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a title=&quot;Bookmark and Share&quot; onclick=&quot;window.open(&#039;http://www.addthis.com/bookmark.php?wt=nw&amp;amp;pub=lmacvittie&amp;amp;url=&#039;+encodeURIComponent(location.href)+&#039;&amp;amp;title=&#039;+encodeURIComponent(document.title), &#039;addthis&#039;, &#039;scrollbars=yes,menubar=no,width=620,height=520,resizable=yes,toolbar=no,location=no,status=no,screenX=200,screenY=100,left=200,top=100&#039;); return false;&quot; href=&quot;http://www.addthis.com/bookmark.php&quot; target=&quot;_blank&quot;&gt;&lt;img height=&quot;18&quot; alt=&quot;Bookmark and Share&quot; src=&quot;http://s9.addthis.com/button1-share.gif&quot; width=&quot;125&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;script type=&quot;text/javascript&quot; src=&quot;http://track.mybloglog.com/js/jsserv.php?mblID=2008070914270355&quot;&gt;&lt;/script&gt;&lt;/p&gt;  &lt;p&gt;Related blogs &amp;amp; articles: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href=&quot;http://arstechnica.com/web/news/2009/11/spdy-google-wants-to-speed-up-the-web-by-ditching-http.ars&quot;&gt;SPDY: Google wants to speed up the web by ditching HTTP&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/05/27/i-am-wondering-why-not-all-websites-enabling-this-great.aspx&quot;&gt;I am wondering why not all websites enabling this great feature GZIP?&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/10/07/long-lived-ajax.aspx&quot;&gt;Long Live(d) AJAX&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://www.f5.com/pdf/white-papers/message-based-load-balancing-wp.pdf&quot;&gt;Message-Based Load Balancing: Scaling Diameter, RADIUS, and Message-Oriented Protocols&lt;/a&gt; [White Paper, PDF] &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://www.slideshare.net/DSorensenCPR/f5-networks-scaling-mobile-infrastructures-with-bigip&quot;&gt;Scaling Mobile Infrastructures with BIG-IP Solutions&lt;/a&gt; [SlideShare presentation] &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/04/23/jedi-mind-tricks-http-request-smuggling.aspx&quot;&gt;Jedi Mind Tricks: HTTP Request Smuggling&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/04/02/http-pipelining-a-security-risk-without-real-performance-benefits.aspx&quot;&gt;HTTP Pipelining: A security risk without real performance benefits&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/10/22/wils-why-does-load-balancing-improve-application-performance.aspx&quot;&gt;WILS: Why Does Load Balancing Improve Application Performance?&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/09/23/concise-guide-to-load-balancing.aspx&quot;&gt;WILS: The Concise Guide to *-Load Balancing&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;   &lt;/p&gt;&lt;div class=&quot;wlWriterEditableSmartContent&quot; id=&quot;scid:0767317B-992E-4b12-91E0-4F059A8CECA8:67c9bbb7-4281-414f-8c88-8d6d2ec00d3f&quot; style=&quot;padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px&quot;&gt;Technorati Tags: &lt;a href=&quot;http://technorati.com/tags/MacVittie&quot; rel=&quot;tag&quot;&gt;MacVittie&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/F5&quot; rel=&quot;tag&quot;&gt;F5&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/Google&quot; rel=&quot;tag&quot;&gt;Google&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/SPDY&quot; rel=&quot;tag&quot;&gt;SPDY&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/HTTP&quot; rel=&quot;tag&quot;&gt;HTTP&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/infrastructure&quot; rel=&quot;tag&quot;&gt;infrastructure&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/DIAMETER&quot; rel=&quot;tag&quot;&gt;DIAMETER&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/protocols&quot; rel=&quot;tag&quot;&gt;protocols&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/web&quot; rel=&quot;tag&quot;&gt;web&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/internet&quot; rel=&quot;tag&quot;&gt;internet&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/IPv4&quot; rel=&quot;tag&quot;&gt;IPv4&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/IPv6&quot; rel=&quot;tag&quot;&gt;IPv6&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/acceleration&quot; rel=&quot;tag&quot;&gt;acceleration&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/security&quot; rel=&quot;tag&quot;&gt;security&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/load+balancing&quot; rel=&quot;tag&quot;&gt;load balancing&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/application+delivery&quot; rel=&quot;tag&quot;&gt;application delivery&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/application+security&quot; rel=&quot;tag&quot;&gt;application security&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/architecture&quot; rel=&quot;tag&quot;&gt;architecture&lt;/a&gt;&lt;/div&gt;&lt;img src=&quot;http://devcentral.f5.com/weblogs/macvittie/aggbug/6211.aspx&quot; width=&quot;1&quot; height=&quot;1&quot; /&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/f5/XOwx/~4/6kaARgFaWpM&quot; height=&quot;1&quot; width=&quot;1&quot;/&gt;&lt;p&gt;&lt;a href=&quot;http://lorimacvittie.sys-con.com/node/1191641&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Wed, 18 Nov 2009 09:15:00 EST</pubDate>
 <guid isPermaLink="true">http://lorimacvittie.sys-con.com/node/1191641</guid>
 <comments>http://lorimacvittie.sys-con.com/node/1191641#feedback</comments>
</item>
<item>
 <title>It&amp;rsquo;s DNSSEC Not DNSSUX</title>
 <link>http://lorimacvittie.sys-con.com/node/1193555</link>
 <description>&lt;p&gt;&lt;em&gt;Whenever keys, certificates, and PKI enter into a security solution’s architecture the solution almost always becomes overly complex. DNSSEC is no exception, but it doesn’t have to be. &lt;/em&gt;&lt;/p&gt;  &lt;p&gt;DNS plays a role in every application on the Internet. It is the 411 of the Internet, essentially, without which the millions of users that don’t memorize the IP addresses associated with domain names would be utterly lost. But &lt;a title=&quot;Turks Hijack Kiwi MSN via DNS hacks&quot; href=&quot;http://www.theregister.co.uk/2009/04/22/msn_hijacking/&quot;&gt;DNS is vulnerable to exploitation&lt;/a&gt; and has, in fact, &lt;a href=&quot;http://arstechnica.com/security/news/2008/07/new-dns-exploit-now-in-the-wild-and-having-a-blast.ars&quot;&gt;been exploited&lt;/a&gt; in the past. Like any core infrastructure upon which we depend to conduct business, communicate, and generally entertain ourselves, it needs to be protected. DNSSEC (DNS Security Extensions) is a protocol and management extension to DNS designed to guarantee the authenticity of responses. Its basic theory is sound, but putting into practice can quickly turn DNSSEC into DNSSUX, at least for DNS administrators. &lt;/p&gt;  &lt;p&gt;It should be no surprise, then, that the difficulties inherent in such an effort are causing delays in implementation. VeriSign, for example, &lt;a href=&quot;http://www.networkworld.com/news/2009/022409-verisign-dns-security.html?hpg1=bn&quot;&gt;mentions the “size” of the zone as a reason the top level domains (TLD) are taking so long to adopt DNSSEC&lt;/a&gt;: &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/785d90dcbc2f_8BBC/blockquote_2.gif&quot;&gt;&lt;img title=&quot;blockquote&quot; style=&quot;border-right: 0px; border-top: 0px; display: inline; margin-left: 0px; border-left: 0px; margin-right: 0px; border-bottom: 0px&quot; height=&quot;28&quot; alt=&quot;blockquote&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/785d90dcbc2f_8BBC/blockquote_thumb.gif&quot; width=&quot;46&quot; align=&quot;left&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &quot;VeriSign is moving forward with the implementation of DNSSEC across all of the Top Level Domains that we operate,&quot; VeriSign said in a statement to &lt;i&gt;Network World.&lt;/i&gt; &quot;.com will most likely be the last TLD to adopt DNSSEC&lt;font color=&quot;#ff0000&quot;&gt; due to the size of the zone&lt;/font&gt;. We anticipate full implementation of DNSSEC to be complete across all TLDs in approximately 24 months.&quot;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Given the complexity and requirements involved in a DNSSEC deployment, that’s actually no surprise. &lt;/p&gt;  &lt;hr style=&quot;color: #c0c0c0&quot; width=&quot;100%&quot; noshade=&quot;noshade&quot; /&gt;&lt;strong&gt;WHAT’S SO DIFFICULT ABOUT DNSSEC? &lt;/strong&gt;  &lt;hr style=&quot;color: #c0c0c0&quot; width=&quot;100%&quot; noshade=&quot;noshade&quot; /&gt;  &lt;p&gt;The premise behind DNSSEC is that responses to DNS queries need to be trustable. Following the example of web-based applications, DNSSEC applies the principle of signatures via public/private key encryption as a means to achieve that trust. Essentially DNSSEC is the wrapping of the DNS infrastructure within a trusted, PKI-based superstructure that validates through certificates managed records (zones). &lt;/p&gt;  &lt;p&gt;Deploying DNSSEC involves signing zones with public/private key encryption and returning DNS &lt;a href=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/785d90dcbc2f_8BBC/dnscachepoison_2.png&quot;&gt;&lt;img title=&quot;dnscachepoison&quot; style=&quot;border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; margin-left: 0px; margin-right: 0px; border-right-width: 0px&quot; height=&quot;344&quot; alt=&quot;dnscachepoison&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/785d90dcbc2f_8BBC/dnscachepoison_thumb.png&quot; width=&quot;368&quot; align=&quot;right&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;responses with signatures (new RRSIG resource record). A client&#039;s trust of those signatures is based on a chain of trust established across administrative boundaries, from parent to child zone, using new DNSKEY and DS resource records. DNSSEC also calls for &quot;authenticated denial of existence&quot; via NSEC (and/or NSEC3) records. And complicating the deployment is the requirement that any DNSSEC deployment must manage cryptographic keys: multiple key generation, zone signing, key swapping, key rollover and timing, and recovering from compromised keys.&lt;/p&gt;  &lt;p&gt;Currently BIND, the most common implementation of DNS, supports DNSSEC. There are solutions that combine BIND clones with DNSSEC signing devices that sit beside the DNS infrastructure. So far there doesn&#039;t seem to be an implementation that simultaneously achieves ease of deployment, scalability, and high performance. &lt;/p&gt;  &lt;p&gt;What’s needed is a way to reduce the complexity and the costs associated with layering this PKI infrastructure atop - or alongside - the existing DNS infrastructure while ensuring that DNSSEC is properly implemented and supported. &lt;/p&gt;  &lt;hr style=&quot;color: #c0c0c0&quot; width=&quot;100%&quot; noshade=&quot;noshade&quot; /&gt;&lt;strong&gt;WE BORROWED FROM WEB APPLICATIONS FOR THE FIRST SOLUTION, WHY NOT THE SECOND?&lt;/strong&gt;   &lt;hr style=&quot;color: #c0c0c0&quot; width=&quot;100%&quot; noshade=&quot;noshade&quot; /&gt;  &lt;p&gt;These very same problems have been, and continue to be, felt by administrators of web applications that need to implement secure communications via HTTPS. The best answer to managing SSL implementations is to centralize them; essentially implementing a proxy-based approach to securing all web applications simultaneously using a common SSL implementation. &lt;a href=&quot;http://www.f5.com/glossary/load-balancer.html&quot;&gt;Load balancers&lt;/a&gt; and later &lt;a href=&quot;http://www.f5.com/big-ip/&quot;&gt;application delivery controllers&lt;/a&gt; have been providing this capability for years and it is practically commoditized at this point. We call it “table stakes” in product management because it’s one of the features you must support in application delivery to even get a seat at a potential customer’s table. &lt;/p&gt;  &lt;p&gt;So why aren’t we applying that same logic to the problem of deploying and managing DNS, especially large scale DNS implementations? &lt;/p&gt;  &lt;p&gt;Turns out that we are. But I’m guessing you knew &lt;em&gt;that &lt;/em&gt;was coming, didn’t you? &lt;/p&gt;  &lt;p&gt;A &lt;a href=&quot;http://www.f5.com/products/big-ip/product-modules/global-traffic-manager.html&quot;&gt;DNSSEC-enabled global server load balancer (GSLB)&lt;/a&gt; can support both a centralized, proxy-style DNSSEC implementation or it can be deployed as a stand-alone, DNSSEC-enabled DNS server a la BIND. The difference between a stand-alone deployment of a DNSSEC-enabled GSLB and a BIND + DNSSEC signing solution deployment is that the former integrates DNS and DNSSEC capabilities and does not require separate solutions to provide a workable solution. Even if you aren’t using GSLB to provide &lt;a href=&quot;http://www.f5.com/glossary/load-balancing.html&quot;&gt;load balancing&lt;/a&gt; across multiple datacenters or cloud computing environments (a la cloud balancing), you can still take advantage of a DNSSEC-enabled GSLB to basically “proxy” DNS queries and centralize signing of responses through a single, centralized solution. &lt;/p&gt;  &lt;p&gt;DNSSEC doesn’t have to be DNSSUX. &lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;http://twitter.com/lmacvittie&quot;&gt;&lt;img height=&quot;18&quot; alt=&quot;Follow me on Twitter&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_twitt-twoo-icon.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a title=&quot;Follow F5 Networks on Twitter&quot; href=&quot;http://tweepml.org/F5-Networks-Tweeple/&quot;&gt;&lt;img height=&quot;18&quot; src=&quot;http://tweepml.org/s/tweepml16.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a title=&quot;Follow F5 DevCentral on Twitter&quot; href=&quot;http://tweepml.org/F5-DevCentral/&quot;&gt;&lt;img height=&quot;18&quot; src=&quot;http://tweepml.org/s/tweepml16.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/Rss.aspx&quot;&gt;&lt;img src=&quot;http://devcentral.f5.com/Portals/0/images/Icons/icon_xml_18.gif&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://www.slideshare.net/lmacvittie&quot;&gt;&lt;img height=&quot;18&quot; alt=&quot;View Lori&#039;s profile on SlideShare&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_slideshare.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://www.linkedin.com/in/lmacvittie&quot;&gt;&lt;img src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_linkedin_16.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://www.friendfeed.com/lmacvittie&quot;&gt;&lt;img style=&quot;border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px&quot; height=&quot;18&quot; alt=&quot;friendfeed&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/friendfeed_3.jpg&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://www.facebook.com/lmacvittie&quot;&gt;&lt;img style=&quot;border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px&quot; height=&quot;18&quot; alt=&quot;icon_facebook&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/icon_facebook_4.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a title=&quot;Subscribe using any feed reader!&quot; href=&quot;http://www.addthis.com/feed.php?pub=lmacvittie&amp;amp;h1=http%3A%2F%2Fdevcentral.f5.com%2Fweblogs%2Fmacvittie%2FRss.aspx&amp;amp;t1=&quot;&gt;&lt;img height=&quot;18&quot; alt=&quot;AddThis Feed Button&quot; src=&quot;http://s9.addthis.com/button1-fd.gif&quot; width=&quot;125&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a title=&quot;Bookmark and Share&quot; onclick=&quot;window.open(&#039;http://www.addthis.com/bookmark.php?wt=nw&amp;amp;pub=lmacvittie&amp;amp;url=&#039;+encodeURIComponent(location.href)+&#039;&amp;amp;title=&#039;+encodeURIComponent(document.title), &#039;addthis&#039;, &#039;scrollbars=yes,menubar=no,width=620,height=520,resizable=yes,toolbar=no,location=no,status=no,screenX=200,screenY=100,left=200,top=100&#039;); return false;&quot; href=&quot;http://www.addthis.com/bookmark.php&quot; target=&quot;_blank&quot;&gt;&lt;img height=&quot;18&quot; alt=&quot;Bookmark and Share&quot; src=&quot;http://s9.addthis.com/button1-share.gif&quot; width=&quot;125&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;script type=&quot;text/javascript&quot; src=&quot;http://track.mybloglog.com/js/jsserv.php?mblID=2008070914270355&quot;&gt;&lt;/script&gt;&lt;/p&gt;  &lt;p&gt;Related blogs &amp;amp; articles: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/f5news/archive/2009/11/16/accelerating-your-secure-ride-to-the-cloud-fasten-your-seatbelts.aspx&quot;&gt;Accelerating Your (Secure) Ride to the Cloud: Fasten Your Seatbelts&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://www.networkcomputing.com/data-center/measuring-dns-measurement-factorys-5th-annual-survey.php&quot;&gt;Measuring DNS: Measurement Factory&#039;s Fifth Annual Survey&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://www.networkworld.com/news/2009/022409-verisign-dns-security.html?hpg1=bn&quot;&gt;VeriSign: We will support DNS security in 2011&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://arstechnica.com/security/news/2008/07/new-dns-exploit-now-in-the-wild-and-having-a-blast.ars&quot;&gt;New DNS exploit now in the wild and having a blast&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://dnssec.blogspot.com&quot;&gt;The Official, Unofficial, DNS Security Extensions Blog&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://dnssec.blogspot.com/2009/07/high-risk-dns-exploit-goes-wild.html&quot;&gt;High Risk DNS Exploit Goes Wild&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/08/28/the-end-of-dns-as-we-know-it.aspx&quot;&gt;The End of DNS As We Know It&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/08/06/taking-down-twitter-as-easy-as-d.n.s.aspx&quot;&gt;Taking Down Twitter as easy as D.N.S.&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2008/09/18/3627.aspx&quot;&gt;Building a Cloudbursting Capable Infrastructure&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/07/09/cloud-balancing-cloud-bursting-and-intercloud.aspx&quot;&gt;Cloud Balancing, Cloud Bursting, and Intercloud&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt; &lt;/p&gt;  &lt;div class=&quot;wlWriterEditableSmartContent&quot; id=&quot;scid:0767317B-992E-4b12-91E0-4F059A8CECA8:ec5dc692-6ceb-4b81-8322-32217267961c&quot; style=&quot;padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px&quot;&gt;Technorati Tags: &lt;a href=&quot;http://technorati.com/tags/MacVittie&quot; rel=&quot;tag&quot;&gt;MacVittie&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/F5&quot; rel=&quot;tag&quot;&gt;F5&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/DNSSEC&quot; rel=&quot;tag&quot;&gt;DNSSEC&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/DNS&quot; rel=&quot;tag&quot;&gt;DNS&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/security&quot; rel=&quot;tag&quot;&gt;security&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/GLSB&quot; rel=&quot;tag&quot;&gt;GLSB&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/BIND&quot; rel=&quot;tag&quot;&gt;BIND&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/PKI&quot; rel=&quot;tag&quot;&gt;PKI&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/infrastructure&quot; rel=&quot;tag&quot;&gt;infrastructure&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/unified+application+delivery+and+data+services&quot; rel=&quot;tag&quot;&gt;unified application delivery and data services&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/web&quot; rel=&quot;tag&quot;&gt;web&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/internet&quot; rel=&quot;tag&quot;&gt;internet&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/protocol&quot; rel=&quot;tag&quot;&gt;protocol&lt;/a&gt;&lt;/div&gt;&lt;img src=&quot;http://devcentral.f5.com/weblogs/macvittie/aggbug/6212.aspx&quot; width=&quot;1&quot; height=&quot;1&quot; /&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/f5/XOwx/~4/qlU6_eKC9ms&quot; height=&quot;1&quot; width=&quot;1&quot;/&gt;&lt;p&gt;&lt;a href=&quot;http://lorimacvittie.sys-con.com/node/1193555&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Wed, 18 Nov 2009 06:44:27 EST</pubDate>
 <guid isPermaLink="true">http://lorimacvittie.sys-con.com/node/1193555</guid>
 <comments>http://lorimacvittie.sys-con.com/node/1193555#feedback</comments>
</item>
<item>
 <title>Data as a Service Could Drastically Impact Success of SQL Injection Attacks</title>
 <link>http://lorimacvittie.sys-con.com/node/1189066</link>
 <description>&lt;p&gt;&lt;em&gt;The question is whether that impact is positive (a reduction) or negative (an increase). &lt;/em&gt;&lt;/p&gt;  &lt;p&gt;One of the biggest threats to data integrity is the introduction of malicious content via SQLi (SQL Injection) attacks. Traditional database access methods don’t provide a lot in the way of validating requests and like HTML the vagaries of SQL allow for myriad ways in which a statement can be constructed – and thus exploited. &lt;/p&gt;  &lt;p&gt;These vagaries, of course, are one factor in the reason why SQLi continues to plague applications and sites driven by user generated content. Another factor is certainly the number of touch points in application code where attacks might slip through. With every new SQLi technique comes the need to update every one of those touch points and ensure they can properly defend against the new variation or technique. &lt;/p&gt;  &lt;p&gt;But service enabling data sources changes the point of entry. It centralizes access down to a single point of contact. &lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;http://blogs.zdnet.com/service-oriented/&quot;&gt;Joe McKendrick&lt;/a&gt; notes in &lt;a href=&quot;http://blogs.zdnet.com/service-oriented/?p=3341&quot;&gt;a recent blog on a related topic&lt;/a&gt; (data quality and &lt;a title=&quot;Service Oriented Architecture definition &quot; href=&quot;http://www.f5.com/glossary/soa.html&quot; rel=&quot;&quot; target=&quot;_blank&quot;&gt;SOA&lt;/a&gt;): &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/IstheNextBigWinforCloudComputingDataasaS_C0A5/blockquote_4.gif&quot;&gt;&lt;img title=&quot;blockquote&quot; style=&quot;border-right: 0px; border-top: 0px; display: inline; margin-left: 0px; border-left: 0px; margin-right: 0px; border-bottom: 0px&quot; height=&quot;28&quot; alt=&quot;blockquote&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/IstheNextBigWinforCloudComputingDataasaS_C0A5/blockquote_thumb_1.gif&quot; width=&quot;46&quot; align=&quot;left&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; Ash [Informatica’s &lt;a href=&quot;http://blogs.informatica.com/perspectives/index.php/2007/11/21/ash-parikh/&quot;&gt;Ash Parikh&lt;/a&gt;], who has been warning the industry about the quality of data — or lack thereof — surging through SOA-based infrastructures for some time now, says SOA data services open up many new avenues for connecting SOA with enterprise data management. “It’s much more than just data access,” he points out. “It’s &lt;strong&gt;&lt;font color=&quot;#ff0000&quot;&gt;making sure the data that is delivered is of the greatest quality&lt;/font&gt;&lt;/strong&gt;.” [emphasis added] &lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;If we expand “quality” to include “clean, untainted, and free of malicious content” then we’re pretty much on the same page. &lt;/p&gt;  &lt;hr style=&quot;color: #c0c0c0&quot; width=&quot;100%&quot; noshade=&quot;noshade&quot; /&gt;&lt;strong&gt;SECURITY AND TRADITIONAL DATA ACCESS MODELS &lt;/strong&gt;  &lt;hr style=&quot;color: #c0c0c0&quot; width=&quot;100%&quot; noshade=&quot;noshade&quot; /&gt;  &lt;p&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/IstheNextBigWinforCloudComputingDataasaS_C0A5/image_4.png&quot;&gt;&lt;img title=&quot;image&quot; style=&quot;border-right: 0px; border-top: 0px; display: inline; margin: 0px 10px 0px 0px; border-left: 0px; border-bottom: 0px&quot; height=&quot;248&quot; alt=&quot;image&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/IstheNextBigWinforCloudComputingDataasaS_C0A5/image_thumb_1.png&quot; width=&quot;363&quot; align=&quot;left&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;Using traditional methods of database access (JDBC/ODBC/ADO.NET/PHP ADAPTERS) every time a developer wants to access the database they must: &lt;/p&gt;  &lt;p&gt;1. Obtain a connection to the database&lt;/p&gt;  &lt;p&gt;2. Construct the appropriate query&lt;/p&gt;  &lt;p&gt;3. Execute the query &lt;/p&gt;  &lt;p&gt;One assumes, of course, that prior to constructing the query that any user-supplied input is validated and any potentially malicious content either stripped or outright rejected. &lt;/p&gt;  &lt;p&gt;Most web applications today are data-driven, meaning they require a database in which to store and retrieve content. These applications – and that includes blogs, content management systems, news sites, and social networking sites – may contain multiple queries on every page, meaning there are multiple points at which malicious content may be introduced into the system. Add-on the possibility of an API through which content may be added and you’ve increased again the number of potential “holes” through which an SQLi attack might be executed. &lt;/p&gt;  &lt;p&gt;Service-enablement, on the other hand, effectively reduces the number of potential entry points through which an attack may occur. It reduces the attack surface. &lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/IstheNextBigWinforCloudComputingDataasaS_C0A5/image_6.png&quot;&gt;&lt;img title=&quot;image&quot; style=&quot;border-right: 0px; border-top: 0px; display: inline; margin: 0px 0px 0px 10px; border-left: 0px; border-bottom: 0px&quot; height=&quot;242&quot; alt=&quot;image&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/IstheNextBigWinforCloudComputingDataasaS_C0A5/image_thumb_2.png&quot; width=&quot;434&quot; align=&quot;right&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;In a service-enabled database access scenario, the applications still make the same number of “connections” because each query is designed to perform a specific task , but instead of those queries going directly to the database they are actually made to a service interface instead. It is the service interface that then handles database connections, constructs the query, and executes the query on behalf of the client application. &lt;/p&gt;  &lt;p&gt;There are two possible security outcomes to this scenario. &lt;/p&gt;  &lt;p&gt;1. &lt;strong&gt;Overall security is improved.&lt;/strong&gt; Because there are fewer interfaces to secure the process of validating and further detecting potentially malicious code will be more thorough. Reducing the number of places in which these checks must occur also reduces the potential to “miss” a touch point when implementing security processes. Protection against SQLi is shared by all applications, so if security at the interface is properly implemented it will be beneficial to all applications using the service. &lt;/p&gt;  &lt;p&gt;2. &lt;strong&gt;Overall security is degraded.&lt;/strong&gt; Because the data access service interfaces are shared across all applications, any vulnerabilities are shared by all services utilizing the interfaces. It is also possible that the use of service-enabled interfaces may introduce additional avenues of attack. Service-enablement via SOAP/HTTP brings with it all the security vulnerabilities associated with &lt;a href=&quot;http://www.f5.com/glossary/xml.html&quot; target=&quot;_blank&quot;&gt;XML&lt;/a&gt; and SOAP. Service interfaces are also publicly accessible, so authentication and authorization are paramount to successfully securing such implementations. Weak or easily breakable authentication schemes can lead to compromise. If the services are publicly accessible this could be an even higher concern. &lt;/p&gt;  &lt;hr style=&quot;color: #c0c0c0&quot; width=&quot;100%&quot; noshade=&quot;noshade&quot; /&gt;&lt;strong&gt;ENSURING THE BEST POSSIBLE OUTCOME &lt;/strong&gt;  &lt;hr style=&quot;color: #c0c0c0&quot; width=&quot;100%&quot; noshade=&quot;noshade&quot; /&gt;  &lt;p&gt;It certainly appears at first glance that perhaps the possibility of a negative outcome – because of the impact to multiple applications –outweighs the potential benefits of improving security. But the change in architecture affords the opportunity to provide additional security around the service (as well as scaling benefits that are not typically associated with databases) than can tip the scales of benefits versus risk to the side of improving security. &lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;&lt;em&gt;A reduction in the number of entry points&lt;/em&gt; at which SQL queries are constructed from user input increase the resources that can be applied to the security of those interfaces. Fewer entry points affords a tighter focus on applying secure coding practices against the OWASP Top Ten. Testing against vulnerabilities, too, becomes easier and potentially more thorough.       &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;&lt;em&gt;Adding a data service layer, usually enabled by HTTP&lt;/em&gt;, enables the leverage of existing technology to secure the messages and protocols between the application server and the data services. A &lt;a href=&quot;http://www.f5.com/products/big-ip/product-modules/application-security-manager.html&quot;&gt;web application firewall&lt;/a&gt; can provide additional security scans on the services in real time as well as provides protection against (un)intentional denial of service attacks against the service. XML-related capabilities in WAF solutions can also address the potential introduction of XML specific vulnerabilities to the architecture, as well as offering support for authentication and authorization and encryption/signing of requests.       &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;&lt;em&gt;Moving data services to its own tier separates&lt;/em&gt; the tiers more completely and provides better &lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/11/06/when-is-more-important-than-where-in-web-application-security.aspx&quot;&gt;agility for development&lt;/a&gt;. If a new vulnerability is discovered, for example, it need only be addressed in a limited, well-known set of services rather than across all applications that may be vulnerable. This can reduce the time to fix vulnerabilities or add new functionality to the data tier. &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;Service-enabling data sources is an architectural change that should not be executed upon lightly. It affects all other applications that rely on the data source, and introduces another layer into the architecture that may or may not make it more complex. Moving to such an architecture can be beneficial and can drastically improve security and decrease the likelihood of a successful SQLi attack. But if not entered into with the proper motivation to ensure the services are secured, tested, and protected against other security vulnerabilities it is possible that such an architecture could degrade your overall security posture and make it more likely that an attack will succeed. &lt;/p&gt;  &lt;p&gt;Careful consideration regarding the dedication of resources and testing of data services is required before embarking on such an initiative. Collaboration between architecture, network, and development teams is required to design the service and its supporting application infrastructure in such a way as to ensure the change is a net positive for the entire organization. &lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;http://twitter.com/lmacvittie&quot;&gt;&lt;img height=&quot;18&quot; alt=&quot;Follow me on Twitter&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_twitt-twoo-icon.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a title=&quot;Follow F5 Networks on Twitter&quot; href=&quot;http://tweepml.org/F5-Networks-Tweeple/&quot;&gt;&lt;img height=&quot;18&quot; src=&quot;http://tweepml.org/s/tweepml16.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a title=&quot;Follow F5 DevCentral on Twitter&quot; href=&quot;http://tweepml.org/F5-DevCentral/&quot;&gt;&lt;img height=&quot;18&quot; src=&quot;http://tweepml.org/s/tweepml16.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/Rss.aspx&quot;&gt;&lt;img src=&quot;http://devcentral.f5.com/Portals/0/images/Icons/icon_xml_18.gif&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://www.slideshare.net/lmacvittie&quot;&gt;&lt;img height=&quot;18&quot; alt=&quot;View Lori&#039;s profile on SlideShare&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_slideshare.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://www.linkedin.com/in/lmacvittie&quot;&gt;&lt;img src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_linkedin_16.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://www.friendfeed.com/lmacvittie&quot;&gt;&lt;img style=&quot;border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px&quot; height=&quot;18&quot; alt=&quot;friendfeed&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/friendfeed_3.jpg&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://www.facebook.com/lmacvittie&quot;&gt;&lt;img style=&quot;border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px&quot; height=&quot;18&quot; alt=&quot;icon_facebook&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/icon_facebook_4.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a title=&quot;Subscribe using any feed reader!&quot; href=&quot;http://www.addthis.com/feed.php?pub=lmacvittie&amp;amp;h1=http%3A%2F%2Fdevcentral.f5.com%2Fweblogs%2Fmacvittie%2FRss.aspx&amp;amp;t1=&quot;&gt;&lt;img height=&quot;18&quot; alt=&quot;AddThis Feed Button&quot; src=&quot;http://s9.addthis.com/button1-fd.gif&quot; width=&quot;125&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a title=&quot;Bookmark and Share&quot; onclick=&quot;window.open(&#039;http://www.addthis.com/bookmark.php?wt=nw&amp;amp;pub=lmacvittie&amp;amp;url=&#039;+encodeURIComponent(location.href)+&#039;&amp;amp;title=&#039;+encodeURIComponent(document.title), &#039;addthis&#039;, &#039;scrollbars=yes,menubar=no,width=620,height=520,resizable=yes,toolbar=no,location=no,status=no,screenX=200,screenY=100,left=200,top=100&#039;); return false;&quot; href=&quot;http://www.addthis.com/bookmark.php&quot; target=&quot;_blank&quot;&gt;&lt;img height=&quot;18&quot; alt=&quot;Bookmark and Share&quot; src=&quot;http://s9.addthis.com/button1-share.gif&quot; width=&quot;125&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;script type=&quot;text/javascript&quot; src=&quot;http://track.mybloglog.com/js/jsserv.php?mblID=2008070914270355&quot;&gt;&lt;/script&gt;&lt;/p&gt;  &lt;p&gt;Related blogs &amp;amp; articles: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href=&quot;http://www.owasp.org/index.php/Category:OWASP_Top_Ten_Project&quot;&gt;OWASP Top Ten Project&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://blogs.zdnet.com/service-oriented/?p=3341&quot;&gt;Data services may help address a major SOA unknown – data quality&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://stackoverflow.com/questions/1069471/odbc-vs-newer-methods-for-database-management-over-the-internet&quot;&gt;ODBC vs newer methods for database management over the Internet&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/11/09/virtualization-changes-application-deployment-but-not-development.aspx&quot;&gt;Virtualization Changes Application Deployment But Not Development&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/11/06/when-is-more-important-than-where-in-web-application-security.aspx&quot;&gt;When Is More Important Than Where in Web Application Security&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/10/16/putting-a-price-on-uptime.aspx&quot;&gt;Putting a Price on Uptime&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/09/28/web-application-security-at-the-edge-is-more-efficient-than.aspx&quot;&gt;Web Application Security at the Edge is More Efficient Than In the Application&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/10/01/the-gazebo-on-your-web-site.aspx&quot;&gt;Excuse Me But Is That a Gazebo On Your Site?!&lt;/a&gt;&#039;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt; &lt;/p&gt;  &lt;div class=&quot;wlWriterEditableSmartContent&quot; id=&quot;scid:0767317B-992E-4b12-91E0-4F059A8CECA8:1ef41e3c-f249-497f-8ec9-24fe519f6449&quot; style=&quot;padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px&quot;&gt;Technorati Tags: &lt;a href=&quot;http://technorati.com/tags/MacVittie&quot; rel=&quot;tag&quot;&gt;MacVittie&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/F5&quot; rel=&quot;tag&quot;&gt;F5&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/application+security&quot; rel=&quot;tag&quot;&gt;application security&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/security&quot; rel=&quot;tag&quot;&gt;security&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/SOA&quot; rel=&quot;tag&quot;&gt;SOA&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/services&quot; rel=&quot;tag&quot;&gt;services&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/tiers&quot; rel=&quot;tag&quot;&gt;tiers&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/architecture&quot; rel=&quot;tag&quot;&gt;architecture&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/web+application+security&quot; rel=&quot;tag&quot;&gt;web application security&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/OWASP&quot; rel=&quot;tag&quot;&gt;OWASP&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/database+security&quot; rel=&quot;tag&quot;&gt;database security&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/web&quot; rel=&quot;tag&quot;&gt;web&lt;/a&gt;&lt;/div&gt;&lt;img src=&quot;http://devcentral.f5.com/weblogs/macvittie/aggbug/6209.aspx&quot; width=&quot;1&quot; height=&quot;1&quot; /&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/f5/XOwx/~4/sf-kXeXpqPc&quot; height=&quot;1&quot; width=&quot;1&quot;/&gt;&lt;p&gt;&lt;a href=&quot;http://lorimacvittie.sys-con.com/node/1189066&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Tue, 17 Nov 2009 00:00:00 EST</pubDate>
 <guid isPermaLink="true">http://lorimacvittie.sys-con.com/node/1189066</guid>
 <comments>http://lorimacvittie.sys-con.com/node/1189066#feedback</comments>
</item>
<item>
 <title>Cloud, Standards, and Pants</title>
 <link>http://lorimacvittie.sys-con.com/node/1185332</link>
 <description>&lt;p&gt;&lt;em&gt;These three things have a lot more in common than you might think and all three tend to evoke similar levels of frustration. &lt;/em&gt;&lt;/p&gt;  &lt;p&gt;A very real problem women face when shopping is &lt;a href=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/TheCloudIsLikeWomensPants_43A2/image_8.png&quot;&gt;&lt;img title=&quot;image&quot; style=&quot;border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; margin: 10px 10px 5px 0px; border-right-width: 0px&quot; height=&quot;240&quot; alt=&quot;image&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/TheCloudIsLikeWomensPants_43A2/image_thumb_3.png&quot; width=&quot;201&quot; align=&quot;left&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;this: no two brands define a size the same. If you usually wear a size 8 in “Brand X” you might actually wear a size 10 or 6 in “Brand Y”, depending on how the brand decided to define its sizing. Customers, women in this case, cannot count on consistency in sizes across brands. This makes shopping annoying because every time you change brands you’re never quite sure what you need and if the size &lt;em&gt;increases&lt;/em&gt; across brands, well, it becomes obvious that perhaps brand lock-in is in part the reasoning behind these differences in sizing. &lt;/p&gt;  &lt;p&gt;Now, consider the &lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/10/21/the-cloud-is-not-a-synonym-for-cloud-computing.aspx&quot;&gt;differences in the definition of “The Cloud”&lt;/a&gt;. We have IaaS (Infrastructure as a Service). We have PaaS (Platform as a Service). We have SaaS (Software as a Service). All three have very different definitions of what makes it “a cloud” and there is very little consistency across those definitions. Oh, there are vague similarities: elasticity, automation, easy provisioning. But those are nebulous terms that are about as useful as slapping a “Size 8” on a pair of jeans and expecting a woman to know what that means. She doesn’t, and neither does the consumer of “cloud.” &lt;/p&gt;  &lt;p&gt;Dig into “cloud computing” and “intercloud” and standards efforts and you’ll see this is true at the &lt;em&gt;infrastructure &lt;/em&gt;layer, as well. The challenge of defining standards around intercloud computing and cloudbalancing and just collaboration within a single cloud computing environment is made infinitely more challenging because infrastructure Vendor X “size 8” doesn’t match up with Vendor Y “size 8.” Features, naming, resource models, capabilities – all different. Yet all must be able to communicate and collaborate to not only provide the basic foundation for &lt;em&gt;a &lt;/em&gt;cloud computing environment, but to be able to migrate from one provider to another. &lt;/p&gt;  &lt;hr style=&quot;color: #c0c0c0&quot; width=&quot;100%&quot; noshade=&quot;noshade&quot; /&gt;&lt;strong&gt;API versus RESOURCE MODEL&lt;/strong&gt;   &lt;hr style=&quot;color: #c0c0c0&quot; width=&quot;100%&quot; noshade=&quot;noshade&quot; /&gt;  &lt;p&gt;This is what’s going to make defining standards more challenging than ever: we’ve got to not only standardize protocols but common industry and market definitions as well. The former will likely turn out to be much easier than the latter because it’s more abstract; it’s about management and control without regard to implementation. It is the resource model that will be difficult to nail down. &lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;http://stage.vambenepe.com/&quot;&gt;William Vambenepe&lt;/a&gt; writes in &lt;a href=&quot;http://stage.vambenepe.com/archives/943&quot;&gt;Separating model from protocol in Cloud APIs&lt;/a&gt;:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href=&quot;file:///C:/Documents and Settings/macvittie/Local Settings/Temp/WindowsLiveWriter-429641856/supfiles10B75249/blockquote[3].gif&quot;&gt;&lt;img title=&quot;blockquote_thumb12[2]&quot; style=&quot;border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px&quot; height=&quot;28&quot; alt=&quot;blockquote_thumb12[2]&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/TheCloudIsLikeWomensPants_43A2/blockquote_thumb12%5B2%5D_3fa6ed5b-4dfb-4df1-893e-7dfc3409deba.gif&quot; width=&quot;46&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; Things become a lot more sensitive when you touch the resource model, which reflects the actual capabilities of the Cloud management infrastructure. How much flexibility in the network setup? What kind of application provisioning? What affinity/anti-affinity control level? Can I get block-level storage? Etc. Having to implement the other guy’s interface in these matters is not just a matter of glue code, it’s a major product feature. As a result, the resource model is a much more strategic control point than the protocol.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;William nails the problem with his assessment of the differences between the resource model and protocols. Given his obviously intimate knowledge of web services standards and thus &lt;a title=&quot;Service Oriented Architecture definition &quot; href=&quot;http://www.f5.com/glossary/soa.html&quot; rel=&quot;&quot; target=&quot;_blank&quot;&gt;SOA&lt;/a&gt;, this is no surprise. One of the core tenets of SOA is the separation of these two very different but very vital components. The interface should be separate from the implementation. In InterCloud, we must separate resource model (data protocol implementation) from interface (command and control protocol) in order to achieve standardization. &lt;/p&gt;  &lt;p&gt;Interestingly enough at the last &lt;a href=&quot;http://gregness.wordpress.com/2009/09/04/welcome-to-the-it-revolution/&quot;&gt;Infrastructure 2.0 Working Group&lt;/a&gt;, which is focusing on this problem, Vint Cerf mentioned out of hand that the separation of IP from routing “in the beginning” was actually accidental. If you read the &lt;a href=&quot;http://www.faqs.org/rfcs/rfc791.html&quot;&gt;IP RFC&lt;/a&gt; you’ll note that it ends up being just a “resource model”; it describes the format of information being exchanged and mentions how packets should flow across internetworks, but it defines no API-style protocol for doing so. It offers only minimal guidance on the higher level interfaces that might be used to transmit and receive Internet Datagrams. That accidental omission turned out to be the best thing since sliced bread. Routing protocols have come and gone since then, but IP remains at the heart of the Internet. Basically we need to duplicate that, but at a higher layer in the stack. &lt;/p&gt;  &lt;p&gt;Any InterCloud protocol will almost certainly be easier to develop than the resource model. While there already exists some commonality across components and concepts in the infrastructure, still there are many more resources for which every vendor has their &lt;em&gt;own &lt;/em&gt;definition. It is that disparity that needs to be addressed independently and codified in a common set of resource models that at the same time allows for extensibility on a per vendor basis to account for uncommon resources. &lt;/p&gt;  &lt;p&gt;This is no easy task. Consider a very simple example – persistence in &lt;a href=&quot;http://www.f5.com/glossary/load-balancing.html&quot;&gt;load balancing&lt;/a&gt; solutions. &lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2008/06/04/3329.aspx&quot;&gt;Persistence is a commonly implemented feature in all load balancers&lt;/a&gt; that can be achieved in a number of ways. Among the most common are: source IP, destination IP, Cookie, and SSL session ID. Now take a look at the difference in definition of these - from a purely naming standpoint – between Citrix Netscaler and &lt;a title=&quot;F5 Networks&quot; href=&quot;http://www.f5.com/&quot; rel=&quot;&quot; target=&quot;_blank&quot;&gt;F5&lt;/a&gt; BIG-IP: &lt;/p&gt;  &lt;table cellspacing=&quot;0&quot; cellpadding=&quot;2&quot; width=&quot;996&quot; border=&quot;0&quot;&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign=&quot;top&quot; width=&quot;538&quot;&gt;&lt;strong&gt;&lt;a href=&quot;http://www.citrix.com&quot;&gt;Citrix&lt;/a&gt; &lt;a href=&quot;http://www.citrix.com/netscaler&quot;&gt;Netscaler&lt;/a&gt; &lt;a href=&quot;http://www.f5.com/glossary/xml.html&quot; target=&quot;_blank&quot;&gt;XML&lt;/a&gt; &lt;a href=&quot;http://support.citrix.com/article/ctx115839&quot;&gt;API&lt;/a&gt; “Size 8”&lt;/strong&gt;&lt;/td&gt;        &lt;td valign=&quot;top&quot; width=&quot;659&quot;&gt;&lt;strong&gt;&lt;a href=&quot;http://www.f5.com/&quot;&gt;F5&lt;/a&gt; &lt;a href=&quot;http://www.f5.com/big-ip/&quot;&gt;BIG-IP&lt;/a&gt; &lt;a href=&quot;http://devcentral.f5.com/iControl&quot;&gt;iControl&lt;/a&gt; “Size 8” &lt;/strong&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign=&quot;top&quot; width=&quot;538&quot;&gt;         &lt;p&gt; &lt;a href=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/TheCloudIsLikeWomensPants_43A2/image_2.png&quot;&gt;&lt;img title=&quot;image&quot; style=&quot;border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px&quot; height=&quot;266&quot; alt=&quot;image&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/TheCloudIsLikeWomensPants_43A2/image_thumb.png&quot; width=&quot;436&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;/p&gt;       &lt;/td&gt;        &lt;td valign=&quot;top&quot; width=&quot;659&quot;&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/TheCloudIsLikeWomensPants_43A2/image_4.png&quot;&gt;&lt;img title=&quot;image&quot; style=&quot;border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px&quot; height=&quot;262&quot; alt=&quot;image&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/TheCloudIsLikeWomensPants_43A2/image_thumb_1.png&quot; width=&quot;460&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;           &lt;br /&gt;&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;Looking at both implementations – and remember this is just &lt;em&gt;naming –&lt;/em&gt; you’ll notice&lt;em&gt; &lt;/em&gt;that the most common methods of persistence exist in both solutions, but use very different naming conventions. Netscaler defines source IP-based persistence as “SOURCEIP” while F5 uses “PERSISTENCE_MODE_SOURCE_ADDRESS_AFFINITY”; same concept, different terminology. Once you get beyond the common methods you find even more disparity and it becomes more difficult to map between the two without a firm foundation of knowledge of &lt;em&gt;both &lt;/em&gt;systems. For example, is the Citrix “CALLID” the same as the “PERSISTENCE_MODE_SIP” definition? Perhaps they are, perhaps they aren’t. You can imagine that at the &lt;em&gt;operation &lt;/em&gt;level, the API, the naming conventions used there are so drastically difference that attempting to map the two would drive even the most experienced integration developer a bit insane. &lt;/p&gt;  &lt;hr style=&quot;color: #c0c0c0&quot; width=&quot;100%&quot; noshade=&quot;noshade&quot; /&gt;&lt;strong&gt;STANDARDS TAKE TIME&lt;/strong&gt;   &lt;hr style=&quot;color: #c0c0c0&quot; width=&quot;100%&quot; noshade=&quot;noshade&quot; /&gt;  &lt;p&gt;Just as cloud computing providers continue to roll out new services over time, behaving in a manner similar to Web 2.0 applications that never quite come out of beta, so, too, will the standards of InterCloud need to evolve. It’s going to take a lot of comparisons, discussions, and mappings to figure out what is an acceptable common resource model for each infrastructure component and in the process we’re going to have to abstract quite a bit. Less challenging will be the need for a common namespace for this resource model across &lt;em&gt;all &lt;/em&gt;infrastructure components. After all, an IP address is the same whether it’s used by a virtual machine, an IPS, a &lt;a href=&quot;http://www.f5.com/glossary/load-balancer.html&quot;&gt;load balancer&lt;/a&gt;, or a firewall. But these are easier to discover and define than elements unique to a particular solution space and once we get the ball rolling one can hope that the momentum keeps it rolling. &lt;/p&gt;  &lt;p&gt;The Internet wasn’t built in a day – really, it took the ‘founding fathers’ quite a bit of discussion and hard work to get the standards defined that allowed mass interoperability and collaboration. But I am willing to bet that we’ll see InterCloud standards long before the fashion industry decides to standardize its sizing for women. &lt;/p&gt;  &lt;p&gt;Long before then, I’m sure. &lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;http://twitter.com/lmacvittie&quot;&gt;&lt;img height=&quot;18&quot; alt=&quot;Follow me on Twitter&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_twitt-twoo-icon.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a title=&quot;Follow F5 Networks on Twitter&quot; href=&quot;http://tweepml.org/F5-Networks-Tweeple/&quot;&gt;&lt;img height=&quot;18&quot; src=&quot;http://tweepml.org/s/tweepml16.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a title=&quot;Follow F5 DevCentral on Twitter&quot; href=&quot;http://tweepml.org/F5-DevCentral/&quot;&gt;&lt;img height=&quot;18&quot; src=&quot;http://tweepml.org/s/tweepml16.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/Rss.aspx&quot;&gt;&lt;img src=&quot;http://devcentral.f5.com/Portals/0/images/Icons/icon_xml_18.gif&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://www.slideshare.net/lmacvittie&quot;&gt;&lt;img height=&quot;18&quot; alt=&quot;View Lori&#039;s profile on SlideShare&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_slideshare.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://www.linkedin.com/in/lmacvittie&quot;&gt;&lt;img src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_linkedin_16.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://www.friendfeed.com/lmacvittie&quot;&gt;&lt;img style=&quot;border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px&quot; height=&quot;16&quot; alt=&quot;friendfeed&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/friendfeed_3.jpg&quot; width=&quot;16&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/icon_facebook_2.png&quot;&gt;&lt;img style=&quot;border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px&quot; height=&quot;16&quot; alt=&quot;icon_facebook&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/icon_facebook_4.png&quot; width=&quot;16&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a title=&quot;Subscribe using any feed reader!&quot; href=&quot;http://www.addthis.com/feed.php?pub=lmacvittie&amp;amp;h1=http%3A%2F%2Fdevcentral.f5.com%2Fweblogs%2Fmacvittie%2FRss.aspx&amp;amp;t1=&quot;&gt;&lt;img height=&quot;18&quot; alt=&quot;AddThis Feed Button&quot; src=&quot;http://s9.addthis.com/button1-fd.gif&quot; width=&quot;125&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a title=&quot;Bookmark and Share&quot; onclick=&quot;window.open(&#039;http://www.addthis.com/bookmark.php?wt=nw&amp;amp;pub=lmacvittie&amp;amp;url=&#039;+encodeURIComponent(location.href)+&#039;&amp;amp;title=&#039;+encodeURIComponent(document.title), &#039;addthis&#039;, &#039;scrollbars=yes,menubar=no,width=620,height=520,resizable=yes,toolbar=no,location=no,status=no,screenX=200,screenY=100,left=200,top=100&#039;); return false;&quot; href=&quot;http://www.addthis.com/bookmark.php&quot; target=&quot;_blank&quot;&gt;&lt;img height=&quot;18&quot; alt=&quot;Bookmark and Share&quot; src=&quot;http://s9.addthis.com/button1-share.gif&quot; width=&quot;125&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;script type=&quot;text/javascript&quot; src=&quot;http://track.mybloglog.com/js/jsserv.php?mblID=2008070914270355&quot;&gt;&lt;/script&gt;&lt;/p&gt;  &lt;div class=&quot;wlWriterEditableSmartContent&quot; id=&quot;scid:0767317B-992E-4b12-91E0-4F059A8CECA8:a4f20c03-63fa-49ab-bb84-67522e428d6a&quot; style=&quot;padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px&quot;&gt;Technorati Tags: &lt;a href=&quot;http://technorati.com/tags/MacVittie&quot; rel=&quot;tag&quot;&gt;MacVittie&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/F5&quot; rel=&quot;tag&quot;&gt;F5&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/cloud&quot; rel=&quot;tag&quot;&gt;cloud&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/cloud+computing&quot; rel=&quot;tag&quot;&gt;cloud computing&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/resource+model&quot; rel=&quot;tag&quot;&gt;resource model&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/API&quot; rel=&quot;tag&quot;&gt;API&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/integration&quot; rel=&quot;tag&quot;&gt;integration&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/standards&quot; rel=&quot;tag&quot;&gt;standards&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/InterCloud&quot; rel=&quot;tag&quot;&gt;InterCloud&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/infrastructure+2.0&quot; rel=&quot;tag&quot;&gt;infrastructure 2.0&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/William+Vambenepe&quot; rel=&quot;tag&quot;&gt;William Vambenepe&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/SOA&quot; rel=&quot;tag&quot;&gt;SOA&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/Web+2.0&quot; rel=&quot;tag&quot;&gt;Web 2.0&lt;/a&gt;&lt;/div&gt;  &lt;p&gt;Related bogs &amp;amp; articles: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/11/04/the-api-is-the-new-cli.aspx&quot;&gt;The API Is the New CLI&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/09/25/infrastructure-integration-metadata-versus-api.aspx&quot;&gt;Infrastructure Integration: Metadata versus API&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/09/14/the-cloud-metastructure-hubub.aspx&quot;&gt;The Cloud Metastructure Hubub&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/10/21/the-cloud-is-not-a-synonym-for-cloud-computing.aspx&quot;&gt;The Cloud Is Not A Synonym For Cloud Computing&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2008/11/05/cloud-computing-the-last-definition-youll-ever-need.aspx&quot;&gt;Cloud Computing: The Last Definition You&#039;ll Ever Need&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/08/24/we-donrsquot-know-what-cloud-is-but-what-wersquore-doing.aspx&quot;&gt;We Don’t Know What Cloud Is But What We’re Doing It&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/05/11/get-your-saas-off-my-cloud.aspx&quot;&gt;Get your SaaS off my cloud&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/08/10/cloud-is-not-a-big-switch.aspx&quot;&gt;Cloud is Not a Big Switch&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/06/30/intercloud-the-evolution-of-global-application-delivery.aspx&quot;&gt;Intercloud: The Evolution of Global Application Delivery&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/07/09/cloud-balancing-cloud-bursting-and-intercloud.aspx&quot;&gt;Cloud Balancing, Cloud Bursting, and Intercloud&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;&lt;img src=&quot;http://devcentral.f5.com/weblogs/macvittie/aggbug/6201.aspx&quot; width=&quot;1&quot; height=&quot;1&quot; /&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/f5/XOwx/~4/Yr2a2tlMmiU&quot; height=&quot;1&quot; width=&quot;1&quot;/&gt;&lt;p&gt;&lt;a href=&quot;http://lorimacvittie.sys-con.com/node/1185332&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Fri, 13 Nov 2009 14:30:00 EST</pubDate>
 <guid isPermaLink="true">http://lorimacvittie.sys-con.com/node/1185332</guid>
 <comments>http://lorimacvittie.sys-con.com/node/1185332#feedback</comments>
</item>
<item>
 <title>Is Vendor Lock-In Really a Bad Thing?</title>
 <link>http://lorimacvittie.sys-con.com/node/1185470</link>
 <description>&lt;p&gt;&lt;em&gt;When you look at the success of some very proprietary solutions and the loyalty with which customers defend them, you have to wonder if vendor lock-in is really as bad a thing as we sometimes make it sound. &lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/IsVendorLockInReallyaBadThing_3822/image_2.png&quot;&gt;&lt;img title=&quot;image&quot; style=&quot;border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; margin-left: 0px; margin-right: 0px; border-right-width: 0px&quot; height=&quot;240&quot; alt=&quot;image&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/IsVendorLockInReallyaBadThing_3822/image_thumb.png&quot; width=&quot;171&quot; align=&quot;left&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;The subtext in the discussions around data portability and interoperability in general in cloud computing is really about vendor lock-in. Those driving efforts to come up with solutions that allow customers to pack up their data and head to another provider are primarily concerned about the dangers of being locked-in to a single vendor solution. &lt;/p&gt;  &lt;p&gt;But given the loyalty to some brands and products that are unapologetically proprietary and inherently create a vendor lock-in situation, one has to wonder whether vendor lock-in is really a bad thing and if it is, for whom? &lt;/p&gt;  &lt;p&gt;Take the &lt;a href=&quot;http://www.apple.com/iphone/ &quot;&gt;iPhone&lt;/a&gt;. Really, you can take it because I don’t have one and don’t want one. But millions of people &lt;em&gt;do&lt;/em&gt; and they are incredibly loyal to this proprietary device. &lt;a href=&quot;http://www.apple.com&quot;&gt;Apple&lt;/a&gt; does not apologize at all for its business practices that support a locked-in user base, and it is unlikely that consumers even consider this to be a negative when purchasing an iPhone. Indeed, the proprietary nature of the iPhone is not what keeps me from purchasing one. &lt;/p&gt;  &lt;p&gt;After all, it does what it does and it does it incredibly well, with an ease that makes it usable by just about anyone. What’s to complain about? Yes, your data is locked up inside the iPhone, you aren’t going to pack it up and take it to a Blackberry or the next big thing. But users don’t seem to care and certainly don’t even consider that they might one day want to change. They’re in love with their iPhone, loyal as hell, and don’t really care. &lt;/p&gt;  &lt;p /&gt;  &lt;hr style=&quot;color: #c0c0c0&quot; width=&quot;100%&quot; noshade=&quot;noshade&quot; /&gt;&lt;strong&gt;THAT’S CONSUMER-SIDE, IT IS DIFFERENT&lt;/strong&gt;   &lt;hr style=&quot;color: #c0c0c0&quot; width=&quot;100%&quot; noshade=&quot;noshade&quot; /&gt;Is it really that different on the IT side of things? The same loyalty that drives absolute obsession with iPhones is present in IT. How many times have you heard we’re a vendor-X shop? Did you stop to consider why they were a vendor-X shop and why they didn’t seem concerned that they might be locked-in to that vendor with no easy way to migrate to a new vendor’s product?   &lt;p /&gt;  &lt;p&gt;It isn’t just loyalty, it isn’t ignorance of options. Explaining all the benefits of some &lt;em&gt;other &lt;/em&gt;product isn’t necessarily going to win the day there. Folks are loyal to a product because it (a) does what it says it does, (b) solves all their problems and (c) the company isn’t going anywhere. &lt;/p&gt;  &lt;p&gt;It’s only when one of these is violated that you begin to hear rumblings of anger from the basement of IT. If a product can’t do something or doesn’t do it to the satisfaction of customers, &lt;em&gt;then &lt;/em&gt;they get angry. But as long as all three conditions are met, generally speaking, IT has no good reason to migrate to another solution. They don’t seem to care that they’re locked in to the solution because it’s solving their problems. As long as the vendor appears stable and has long-term viability, it isn’t really a problem, is it? &lt;/p&gt;  &lt;hr style=&quot;color: #c0c0c0&quot; width=&quot;100%&quot; noshade=&quot;noshade&quot; /&gt;&lt;strong&gt;IF IT’S NOT BROKE, DON’T FIX IT&lt;/strong&gt;  &lt;hr style=&quot;color: #c0c0c0&quot; width=&quot;100%&quot; noshade=&quot;noshade&quot; /&gt;  &lt;p&gt;The increasingly complex nature of data center architectures makes a migration from one product to another difficult and painful regardless of the level of “lock-in” . As with applications, the more integrated an infrastructure solution is into the architecture and business processes, the less likely it is to be replaced. &lt;em&gt;If it isn’t broke, don’t fix it&lt;/em&gt; is probably a truism in IT more than any place else today. &lt;/p&gt;  &lt;p&gt;Increasingly organizations do appear to be looking more closely at the possibility of vendor lock-in with any given solution, even &lt;a href=&quot;http://ostatic.com/blog/survey-on-enterprise-open-source-usage-shows-disdain-for-lock-in&quot;&gt;open-source solutions that may result in vendor lock-in&lt;/a&gt; because of the commercialization of support by a single vendor. Cloud computing is no exception, by the way, as indicated by a &lt;a href=&quot;http://www.cio.com/article/500634/Cloud_Hype_Peaks_But_IT_Concerns_Increase&quot;&gt;CIO.com survey focused on cloud computing issues&lt;/a&gt;: &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/IsVendorLockInReallyaBadThing_3822/blockquote_2.gif&quot;&gt;&lt;img title=&quot;blockquote&quot; style=&quot;border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; margin-left: 0px; margin-right: 0px; border-right-width: 0px&quot; height=&quot;28&quot; alt=&quot;blockquote&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/IsVendorLockInReallyaBadThing_3822/blockquote_thumb.gif&quot; width=&quot;46&quot; align=&quot;left&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; That&#039;s according to a new CIO.com survey of 240 IT professionals involved in technology-purchasing decisions. The June 2009 survey, &quot;CIO On-Demand Services Survey,&quot; reveals that cloud computing fears regarding security, data management, total cost of ownership, regulatory and compliance issues, and &lt;font color=&quot;#ff0000&quot;&gt;&lt;strong&gt;vendor lock-in have actually &lt;em&gt;increased&lt;/em&gt;&lt;/strong&gt;&lt;/font&gt; as compared with results from a similar survey in August 2008.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;The thing is you rarely see an organization worrying about vendor lock-in where standards exist to ensure the interoperability and portability. If not of the configuration and/or meta-data required, at least of the &lt;em&gt;interoperation &lt;/em&gt;with other IT systems. Take switches and routers, for example. All utilize standards like IP and even though the configuration of a &lt;a href=&quot;http://www.cisco.com&quot;&gt;Cisco&lt;/a&gt; switch is very different from an &lt;a href=&quot;http://www.hp.com/&quot;&gt;HP&lt;/a&gt; ProCurve switch, you rarely see anyone getting up in arms about being “locked in” to the configuration specifics of either option. The most important part of choosing most infrastructure solutions, it would appear, is that there is internal standardization on a given platform. If all the switches in the organization come from one vendor, it makes management just that much easier. Sure, a forklift upgrade from one switch vendor to another may be painful in terms of the configuration necessary to achieve such a migration, but still that doesn’t seem to engender “vendor lock-in” fears. IT isn’t agonizing over the decision, paralyzed with fear. We geeks fear change, but not &lt;em&gt;that &lt;/em&gt;much. &lt;/p&gt;  &lt;p&gt;There are no standards around configuration, just protocol support. The maangement scripts used to automate tasks or integrate the CLI with the rest of the infrastructure and management systems (&lt;a href=&quot;http://www.sonoasystems.com&quot;&gt;Sonoa Systems’&lt;/a&gt; CEO &lt;a href=&quot;http://twitter.com/ChetKapoor/&quot;&gt;Chet Kapoor&lt;/a&gt; has a great example of this kind of “lock-in” in his post “&lt;a href=&quot;http://blog.sonoasystems.com/detail/the_api_is_more_than_the_new_cli/&quot;&gt;The API is more than the new CLI&lt;/a&gt;”) developed for switch Brand X are very unlikely to work with Brand Y. If we look at more complex solutions up the infrastructure stack, we find more and more customization available and, unforutnately, that flexibility comes with a price: with each customization it becomes more and more difficult to extricate that solution without a great deal of effort from the infrastructure. &lt;/p&gt;  &lt;p&gt;But without that customization what do you have? You have a turnkey solution that may suit your needs today, but not tomorrow. And when tomorrow rolls around you’re left with the option of (a) solving a new problem with a new product, adding to the overall management burden and costs to maintain or (b) forklift replacing the solution with one that’s more flexible and provides the ability to adapt to new problems and technologies more easily. &lt;/p&gt;  &lt;hr style=&quot;color: #c0c0c0&quot; width=&quot;100%&quot; noshade=&quot;noshade&quot; /&gt;&lt;strong&gt;STANDARDS NOT A PANACEA HERE&lt;/strong&gt;  &lt;hr style=&quot;color: #c0c0c0&quot; width=&quot;100%&quot; noshade=&quot;noshade&quot; /&gt;  &lt;p&gt;So organizations have come to demand flexibility and customization, but still fear (according to surveys, at least) vendor lock-in. Part of the appeal of open-source software was that organizations could have the source and modify it at will. Customers were no longer at the mercy of vendors to wait for new features. They didn’t have to worry about not being large enough to command a vendor’s attention and have every request attended to as soon as possible. They were in control.  &lt;/p&gt;  &lt;p&gt;Vendors in the infrastructure space have heard that demand and have addressed it. &lt;a href=&quot;http://www.juniper.net/us/en/&quot;&gt;Juniper’s&lt;/a&gt; new unified operating system allows &lt;a href=&quot;http://www.juniper.net/us/en/products-services/nos/junos/junos-sdk/&quot;&gt;development of custom solutions to be deployed across their network infrastructure devices&lt;/a&gt;. &lt;a href=&quot;http://www.cisco.com&quot;&gt;Cisco&lt;/a&gt; provides the means by which their &lt;a href=&quot;http://www.cisco.com/en/US/docs/interfaces_modules/services_modules/ax/1.5/developer/guide/axpovr.html&quot;&gt;ISR (Integrated Services Router) can be “upgraded” with custom developed software&lt;/a&gt;. And &lt;a href=&quot;http://www.f5.com/&quot;&gt;F5&lt;/a&gt; has long offered its network-side scripting solution, &lt;a href=&quot;http://devcentral.f5.com/iRules&quot;&gt;iRules&lt;/a&gt;, as a means to customize its &lt;a href=&quot;http://www.f5.com/products/big-ip/&quot;&gt;unified application delivery infrastructure&lt;/a&gt; to support the quirks, flaws, and unique environments in which applications are deployed.  &lt;/p&gt;  &lt;p&gt;Not even standards can address this problem completely, as the customization and flexiblity of a &lt;a href=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/IsVendorLockInReallyaBadThing_3822/man_megaphone_2.jpg&quot;&gt;&lt;img title=&quot;man_megaphone&quot; style=&quot;border-right: 0px; border-top: 0px; display: inline; margin-left: 0px; border-left: 0px; margin-right: 0px; border-bottom: 0px&quot; height=&quot;239&quot; alt=&quot;man_megaphone&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/IsVendorLockInReallyaBadThing_3822/man_megaphone_thumb.jpg&quot; width=&quot;240&quot; align=&quot;right&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;solution is usually unique to the solution and, thus, there exist no standards to make it “easier” to back out and migrate to a different solution. You can’t run a solution developed on JunOS on a Cisco ISR, and vice versa. You can’t execute iRule logic on a Cisco ACE. These are solutions unique to the vendor that, although you may have the source code you can’t easily migrate to a new solution without work. It’s important to remember, too, that just because solutions offer the means to customize and extend does not mean it’s a requirement. You can still use a Cisco ISR without writing an extension, you can use a BIG-IP without ever writing a single iRule, and you can run a Juniper device without developing new functionality. It’s &lt;em&gt;optional. &lt;/em&gt;&lt;/p&gt;  &lt;p&gt;So the question becomes is the flexiblity and customization that customers have demanded for years and that inherently leads to deeper integration into the organization, making migration admittedly more difficult, worth it? Is vendor lock-in really a bad thing or is it just the fear of being locked into an emerging technology where long term viability of the vendors is in question?  &lt;/p&gt;  &lt;p&gt;Go ahead, sound off. What’s your opinion? Is any feature/option/situation that leads to vendor lock-in inherently bad? Is it sometimes acceptable? Do you really even care or is this “fear” really a competitive vendor fear and not nearly as important to the enterprise as some vendors would have us think? &lt;/p&gt;  &lt;p&gt;Has the possibility of “vendor lock-in” ever stopped you from making a purchasing decision or is it just a “potential risk” that’s weighed in the overall decision making process? &lt;/p&gt;   &lt;p&gt;&lt;a href=&quot;http://twitter.com/lmacvittie&quot;&gt;&lt;img height=&quot;18&quot; alt=&quot;Follow me on Twitter&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_twitt-twoo-icon.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a title=&quot;Follow F5 Networks on Twitter&quot; href=&quot;http://tweepml.org/F5-Networks-Tweeple/&quot;&gt;&lt;img height=&quot;18&quot; src=&quot;http://tweepml.org/s/tweepml16.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a title=&quot;Follow F5 DevCentral on Twitter&quot; href=&quot;http://tweepml.org/F5-DevCentral/&quot;&gt;&lt;img height=&quot;18&quot; src=&quot;http://tweepml.org/s/tweepml16.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/Rss.aspx&quot;&gt;&lt;img src=&quot;http://devcentral.f5.com/Portals/0/images/Icons/icon_xml_18.gif&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://www.slideshare.net/lmacvittie&quot;&gt;&lt;img height=&quot;18&quot; alt=&quot;View Lori&#039;s profile on SlideShare&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_slideshare.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://www.linkedin.com/in/lmacvittie&quot;&gt;&lt;img src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_linkedin_16.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://www.friendfeed.com/lmacvittie&quot;&gt;&lt;img style=&quot;border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px&quot; height=&quot;18&quot; alt=&quot;friendfeed&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/friendfeed_3.jpg&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://www.facebook.com/lmacvittie&quot;&gt;&lt;img style=&quot;border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px&quot; height=&quot;18&quot; alt=&quot;icon_facebook&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/icon_facebook_4.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a title=&quot;Subscribe using any feed reader!&quot; href=&quot;http://www.addthis.com/feed.php?pub=lmacvittie&amp;amp;h1=http%3A%2F%2Fdevcentral.f5.com%2Fweblogs%2Fmacvittie%2FRss.aspx&amp;amp;t1=&quot;&gt;&lt;img height=&quot;18&quot; alt=&quot;AddThis Feed Button&quot; src=&quot;http://s9.addthis.com/button1-fd.gif&quot; width=&quot;125&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a title=&quot;Bookmark and Share&quot; onclick=&quot;window.open(&#039;http://www.addthis.com/bookmark.php?wt=nw&amp;amp;pub=lmacvittie&amp;amp;url=&#039;+encodeURIComponent(location.href)+&#039;&amp;amp;title=&#039;+encodeURIComponent(document.title), &#039;addthis&#039;, &#039;scrollbars=yes,menubar=no,width=620,height=520,resizable=yes,toolbar=no,location=no,status=no,screenX=200,screenY=100,left=200,top=100&#039;); return false;&quot; href=&quot;http://www.addthis.com/bookmark.php&quot; target=&quot;_blank&quot;&gt;&lt;img height=&quot;18&quot; alt=&quot;Bookmark and Share&quot; src=&quot;http://s9.addthis.com/button1-share.gif&quot; width=&quot;125&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;script type=&quot;text/javascript&quot; src=&quot;http://track.mybloglog.com/js/jsserv.php?mblID=2008070914270355&quot;&gt;&lt;/script&gt;&lt;/p&gt;  &lt;div class=&quot;wlWriterEditableSmartContent&quot; id=&quot;scid:0767317B-992E-4b12-91E0-4F059A8CECA8:41458b7e-eef8-4174-864a-3eafcdaa771d&quot; style=&quot;padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px&quot;&gt;Technorati Tags: &lt;a href=&quot;http://technorati.com/tags/MacVittie&quot; rel=&quot;tag&quot;&gt;MacVittie&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/F5&quot; rel=&quot;tag&quot;&gt;F5&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/iPhone&quot; rel=&quot;tag&quot;&gt;iPhone&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/Cisco&quot; rel=&quot;tag&quot;&gt;Cisco&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/ISR&quot; rel=&quot;tag&quot;&gt;ISR&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/Juniper&quot; rel=&quot;tag&quot;&gt;Juniper&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/JunOS&quot; rel=&quot;tag&quot;&gt;JunOS&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/BIG-IP&quot; rel=&quot;tag&quot;&gt;BIG-IP&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/iRules&quot; rel=&quot;tag&quot;&gt;iRules&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/ACE&quot; rel=&quot;tag&quot;&gt;ACE&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/VMware&quot; rel=&quot;tag&quot;&gt;VMware&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/CIO.com&quot; rel=&quot;tag&quot;&gt;CIO.com&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/cloud+computing&quot; rel=&quot;tag&quot;&gt;cloud computing&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/infrastructure&quot; rel=&quot;tag&quot;&gt;infrastructure&lt;/a&gt;&lt;/div&gt;  &lt;p&gt;Related blogs &amp;amp; articles: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href=&quot;http://www.cio.com/article/500634/Cloud_Hype_Peaks_But_IT_Concerns_Increase&quot;&gt;Cloud Hype Peaks, But IT Concerns Increase – CIO.com&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://ostatic.com/blog/survey-on-enterprise-open-source-usage-shows-disdain-for-lock-in&quot;&gt;Survey on Enterprise Open Source Usage Shows Disdain for Lock-In&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://www.computerworld.com.au/article/317291/vmware_cloud_initiative_raises_vendor_lock-_concerns&quot;&gt;VMware cloud initiative raises vendor lock-in concern&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://blog.sonoasystems.com/detail/the_api_is_more_than_the_new_cli/&quot;&gt;The API is more than the new CLI&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/11/12/cloud-standards-and-pants.aspx&quot;&gt;Cloud, Standards, and Pants&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/11/04/the-api-is-the-new-cli.aspx&quot;&gt;The API Is the New CLI&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/10/20/meh.-itrsquos-just-data.aspx&quot;&gt;Meh. It’s Just Data.&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/10/12/duty-calls-data-portability-in-the-cloud-is-an-application.aspx&quot;&gt;Duty Calls: Data Portability in The Cloud is an Application Integration Problem, Not a Cloud Problem&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;&lt;img src=&quot;http://devcentral.f5.com/weblogs/macvittie/aggbug/6204.aspx&quot; width=&quot;1&quot; height=&quot;1&quot; /&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/f5/XOwx/~4/8vKuiSe3LQw&quot; height=&quot;1&quot; width=&quot;1&quot;/&gt;&lt;p&gt;&lt;a href=&quot;http://lorimacvittie.sys-con.com/node/1185470&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Fri, 13 Nov 2009 10:30:00 EST</pubDate>
 <guid isPermaLink="true">http://lorimacvittie.sys-con.com/node/1185470</guid>
 <comments>http://lorimacvittie.sys-con.com/node/1185470#feedback</comments>
</item>
<item>
 <title>&amp;lsquo;Drowsy&amp;rsquo; Networking</title>
 <link>http://lorimacvittie.sys-con.com/node/1183175</link>
 <description>&lt;p&gt;&lt;em&gt;No, not the kind you do on Facebook when you’re really, really tired but the kind defined as a means to reduce power consumption without affecting application performance or availability by eliminating non-essential processing and networking whenever possible.  &lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;http://greenercomputing.com/news/2009/10/16/1e-brings-drowsy-computing-data-center-energy-management&quot;&gt;&lt;img title=&quot;tired&quot; style=&quot;border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; margin: 0px 10px 0px 0px; border-right-width: 0px&quot; height=&quot;166&quot; alt=&quot;tired&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/DrowsyNetworkingandDataCenterEnergyManag_5030/tired_5963c59a-5c7c-44c5-b600-4c1ad22d2cec.jpg&quot; width=&quot;240&quot; align=&quot;left&quot; border=&quot;0&quot; /&gt; &lt;/a&gt;&lt;/p&gt;  &lt;p&gt;An &lt;a href=&quot;http://greenercomputing.com/news/2009/10/16/1e-brings-drowsy-computing-data-center-energy-management&quot;&gt;article on “Drowsy” computing as a means to reduce power consumption in data centers&lt;/a&gt; got me thinking about how such concepts might be applied to networking. &lt;/p&gt;  &lt;p&gt;To summarize the concept of “drowsy” computing its basic premise is that when applications aren’t being heavily used some mechanism is used to reduce the power consumption on the physical server to its lowest levels, thereby saving costs associated with drawing power. The CEO of 1e, which offers a product to provide the mechanism by which power consumption levels on servers are manipulated, says the concept “&lt;em&gt;can make a significant dent in what is currently more than $4 billion in wasted energy use every year.”&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;The trick is apparently differentiating between “useful” and “housekeeping” computing. Thus the trick to accomplishing similar behavior in networking would be to distinguish between the “useful” and “housekeeping” networking. But we also need to bear in mind that changes in the network or application network architecture as a means to reduce resource and power consumption should be automated lest the financial gains end up negated by the cost of manually carrying out such tasks. &lt;/p&gt;  &lt;p&gt;Turns out there are some interesting applications of this concept, especially in the application network management arena, that fulfill both. &lt;/p&gt;  &lt;hr style=&quot;color: #c0c0c0&quot; width=&quot;100%&quot; noshade=&quot;noshade&quot; /&gt;&lt;strong&gt;NETWORK HOUSEKEEPING &lt;/strong&gt;  &lt;hr style=&quot;color: #c0c0c0&quot; width=&quot;100%&quot; noshade=&quot;noshade&quot; /&gt;  &lt;p&gt;In application delivery, at least, there are a couple of tasks that might be good candidates for “slowing down” during periods of less frequent activity. These tasks generally consume resources on the &lt;a href=&quot;http://www.f5.com/products/big-ip/&quot;&gt;application network components&lt;/a&gt;, the network and its associated components, &lt;em&gt;and &lt;/em&gt;the web/application/database servers. For applications that are primarily business-related and for which usage is highly predictable, i.e. used only during business hours or has known patterns of use based on time of day or other events, these housekeeping tasks can be better regulated to reduce the power and usage of all the components involved across the data center. &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Application Health Monitoring &lt;/strong&gt;This is &lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/09/30/wils-a-good-hall-monitor-actually-checks-the-hall-pass.aspx&quot;&gt;the cornerstone block in the application availability&lt;/a&gt; house so tread lightly in this area but definitely venture inside. For applications known to be in use only during business hours health checks should be as frequent as necessary to ensure availability and fault-tolerance during usage but after hours can be relaxed somewhat. Health checks, regardless of whether they’re simple ICMP or (as is proper) at the application layer, make use of application network, network, server, and application resources. By reducing the frequency with which these checks are made during off hours from an interval measured in seconds to one measured in perhaps minutes you can reduce the consumption of resources across the entire data center. It’s hard to measure the amount of power saved across all components and on a per-health check basis is probably minute, but over time that all adds up.       &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Available Server Reduction &lt;/strong&gt;If the usage patterns of an application are fairly predictable then you know that during certain time intervals you’ll need X servers and at other times you’ll need Y. If those intervals can be measured in hours then it might be advantageous to remove servers from the pool (cluster or farm) of available servers during light usage periods. This effectively removes the health monitoring checks and ensures that no matter what &lt;a href=&quot;http://www.f5.com/glossary/load-balancing.html&quot;&gt;load balancing&lt;/a&gt; algorithm is being used that requests will not be distributed across all servers. This reduces resource utilization in general and it’s a fairly simple task to add those servers back into the pool before usage increases.  &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Caching &lt;/strong&gt;Caching requires that you better understand the update frequency of data being requested by applications, but if it’s the case that content is updated only once every X hours or even not at all during the evening hours then caching can drastically reduce the consumption of resources across the data center. By employing the &lt;a href=&quot;http://www.f5.com/solutions/acceleration/&quot;&gt;caching capabilities of application delivery solutions&lt;/a&gt; you can offload requests from the network and servers. If the application delivery solution is flexible you can further modify caching policies on-demand to dynamically adapt to a schedule of caching for shorter or longer periods of time, depending on how often content is updated. You’re removing the housekeeping task of checking with the origin server to see if content “might be updated” because you know already that it hasn’t.       &lt;br /&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;I’m certain there are more housekeeping tasks that can be evaluated for potential modification as a means to reduce consumption of resources. I’m also fairly certain that you won’t see a huge reduction in costs associated with such actions, but combined with other cost and power savings measures it’s a step in the right direction. &lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;http://twitter.com/lmacvittie&quot;&gt;&lt;img height=&quot;18&quot; alt=&quot;Follow me on Twitter&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_twitt-twoo-icon.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a title=&quot;Follow F5 Networks on Twitter&quot; href=&quot;http://tweepml.org/F5-Networks-Tweeple/&quot;&gt;&lt;img height=&quot;18&quot; src=&quot;http://tweepml.org/s/tweepml16.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a title=&quot;Follow F5 DevCentral on Twitter&quot; href=&quot;http://tweepml.org/F5-DevCentral/&quot;&gt;&lt;img height=&quot;18&quot; src=&quot;http://tweepml.org/s/tweepml16.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/Rss.aspx&quot;&gt;&lt;img src=&quot;http://devcentral.f5.com/Portals/0/images/Icons/icon_xml_18.gif&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://www.slideshare.net/lmacvittie&quot;&gt;&lt;img height=&quot;18&quot; alt=&quot;View Lori&#039;s profile on SlideShare&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_slideshare.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://www.linkedin.com/in/lmacvittie&quot;&gt;&lt;img src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_linkedin_16.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://www.friendfeed.com/lmacvittie&quot;&gt;&lt;img style=&quot;border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px&quot; height=&quot;18&quot; alt=&quot;friendfeed&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/friendfeed_3.jpg&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://www.facebook.com/lmacvittie&quot;&gt;&lt;img style=&quot;border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px&quot; height=&quot;18&quot; alt=&quot;icon_facebook&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/icon_facebook_4.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a title=&quot;Subscribe using any feed reader!&quot; href=&quot;http://www.addthis.com/feed.php?pub=lmacvittie&amp;amp;h1=http%3A%2F%2Fdevcentral.f5.com%2Fweblogs%2Fmacvittie%2FRss.aspx&amp;amp;t1=&quot;&gt;&lt;img height=&quot;18&quot; alt=&quot;AddThis Feed Button&quot; src=&quot;http://s9.addthis.com/button1-fd.gif&quot; width=&quot;125&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a title=&quot;Bookmark and Share&quot; onclick=&quot;window.open(&#039;http://www.addthis.com/bookmark.php?wt=nw&amp;amp;pub=lmacvittie&amp;amp;url=&#039;+encodeURIComponent(location.href)+&#039;&amp;amp;title=&#039;+encodeURIComponent(document.title), &#039;addthis&#039;, &#039;scrollbars=yes,menubar=no,width=620,height=520,resizable=yes,toolbar=no,location=no,status=no,screenX=200,screenY=100,left=200,top=100&#039;); return false;&quot; href=&quot;http://www.addthis.com/bookmark.php&quot; target=&quot;_blank&quot;&gt;&lt;img height=&quot;18&quot; alt=&quot;Bookmark and Share&quot; src=&quot;http://s9.addthis.com/button1-share.gif&quot; width=&quot;125&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;script type=&quot;text/javascript&quot; src=&quot;http://track.mybloglog.com/js/jsserv.php?mblID=2008070914270355&quot;&gt;&lt;/script&gt;&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;   &lt;/p&gt;&lt;div class=&quot;wlWriterEditableSmartContent&quot; id=&quot;scid:0767317B-992E-4b12-91E0-4F059A8CECA8:3b74b9ed-41fe-4268-bc19-6aa4103c6ada&quot; style=&quot;padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px&quot;&gt;Technorati Tags: &lt;a href=&quot;http://technorati.com/tags/MacVittie&quot; rel=&quot;tag&quot;&gt;MacVittie&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/F5&quot; rel=&quot;tag&quot;&gt;F5&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/green&quot; rel=&quot;tag&quot;&gt;green&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/green+computing&quot; rel=&quot;tag&quot;&gt;green computing&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/application+delivery&quot; rel=&quot;tag&quot;&gt;application delivery&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/caching&quot; rel=&quot;tag&quot;&gt;caching&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/acceleration&quot; rel=&quot;tag&quot;&gt;acceleration&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/monitoring&quot; rel=&quot;tag&quot;&gt;monitoring&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/infrastructure+2.0&quot; rel=&quot;tag&quot;&gt;infrastructure 2.0&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/drowsy+networking&quot; rel=&quot;tag&quot;&gt;drowsy networking&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/drowsy+computing&quot; rel=&quot;tag&quot;&gt;drowsy computing&lt;/a&gt;&lt;/div&gt;   &lt;p&gt;Related blogs &amp;amp; articles: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/10/16/putting-a-price-on-uptime.aspx&quot;&gt;Putting a Price on Uptime&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/09/28/web-application-security-at-the-edge-is-more-efficient-than.aspx&quot;&gt;Web Application Security at the Edge is More Efficient Than In the Application&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/03/24/hardware-acceleration-critical-component-for-cost-conscious-data-centers.aspx&quot;&gt;Hardware Acceleration Critical Component for Cost-Conscious Data Centers&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2008/10/06/telecommute-your-way-to-a-greener-bottom-line.aspx&quot;&gt;Telecommute your way to a greener bottom line&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2008/08/15/3542.aspx&quot;&gt;Saving the world, one server at a time&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2008/06/27/3406.aspx&quot;&gt;Green IT: 404 Blacklisting&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2008/06/23/3380.aspx&quot;&gt;Green IT: More is Less&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2008/05/07/3238.aspx&quot;&gt;Green IT: You don&#039;t have to sacrifice speed&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2008/05/05/3227.aspx&quot;&gt;Green IT: Reduce, Reuse, Recycle&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;&lt;img src=&quot;http://devcentral.f5.com/weblogs/macvittie/aggbug/6199.aspx&quot; width=&quot;1&quot; height=&quot;1&quot; /&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/f5/XOwx/~4/dhtB3YdqLyw&quot; height=&quot;1&quot; width=&quot;1&quot;/&gt;&lt;p&gt;&lt;a href=&quot;http://lorimacvittie.sys-con.com/node/1183175&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Wed, 11 Nov 2009 06:23:07 EST</pubDate>
 <guid isPermaLink="true">http://lorimacvittie.sys-con.com/node/1183175</guid>
 <comments>http://lorimacvittie.sys-con.com/node/1183175#feedback</comments>
</item>
<item>
 <title>Microsoft Exchange 2010: HELO New Architecture</title>
 <link>http://lorimacvittie.sys-con.com/node/1181651</link>
 <description>&lt;p&gt;&lt;a href=&quot;http://www.microsoft.com&quot;&gt;&lt;img title=&quot;envelope_icon&quot; style=&quot;border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; margin: 0px 0px 0px 10px; border-right-width: 0px&quot; height=&quot;133&quot; alt=&quot;envelope_icon&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/Exchange2010NowwithMoreReliability_B998/envelope_icon_e65bf12b-a2fe-46ab-9d8e-2d364765cd29.jpg&quot; width=&quot;164&quot; align=&quot;right&quot; border=&quot;0&quot; /&gt; Microsoft&lt;/a&gt; has made some fairly substantial changes to the core architecture of Exchange 2010. Given that messaging can only be described as business critical today, it’s no surprise that many new aspects of Exchange 2010 and in particular its new architecture are designed to improve availability and management of its messaging systems. &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/Exchange2010NowwithMoreReliability_B998/blockquote_2.gif&quot;&gt;&lt;img title=&quot;blockquote&quot; style=&quot;border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; margin-left: 0px; margin-right: 0px; border-right-width: 0px&quot; height=&quot;28&quot; alt=&quot;blockquote&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/Exchange2010NowwithMoreReliability_B998/blockquote_thumb.gif&quot; width=&quot;46&quot; align=&quot;left&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; Exchange 2010 includes many changes to its core architecture. In Exchange 2010, new features such as &lt;em&gt;incremental deployment&lt;/em&gt;, &lt;em&gt;mailbox database copies&lt;/em&gt;, and &lt;em&gt;database availability groups&lt;/em&gt; work with other features such as shadow redundancy and transport dumpster to provide a new, unified platform for high availability and site resilience.&lt;a href=&quot;#_ftn1_7017&quot; name=&quot;_ftnref1_7017&quot;&gt;&lt;sup&gt;[1]&lt;/sup&gt;&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;The core change in architecture will be felt not just by server and Exchange administrators, but by network and &lt;a href=&quot;http://www.f5.com/big-ip/&quot;&gt;application delivery network&lt;/a&gt; administrators as well. With Exchange 2010 users no longer connect directly to Mailbox servers even when using Outlook in native MAPI mode; instead, all user access to e-mail, &lt;a href=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/Exchange2010NowwithMoreReliability_B998/clip_image002_2.gif&quot;&gt;&lt;img title=&quot;clip_image002&quot; style=&quot;border-right: 0px; border-top: 0px; display: inline; margin: 5px 10px 5px 0px; border-left: 0px; border-bottom: 0px&quot; height=&quot;231&quot; alt=&quot;clip_image002&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/Exchange2010NowwithMoreReliability_B998/clip_image002_thumb.gif&quot; width=&quot;417&quot; align=&quot;left&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;regardless of protocol, is achieved via Client Access Servers (CAS).&lt;/p&gt;  &lt;p&gt;This specifically changes: &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;1. Outlook&lt;/strong&gt; data connections go to RPC Client Access Service on CAS instead of connecting to Mailbox servers &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;2. Address Book Service&lt;/strong&gt; on CAS replaces DSProxy interface and handles all Outlook Directory connections &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;3. Public folder connections&lt;/strong&gt; connect directly to the Mailbox server, but through RPC Client Access Service running on backend &lt;/p&gt;  &lt;p&gt;This may change network routing, host and domain naming, as well as the configuration of intermediaries as &lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2008/06/04/3329.aspx&quot;&gt;persistence&lt;/a&gt; is a requirement for Outlook, Outlook Anywhere, OWA, EAS, EWS, ECP, and Remote PowerShell. MAPI traffic over a VPN now flows along with HTTP, POP3, and other Exchange protocol traffic which may require adjustments to firewall and other security-related infrastructure configurations. &lt;/p&gt;  &lt;p&gt;Also potentially a new requirement for network and systems’ administrators will be the need to provide &lt;a href=&quot;http://www.f5.com/glossary/load-balancing.html&quot;&gt;load balancing&lt;/a&gt; for &lt;em&gt;internal &lt;/em&gt;CAS connections given the increased load on this tier and the requirement to use CAS. This may require additional routing or changes to existing network routing architectures and will absolutely increase the load on the CAS tier as the highest volume of utilization certainly comes from internal connections. Considerations include capacity planning based on the roles of servers required for internal connections as it is likely there will be a requirement to increase the number of servers available in this tier. Microsoft offers &lt;a href=&quot;http://technet.microsoft.com/en-us/library/dd346701%28EXCHG.140%29.aspx&quot;&gt;guidance on sizing of servers based on role&lt;/a&gt; that will be valuable in this process. The impact of multi-role server deployments is not available at this time, although this is traditionally one of the architectural choices that has led to the use of load balancers as an integral component to a successful high-availability, well performing Exchange deployment. &lt;/p&gt;  &lt;p&gt;This architectural change means that all traffic is available to be load balanced by an &lt;a href=&quot;http://www.f5.com/products/big-ip/&quot;&gt;application delivery controller&lt;/a&gt; rather than the old model where only some traffic could be routed through the load balancer. This means all traffic can take advantage of additional functionality provided by application delivery controllers such as &lt;a href=&quot;http://www.f5.com/products/big-ip/feature-modules/message-security-module.html&quot;&gt;message security&lt;/a&gt;, &lt;a href=&quot;http://www.f5.com/solutions/acceleration/&quot;&gt;application acceleration&lt;/a&gt;, and &lt;a href=&quot;http://www.f5.com/solutions/availability/&quot;&gt;high availability&lt;/a&gt; configurations for increased reliability. &lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/Exchange2010NowwithMoreReliability_B998/CS10064_MSExchange_2007_2.jpg&quot;&gt;&lt;img title=&quot;CS10064_MSExchange_2007&quot; style=&quot;border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; margin: 5px 0px 0px 60px; border-right-width: 0px&quot; height=&quot;433&quot; alt=&quot;CS10064_MSExchange_2007&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/Exchange2010NowwithMoreReliability_B998/CS10064_MSExchange_2007_thumb.jpg&quot; width=&quot;348&quot; align=&quot;left&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/Exchange2010NowwithMoreReliability_B998/CS10064_MSExchange_2010_2.jpg&quot;&gt;&lt;img title=&quot;CS10064_MSExchange_2010&quot; style=&quot;border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; margin: 5px 10px 0px 50px; border-right-width: 0px&quot; height=&quot;439&quot; alt=&quot;CS10064_MSExchange_2010&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/Exchange2010NowwithMoreReliability_B998/CS10064_MSExchange_2010_thumb.jpg&quot; width=&quot;353&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p align=&quot;center&quot;&gt;&lt;em&gt;Example of a load balanced Exchange 2010 environment compared to a load balanced Exchange 2007 environment&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;Given that all client connections are now via CAS servers it is important to note that Microsoft is in the process of updating its high-availability and scalability design guide for Exchange and expects to publish it in the coming months. This paper will include more specific information on the role of hardware load-balancers for Exchange. Additionally, vendors should be updating any existing deployment guides specifically for Exchange 2010. F5 has already done so, and &lt;a href=&quot;http://www.f5.com/pdf/deployment-guides/f5-exchange-2010-dg.pdf&quot;&gt;it is available here for your perusal&lt;/a&gt; [PDF]. &lt;/p&gt;  &lt;p&gt;This architectural change should have a positive impact on the cloud-based deployment of Exchange as the standardization on access via CAS servers means scalability can be more easily achieved via additional instances of CAS with granularity perhaps taking it even further by basing scaling needs on the role which the CAS server is playing in the overall architecture. &lt;/p&gt;  &lt;p /&gt;  &lt;p /&gt;  &lt;p&gt;&lt;a href=&quot;#_ftnref1_7017&quot; name=&quot;_ftn1_7017&quot;&gt;&lt;sup&gt;[1]&lt;/sup&gt;&lt;/a&gt;&lt;font size=&quot;1&quot;&gt; Microsoft TechNet library for Exchange Server: &lt;a href=&quot;http://technet.microsoft.com/en-us/library/dd298026(EXCHG.140).aspx&quot;&gt;http://technet.microsoft.com/en-us/library/dd298026(EXCHG.140).aspx&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;http://twitter.com/lmacvittie&quot;&gt;&lt;img height=&quot;18&quot; alt=&quot;Follow me on Twitter&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_twitt-twoo-icon.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a title=&quot;Follow F5 Networks on Twitter&quot; href=&quot;http://tweepml.org/F5-Networks-Tweeple/&quot;&gt;&lt;img height=&quot;18&quot; src=&quot;http://tweepml.org/s/tweepml16.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a title=&quot;Follow F5 DevCentral on Twitter&quot; href=&quot;http://tweepml.org/F5-DevCentral/&quot;&gt;&lt;img height=&quot;18&quot; src=&quot;http://tweepml.org/s/tweepml16.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/Rss.aspx&quot;&gt;&lt;img src=&quot;http://devcentral.f5.com/Portals/0/images/Icons/icon_xml_18.gif&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://www.slideshare.net/lmacvittie&quot;&gt;&lt;img height=&quot;18&quot; alt=&quot;View Lori&#039;s profile on SlideShare&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_slideshare.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://www.linkedin.com/in/lmacvittie&quot;&gt;&lt;img src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_linkedin_16.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://www.friendfeed.com/lmacvittie&quot;&gt;&lt;img style=&quot;border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px&quot; height=&quot;16&quot; alt=&quot;friendfeed&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/friendfeed_3.jpg&quot; width=&quot;16&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/icon_facebook_2.png&quot;&gt;&lt;img style=&quot;border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px&quot; height=&quot;16&quot; alt=&quot;icon_facebook&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/icon_facebook_4.png&quot; width=&quot;16&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a title=&quot;Subscribe using any feed reader!&quot; href=&quot;http://www.addthis.com/feed.php?pub=lmacvittie&amp;amp;h1=http%3A%2F%2Fdevcentral.f5.com%2Fweblogs%2Fmacvittie%2FRss.aspx&amp;amp;t1=&quot;&gt;&lt;img height=&quot;18&quot; alt=&quot;AddThis Feed Button&quot; src=&quot;http://s9.addthis.com/button1-fd.gif&quot; width=&quot;125&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a title=&quot;Bookmark and Share&quot; onclick=&quot;window.open(&#039;http://www.addthis.com/bookmark.php?wt=nw&amp;amp;pub=lmacvittie&amp;amp;url=&#039;+encodeURIComponent(location.href)+&#039;&amp;amp;title=&#039;+encodeURIComponent(document.title), &#039;addthis&#039;, &#039;scrollbars=yes,menubar=no,width=620,height=520,resizable=yes,toolbar=no,location=no,status=no,screenX=200,screenY=100,left=200,top=100&#039;); return false;&quot; href=&quot;http://www.addthis.com/bookmark.php&quot; target=&quot;_blank&quot;&gt;&lt;img height=&quot;18&quot; alt=&quot;Bookmark and Share&quot; src=&quot;http://s9.addthis.com/button1-share.gif&quot; width=&quot;125&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;script type=&quot;text/javascript&quot; src=&quot;http://track.mybloglog.com/js/jsserv.php?mblID=2008070914270355&quot;&gt;&lt;/script&gt;&lt;/p&gt;  &lt;div class=&quot;wlWriterEditableSmartContent&quot; id=&quot;scid:0767317B-992E-4b12-91E0-4F059A8CECA8:e248b646-217e-4ad6-a60b-9d813df55d7b&quot; style=&quot;padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px&quot;&gt;Technorati Tags: &lt;a href=&quot;http://technorati.com/tags/MacVittie&quot; rel=&quot;tag&quot;&gt;MacVittie&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/F5&quot; rel=&quot;tag&quot;&gt;F5&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/Microsoft+Exchange&quot; rel=&quot;tag&quot;&gt;Microsoft Exchange&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/Exchange+2010&quot; rel=&quot;tag&quot;&gt;Exchange 2010&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/CAS&quot; rel=&quot;tag&quot;&gt;CAS&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/high+availability&quot; rel=&quot;tag&quot;&gt;high availability&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/scalability&quot; rel=&quot;tag&quot;&gt;scalability&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/load+balancing&quot; rel=&quot;tag&quot;&gt;load balancing&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/architecture&quot; rel=&quot;tag&quot;&gt;architecture&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/deployment&quot; rel=&quot;tag&quot;&gt;deployment&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/Microsoft&quot; rel=&quot;tag&quot;&gt;Microsoft&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/new&quot; rel=&quot;tag&quot;&gt;new&lt;/a&gt;&lt;/div&gt;  &lt;p /&gt;  &lt;p&gt;Related blogs &amp;amp; articles: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href=&quot;http://www.f5.com/news-press-events/press/2009/20091109b.html&quot;&gt;F5 Updates Microsoft Exchange 2010 Solution Portfolio&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/10/22/wils-why-does-load-balancing-improve-application-performance.aspx&quot;&gt;WILS: Why Does Load Balancing Improve Application Performance?&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/09/23/concise-guide-to-load-balancing.aspx&quot;&gt;WILS: The Concise Guide to *-Load Balancing&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/09/22/load-balancing-on-the-inside.aspx&quot;&gt;Load Balancing on the Inside&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/09/15/network-application-load-balancing.aspx&quot;&gt;WILS: Network Load Balancing versus Application Load Balancing&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2008/06/04/3329.aspx&quot;&gt;Sessions and Cookies and Persistence, oh my!&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2008/07/11/3443.aspx&quot;&gt;Persistent and Persistence, What&#039;s the Difference?&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/04/09/architects-need-to-better-leverage-virtualization.aspx&quot;&gt;Architects Need to Better Leverage Virtualization&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/10/28/to-take-advantage-of-cloud-computing-you-must-unlearn.aspx&quot;&gt;To Take Advantage of Cloud Computing You Must Unlearn, Luke.&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/10/27/vertical-scalability-cloud-computing-style.aspx&quot;&gt;Vertical Scalability Cloud Computing Style&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;&lt;img src=&quot;http://devcentral.f5.com/weblogs/macvittie/aggbug/6196.aspx&quot; width=&quot;1&quot; height=&quot;1&quot; /&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/f5/XOwx/~4/GVf70-2m7hQ&quot; height=&quot;1&quot; width=&quot;1&quot;/&gt;&lt;p&gt;&lt;a href=&quot;http://lorimacvittie.sys-con.com/node/1181651&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Tue, 10 Nov 2009 07:30:00 EST</pubDate>
 <guid isPermaLink="true">http://lorimacvittie.sys-con.com/node/1181651</guid>
 <comments>http://lorimacvittie.sys-con.com/node/1181651#feedback</comments>
</item>
<item>
 <title>Virtualization Changes Application Deployment But Not Development</title>
 <link>http://lorimacvittie.sys-con.com/node/1179173</link>
 <description>&lt;p&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/ApplicationVirtualizationNotCompatibleWi_4574/owl_2.gif&quot;&gt;&lt;img title=&quot;owl&quot; style=&quot;border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; margin: 0px 20px 0px 0px; border-right-width: 0px&quot; height=&quot;111&quot; alt=&quot;owl&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/ApplicationVirtualizationNotCompatibleWi_4574/owl_thumb.gif&quot; width=&quot;97&quot; align=&quot;left&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;em&gt;Cloud computing management functionality and standards are right now laser-focused on virtual machines, and most APIs include the ability to stop,start,launch,etc…at that level of the infrastructure. This is because the application is still insulated by its virtualized environment. The “depth” of management and standards efforts today stops at the hard shell of the virtualization layer and leaves the soft, chewy application center alone. This means nothing is really all that different for developers. But it &lt;strong&gt;could,&lt;/strong&gt; and some might argue &lt;strong&gt;should,&lt;/strong&gt; be different.&lt;/em&gt; &lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;The development of a web-application for a cloud computing environment today is really no different than the development of an application destined for deployment in a traditional data center. If the developers or architects are network-savvy, they know they need to worry about a few environmental specific conditions like &lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2008/11/19/cloud-computing-is-your-cloud-sticky-it-should-be.aspx&quot;&gt;persistence&lt;/a&gt; and stateful &lt;a href=&quot;http://www.f5.com/glossary/load-balancing.html&quot;&gt;load balancing&lt;/a&gt;, but other than that they don’t have to change how they develop the application. &lt;/p&gt;  &lt;p&gt;That’s because when they complete the application and deploy it into a web-application server, the entire environment – OS, application server, and application – will be packaged up into a neat virtual image and shipping out. There’s nothing more they need to do. Nothing different than it was before cloud computing appeared on the scene. &lt;/p&gt;  &lt;p&gt;The focus in cloud computing environments, as evinced by a perusal of APIs offered up to standards organizations by a variety of cloud computing providers – Sun, Yahoo! – and organizations like OCCI, stops at the virtualization layer. Beyond the virtual machine there is no mention of application resources, no mention of how &lt;em&gt;those &lt;/em&gt;might be managed or provisioned or priced. It is the virtual machine layer at which the buck stops. &lt;/p&gt;  &lt;p&gt;Virtual machines virtualize the operating system; a complete environment. They do not virtualize an application, nor even an application server environment. Indeed, one could successfully argue that web application servers have long virtualized applications through the automated provisioning and management of isolated, virtual instances of applications. At lease enterprise-class web application servers have, the story is very different when you look at scripting-based languages like ASP, PHP, and Ruby and their deployment on web-servers where isolation is not provided for nor considered. &lt;/p&gt;  &lt;hr style=&quot;color: #c0c0c0&quot; width=&quot;100%&quot; noshade=&quot;noshade&quot; /&gt;&lt;strong&gt;WEB/APPLICATION SERVER AS THE NEXT FRONTIER FOR VIRTUALIZATION&lt;/strong&gt;   &lt;hr style=&quot;color: #c0c0c0&quot; width=&quot;100%&quot; noshade=&quot;noshade&quot; /&gt;  &lt;p&gt;It is like at the web/application server tier that virtualization could make the biggest impact and thus it is likely in the PaaS (Platform as a Service) market that we will see the greatest advances in virtualization of &lt;em&gt;applications. &lt;/em&gt;&lt;/p&gt;  &lt;p&gt;Consider that rather than provisioning virtual machines you provision &lt;em&gt;applications&lt;/em&gt;. I know, quite the concept, isn’t it? But at the core of what we’re trying to do isn’t &lt;em&gt;that &lt;/em&gt;really what we want? To deploy an &lt;em&gt;application&lt;/em&gt; into an environment? So let’s pretend that rather than moving around and provisioning and releasing virtual machine images we are actually working at the layer that’s most important to us: at the application layer. &lt;/p&gt;  &lt;p&gt;Image a web/application server environment that acts much as we expect virtual machines to act today: it is the application server that is responsible for metering and billing of compute resources, but because the web/application server actually knows exactly what each application has consumed providers would be able to not only claim a “pay for what you use” model but actually &lt;em&gt;implement one, &lt;/em&gt;rather than the “well, you’re paying for how many virtual machines you use, not really how much compute power you consume.” &lt;/p&gt;  &lt;p&gt;The web/application server performs many of the tasks we already associate with management of virtual machines: launch, stop, suspend, provision. Many web/application server platforms are already remotely manageable and provide APIs through which their management functions can be controlled. Web and application server platforms are well-suited to becoming the layer at which we manage compute resources and application management and would certainly provide much more granular control over the environment than do virtual machines. &lt;/p&gt;  &lt;hr style=&quot;color: #c0c0c0&quot; width=&quot;100%&quot; noshade=&quot;noshade&quot; /&gt;&lt;strong&gt;THEN APPLICATION DEVELOPERS WOULD NEED TO LEARN NEW TRICKS&lt;/strong&gt;   &lt;hr style=&quot;color: #c0c0c0&quot; width=&quot;100%&quot; noshade=&quot;noshade&quot; /&gt;  &lt;p&gt;If we were truly provisioning at the application layer through cloud computing enabled web and application servers &lt;em&gt;then &lt;/em&gt;we come to a place where developers might need to learn new tricks.  &lt;/p&gt;  &lt;p&gt;For example, today there are environment/platform specific methods of declaring web-service accessible functions. [web service] and [web method] declare to Microsoft environments that certain objects and methods will be web-service enabled. Similar methods are used in the latest versions of Java, for example @WebService indicates in a JAX-RPC 2.0 environment that a class will be service-enabled. The development environment interprets those directives and prepares the objects and methods for service-enablement, including providing the interfaces necessary for management via the application server. &lt;a href=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/ApplicationVirtualizationNotCompatibleWi_4574/balancing_act_2.jpg&quot;&gt;&lt;img title=&quot;balancing_act&quot; style=&quot;border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; margin: 5px 0px 5px 10px; border-right-width: 0px&quot; height=&quot;240&quot; alt=&quot;balancing_act&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/ApplicationVirtualizationNotCompatibleWi_4574/balancing_act_thumb.jpg&quot; width=&quot;191&quot; align=&quot;right&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Now, take that concept and apply it to virtualization. Imagine that in a development environment you know that a specific function/method/discrete block of application logic will be core to the application and heavily used. You decide that this block of code will be a bottleneck and thus it would be appropriate to scale it out. You preface the block of code with @virtualize or [virtualize] and go on with your coding. Optimally we’d like a profiling tool to be able to do this &lt;em&gt;for us; &lt;/em&gt;to examine the code in a run-time scenario and determine where the most time and compute resources are spent and automatically suggest which workloads are good candidates for virtualization. &lt;/p&gt;  &lt;p&gt;When the application is packaged the development environment then recognizes those directives and prepares that block of code to be “virtualized”. The directives, instructions, to the web/application server instruct it that the block of code can be virtualized which in turn means it may be deployed as a discrete workload on any capable application instance. &lt;/p&gt;  &lt;p&gt;At run-time the application server, which is able to monitor and manage compute resource utilization, determines that load is increasing much too quickly and needs to increase capacity. Today this is accomplished by launching complete virtual machine images on other resources; the entire application is duplicated and thus requires X compute resources (and its associated costs) every time an image is launched. But in our scenario the application server recognizes the virtualizable workloads and simply indicates that additional instances of the &lt;em&gt;workload &lt;/em&gt;should be launched, and uses mechanisms similar to RMI and CORBA and EJB naming to ensure that application requests to that workload are properly directed. &lt;/p&gt;  &lt;p&gt;The instances of the workload require fewer compute resources than the entire application and thus should theoretically incur lower costs, which means the costs of scaling are reduced overall. &lt;/p&gt;  &lt;hr style=&quot;color: #c0c0c0&quot; width=&quot;100%&quot; noshade=&quot;noshade&quot; /&gt;&lt;strong&gt;PaaS IS WHERE THIS INNOVATION WILL START&lt;/strong&gt;   &lt;hr style=&quot;color: #c0c0c0&quot; width=&quot;100%&quot; noshade=&quot;noshade&quot; /&gt;  &lt;p&gt;PaaS (Platform as a Service) is uniquely positioned to be the leaders in this aspect of cloud computing’s evolution. Because the platform, the application development and deployment platforms, are the focus of PaaS and PaaS providers like &lt;a href=&quot;http://www.microsoft.com&quot;&gt;Microsoft&lt;/a&gt; (Azure) and &lt;a href=&quot;http://www.google.com&quot;&gt;Google&lt;/a&gt; (Google Apps) completely control the application servers upon which applications are deployed, they are in a unique position to take virtualization to the next level. &lt;/p&gt;  &lt;p&gt;PaaS providers already must manage and monitor at a level lower than IaaS (Infrastructure as a Service) providers because the interface between PaaS and its customers is the application, not the virtual image. In fact, virtualization may not even be a part of the underlying PaaS architecture and in fact does not need to be involved. The “virtualization” in a PaaS can (and some might argue should) come directly from the isolation and management provided by the development and deployment platforms. &lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;http://www.rationalsurvivability.com/&quot;&gt;Christofer Hoff&lt;/a&gt; makes a similar assertion in “&lt;a href=&quot;http://www.rationalsurvivability.com/blog/?p=1371&quot;&gt;Incomplete Thought: Virtual Machines Are the Problem, Not the Solution…&lt;/a&gt;”:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font color=&quot;#800080&quot;&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/ApplicationVirtualizationNotCompatibleWi_4574/blockquote_2.gif&quot;&gt;&lt;img title=&quot;blockquote&quot; style=&quot;border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; margin-left: 0px; margin-right: 0px; border-right-width: 0px&quot; height=&quot;28&quot; alt=&quot;blockquote&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/ApplicationVirtualizationNotCompatibleWi_4574/blockquote_thumb.gif&quot; width=&quot;46&quot; align=&quot;left&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; So these virtualization players are  making acquisitions to prepare them for this next wave — the real emergence of Platform as a Service (PaaS.)&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font color=&quot;#800080&quot;&gt;&lt;u&gt;Some like Microsoft with Azure are simply starting there.  Even SaaS vendors have gone down-stack and provided PaaS offerings to further allow for connectivity, integration and security in the place they think it belongs&lt;/u&gt;. &lt;/font&gt;&lt;font color=&quot;#000000&quot;&gt;[emphasis added]&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font color=&quot;#800080&quot;&gt;In the case of &lt;/font&gt;&lt;a href=&quot;http://blogs.vmware.com/console/2009/08/vmware-acquires-springsource.html&quot;&gt;&lt;font color=&quot;#800080&quot;&gt;VMware and their acquisition of SpringSource&lt;/font&gt;&lt;/a&gt;&lt;font color=&quot;#800080&quot;&gt;, that piece of bloat in the middle can be seen as simply going away; whatever you call it, it’s about disintermediating the OS completely and it seems to me that the entire notion of vApps addresses this very thing.  I’m sure there are a ton of other offerings that I simply didn’t get before that are going to make me go “AHA!” now. &lt;/font&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;“In the place they think it belongs.” Exactly. I don’t know that the OS will go away, and virtualization is certainly not going away as the use for it in testing and even production deployment of a full-scale infrastructure will be necessary for quite some time. For virtual appliances, virtualization is where it’s at and the management and standards folks understand that in the case of &lt;em&gt;infrastructure&lt;/em&gt; at least, there’s more to managing the environment than just the virtual machine. They get that we have to be able to integrate, to collaborate, with the infrastructure solutions deployed in those virtual machines. &lt;/p&gt; &lt;fieldset style=&quot;padding-right: 5px; padding-left: 5px; padding-bottom: 5px; padding-top: 5px&quot;&gt;&lt;legend&gt;&lt;a href=&quot;http://www.vmware.com/technology/cloud-os/application.html&quot;&gt;vApps: Ensuring seamless application movement and choice between clouds&lt;/a&gt;&lt;/legend&gt;    &lt;ul&gt;     &lt;li&gt;&lt;a href=&quot;http://www.vmware.com/products/vsphere/&quot;&gt;VMware vSphere&lt;/a&gt; includes support for &lt;u&gt;&lt;strong&gt;vApp, a logical entity comprising one or more virtual machines&lt;/strong&gt;&lt;/u&gt;, which uses the industry standard Open Virtualization Format to specify and encapsulate all components of a multi-tier application as well as the operational policies and service levels associated with it. &lt;/li&gt;      &lt;li&gt;Just like the UPC bar code contains all information about a product, the vApp gives application owners a standard way to &lt;u&gt;&lt;strong&gt;describe operational policies&lt;/strong&gt;&lt;/u&gt; for an application which the cloud OS can automatically interpret and execute. &lt;/li&gt;      &lt;li&gt;vApps can comprise of any applications running on any OS, and provide a mechanism for customers to move their applications between internal clouds or external clouds with still the same service levels. &lt;/li&gt;   &lt;/ul&gt; &lt;/fieldset&gt;   &lt;p&gt;It’s only when we get to the applications that everything falls apart and we lose control over that layer of the environment. While &lt;a href=&quot;http://www.vmware.com/technology/cloud-os/application.html&quot;&gt;VMware’s vApps&lt;/a&gt; takes us a step closer, its primary goal is to control the &lt;em&gt;operational environment&lt;/em&gt; in which applications run, and does not – and really cannot – descend into the internal gooey center of the application where the real advances in application virtualization are sure to come in this continuously evolving application deployment paradigm. &lt;/p&gt;  &lt;p&gt;Until then, nothing really changes for developers.   &lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;http://twitter.com/lmacvittie&quot;&gt;&lt;img height=&quot;18&quot; alt=&quot;Follow me on Twitter&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_twitt-twoo-icon.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a title=&quot;Follow F5 Networks on Twitter&quot; href=&quot;http://tweepml.org/F5-Networks-Tweeple/&quot;&gt;&lt;img height=&quot;18&quot; src=&quot;http://tweepml.org/s/tweepml16.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a title=&quot;Follow F5 DevCentral on Twitter&quot; href=&quot;http://tweepml.org/F5-DevCentral/&quot;&gt;&lt;img height=&quot;18&quot; src=&quot;http://tweepml.org/s/tweepml16.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/Rss.aspx&quot;&gt;&lt;img src=&quot;http://devcentral.f5.com/Portals/0/images/Icons/icon_xml_18.gif&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://www.slideshare.net/lmacvittie&quot;&gt;&lt;img height=&quot;18&quot; alt=&quot;View Lori&#039;s profile on SlideShare&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_slideshare.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://www.linkedin.com/in/lmacvittie&quot;&gt;&lt;img src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_linkedin_16.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://www.friendfeed.com/lmacvittie&quot;&gt;&lt;img style=&quot;border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px&quot; height=&quot;16&quot; alt=&quot;friendfeed&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/friendfeed_3.jpg&quot; width=&quot;16&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/icon_facebook_2.png&quot;&gt;&lt;img style=&quot;border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px&quot; height=&quot;16&quot; alt=&quot;icon_facebook&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/icon_facebook_4.png&quot; width=&quot;16&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a title=&quot;Subscribe using any feed reader!&quot; href=&quot;http://www.addthis.com/feed.php?pub=lmacvittie&amp;amp;h1=http%3A%2F%2Fdevcentral.f5.com%2Fweblogs%2Fmacvittie%2FRss.aspx&amp;amp;t1=&quot;&gt;&lt;img height=&quot;18&quot; alt=&quot;AddThis Feed Button&quot; src=&quot;http://s9.addthis.com/button1-fd.gif&quot; width=&quot;125&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a title=&quot;Bookmark and Share&quot; onclick=&quot;window.open(&#039;http://www.addthis.com/bookmark.php?wt=nw&amp;amp;pub=lmacvittie&amp;amp;url=&#039;+encodeURIComponent(location.href)+&#039;&amp;amp;title=&#039;+encodeURIComponent(document.title), &#039;addthis&#039;, &#039;scrollbars=yes,menubar=no,width=620,height=520,resizable=yes,toolbar=no,location=no,status=no,screenX=200,screenY=100,left=200,top=100&#039;); return false;&quot; href=&quot;http://www.addthis.com/bookmark.php&quot; target=&quot;_blank&quot;&gt;&lt;img height=&quot;18&quot; alt=&quot;Bookmark and Share&quot; src=&quot;http://s9.addthis.com/button1-share.gif&quot; width=&quot;125&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;script type=&quot;text/javascript&quot; src=&quot;http://track.mybloglog.com/js/jsserv.php?mblID=2008070914270355&quot;&gt;&lt;/script&gt;&lt;/p&gt;  &lt;div class=&quot;wlWriterEditableSmartContent&quot; id=&quot;scid:0767317B-992E-4b12-91E0-4F059A8CECA8:b4bdb6db-0042-4670-85cd-43ff26b31da3&quot; style=&quot;padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px&quot;&gt;Technorati Tags: &lt;a href=&quot;http://technorati.com/tags/MacVittie&quot; rel=&quot;tag&quot;&gt;MacVittie&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/F5&quot; rel=&quot;tag&quot;&gt;F5&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/virtualization&quot; rel=&quot;tag&quot;&gt;virtualization&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/vmware&quot; rel=&quot;tag&quot;&gt;vmware&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/vapps&quot; rel=&quot;tag&quot;&gt;vapps&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/web+application&quot; rel=&quot;tag&quot;&gt;web application&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/server&quot; rel=&quot;tag&quot;&gt;server&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/architecture&quot; rel=&quot;tag&quot;&gt;architecture&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/development&quot; rel=&quot;tag&quot;&gt;development&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/soa&quot; rel=&quot;tag&quot;&gt;soa&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/cloud+computing&quot; rel=&quot;tag&quot;&gt;cloud computing&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/cloud&quot; rel=&quot;tag&quot;&gt;cloud&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/infrastructure&quot; rel=&quot;tag&quot;&gt;infrastructure&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/virtual+machine&quot; rel=&quot;tag&quot;&gt;virtual machine&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/management&quot; rel=&quot;tag&quot;&gt;management&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/PaaS&quot; rel=&quot;tag&quot;&gt;PaaS&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/google&quot; rel=&quot;tag&quot;&gt;google&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/azure&quot; rel=&quot;tag&quot;&gt;azure&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/microsoft&quot; rel=&quot;tag&quot;&gt;microsoft&lt;/a&gt;&lt;/div&gt;  &lt;p&gt;Related blogs &amp;amp; articles: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href=&quot;http://www.rationalsurvivability.com/blog/?p=1371&quot;&gt;Incomplete Thought: Virtual Machines Are the Problem, Not the Solution…&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/09/18/does-a-dynamic-infrastructure-need-arp-for-applications.aspx&quot;&gt;Does a Dynamic Infrastructure Need ARP for Applications?&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2008/12/01/managing-virtual-infrastructure-requires-an-application-centric-approach.aspx&quot;&gt;Managing Virtual Infrastructure Requires an Application Centric Approach&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2008/10/29/infrastructure-2.0-the-feedback-loop-must-include-applications.aspx&quot;&gt;Infrastructure 2.0: The Feedback Loop Must Include Applications&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2008/08/07/3522.aspx&quot;&gt;Server Virtualization versus Server Virtualization&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/04/09/architects-need-to-better-leverage-virtualization.aspx&quot;&gt;Architects Need to Better Leverage Virtualization&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/10/28/to-take-advantage-of-cloud-computing-you-must-unlearn.aspx&quot;&gt;To Take Advantage of Cloud Computing You Must Unlearn, Luke.&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/10/27/vertical-scalability-cloud-computing-style.aspx&quot;&gt;Vertical Scalability Cloud Computing Style&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;&lt;img src=&quot;http://devcentral.f5.com/weblogs/macvittie/aggbug/6193.aspx&quot; width=&quot;1&quot; height=&quot;1&quot; /&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/f5/XOwx/~4/YnRaWv3t6EA&quot; height=&quot;1&quot; width=&quot;1&quot;/&gt;&lt;p&gt;&lt;a href=&quot;http://lorimacvittie.sys-con.com/node/1179173&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Mon, 09 Nov 2009 06:57:00 EST</pubDate>
 <guid isPermaLink="true">http://lorimacvittie.sys-con.com/node/1179173</guid>
 <comments>http://lorimacvittie.sys-con.com/node/1179173#feedback</comments>
</item>
<item>
 <title>TLS Man-in-the-Middle Attack Disclosed Yesterday Solved Today with Network-Side Scripting</title>
 <link>http://lorimacvittie.sys-con.com/node/1176811</link>
 <description>&lt;p&gt;Yesterday the blogosphere, twittosphere, and other-spheres were abuzz when a new &lt;a href=&quot;http://extendedsubset.com/?p=8&quot;&gt;TLS renegotiation man-in-the-middle attack was disclosed&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/AgilityinActionTLSManintheMiddleAttackDi_A7D1/image_2.png&quot;&gt;&lt;img title=&quot;image&quot; style=&quot;border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; margin: 5px 15px 5px 0px; border-right-width: 0px&quot; height=&quot;295&quot; alt=&quot;image&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/AgilityinActionTLSManintheMiddleAttackDi_A7D1/image_thumb.png&quot; width=&quot;299&quot; align=&quot;left&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Interestingly enough, while we were all still reading about it and figuring out all the nuances, one of our own &lt;a href=&quot;http://devcentral.f5.com&quot;&gt;DevCentral&lt;/a&gt; members was out implementing a solution. &lt;/p&gt;  &lt;p&gt;No, he’s not a vendor with a product to worry about, he’s just a “guy” trying to defend his web site and applications from potential attacks like this one. But he’s a guy with &lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2008/10/31/understanding-network-side-scripting.aspx&quot;&gt;network-side scripting&lt;/a&gt; in his arsenal of web application security tools, and with that and his understanding of the very well-documented vulnerability he crafted a solution. &lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/cwalker/archive/2009/11/06/20-lines-or-less-31-ndash-traffic-shaping-header-re-writing.aspx&quot;&gt;Colin documents the iRule that addresses this vulnerability in his 20LoL post for the week&lt;/a&gt;, and so I won’t repost the code. You can also &lt;a href=&quot;http://devcentral.f5.com/Default.aspx?tabid=53&amp;amp;forumid=5&amp;amp;postid=86456&amp;amp;view=topic&quot;&gt;view the forum thread&lt;/a&gt; [registration required] in which “Lupo” describes and discusses the solution. &lt;/p&gt;  &lt;p&gt;What I love about this solution is not necessarily that it solves a particular vulnerability. That’s awesome, of course, and a great thing but in the coming weeks and months we’ll see a lot of solutions that address this particular vulnerability. What I really love about this solution is &lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/11/06/when-is-more-important-than-where-in-web-application-security.aspx&quot;&gt;the speed with which it was implemented&lt;/a&gt;. The vulnerability was disclosed yesterday and Lupo had a solution &lt;em&gt;today&lt;/em&gt;, which he generously shared with thousands of others who can immediately put into use the same solution. &lt;/p&gt;  &lt;p&gt;A lot of folks talk about agility and how solution X or Y enables organizations to respond rapidly to changing market/business conditions, but rarely do you see as solid an example as this one. From disclosure to solution in one day. That’s agility in action. &lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;http://twitter.com/lmacvittie&quot;&gt;&lt;img height=&quot;18&quot; alt=&quot;Follow me on Twitter&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_twitt-twoo-icon.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a title=&quot;Follow F5 Networks on Twitter&quot; href=&quot;http://tweepml.org/F5-Networks-Tweeple/&quot;&gt;&lt;img height=&quot;18&quot; src=&quot;http://tweepml.org/s/tweepml16.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a title=&quot;Follow F5 DevCentral on Twitter&quot; href=&quot;http://tweepml.org/F5-DevCentral/&quot;&gt;&lt;img height=&quot;18&quot; src=&quot;http://tweepml.org/s/tweepml16.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/Rss.aspx&quot;&gt;&lt;img src=&quot;http://devcentral.f5.com/Portals/0/images/Icons/icon_xml_18.gif&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://www.slideshare.net/lmacvittie&quot;&gt;&lt;img height=&quot;18&quot; alt=&quot;View Lori&#039;s profile on SlideShare&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_slideshare.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://www.linkedin.com/in/lmacvittie&quot;&gt;&lt;img src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_linkedin_16.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://www.friendfeed.com/lmacvittie&quot;&gt;&lt;img style=&quot;border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px&quot; height=&quot;16&quot; alt=&quot;friendfeed&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/friendfeed_3.jpg&quot; width=&quot;16&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/icon_facebook_2.png&quot;&gt;&lt;img style=&quot;border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px&quot; height=&quot;16&quot; alt=&quot;icon_facebook&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/icon_facebook_4.png&quot; width=&quot;16&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a title=&quot;Subscribe using any feed reader!&quot; href=&quot;http://www.addthis.com/feed.php?pub=lmacvittie&amp;amp;h1=http%3A%2F%2Fdevcentral.f5.com%2Fweblogs%2Fmacvittie%2FRss.aspx&amp;amp;t1=&quot;&gt;&lt;img height=&quot;18&quot; alt=&quot;AddThis Feed Button&quot; src=&quot;http://s9.addthis.com/button1-fd.gif&quot; width=&quot;125&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a title=&quot;Bookmark and Share&quot; onclick=&quot;window.open(&#039;http://www.addthis.com/bookmark.php?wt=nw&amp;amp;pub=lmacvittie&amp;amp;url=&#039;+encodeURIComponent(location.href)+&#039;&amp;amp;title=&#039;+encodeURIComponent(document.title), &#039;addthis&#039;, &#039;scrollbars=yes,menubar=no,width=620,height=520,resizable=yes,toolbar=no,location=no,status=no,screenX=200,screenY=100,left=200,top=100&#039;); return false;&quot; href=&quot;http://www.addthis.com/bookmark.php&quot; target=&quot;_blank&quot;&gt;&lt;img height=&quot;18&quot; alt=&quot;Bookmark and Share&quot; src=&quot;http://s9.addthis.com/button1-share.gif&quot; width=&quot;125&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;script type=&quot;text/javascript&quot; src=&quot;http://track.mybloglog.com/js/jsserv.php?mblID=2008070914270355&quot;&gt;&lt;/script&gt;&lt;/p&gt;  &lt;div class=&quot;wlWriterEditableSmartContent&quot; id=&quot;scid:0767317B-992E-4b12-91E0-4F059A8CECA8:80a8c96f-902c-49f3-8f6c-ee4db6296b82&quot; style=&quot;padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px&quot;&gt;Technorati Tags: &lt;a href=&quot;http://technorati.com/tags/MacVittie&quot; rel=&quot;tag&quot;&gt;MacVittie&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/F5&quot; rel=&quot;tag&quot;&gt;F5&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/application+security&quot; rel=&quot;tag&quot;&gt;application security&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/security&quot; rel=&quot;tag&quot;&gt;security&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/TLS&quot; rel=&quot;tag&quot;&gt;TLS&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/SSL&quot; rel=&quot;tag&quot;&gt;SSL&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/man+in+the+middle&quot; rel=&quot;tag&quot;&gt;man in the middle&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/marsh+ray&quot; rel=&quot;tag&quot;&gt;marsh ray&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/vulnerability&quot; rel=&quot;tag&quot;&gt;vulnerability&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/network-side+scripting&quot; rel=&quot;tag&quot;&gt;network-side scripting&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/iRules&quot; rel=&quot;tag&quot;&gt;iRules&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/solution&quot; rel=&quot;tag&quot;&gt;solution&lt;/a&gt;&lt;/div&gt;  &lt;p&gt;Related blogs &amp;amp; articles: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href=&quot;http://extendedsubset.com/?p=8&quot;&gt;Marsh Ray Discussion of TLS MiTM Vulnerability with white papers and descriptions&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/01/05/stop-brute-force-listing-of-http-options-with-network-side-scripting.aspx&quot;&gt;Stop brute force listing of HTTP OPTIONS with network-side scripting&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/01/15/i-am-in-your-http-headers-attacking-your-application.aspx&quot;&gt;I am in your HTTP headers, attacking your application&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/04/23/jedi-mind-tricks-http-request-smuggling.aspx&quot;&gt;Jedi Mind Tricks: HTTP Request Smuggling&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/06/23/clickjacking-protection-using-x-frame-options-available-for-firefox.aspx&quot;&gt;Clickjacking Protection Using X-FRAME-OPTIONS Available for Firefox&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/07/21/i-can-has-ur-.htaccess-file.aspx&quot;&gt;I Can Has UR .htaccess File&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/09/16/ajax-and-network-side-scripting.aspx&quot;&gt;AJAX and Network-Side Scripting&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2008/10/31/understanding-network-side-scripting.aspx&quot;&gt;Understanding network-side scripting&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;&lt;img src=&quot;http://devcentral.f5.com/weblogs/macvittie/aggbug/6191.aspx&quot; width=&quot;1&quot; height=&quot;1&quot; /&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/f5/XOwx/~4/-EAL_IDO-88&quot; height=&quot;1&quot; width=&quot;1&quot;/&gt;&lt;p&gt;&lt;a href=&quot;http://lorimacvittie.sys-con.com/node/1176811&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Fri, 06 Nov 2009 15:30:09 EST</pubDate>
 <guid isPermaLink="true">http://lorimacvittie.sys-con.com/node/1176811</guid>
 <comments>http://lorimacvittie.sys-con.com/node/1176811#feedback</comments>
</item>
<item>
 <title>When Is More Important Than Where in Web Application Security</title>
 <link>http://lorimacvittie.sys-con.com/node/1176810</link>
 <description>&lt;p&gt;&lt;em&gt;While you spend your time arguing over where application security belongs, miscreants are taking advantage of vulnerabilities. By the time you address the problem, they’ve moved on to the next one. &lt;/em&gt;&lt;/p&gt;  &lt;p&gt;Dmitry Evteev @ Positive Technologies Research has &lt;a href=&quot;http://ptresearch.blogspot.com/2009/11/another-fine-method-to-exploit-sql.html&quot;&gt;discovered (yet) another method of exploitation&lt;/a&gt; that allows for the injection of malicious SQL into sites and databases. &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/NewlyDiscoveredSQLiExploitNotaProblemfor_4134/blockquote_2.gif&quot;&gt;&lt;font color=&quot;#800080&quot;&gt;&lt;img title=&quot;blockquote&quot; style=&quot;border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; margin-left: 0px; margin-right: 0px; border-right-width: 0px&quot; height=&quot;28&quot; alt=&quot;blockquote&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/NewlyDiscoveredSQLiExploitNotaProblemfor_4134/blockquote_thumb.gif&quot; width=&quot;46&quot; align=&quot;left&quot; border=&quot;0&quot; /&gt;&lt;/font&gt;&lt;/a&gt;&lt;font color=&quot;#800080&quot;&gt;A method that I discovered today in &lt;/font&gt;&lt;a href=&quot;http://dev.mysql.com/doc/refman/5.1/en/comments.html&quot;&gt;&lt;font color=&quot;#800080&quot;&gt;MySQL documentation&lt;/font&gt;&lt;/a&gt;&lt;font color=&quot;#800080&quot;&gt; struck me with its simplicity and the fact that I haven’t noticed it before. Let me describe this method of bypassing WAF.        &lt;br /&gt;        &lt;br /&gt;MySQL servers allow one to use comments of the following type:         &lt;br /&gt;        &lt;br /&gt;/*!sql-code*/ and /*!12345sql-code*/         &lt;br /&gt;        &lt;br /&gt;As can be noticed, SQL code will be executed from the comment in both cases! The latter construction means that &quot;sql-code&quot; should be executed only if the DBMS version is later than the given value.         &lt;br /&gt;        &lt;br /&gt;As I have been repeatedly asserted [&lt;/font&gt;&lt;a href=&quot;http://devteev.blogspot.com/2009/10/advanced-sql-injection.html&quot;&gt;&lt;font color=&quot;#800080&quot;&gt;1&lt;/font&gt;&lt;/a&gt;&lt;font color=&quot;#800080&quot;&gt;,&lt;/font&gt;&lt;a href=&quot;http://www.slideshare.net/devteev/methods-to-bypass-a-web-application-firewall-eng&quot;&gt;&lt;font color=&quot;#800080&quot;&gt;2&lt;/font&gt;&lt;/a&gt;&lt;font color=&quot;#800080&quot;&gt;], some WAFs skip comments during signature search. Among such WAFs, there is the latest stable assembly of &lt;/font&gt;&lt;a href=&quot;http://www.modsecurity.org/&quot;&gt;&lt;font color=&quot;#800080&quot;&gt;Mod_Security&lt;/font&gt;&lt;/a&gt;&lt;font color=&quot;#800080&quot;&gt; (v. 2.5.9).&lt;/font&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;As is immediately pointed out by several folks in the comments, while this exploit may indeed get past a WAF (and through application defenses, too) for an agile &lt;a href=&quot;http://www.f5.com/products/big-ip/product-modules/application-security-manager.html&quot;&gt;web application firewall&lt;/a&gt; (WAF) this is not really a problem. Even for not-so-agile WAFs this should  not be too much of a problem provided the detection of the &lt;font color=&quot;#008080&quot;&gt;&lt;strong&gt;/*!&lt;/strong&gt;&lt;/font&gt; pattern is flexible enough to adapt in the event that &lt;font color=&quot;#008080&quot;&gt;&lt;strong&gt;/* !&lt;/strong&gt;&lt;/font&gt; and &lt;strong&gt;&lt;font color=&quot;#008080&quot;&gt;/*  !,&lt;/font&gt;&lt;/strong&gt; etc… are also valid exploitable patterns. &lt;/p&gt;  &lt;p /&gt;  &lt;p&gt;In the case of a WAF enabled not just with standard schema (input field) parameter tightening capabilities, i.e. the ability of a WAF to restrict the valid input for any given form field/element/object in a web application, but also enabled with network-side scripting exploits like this can be addressed immediately, before it can be exploited. &lt;/p&gt;  &lt;p /&gt;  &lt;hr style=&quot;color: #c0c0c0&quot; width=&quot;100%&quot; noshade=&quot;noshade&quot; /&gt;&lt;strong&gt;VICTIMS DON’T CARE ABOUT WHERE, THEY CARE ABOUT BEING PROTECTED&lt;/strong&gt;   &lt;hr style=&quot;color: #c0c0c0&quot; width=&quot;100%&quot; noshade=&quot;noshade&quot; /&gt;  &lt;p /&gt;  &lt;p&gt;Now, every time one of these “avoiding the WAF” exploits is discovered or discussed it kindles the flames of the WAF vs APP security war. Why there’s a war in the first place is beyond me as the two techniques are certainly complementary and should be working together toward a common goal: the defense of web applications against exploitation. &lt;/p&gt;  &lt;p&gt;But someone is sure to bring it up, so I’m going to ask a very valid, I think, question: &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;How long would it take for your developers to address this vulnerability in &lt;strong&gt;every&lt;/strong&gt; application? &lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Remember that the time includes not only development, but testing and deployment into production where those vulnerable applications are exposed. Never mind, you don’t need to answer that. A look at the &lt;a href=&quot;http://www.whitehatsec.com/home/resource/stats.html&quot;&gt;Spring 2009 Website Security Statistics Report&lt;/a&gt; from &lt;a href=&quot;http://www.whitehatsec.com&quot;&gt;WhiteHat Security&lt;/a&gt; clearly shows that it’s too long:  &lt;a href=&quot;http://www.whitehatsec.com&quot;&gt;&lt;img title=&quot;image&quot; style=&quot;border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; margin-left: 0px; margin-right: 0px; border-right-width: 0px&quot; height=&quot;321&quot; alt=&quot;image&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/NewlyDiscoveredSQLiExploitNotaProblemfor_4134/image_3.png&quot; width=&quot;539&quot; align=&quot;right&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;blockquote&gt;   &lt;h5&gt;&lt;strong&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/NewlyDiscoveredSQLiExploitNotaProblemfor_4134/blockquote_4.gif&quot;&gt;&lt;img title=&quot;blockquote&quot; style=&quot;border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; margin-left: 0px; margin-right: 0px; border-right-width: 0px&quot; height=&quot;28&quot; alt=&quot;blockquote&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/NewlyDiscoveredSQLiExploitNotaProblemfor_4134/blockquote_thumb_1.gif&quot; width=&quot;46&quot; align=&quot;left&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; Q1 2009 Key Findings&lt;/strong&gt;&lt;/h5&gt;    &lt;ul&gt;     &lt;li&gt;82% of websites have had a HIGH, CRITICAL, or URGENT issue &lt;/li&gt;      &lt;li&gt;63% of websites currently have a HIGH, CRITICAL, or URGENT issue &lt;/li&gt;      &lt;li&gt;60% vulnerability resolution rate among sample with 7,157 (out of 17,888 historical vulnerabilities) unresolved issues remaining as of 3/31/09 &lt;/li&gt;      &lt;li style=&quot;font-weight: bold; background: yellow&quot;&gt;Vulnerability time-to-fix metrics are not changing substantively, typically requiring weeks to months to achieve resolution. &lt;/li&gt;      &lt;li&gt;Average # of HIGH, CRITICAL, or URGENT severity vulnerabilities per website during the vulnerability assessment lifetime: 17 &lt;/li&gt;      &lt;li&gt;Average number of serious unresolved vulnerabilities per website: 7 &lt;/li&gt;      &lt;li&gt;Average number of inputs (attack surface) per website: 227 &lt;/li&gt;      &lt;li&gt;Average ratio of vulnerability count / number of inputs: 2.58% &lt;/li&gt;   &lt;/ul&gt; &lt;/blockquote&gt;  &lt;p /&gt;  &lt;p /&gt;  &lt;p&gt;In the 38 days it takes developers to address a new vulnerability across all web applications those same applications are vulnerable; exposed to the possibility they will be exploited, which puts not only the organization but users, customers, and partners at risk for exploitation, identity theft, and data exposure. Web application firewalls are enabled with flexible, agile methods of filtering, screening, and inspecting requests and data to ensure this very type of exploit cannot reach an application. No, the specific solution is not necessarily coded into the WAF any more than it’s coded into the application as the discovery by Dmitry clearly shows. But the web application firewall can be quickly, within hours if not less, adapted to stop an exploit in its tracks while it’s going to take much longer than that to do the same in every application for which this vulnerability might be applicable. That, too, is clearly indicated by the responses to Dmitry’s post in which several folks point out how easy it is to modify mod_security to recognize and prevent the evasion. &lt;/p&gt;  &lt;p&gt;Are there &lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/09/28/web-application-security-at-the-edge-is-more-efficient-than.aspx&quot;&gt;architectural and performance advantages&lt;/a&gt; – &lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/03/30/would-you-risk-31000-for-milliseconds-of-application-response-time.aspx&quot;&gt;and disadvantages&lt;/a&gt; – to employing a WAF? Of course there are. It’s give and take, like any technological solution. There are pros and cons, risks and benefits that need to be weighed. But when you’re weighing the decision based on where web application security should exist you have to factor in &lt;em&gt;when&lt;/em&gt; it will exist and how that impacts the overall risk of the choice not to employ a WAF and trust only in developer-generated security. &lt;/p&gt;  &lt;p&gt;No one is saying “don’t fix this in the application.” What we’re saying is stop the exploit &lt;strong&gt;now&lt;/strong&gt;, before it’s used against you, while miscreants are taking advantage of the window of opportunity they &lt;em&gt;know &lt;/em&gt;exists when a new exploit is discovered. &lt;em&gt;When &lt;/em&gt;a vulnerability is addressed is probably much more important than &lt;em&gt;where, &lt;/em&gt;and I’m willing to bet that users, customers, and partners don’t care one whit about &lt;em&gt;how&lt;/em&gt; you prevent them from being exploited, they only care that you &lt;em&gt;do. &lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;http://twitter.com/lmacvittie&quot;&gt;&lt;img height=&quot;18&quot; alt=&quot;Follow me on Twitter&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_twitt-twoo-icon.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a title=&quot;Follow F5 Networks on Twitter&quot; href=&quot;http://tweepml.org/F5-Networks-Tweeple/&quot;&gt;&lt;img height=&quot;18&quot; src=&quot;http://tweepml.org/s/tweepml16.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a title=&quot;Follow F5 DevCentral on Twitter&quot; href=&quot;http://tweepml.org/F5-DevCentral/&quot;&gt;&lt;img height=&quot;18&quot; src=&quot;http://tweepml.org/s/tweepml16.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/Rss.aspx&quot;&gt;&lt;img src=&quot;http://devcentral.f5.com/Portals/0/images/Icons/icon_xml_18.gif&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://www.slideshare.net/lmacvittie&quot;&gt;&lt;img height=&quot;18&quot; alt=&quot;View Lori&#039;s profile on SlideShare&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_slideshare.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://www.linkedin.com/in/lmacvittie&quot;&gt;&lt;img src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_linkedin_16.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://www.friendfeed.com/lmacvittie&quot;&gt;&lt;img style=&quot;border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px&quot; height=&quot;16&quot; alt=&quot;friendfeed&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/friendfeed_3.jpg&quot; width=&quot;16&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/icon_facebook_2.png&quot;&gt;&lt;img style=&quot;border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px&quot; height=&quot;16&quot; alt=&quot;icon_facebook&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/icon_facebook_4.png&quot; width=&quot;16&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a title=&quot;Subscribe using any feed reader!&quot; href=&quot;http://www.addthis.com/feed.php?pub=lmacvittie&amp;amp;h1=http%3A%2F%2Fdevcentral.f5.com%2Fweblogs%2Fmacvittie%2FRss.aspx&amp;amp;t1=&quot;&gt;&lt;img height=&quot;18&quot; alt=&quot;AddThis Feed Button&quot; src=&quot;http://s9.addthis.com/button1-fd.gif&quot; width=&quot;125&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a title=&quot;Bookmark and Share&quot; onclick=&quot;window.open(&#039;http://www.addthis.com/bookmark.php?wt=nw&amp;amp;pub=lmacvittie&amp;amp;url=&#039;+encodeURIComponent(location.href)+&#039;&amp;amp;title=&#039;+encodeURIComponent(document.title), &#039;addthis&#039;, &#039;scrollbars=yes,menubar=no,width=620,height=520,resizable=yes,toolbar=no,location=no,status=no,screenX=200,screenY=100,left=200,top=100&#039;); return false;&quot; href=&quot;http://www.addthis.com/bookmark.php&quot; target=&quot;_blank&quot;&gt;&lt;img height=&quot;18&quot; alt=&quot;Bookmark and Share&quot; src=&quot;http://s9.addthis.com/button1-share.gif&quot; width=&quot;125&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;script type=&quot;text/javascript&quot; src=&quot;http://track.mybloglog.com/js/jsserv.php?mblID=2008070914270355&quot;&gt;&lt;/script&gt;&lt;/p&gt;  &lt;div class=&quot;wlWriterEditableSmartContent&quot; id=&quot;scid:0767317B-992E-4b12-91E0-4F059A8CECA8:9cd43e32-c910-422a-a61b-138fcb6ffe56&quot; style=&quot;padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px&quot;&gt;Technorati Tags: &lt;a href=&quot;http://technorati.com/tags/MacVittie&quot; rel=&quot;tag&quot;&gt;MacVittie&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/F5&quot; rel=&quot;tag&quot;&gt;F5&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/application+security&quot; rel=&quot;tag&quot;&gt;application security&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/security&quot; rel=&quot;tag&quot;&gt;security&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/web+application+security&quot; rel=&quot;tag&quot;&gt;web application security&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/web+application+firewall&quot; rel=&quot;tag&quot;&gt;web application firewall&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/waf&quot; rel=&quot;tag&quot;&gt;waf&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/web+2.0&quot; rel=&quot;tag&quot;&gt;web 2.0&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/sql+injection&quot; rel=&quot;tag&quot;&gt;sql injection&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/sqli&quot; rel=&quot;tag&quot;&gt;sqli&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/whitehat+Security&quot; rel=&quot;tag&quot;&gt;whitehat Security&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/sdlc&quot; rel=&quot;tag&quot;&gt;sdlc&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/mod_security&quot; rel=&quot;tag&quot;&gt;mod_security&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/vulnerability&quot; rel=&quot;tag&quot;&gt;vulnerability&lt;/a&gt;&lt;/div&gt;  &lt;p&gt;Related blogs &amp;amp; articles: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/03/30/would-you-risk-31000-for-milliseconds-of-application-response-time.aspx&quot;&gt;Would you risk $31,000 for milliseconds of application response time?&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/09/28/web-application-security-at-the-edge-is-more-efficient-than.aspx&quot;&gt;Web Application Security at the Edge is More Efficient Than In the Application&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/09/01/securing-the-other-side-of-the-cloud.aspx&quot;&gt;Securing the Other Side of the Cloud&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/08/05/cloud-changes-cost-of-attacks.aspx&quot;&gt;Cloud Changes Cost of Attacks&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2008/07/08/3429.aspx&quot;&gt;Layer 4 vs Layer 7 DoS Attack&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/07/14/an-unhackable-server-is-still-vulnerable.aspx&quot;&gt;An Unhackable Server is Still Vulnerable&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/05/21/the-it-security-flowchart.aspx&quot;&gt;The IT Security Flowchart&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/05/11/get-your-saas-off-my-cloud.aspx&quot;&gt;Get your SaaS off my cloud&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2008/10/03/new-tcp-vulnerability-about-trust-not-technology.aspx&quot;&gt;New TCP vulnerability about trust, not technology&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/03/11/4-reasons-we-must-redefine-web-application-security.aspx&quot;&gt;4 Reasons We Must Redefine Web Application Security&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;&lt;img src=&quot;http://devcentral.f5.com/weblogs/macvittie/aggbug/6188.aspx&quot; width=&quot;1&quot; height=&quot;1&quot; /&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/f5/XOwx/~4/Hb1Y9EQ18ZA&quot; height=&quot;1&quot; width=&quot;1&quot;/&gt;&lt;p&gt;&lt;a href=&quot;http://lorimacvittie.sys-con.com/node/1176810&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Fri, 06 Nov 2009 06:43:47 EST</pubDate>
 <guid isPermaLink="true">http://lorimacvittie.sys-con.com/node/1176810</guid>
 <comments>http://lorimacvittie.sys-con.com/node/1176810#feedback</comments>
</item>
<item>
 <title>The API Is the New CLI</title>
 <link>http://lorimacvittie.sys-con.com/node/1173643</link>
 <description>Infrastructure 2.0, from a purely developmental standpoint, is about APIs. It’s about offering up the functionality and capabilities of a wide variety of infrastructure – network, storage, and application network – to be externally controlled, integrated, and leveraged for whatever purpose a developer might dream up. It enables providers and enterprises alike to turn infrastructure functionality into services. Need compression? Caching? Routing? Load balancing? Via service-enabled management APIs these can become services, provisioned and released through the invocation of a service. When expanded to include the sharing of actionable data – performance statistics, status, availability of application services (context!) – this integration becomes the mechanism through which a dynamic infrastructure is created. One that reacts to events and conditions in the network, storage, application network, and application infrastructure in real-time. &lt;p&gt;&lt;a href=&quot;http://lorimacvittie.sys-con.com/node/1173643&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Thu, 05 Nov 2009 11:00:00 EST</pubDate>
 <guid isPermaLink="true">http://lorimacvittie.sys-con.com/node/1173643</guid>
 <comments>http://lorimacvittie.sys-con.com/node/1173643#feedback</comments>
</item>
<item>
 <title>Twitter Account Lockouts Continue to Plague Users</title>
 <link>http://lorimacvittie.sys-con.com/node/1173934</link>
 <description>&lt;p&gt;&lt;em&gt;Brute force attacks by spammers seeking easy access causing frustration for users with no resolution in sight &lt;/em&gt;&lt;/p&gt;  &lt;p&gt;At least once a day I see someone on &lt;a href=&quot;http://www.twitter.com&quot;&gt;Twitter&lt;/a&gt; broadcast that they have been “locked out of their Twitter account, temporarily.” &lt;a href=&quot;http://search.twitter.com/search?q=%22locked+out%22&quot;&gt;A search for “locked out”&lt;/a&gt; returns thousands of tweets with a good mixture of some folks who’ve (amusingly) been locked out of apartments/houses/buildings and many that have been temporarily locked out of Twitter. The more technically savvy tweeters like &lt;a href=&quot;http://twitter.com/rayval&quot;&gt;Ray Valdes&lt;/a&gt; often mention that it is most likely the result of spammers and miscreants attempting to brute force their way into their account, but usually it’s just the beginning of rant against Twitter and how “stupid” it is to lock them out of their web account. Some of those rants are quite, shall we say, colorful and don’t need to be reproduced here. You can use your imagination, I’m sure. &lt;/p&gt;  &lt;hr style=&quot;color: #c0c0c0&quot; width=&quot;100%&quot; noshade=&quot;noshade&quot; /&gt;&lt;strong&gt;WHY ACCOUNT LOCKOUTS WILL CONTINUE TO HAPPEN&lt;/strong&gt;  &lt;hr style=&quot;color: #c0c0c0&quot; width=&quot;100%&quot; noshade=&quot;noshade&quot; /&gt;  &lt;p&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/TwitterAccountLockoutsPlagueUsers_8B60/image_2.png&quot;&gt;&lt;img title=&quot;image&quot; style=&quot;border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; margin: 0px 10px 0px 0px; border-right-width: 0px&quot; height=&quot;62&quot; alt=&quot;image&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/TwitterAccountLockoutsPlagueUsers_8B60/image_thumb.png&quot; width=&quot;479&quot; align=&quot;left&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;Brute force attempts to gain access through users by spammers and other miscreants is a common occurrence in web applications. For Twitter, and really any Web 2.0 application providing API access through which third party applications can connect, the methods of determining what is a brute-force attack &lt;a href=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/TwitterAccountLockoutsPlagueUsers_8B60/image_6.png&quot;&gt;&lt;img title=&quot;image&quot; style=&quot;border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; margin: 0px 10px 0px 0px; border-right-width: 0px&quot; height=&quot;62&quot; alt=&quot;image&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/TwitterAccountLockoutsPlagueUsers_8B60/image_thumb_2.png&quot; width=&quot;479&quot; align=&quot;left&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;and what is simply a user who has (1) forgotten their password or (2) forgotten to change all passwords in all applications that access the application is exceedingly difficult. &lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/TwitterAccountLockoutsPlagueUsers_8B60/image_4.png&quot;&gt;&lt;img title=&quot;image&quot; style=&quot;border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; margin: 0px 10px 0px 0px; border-right-width: 0px&quot; height=&quot;68&quot; alt=&quot;image&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/TwitterAccountLockoutsPlagueUsers_8B60/image_thumb_1.png&quot; width=&quot;480&quot; align=&quot;left&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Locking users out of their accounts when they are the victim of a brute force attack is a common security practice, designed to prevent compromise and, in many cases, it’s the &lt;em&gt;only &lt;/em&gt;option to prevent continued attempts through such persistent attacks. The problem is that the application can’t take into account the &lt;a href=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/TwitterAccountLockoutsPlagueUsers_8B60/image_8.png&quot;&gt;&lt;img title=&quot;image&quot; style=&quot;border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; margin: 0px 10px 0px 0px; border-right-width: 0px&quot; height=&quot;60&quot; alt=&quot;image&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/TwitterAccountLockoutsPlagueUsers_8B60/image_thumb_3.png&quot; width=&quot;480&quot; align=&quot;left&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;subtle indicators that differentiate between a brute force attack and a user who’s simply forgotten to update one password or another, or forgotten their password entirely. &lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/TwitterAccountLockoutsPlagueUsers_8B60/image_10.png&quot;&gt;&lt;img title=&quot;image&quot; style=&quot;border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; margin: 0px 10px 0px 0px; border-right-width: 0px&quot; height=&quot;60&quot; alt=&quot;image&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/TwitterAccountLockoutsPlagueUsers_8B60/image_thumb_4.png&quot; width=&quot;480&quot; align=&quot;left&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;That’s because brute force attacks attempting to compromise an account are an &lt;em&gt;application layer attack&lt;/em&gt; and there’s no good way for Twitter – or any other application – to recognize them. What indicators there are that a brute force attack is occurring require the ability to evaluate individual requests in the &lt;em&gt;context&lt;/em&gt; of all &lt;a href=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/TwitterAccountLockoutsPlagueUsers_8B60/image_12.png&quot;&gt;&lt;img title=&quot;image&quot; style=&quot;border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; margin: 0px 10px 0px 0px; border-right-width: 0px&quot; height=&quot;62&quot; alt=&quot;image&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/TwitterAccountLockoutsPlagueUsers_8B60/image_thumb_5.png&quot; width=&quot;479&quot; align=&quot;left&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;requests. For example, a suddenly high volume of requests for “login.html” or URIs/API calls associated with the authentication process coupled with increasing load on servers is a good indicator that &lt;em&gt;something &lt;/em&gt;is going on and that “something” is probably not good. &lt;/p&gt;  &lt;p&gt;The application, Twitter in this case, when processing the “login” request, does not know that the same request has been attempted X times in the last second and is probably the victim of a brute force attempt. The application can’t know that there are three other servers running at 90% of their CPU capacity all trying to process “login” requests. It just knows about this &lt;em&gt;single &lt;/em&gt;request and it evaluates it in that very limited context. A flag in the user account somewhere keeps track of failed login attempts and when it that counter hits X, the account is locked out. Period. &lt;/p&gt;  &lt;p&gt;Locking users out after X attempts frustrates the user but does nothing to prevent subsequent attempts. The user will eventually regain access, change their password, and eventually a spammer/miscreant will try again. Nor does preventing access to one account stop the attacker from simply moving to the next one and trying again. This is one of the - albeit few - instances in which a &lt;a href=&quot;http://www.f5.com/products/big-ip/product-modules/application-security-manager.html&quot;&gt;web application firewall&lt;/a&gt; (WAF) is  capable of providing security that an application simply can’t. &lt;/p&gt;  &lt;hr style=&quot;color: #c0c0c0&quot; width=&quot;100%&quot; noshade=&quot;noshade&quot; /&gt;&lt;strong&gt;A BETTER SOLUTION &lt;/strong&gt;  &lt;hr style=&quot;color: #c0c0c0&quot; width=&quot;100%&quot; noshade=&quot;noshade&quot; /&gt;  &lt;p&gt;A web application firewall has access to what applications don’t: the big picture. It has the proper &lt;em&gt;context&lt;/em&gt; in which to recognize and prevent brute force password attacks. A WAF can see the pattern of connections and requests across the entire application and can use historical request patterns to recognize when it is likely a brute force password attack is occurring. Using various mitigation techniques including limiting the maximum number of failed login attempts on a per browser-session and IP address level along with recognizing an abnormally high rate of failed login attempts, a WAF can trigger preventive mechanisms that protect an application against these types of attacks. &lt;/p&gt;  &lt;p&gt;Brute force attacks, which can generate up to a million requests per second, can also put considerable strain on the application and its supporting infrastructure. This can lead to a degradation of performance and &lt;a href=&quot;http://www.f5.com/solutions/availability/&quot;&gt;availability&lt;/a&gt; for &lt;em&gt;all &lt;/em&gt;users, not just those under attack. Using a WAF to mitigate attacks and regulate requests relieves the application and its infrastructure of that burden and thus preserves availability and performance for &lt;em&gt;all&lt;/em&gt; users. &lt;/p&gt;  &lt;p&gt;Employing an intelligent solution capable of interpreting failed login attempts in a broader context leads to the recognition and prevention of brute force password attacks. An application simply does not have the historical context nor a view of the big picture required to prevent these attacks; it can’t, for example, recognize the latency between requests. The latency between login attempts of a real user versus that of a brute force script is very different. The only solution for the application is to lock users out of their accounts quickly or risk compromise. Even if we &lt;a href=&quot;http://lukenotricks.blogspot.com/2009/05/rethinking-thresholds-for-account.html&quot;&gt;rethink thresholds for account lockouts&lt;/a&gt; and increase the allowed number of attempts the result will almost certainly be the same: the user is locked out. This does nothing to address the strain on the infrastructure, degrading performance of the application, and the frustration users experience when locked out of their accounts. &lt;/p&gt;  &lt;p&gt;One thing Twitter can do &lt;strong&gt;now&lt;/strong&gt; is to make users aware of &lt;em&gt;why &lt;/em&gt;they were locked out and perhaps provide an additional message tacked onto the “too many failed login attempts” that explains the situation better. An explanation that Twitter is well aware that the user may not be the one responsible and that the account was locked to protect the user from compromise might go a long way toward relieving some of the angst users – especially the less technologically savvy ones – experience when they don’t understand &lt;em&gt;why&lt;/em&gt; something is happening. &lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;http://twitter.com/lmacvittie&quot;&gt;&lt;img height=&quot;18&quot; alt=&quot;Follow me on Twitter&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_twitt-twoo-icon.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a title=&quot;Follow F5 Networks on Twitter&quot; href=&quot;http://tweepml.org/F5-Networks-Tweeple/&quot;&gt;&lt;img height=&quot;18&quot; src=&quot;http://tweepml.org/s/tweepml16.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a title=&quot;Follow F5 DevCentral on Twitter&quot; href=&quot;http://tweepml.org/F5-DevCentral/&quot;&gt;&lt;img height=&quot;18&quot; src=&quot;http://tweepml.org/s/tweepml16.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/Rss.aspx&quot;&gt;&lt;img src=&quot;http://devcentral.f5.com/Portals/0/images/Icons/icon_xml_18.gif&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://www.slideshare.net/lmacvittie&quot;&gt;&lt;img height=&quot;18&quot; alt=&quot;View Lori&#039;s profile on SlideShare&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_slideshare.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://www.linkedin.com/in/lmacvittie&quot;&gt;&lt;img src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_linkedin_16.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://www.friendfeed.com/lmacvittie&quot;&gt;&lt;img style=&quot;border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px&quot; height=&quot;16&quot; alt=&quot;friendfeed&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/friendfeed_3.jpg&quot; width=&quot;16&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/icon_facebook_2.png&quot;&gt;&lt;img style=&quot;border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px&quot; height=&quot;16&quot; alt=&quot;icon_facebook&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/icon_facebook_4.png&quot; width=&quot;16&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a title=&quot;Subscribe using any feed reader!&quot; href=&quot;http://www.addthis.com/feed.php?pub=lmacvittie&amp;amp;h1=http%3A%2F%2Fdevcentral.f5.com%2Fweblogs%2Fmacvittie%2FRss.aspx&amp;amp;t1=&quot;&gt;&lt;img height=&quot;18&quot; alt=&quot;AddThis Feed Button&quot; src=&quot;http://s9.addthis.com/button1-fd.gif&quot; width=&quot;125&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a title=&quot;Bookmark and Share&quot; onclick=&quot;window.open(&#039;http://www.addthis.com/bookmark.php?wt=nw&amp;amp;pub=lmacvittie&amp;amp;url=&#039;+encodeURIComponent(location.href)+&#039;&amp;amp;title=&#039;+encodeURIComponent(document.title), &#039;addthis&#039;, &#039;scrollbars=yes,menubar=no,width=620,height=520,resizable=yes,toolbar=no,location=no,status=no,screenX=200,screenY=100,left=200,top=100&#039;); return false;&quot; href=&quot;http://www.addthis.com/bookmark.php&quot; target=&quot;_blank&quot;&gt;&lt;img height=&quot;18&quot; alt=&quot;Bookmark and Share&quot; src=&quot;http://s9.addthis.com/button1-share.gif&quot; width=&quot;125&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;script type=&quot;text/javascript&quot; src=&quot;http://track.mybloglog.com/js/jsserv.php?mblID=2008070914270355&quot;&gt;&lt;/script&gt;&lt;/p&gt;  &lt;div class=&quot;wlWriterEditableSmartContent&quot; id=&quot;scid:0767317B-992E-4b12-91E0-4F059A8CECA8:4ae450a4-c13b-4c57-a306-83582ee17f93&quot; style=&quot;padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px&quot;&gt;Technorati Tags: &lt;a href=&quot;http://technorati.com/tags/MacVittie&quot; rel=&quot;tag&quot;&gt;MacVittie&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/F5&quot; rel=&quot;tag&quot;&gt;F5&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/Twitter&quot; rel=&quot;tag&quot;&gt;Twitter&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/account&quot; rel=&quot;tag&quot;&gt;account&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/lock+out&quot; rel=&quot;tag&quot;&gt;lock out&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/brute+force&quot; rel=&quot;tag&quot;&gt;brute force&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/spammers&quot; rel=&quot;tag&quot;&gt;spammers&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/users&quot; rel=&quot;tag&quot;&gt;users&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/attack&quot; rel=&quot;tag&quot;&gt;attack&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/web+application+security&quot; rel=&quot;tag&quot;&gt;web application security&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/security&quot; rel=&quot;tag&quot;&gt;security&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/application+security&quot; rel=&quot;tag&quot;&gt;application security&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/Web+2.0&quot; rel=&quot;tag&quot;&gt;Web 2.0&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/web+application+firewall&quot; rel=&quot;tag&quot;&gt;web application firewall&lt;/a&gt;&lt;/div&gt;  &lt;p&gt;Related blogs &amp;amp; articles: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href=&quot;http://larko.wordpress.com/2009/07/28/out-of-twitter/&quot;&gt;Out of Twitter&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://lukenotricks.blogspot.com/2009/05/rethinking-thresholds-for-account.html&quot;&gt;Rethinking Thresholds for Account Lockouts&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://www.jaanuskase.com/en/2009/08/twitters_account_lockout_vs_ap.html&quot;&gt;Twitter’s account lockout vs API&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://www.f5.com/pdf/white-papers/intelligent-layer7-protection-wp.pdf&quot;&gt;Intelligent Layer 7 DoS and Brute Force Protection for Web Applications&lt;/a&gt; [PDF] [&lt;a href=&quot;http://search.f5.com/search?q=cache:nu8dmuXFW4gJ:www.f5.com/pdf/white-papers/intelligent-layer7-protection-wp.pdf+brute+force&amp;amp;access=p&amp;amp;output=xml_no_dtd&amp;amp;ie=UTF-8&amp;amp;client=default_frontend&amp;amp;proxystylesheet=default_frontend&amp;amp;oe=UTF-8&quot;&gt;TEXT VERSION&lt;/a&gt;] &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/08/06/taking-down-twitter-as-easy-as-d.n.s.aspx&quot;&gt;Taking Down Twitter as easy as D.N.S.&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2008/07/08/3429.aspx&quot;&gt;Layer 4 vs Layer 7 DoS Attack&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/07/20/rip-and-replace-wonrsquot-solve-twitterrsquos-or-your-security-problems.aspx&quot;&gt;Rip and Replace Won’t Solve Twitter’s (Or Your) Security Problems&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/07/16/twittergate-reveals-e-mail-is-bigger-security-risk-than-twitter.aspx&quot;&gt;Twittergate Reveals E-Mail is Bigger Security Risk than Twitter&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/09/28/web-application-security-at-the-edge-is-more-efficient-than.aspx&quot;&gt;Web Application Security at the Edge is More Efficient Than In the Application&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/07/29/denied.aspx&quot;&gt;Denied!&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;&lt;img src=&quot;http://devcentral.f5.com/weblogs/macvittie/aggbug/6184.aspx&quot; width=&quot;1&quot; height=&quot;1&quot; /&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/f5/XOwx/~4/bPPmY3BW9_A&quot; height=&quot;1&quot; width=&quot;1&quot;/&gt;&lt;p&gt;&lt;a href=&quot;http://lorimacvittie.sys-con.com/node/1173934&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Thu, 05 Nov 2009 06:27:31 EST</pubDate>
 <guid isPermaLink="true">http://lorimacvittie.sys-con.com/node/1173934</guid>
 <comments>http://lorimacvittie.sys-con.com/node/1173934#feedback</comments>
</item>
<item>
 <title>Maybe Ubuntu Enterprise Cloud Makes Cloud Computing Too Easy</title>
 <link>http://lorimacvittie.sys-con.com/node/1171675</link>
 <description>&lt;p&gt;&lt;em&gt;With just a few clicks you, too, can create a cloud computing environment. But if you’re like a lot of organizations, you may not know what to do with it after that. &lt;/em&gt;&lt;/p&gt;  &lt;p&gt;The latest version of Ubuntu Server (9.10) includes the &lt;a href=&quot;http://www.ubuntu.com/cloud&quot;&gt;Ubuntu Enterprise Cloud&lt;/a&gt; (UEC), which is actually powered by &lt;a href=&quot;http://www.eucalyptus.com&quot;&gt;Eucalyptus&lt;/a&gt;. The ability to deploy a “cloud” on any server running Ubuntu is really quite amazing, especially given the compatibility of Eucalyptus with &lt;a href=&quot;http://aws.amazon.com&quot;&gt;Amazon&lt;/a&gt; and the &lt;a href=&quot;https://help.ubuntu.com/community/UEC/BundlingImages&quot;&gt;plethora of application images available&lt;/a&gt; for nearly immediate deployment. It supports both a public and private option, and a hybrid model, and comes replete with management tools designed to make building, deploying, and managing &lt;a href=&quot;http://www.ubuntu.com/cloud/private&quot;&gt;your own personal, private cloud&lt;/a&gt; a breeze. &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/UbuntuServerLetsAnyoneProvisionaCloud_CA17/blockquote_2.gif&quot;&gt;&lt;img title=&quot;blockquote&quot; style=&quot;border-right: 0px; border-top: 0px; display: inline; margin-left: 0px; border-left: 0px; margin-right: 0px; border-bottom: 0px&quot; height=&quot;28&quot; alt=&quot;blockquote&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/UbuntuServerLetsAnyoneProvisionaCloud_CA17/blockquote_thumb.gif&quot; width=&quot;46&quot; align=&quot;left&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;Private clouds offer immediacy and elasticity in your own IT infrastructure. Using Ubuntu Enterprise Cloud, you can experience the benefits of cloud computing behind your firewall. Deploy workloads and have them running immediately. Grow or shrink computing capacity to meet the needs of your application.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Too awesome, right? Well, yes and no. It is, apparently, not an answer to &lt;em&gt;how do I build a cloud &lt;/em&gt;that would-be cloud computing adopters need, but rather &lt;em&gt;how do I use a cloud? &lt;/em&gt;Consider the following query: &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/UbuntuServerLetsAnyoneProvisionaCloud_CA17/blockquote_2.gif&quot;&gt;&lt;img title=&quot;blockquote&quot; style=&quot;border-right: 0px; border-top: 0px; display: inline; margin-left: 0px; border-left: 0px; margin-right: 0px; border-bottom: 0px&quot; height=&quot;28&quot; alt=&quot;blockquote&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/UbuntuServerLetsAnyoneProvisionaCloud_CA17/blockquote_thumb.gif&quot; width=&quot;46&quot; align=&quot;left&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; I noticed while installing the new version of Ubuntu server yesterday that there is a cloud cluster and node option for deployment. I read through the tutorial on how to set up the cloud, but &lt;font color=&quot;#800000&quot;&gt;&lt;strong&gt;how does one use the cloud, private or otherwise&lt;/strong&gt;&lt;/font&gt;?&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;The question comes from a very technically savvy network engineer who, according to a &lt;a href=&quot;http://www.thewhir.com/web-hosting-news/102309_IT_Firms_Skeptical_About_Cloud_PEER_1_Study&quot;&gt;recent survey by web-hosting provider&lt;/a&gt; &lt;a href=&quot;http://www.peer1.com&quot;&gt;Peer 1&lt;/a&gt;, is not alone in asking this question. In the independent study conducted for Peer 1 &lt;strong&gt;39 percent&lt;/strong&gt; of the over 200 IT decision makers surveyed said that their lack of knowledge is preventing them from adopting cloud computing. Security and lack of control also ranked high (24 and 21 percent, respectively) but still fall short of the apparent lack of knowledge regarding cloud computing as an obstacle to adoption.&lt;/p&gt;  &lt;hr style=&quot;color: #c0c0c0&quot; width=&quot;100%&quot; noshade=&quot;noshade&quot; /&gt;&lt;strong&gt;USING “THE CLOUD” &lt;/strong&gt;  &lt;hr style=&quot;color: #c0c0c0&quot; width=&quot;100%&quot; noshade=&quot;noshade&quot; /&gt;  &lt;p&gt;The answer to the question “how does one use the cloud, private or otherwise” turns out to be both simple and complex. Perhaps at this point it would be a good idea to back up and talk generalities and concepts. Knowing what you have, after all, may help in understanding what it is one does with it. &lt;/p&gt;  &lt;p&gt;A cloud computing environment is primarily an architectural framework for automatically managing compute resources in a way that ensures the scalability and reliability of &lt;em&gt;applications&lt;/em&gt;. &lt;a href=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/UbuntuServerLetsAnyoneProvisionaCloud_CA17/image_2.png&quot;&gt;&lt;img title=&quot;image&quot; style=&quot;border-right: 0px; border-top: 0px; display: inline; margin: 5px 10px 5px 0px; border-left: 0px; border-bottom: 0px&quot; height=&quot;272&quot; alt=&quot;image&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/UbuntuServerLetsAnyoneProvisionaCloud_CA17/image_thumb.png&quot; width=&quot;418&quot; align=&quot;left&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;To use cloud computing anything you need to deploy an application into it. Those applications are generally packaged into “images” in a virtual machine format: AMI (Amazon Machine Image), VMWare, Xen, and Microsoft Hyper-V are all options available in general, though EUC appears to have “standardized” on AMI. (We’ll leave &lt;em&gt;that&lt;/em&gt; discussion for another day) &lt;/p&gt;  &lt;p&gt;It is the virtual image that is deployed into the cloud computing environment, and it is the virtual image that is managed by EUC. Inside the image your application(s) is running, and when the compute resources assigned to that image – not the application, but the image – are in danger of being completely consumed UEC (or appropriate cloud computing management framework in public implementations) will automatically start another virtual image containing your application, assuming there are available compute resources in the “cloud cluster”. &lt;/p&gt;  &lt;p&gt;So, a cloud computing environment is comprised of nodes on which images are deployed. Each image runs one (or more, though usually one) application. End users interface with the applications and cloud computing users interface with all the nuts and bolts. It is the management of those nuts and bolts that Ubuntu makes look so easy with Ubuntu Enterprise Cloud (UEC). Mouse click easy, in fact, based on the detailed instructions offered on Ubuntu’s site. So now you’ve got a “cloud” deployed, what do you do with it? &lt;/p&gt;  &lt;p&gt;Once the base framework is in place you deploy images of applications.In the case of &lt;a href=&quot;https://help.ubuntu.com/community/UEC&quot;&gt;UEC you either download, select, or bundle an image of an application and then push it into the cloud via the UEC management interface&lt;/a&gt;. From there, UEC (or any cloud computing environment really) should take care of automatically scaling that application up or down based on compute resource need. Obviously scaling up requires that you have more than one “node” in your “cloud cluster” or that you’re taking advantage of UEC’s integration with &lt;a href=&quot;http://www.amazon.com&quot;&gt;Amazon&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;So one use, the primary use, is to deploy applications and ensure scalability. But you can also use cloud computing environments to deploy images of infrastructure solutions such as virtual appliances that provide &lt;a href=&quot;http://www.f5.com/solutions/security/&quot;&gt;security&lt;/a&gt; or &lt;a href=&quot;http://www.f5.com/glossary/load-balancing.html&quot;&gt;load balancing&lt;/a&gt; or logging or a plethora of enterprise-focused functionality. You could use UEC or any other cloud computing environment for testing, development, design of new architectures; use it to evaluate new application products and implement proofs of concepts in an environment that closely simulates your production environment. &lt;/p&gt;  &lt;p&gt;Cloud computing is ultimately just a new way to deploy and manage applications and their supporting infrastructure that is more efficient than traditional methods without sacrificing performance or reliability.  You use “the cloud” by deploying applications into it, and letting it do the rest. &lt;/p&gt;  &lt;p&gt;At least that’s how easy it’s supposed to be. Whether or not that’s true in practice is a completely different story…&lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;http://twitter.com/lmacvittie&quot;&gt;&lt;img height=&quot;18&quot; alt=&quot;Follow me on Twitter&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_twitt-twoo-icon.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a title=&quot;Follow F5 Networks on Twitter&quot; href=&quot;http://tweepml.org/F5-Networks-Tweeple/&quot;&gt;&lt;img height=&quot;18&quot; src=&quot;http://tweepml.org/s/tweepml16.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a title=&quot;Follow F5 DevCentral on Twitter&quot; href=&quot;http://tweepml.org/F5-DevCentral/&quot;&gt;&lt;img height=&quot;18&quot; src=&quot;http://tweepml.org/s/tweepml16.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/Rss.aspx&quot;&gt;&lt;img src=&quot;http://devcentral.f5.com/Portals/0/images/Icons/icon_xml_18.gif&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://www.slideshare.net/lmacvittie&quot;&gt;&lt;img height=&quot;18&quot; alt=&quot;View Lori&#039;s profile on SlideShare&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_slideshare.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://www.linkedin.com/in/lmacvittie&quot;&gt;&lt;img src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_linkedin_16.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://www.friendfeed.com/lmacvittie&quot;&gt;&lt;img style=&quot;border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px&quot; height=&quot;16&quot; alt=&quot;friendfeed&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/friendfeed_3.jpg&quot; width=&quot;16&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/icon_facebook_2.png&quot;&gt;&lt;img style=&quot;border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px&quot; height=&quot;16&quot; alt=&quot;icon_facebook&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/icon_facebook_4.png&quot; width=&quot;16&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a title=&quot;Subscribe using any feed reader!&quot; href=&quot;http://www.addthis.com/feed.php?pub=lmacvittie&amp;amp;h1=http%3A%2F%2Fdevcentral.f5.com%2Fweblogs%2Fmacvittie%2FRss.aspx&amp;amp;t1=&quot;&gt;&lt;img height=&quot;18&quot; alt=&quot;AddThis Feed Button&quot; src=&quot;http://s9.addthis.com/button1-fd.gif&quot; width=&quot;125&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a title=&quot;Bookmark and Share&quot; onclick=&quot;window.open(&#039;http://www.addthis.com/bookmark.php?wt=nw&amp;amp;pub=lmacvittie&amp;amp;url=&#039;+encodeURIComponent(location.href)+&#039;&amp;amp;title=&#039;+encodeURIComponent(document.title), &#039;addthis&#039;, &#039;scrollbars=yes,menubar=no,width=620,height=520,resizable=yes,toolbar=no,location=no,status=no,screenX=200,screenY=100,left=200,top=100&#039;); return false;&quot; href=&quot;http://www.addthis.com/bookmark.php&quot; target=&quot;_blank&quot;&gt;&lt;img height=&quot;18&quot; alt=&quot;Bookmark and Share&quot; src=&quot;http://s9.addthis.com/button1-share.gif&quot; width=&quot;125&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;script type=&quot;text/javascript&quot; src=&quot;http://track.mybloglog.com/js/jsserv.php?mblID=2008070914270355&quot;&gt;&lt;/script&gt;&lt;/p&gt;  &lt;div class=&quot;wlWriterEditableSmartContent&quot; id=&quot;scid:0767317B-992E-4b12-91E0-4F059A8CECA8:aae51ca0-7e67-4ff2-9060-b3f666a18e2e&quot; style=&quot;padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px&quot;&gt;Technorati Tags: &lt;a href=&quot;http://technorati.com/tags/MacVittie&quot; rel=&quot;tag&quot;&gt;MacVittie&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/F5&quot; rel=&quot;tag&quot;&gt;F5&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/Ubuntu&quot; rel=&quot;tag&quot;&gt;Ubuntu&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/Eucalyptus&quot; rel=&quot;tag&quot;&gt;Eucalyptus&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/cloud+computing&quot; rel=&quot;tag&quot;&gt;cloud computing&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/cloud&quot; rel=&quot;tag&quot;&gt;cloud&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/Amazon&quot; rel=&quot;tag&quot;&gt;Amazon&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/VMware&quot; rel=&quot;tag&quot;&gt;VMware&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/Hyper-V&quot; rel=&quot;tag&quot;&gt;Hyper-V&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/xen&quot; rel=&quot;tag&quot;&gt;xen&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/virtualization&quot; rel=&quot;tag&quot;&gt;virtualization&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/application+delivery&quot; rel=&quot;tag&quot;&gt;application delivery&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/infrastructure&quot; rel=&quot;tag&quot;&gt;infrastructure&lt;/a&gt;&lt;/div&gt;  &lt;p&gt;Related blogs &amp;amp; articles: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href=&quot;http://www.thewhir.com/web-hosting-news/102309_IT_Firms_Skeptical_About_Cloud_PEER_1_Study&quot;&gt;IT Firms Skeptical About Cloud: PEER 1 Study&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://www.datacenterknowledge.com/archives/2009/10/28/the-cloud-has-left-the-building/&quot;&gt;“The Cloud” Has Left The Building&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/10/29/wils-three-ways-to-better-utilize-resources-in-any-data.aspx&quot;&gt;WILS: Three Ways To Better Utilize Resources In Any Data Center&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/10/21/the-cloud-is-not-a-synonym-for-cloud-computing.aspx&quot;&gt;The Cloud Is Not A Synonym For Cloud Computing&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/10/28/to-take-advantage-of-cloud-computing-you-must-unlearn.aspx&quot;&gt;To Take Advantage of Cloud Computing You Must Unlearn, Luke.&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/10/23/study-says-economics-not-a-driving-factor-in-cloud-computing.aspx&quot;&gt;Study Says Economics Not A Driving Factor in Cloud Computing Adoption&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/10/09/the-thing-private-clouds-can-do-that-public-clouds-canrsquot.aspx&quot;&gt;The Thing Private Clouds Can Do that Public Clouds Can’t&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/09/21/cloud-computing-versus-cloud-data-centers.aspx&quot;&gt;Cloud Computing versus Cloud Data Centers&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;&lt;img src=&quot;http://devcentral.f5.com/weblogs/macvittie/aggbug/6177.aspx&quot; width=&quot;1&quot; height=&quot;1&quot; /&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/f5/XOwx/~4/_YjgEoJ-thI&quot; height=&quot;1&quot; width=&quot;1&quot;/&gt;&lt;p&gt;&lt;a href=&quot;http://lorimacvittie.sys-con.com/node/1171675&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Wed, 04 Nov 2009 11:45:00 EST</pubDate>
 <guid isPermaLink="true">http://lorimacvittie.sys-con.com/node/1171675</guid>
 <comments>http://lorimacvittie.sys-con.com/node/1171675#feedback</comments>
</item>
<item>
 <title>Using Network-Side Scripting to Convert Microsoft Smart Quotes to HTML Entities</title>
 <link>http://lorimacvittie.sys-con.com/node/1169288</link>
 <description>Dealing with Microsoft smart quotes is a fact of life for developers. Almost every developer out there has a server-side script/function they use to strip them out of user-generated content and replace them with web-friendly HTML entities instead. But handling smart quotes in application code isn’t always possible or as high a priority as other tasks. If you were looking for a way to address smart quotes once and for all, across multiple applications with one, centralized simple method then a network-side scripting solution may be the answer.&lt;p&gt;&lt;a href=&quot;http://lorimacvittie.sys-con.com/node/1169288&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Mon, 02 Nov 2009 06:03:00 EST</pubDate>
 <guid isPermaLink="true">http://lorimacvittie.sys-con.com/node/1169288</guid>
 <comments>http://lorimacvittie.sys-con.com/node/1169288#feedback</comments>
</item>
<item>
 <title>WILS: Three Ways To Better Utilize Resources In Any Data Center</title>
 <link>http://lorimacvittie.sys-con.com/node/1164030</link>
 <description>&lt;p&gt;Cloud computing is, at its core, about using resources in the most operational and financially efficient manner possible. It’s about spreading resources around and sharing them to achieve greater scalability with fewer investments in hardware and software. But what if you aren’t moving to cloud? Or virtualization? Or perhaps you are, but the benefits won’t be really seen until you actually get enough resources shared across your organization. Isn’t there any other way to better utilize the resources you have &lt;em&gt;now &lt;/em&gt;to improve the bottom line? &lt;/p&gt;  &lt;p&gt;Yes, yes, there is. And the best part is that these methods will increase the efficiency of resource utilization in any architectural model. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/FourWaysToBetterUtilizeResourcesintheDat_87D9/1_2.jpg&quot;&gt;&lt;img title=&quot;1&quot; style=&quot;border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; margin-left: 0px; margin-right: 0px; border-right-width: 0px&quot; height=&quot;133&quot; alt=&quot;1&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/FourWaysToBetterUtilizeResourcesintheDat_87D9/1_thumb.jpg&quot; width=&quot;108&quot; align=&quot;left&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; “Server” offload technologies are applicable to any server – physical or virtual &lt;/strong&gt;The efficiencies gained in server resource utilization and increase in VM densities are not peculiar to a cloud environment. In fact, the offload capabilities of an &lt;a href=&quot;http://www.f5.com/products/big-ip/&quot;&gt;application delivery controller&lt;/a&gt; (SSL, TCP session management, &lt;a href=&quot;http://www.f5.com/solutions/acceleration/&quot;&gt;compression, caching&lt;/a&gt;) can benefit any “server” in any environment. Because the offload capabilities are applied at the transport protocol and application protocol layers, these benefits are universal to web and application servers whether residing in virtual machines or on physical hardware, in the cloud or in a traditional data center. &lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/FourWaysToBetterUtilizeResourcesintheDat_87D9/2_2.jpg&quot;&gt;&lt;img title=&quot;2&quot; style=&quot;border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; margin-left: 0px; margin-right: 0px; border-right-width: 0px&quot; height=&quot;124&quot; alt=&quot;2&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/FourWaysToBetterUtilizeResourcesintheDat_87D9/2_thumb.jpg&quot; width=&quot;105&quot; align=&quot;left&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; Proactive security measures &lt;/strong&gt;Whether it’s stopping common &lt;a href=&quot;http://www.f5.com/solutions/security/&quot;&gt;web application attacks&lt;/a&gt; or SPAM from entering the network, proactive security measures can make more efficient use of resources available by preventing them from spending time on “bad” or “illegitimate” traffic. Stopping attacks and SPAM and other malicious content at the perimeter of the data center prevents resources on the network, on the servers, and in the storage systems from being used to transport, process, and store what is nothing more than garbage. This improves the efficiency of the entire infrastructure and does not require a cloud model to achieve. &lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/FourWaysToBetterUtilizeResourcesintheDat_87D9/3_2.jpg&quot;&gt;&lt;img title=&quot;3&quot; style=&quot;border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; margin-left: 0px; margin-right: 0px; border-right-width: 0px&quot; height=&quot;122&quot; alt=&quot;3&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/FourWaysToBetterUtilizeResourcesintheDat_87D9/3_thumb.jpg&quot; width=&quot;105&quot; align=&quot;left&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; Automated Storage Tiering &lt;/strong&gt;&lt;a href=&quot;http://www.f5.com/solutions/storage/&quot;&gt;Automated storage tiering&lt;/a&gt; can automatically move less frequently accessed files to less expensive storage arrays while moving more frequently accessed files to faster, more expensive storage. Automating such processes mean administrators need not manually determine which file goes where, or optimize storage based on performance and cost by pulling out a slide ruler and calculating costs per megabyte. The system automatically determines how to best utilize the storage based on cost and performance and acts on behalf of the storage administrator, like a digital storage maid service that never needs to be reminded to sweep the floor.     &lt;br /&gt;&lt;/p&gt;  &lt;p style=&quot;text-transform: uppercase&quot;&gt;&lt;font size=&quot;1&quot;&gt;&lt;strong&gt;WILS&lt;/strong&gt;: &lt;em&gt;Write It Like Seth&lt;/em&gt;. &lt;a href=&quot;http://sethgodin.typepad.com/&quot;&gt;Seth Godin&lt;/a&gt; always gets his point across with brevity and wit. WILS is an ATTEMPT TO BE concise about application delivery TOPICS AND just get straight to the point. NO DILLY DALLYING AROUND. &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;http://twitter.com/lmacvittie&quot;&gt;&lt;img height=&quot;18&quot; alt=&quot;Follow me on Twitter&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_twitt-twoo-icon.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a title=&quot;Follow F5 Networks on Twitter&quot; href=&quot;http://tweepml.org/F5-Networks-Tweeple/&quot;&gt;&lt;img height=&quot;18&quot; src=&quot;http://tweepml.org/s/tweepml16.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a title=&quot;Follow F5 DevCentral on Twitter&quot; href=&quot;http://tweepml.org/F5-DevCentral/&quot;&gt;&lt;img height=&quot;18&quot; src=&quot;http://tweepml.org/s/tweepml16.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/Rss.aspx&quot;&gt;&lt;img src=&quot;http://devcentral.f5.com/Portals/0/images/Icons/icon_xml_18.gif&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://www.slideshare.net/lmacvittie&quot;&gt;&lt;img height=&quot;18&quot; alt=&quot;View Lori&#039;s profile on SlideShare&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_slideshare.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://www.linkedin.com/in/lmacvittie&quot;&gt;&lt;img src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_linkedin_16.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://www.friendfeed.com/lmacvittie&quot;&gt;&lt;img style=&quot;border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px&quot; height=&quot;16&quot; alt=&quot;friendfeed&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/friendfeed_3.jpg&quot; width=&quot;16&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/icon_facebook_2.png&quot;&gt;&lt;img style=&quot;border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px&quot; height=&quot;16&quot; alt=&quot;icon_facebook&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/icon_facebook_4.png&quot; width=&quot;16&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a title=&quot;Subscribe using any feed reader!&quot; href=&quot;http://www.addthis.com/feed.php?pub=lmacvittie&amp;amp;h1=http%3A%2F%2Fdevcentral.f5.com%2Fweblogs%2Fmacvittie%2FRss.aspx&amp;amp;t1=&quot;&gt;&lt;img height=&quot;18&quot; alt=&quot;AddThis Feed Button&quot; src=&quot;http://s9.addthis.com/button1-fd.gif&quot; width=&quot;125&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a title=&quot;Bookmark and Share&quot; onclick=&quot;window.open(&#039;http://www.addthis.com/bookmark.php?wt=nw&amp;amp;pub=lmacvittie&amp;amp;url=&#039;+encodeURIComponent(location.href)+&#039;&amp;amp;title=&#039;+encodeURIComponent(document.title), &#039;addthis&#039;, &#039;scrollbars=yes,menubar=no,width=620,height=520,resizable=yes,toolbar=no,location=no,status=no,screenX=200,screenY=100,left=200,top=100&#039;); return false;&quot; href=&quot;http://www.addthis.com/bookmark.php&quot; target=&quot;_blank&quot;&gt;&lt;img height=&quot;18&quot; alt=&quot;Bookmark and Share&quot; src=&quot;http://s9.addthis.com/button1-share.gif&quot; width=&quot;125&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;script type=&quot;text/javascript&quot; src=&quot;http://track.mybloglog.com/js/jsserv.php?mblID=2008070914270355&quot;&gt;&lt;/script&gt;&lt;/p&gt;  &lt;div class=&quot;wlWriterEditableSmartContent&quot; id=&quot;scid:0767317B-992E-4b12-91E0-4F059A8CECA8:6e2cee40-e73a-46f0-adb9-d5e5d7a3864b&quot; style=&quot;padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px&quot;&gt;Technorati Tags: &lt;a href=&quot;http://technorati.com/tags/MacVittie&quot; rel=&quot;tag&quot;&gt;MacVittie&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/F5&quot; rel=&quot;tag&quot;&gt;F5&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/cloud+computing&quot; rel=&quot;tag&quot;&gt;cloud computing&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/virtualization&quot; rel=&quot;tag&quot;&gt;virtualization&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/file+virtualization&quot; rel=&quot;tag&quot;&gt;file virtualization&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/storage+virtualization&quot; rel=&quot;tag&quot;&gt;storage virtualization&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/storage+tiering&quot; rel=&quot;tag&quot;&gt;storage tiering&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/web+application+security&quot; rel=&quot;tag&quot;&gt;web application security&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/application+delivery&quot; rel=&quot;tag&quot;&gt;application delivery&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/efficiency&quot; rel=&quot;tag&quot;&gt;efficiency&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/WILS&quot; rel=&quot;tag&quot;&gt;WILS&lt;/a&gt;&lt;/div&gt;  &lt;p&gt;&lt;strong /&gt;&lt;/p&gt;  &lt;p&gt;Related blogs &amp;amp; articles:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/category/4335.aspx&quot;&gt;All WILS Topics on DevCentral&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://www.thewhir.com/web-hosting-news/100609_Outage_Hits_Amazon_Cloud_Customer_Hard&quot;&gt;DDoS Attack Hits Amazon Cloud Customer Hard&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://www.informationweek.com/blog/main/archives/2009/10/file_virtualiza.html;jsessionid=CLGT2IU200PEZQE1GHPSKHWATMY32JVN&quot;&gt;File Virtualization, The Ultimate Cloud Gateway?&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/10/07/disk-may-be-cheap-but-storage-is-not.aspx&quot;&gt;Disk May Be Cheap but Storage is Not&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/10/07/long-lived-ajax.aspx&quot;&gt;Long Live(d) AJAX&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/09/28/web-application-security-at-the-edge-is-more-efficient-than.aspx&quot;&gt;Web Application Security at the Edge is More Efficient Than In the Application&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/09/22/load-balancing-on-the-inside.aspx&quot;&gt;Load Balancing on the Inside&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/09/11/it-myths-legends-sharing-virtual-resources.aspx&quot;&gt;IT Myths and Legends: Sharing Servers&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/08/24/virtual-machine-density-as-the-new-measure-of-it-efficiency.aspx&quot;&gt;Virtual Machine Density as the New Measure of IT Efficiency&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/dmacvittie/Tags/File%20Virtualization/default.aspx&quot;&gt;Reasons You Need File Virtualization&lt;/a&gt;  &lt;/li&gt; &lt;/ul&gt;&lt;img src=&quot;http://devcentral.f5.com/weblogs/macvittie/aggbug/6169.aspx&quot; width=&quot;1&quot; height=&quot;1&quot; /&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/f5/XOwx/~4/fO2fNvtubiA&quot; height=&quot;1&quot; width=&quot;1&quot;/&gt;&lt;p&gt;&lt;a href=&quot;http://lorimacvittie.sys-con.com/node/1164030&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Thu, 29 Oct 2009 10:30:00 EDT</pubDate>
 <guid isPermaLink="true">http://lorimacvittie.sys-con.com/node/1164030</guid>
 <comments>http://lorimacvittie.sys-con.com/node/1164030#feedback</comments>
</item>
<item>
 <title>Study Says Economics Not A Driving Factor in Cloud Computing Adoption</title>
 <link>http://lorimacvittie.sys-con.com/node/1157182</link>
 <description>&lt;p&gt;&lt;a href=&quot;http://twitter.com/PaulMiller&quot;&gt;Paul Miller&lt;/a&gt;, who pens &lt;a href=&quot;http://cloudofdata.com/&quot;&gt;Cloud of Data&lt;/a&gt;, had an interesting perspective during a chat this week on what effect infrastructure upgrade cycles might have on cloud computing adoption. Paul postulated that as &lt;a href=&quot;http://www.infoworld.com/d/networking/budget-cuts-could-increase-server-failures-502?source=IFWNLE_nlt_networking_2009-10-20&quot;&gt;these servers fail&lt;/a&gt; and organizations have to make the decision to replace or not replace them that cloud computing becomes a more viable option. That seems a reasonable assumption, especially if the primary reason organizations are evaluating cloud computing is driven by a desire to reduce costs. But in a recent post Paul posits this might not be the case, citing a &lt;a href=&quot;http://cloudofdata.com/2009/10/avanade-finds-growing-enterprise-enthusiasm-for-the-cloud/&quot;&gt;recent ongoing study from Avanade&lt;/a&gt; in which C-level executives were asked, among other questions, how the economic climate effected their decisions regarding cloud. Interestingly “only 13% suggesting it had ‘helped’ adoption plans and 58% reporting ‘no effect.’” &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/MoneyIsApparentlyNotEverything_29E2/blockquote_2.gif&quot;&gt;&lt;img title=&quot;blockquote&quot; style=&quot;border-right: 0px; border-top: 0px; display: inline; margin-left: 0px; border-left: 0px; margin-right: 0px; border-bottom: 0px&quot; height=&quot;28&quot; alt=&quot;blockquote&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/MoneyIsApparentlyNotEverything_29E2/blockquote_thumb.gif&quot; width=&quot;46&quot; align=&quot;left&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; In &lt;a href=&quot;http://cloudofdata.com/2009/02/my-podcast-conversation-with-about-cloud-computing-with-nick-carr/&quot;&gt;my conversations with Nick Carr&lt;/a&gt; and &lt;a href=&quot;http://cloudofdata.com/category/podcast/&quot;&gt;others&lt;/a&gt;, there’s been an underlying presumption (on my part, as well as theirs) that cost-saving arguments with respect to Cloud Computing would prove persuasive and compelling. It would appear not. This would suggest, of course, that Enterprise adopters are taking to the Cloud for reasons other than the budget sheet…&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;I’ll come back to this, as I’m not convinced there is a direct correlation between external economics and internal budgets, at least in this case. But let’s go with that for a moment. Assuming there &lt;em&gt;are&lt;/em&gt; budgetary constraints on organizations what else would drive adopters to cloud computing and where are they getting the money? &lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;http://www.f5.com/news-press-events/press/2009/20090824a.html&quot;&gt;Our own research on this subject&lt;/a&gt; found that efficiency, not reduction of costs, was the primary driver for public cloud computing adoption &lt;a href=&quot;http://www.f5.com/news-press-events/press/2009/20090824a.html&quot;&gt;&lt;img title=&quot;image&quot; style=&quot;border-right: 0px; border-top: 0px; display: inline; margin: 10px 10px 0px 0px; border-left: 0px; border-bottom: 0px&quot; height=&quot;264&quot; alt=&quot;image&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/MoneyIsApparentlyNotEverything_29E2/image_5.png&quot; width=&quot;496&quot; align=&quot;left&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;and that despite budgetary constraints 71% &lt;a href=&quot;http://www.f5.com/news-press-events/press/2009/20090824a.html&quot;&gt;&lt;/a&gt;of organizations would see an &lt;em&gt;increase &lt;/em&gt;in fund allocation for the purposes of public and private cloud computing initiatives. But a reduction in capital expenses still ranked high with 68% of respondents citing a reduction in capital expenses as a driver toward public cloud computing and 63% citing the same as a driver for private cloud computing. &lt;/p&gt;  &lt;p&gt;   &lt;/p&gt;&lt;hr style=&quot;color: #c0c0c0&quot; width=&quot;100%&quot; noshade=&quot;noshade&quot; /&gt;&lt;strong&gt;ISN’T THAT CONTRADICTORY? &lt;/strong&gt;    &lt;hr style=&quot;color: #c0c0c0&quot; width=&quot;100%&quot; noshade=&quot;noshade&quot; /&gt;  &lt;p&gt;It seems so, doesn’t it? If organizations are interested in cloud computing as a means to &lt;em&gt;reduce capital expenses&lt;/em&gt; then why would we be seeing an increase in spending on cloud computing initiatives, especially private cloud computing which almost certainly requires capital expenditures to achieve? After all, there’s virtualization software, improvements in infrastructure, and management systems that need to be in place for the successful implementation of a private cloud computing environment. &lt;/p&gt;  &lt;p&gt;Perhaps the budget increases are coming at the expense of other areas in IT. Let us consider the &lt;a href=&quot;http://www.infoworld.com/d/networking/budget-cuts-could-increase-server-failures-502?source=IFWNLE_nlt_networking_2009-10-20&quot;&gt;aforementioned study on server failure&lt;/a&gt;: &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/MoneyIsApparentlyNotEverything_29E2/blockquote_4.gif&quot;&gt;&lt;img title=&quot;blockquote&quot; style=&quot;border-right: 0px; border-top: 0px; display: inline; margin-left: 0px; border-left: 0px; margin-right: 0px; border-bottom: 0px&quot; height=&quot;28&quot; alt=&quot;blockquote&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/MoneyIsApparentlyNotEverything_29E2/blockquote_thumb_1.gif&quot; width=&quot;46&quot; align=&quot;left&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;em&gt;In round numbers, the scheduled replacement of some three million servers worldwide, or about 3 percent of all servers, has been delayed, Peter Sondergaard, Gartner&#039;s global head of research, said today at the research firm&#039;s Symposium/ITxpo 2009 conference here. He added that the number of delayed replacements should reach 10 percent of all servers by 2010.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Certainly one way to reduce capital expenses is to not purchase new servers. But the servers that will begin to fail certainly have applications deployed on them that are if not critical at least important to the business, otherwise they would not have hardware dedicated to them. So where are those applications going? Virtual machines, most likely. &lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/08/24/virtual-machine-density-as-the-new-measure-of-it-efficiency.aspx&quot;&gt;Consolidated onto newer, more reliable hardware capable of supporting many applications contained within virtual machines&lt;/a&gt;. Virtualization is a primary enabler of consolidation efforts, which in turn reflects in IT budgets as reductions in capital expenditures. &lt;/p&gt;  &lt;p&gt;Shifting the budget that would normally be allocated to acquire new hardware to virtualization and cloud computing initiatives, both public and private, would certainly explain an increase in funds available for cloud computing. This would also explain why external economic factors do not appear to be, according to Avanade’s study, a driving factor in cloud computing adoption. &lt;/p&gt;  &lt;hr style=&quot;color: #c0c0c0&quot; width=&quot;100%&quot; noshade=&quot;noshade&quot; /&gt;&lt;strong&gt;COSTS STILL A FACTOR&lt;/strong&gt;  &lt;hr style=&quot;color: #c0c0c0&quot; width=&quot;100%&quot; noshade=&quot;noshade&quot; /&gt;  &lt;p&gt;It’s still important to remember that Avanade’s study doesn’t indicate that reducing costs &lt;em&gt;isn’t &lt;/em&gt;a driver for cloud computing, it just says that external economics aren’t really playing a role in decision-making at this time. In fact within the study is this little nugget indicating cost savings are, in fact, an important factor in cloud computing adoption: &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/MoneyIsApparentlyNotEverything_29E2/blockquote_6.gif&quot;&gt;&lt;img title=&quot;blockquote&quot; style=&quot;border-right: 0px; border-top: 0px; display: inline; margin-left: 0px; border-left: 0px; margin-right: 0px; border-bottom: 0px&quot; height=&quot;28&quot; alt=&quot;blockquote&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/MoneyIsApparentlyNotEverything_29E2/blockquote_thumb_2.gif&quot; width=&quot;46&quot; align=&quot;left&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; Companies are &lt;font color=&quot;#ff0000&quot;&gt;under equal pressure to innovate and &lt;strong&gt;save money&lt;/strong&gt;&lt;/font&gt; and, many are turning to new technology as a way to do this. The vast majority of respondents (85 percent) report that their company’s rate of new technology adoption is either increasing or staying the same (83 percent in the United States).&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;But if we assume that organizations are shifting allocation of funds rather than asking for bigger budgets, then it is possible that economic constraints have little effect on adoption of cloud computing. If cloud computing initiatives required funding &lt;em&gt;without&lt;/em&gt; reducing other existing budgets then it would be more likely that adoption rates would be slower than what is shown in both &lt;a href=&quot;http://www.avanade.com&quot;&gt;Avanade&lt;/a&gt; and &lt;a href=&quot;http://www.f5.com&quot;&gt;F5&lt;/a&gt; research and more folks in the Avanade research might have indicated that economics were in fact impacting their adoption plans. &lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;http://twitter.com/lmacvittie&quot;&gt;&lt;img height=&quot;18&quot; alt=&quot;Follow me on Twitter&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_twitt-twoo-icon.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a title=&quot;Follow F5 Networks on Twitter&quot; href=&quot;http://tweepml.org/F5-Networks-Tweeple/&quot;&gt;&lt;img height=&quot;18&quot; src=&quot;http://tweepml.org/s/tweepml16.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a title=&quot;Follow F5 DevCentral on Twitter&quot; href=&quot;http://tweepml.org/F5-DevCentral/&quot;&gt;&lt;img height=&quot;18&quot; src=&quot;http://tweepml.org/s/tweepml16.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/Rss.aspx&quot;&gt;&lt;img src=&quot;http://devcentral.f5.com/Portals/0/images/Icons/icon_xml_18.gif&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://www.slideshare.net/lmacvittie&quot;&gt;&lt;img height=&quot;18&quot; alt=&quot;View Lori&#039;s profile on SlideShare&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_slideshare.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://www.linkedin.com/in/lmacvittie&quot;&gt;&lt;img src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_linkedin_16.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://www.friendfeed.com/lmacvittie&quot;&gt;&lt;img style=&quot;border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px&quot; height=&quot;16&quot; alt=&quot;friendfeed&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/friendfeed_3.jpg&quot; width=&quot;16&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/icon_facebook_2.png&quot;&gt;&lt;img style=&quot;border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px&quot; height=&quot;16&quot; alt=&quot;icon_facebook&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/icon_facebook_4.png&quot; width=&quot;16&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a title=&quot;Subscribe using any feed reader!&quot; href=&quot;http://www.addthis.com/feed.php?pub=lmacvittie&amp;amp;h1=http%3A%2F%2Fdevcentral.f5.com%2Fweblogs%2Fmacvittie%2FRss.aspx&amp;amp;t1=&quot;&gt;&lt;img height=&quot;18&quot; alt=&quot;AddThis Feed Button&quot; src=&quot;http://s9.addthis.com/button1-fd.gif&quot; width=&quot;125&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a title=&quot;Bookmark and Share&quot; onclick=&quot;window.open(&#039;http://www.addthis.com/bookmark.php?wt=nw&amp;amp;pub=lmacvittie&amp;amp;url=&#039;+encodeURIComponent(location.href)+&#039;&amp;amp;title=&#039;+encodeURIComponent(document.title), &#039;addthis&#039;, &#039;scrollbars=yes,menubar=no,width=620,height=520,resizable=yes,toolbar=no,location=no,status=no,screenX=200,screenY=100,left=200,top=100&#039;); return false;&quot; href=&quot;http://www.addthis.com/bookmark.php&quot; target=&quot;_blank&quot;&gt;&lt;img height=&quot;18&quot; alt=&quot;Bookmark and Share&quot; src=&quot;http://s9.addthis.com/button1-share.gif&quot; width=&quot;125&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;script type=&quot;text/javascript&quot; src=&quot;http://track.mybloglog.com/js/jsserv.php?mblID=2008070914270355&quot;&gt;&lt;/script&gt;&lt;/p&gt;  &lt;div class=&quot;wlWriterEditableSmartContent&quot; id=&quot;scid:0767317B-992E-4b12-91E0-4F059A8CECA8:1319992c-8bfa-429d-9ca1-930ee39a0802&quot; style=&quot;padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px&quot;&gt;Technorati Tags: &lt;a href=&quot;http://technorati.com/tags/MacVittie&quot; rel=&quot;tag&quot;&gt;MacVittie&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/F5&quot; rel=&quot;tag&quot;&gt;F5&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/cloud+computing&quot; rel=&quot;tag&quot;&gt;cloud computing&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/survey&quot; rel=&quot;tag&quot;&gt;survey&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/research&quot; rel=&quot;tag&quot;&gt;research&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/Avanade&quot; rel=&quot;tag&quot;&gt;Avanade&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/Paul+Miller&quot; rel=&quot;tag&quot;&gt;Paul Miller&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/economics&quot; rel=&quot;tag&quot;&gt;economics&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/funding&quot; rel=&quot;tag&quot;&gt;funding&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/budgets&quot; rel=&quot;tag&quot;&gt;budgets&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/costs&quot; rel=&quot;tag&quot;&gt;costs&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/virtualization&quot; rel=&quot;tag&quot;&gt;virtualization&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/consolidation&quot; rel=&quot;tag&quot;&gt;consolidation&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/efficiency&quot; rel=&quot;tag&quot;&gt;efficiency&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/web&quot; rel=&quot;tag&quot;&gt;web&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/internet&quot; rel=&quot;tag&quot;&gt;internet&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/blog&quot; rel=&quot;tag&quot;&gt;blog&lt;/a&gt;&lt;/div&gt;  &lt;p&gt;Related blogs &amp;amp; articles: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href=&quot;http://www.infoworld.com/d/networking/budget-cuts-could-increase-server-failures-502?source=IFWNLE_nlt_networking_2009-10-20&quot;&gt;Budget cuts could increase server failures&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://cloudofdata.com/2009/10/avanade-finds-growing-enterprise-enthusiasm-for-the-cloud/&quot;&gt;Avanade finds growing Enterprise enthusiasm for the Cloud&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/10/09/the-thing-private-clouds-can-do-that-public-clouds-canrsquot.aspx&quot;&gt;The Thing Private Clouds Can Do that Public Clouds Can’t&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/10/13/paradox-when-cloud-is-both-the-wrong-and-the-right.aspx&quot;&gt;Paradox: When Cloud Is Both the Wrong and the Right Solution&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/08/24/virtual-machine-density-as-the-new-measure-of-it-efficiency.aspx&quot;&gt;Virtual Machine Density as the New Measure of IT Efficiency&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/08/24/we-donrsquot-know-what-cloud-is-but-what-wersquore-doing.aspx&quot;&gt;We Don’t Know What Cloud Is But What We’re Doing It&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;&lt;img src=&quot;http://devcentral.f5.com/weblogs/macvittie/aggbug/6159.aspx&quot; width=&quot;1&quot; height=&quot;1&quot; /&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/f5/XOwx/~4/SNsScKLha48&quot; height=&quot;1&quot; width=&quot;1&quot;/&gt;&lt;p&gt;&lt;a href=&quot;http://lorimacvittie.sys-con.com/node/1157182&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Wed, 28 Oct 2009 19:15:00 EDT</pubDate>
 <guid isPermaLink="true">http://lorimacvittie.sys-con.com/node/1157182</guid>
 <comments>http://lorimacvittie.sys-con.com/node/1157182#feedback</comments>
</item>
<item>
 <title>Vertical Scalability Cloud Computing Style</title>
 <link>http://lorimacvittie.sys-con.com/node/1159778</link>
 <description>&lt;p&gt;&lt;em&gt;Vertical scalability used to require optimizations inside the application, at the code level. Cloud computing changes the nature of vertical scalability and, one hopes, will lead to a new model of scalability based on the capabilities of Infrastructure 2.0 and increasingly granular resource management capabilities. &lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;http://www.rightscale.com&quot;&gt;RightScale&lt;/a&gt; recently offered up its own analysis of &lt;a href=&quot;http://blog.rightscale.com/2009/10/05/amazon-usage-estimates/&quot;&gt;Amazon Usage Estimates&lt;/a&gt; and while the details they provide on Amazon usage from their vantage point is very interesting I found one of their related observations even more fascinating: &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/VerticalScalabilityCloudComputingStyle_8F02/blockquote_2.gif&quot;&gt;&lt;img title=&quot;blockquote&quot; style=&quot;border-right: 0px; border-top: 0px; display: inline; margin-left: 0px; border-left: 0px; margin-right: 0px; border-bottom: 0px&quot; height=&quot;28&quot; alt=&quot;blockquote&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/VerticalScalabilityCloudComputingStyle_8F02/blockquote_thumb.gif&quot; width=&quot;46&quot; align=&quot;left&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; In earlier days the predominant method of scaling was by launching more servers, but we are now seeing a lot more scaling by replacing smaller servers by larger ones.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;The reason I find this fascinating has to do with not so much where cloud computing is today, but where (we hope at least) it is going. &lt;/p&gt;  &lt;p&gt;Most people are aware of the difference between vertical and horizontal scalability. Remember “&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2008/11/25/cloud-computing-vertical-scalability-is-still-your-problem.aspx&quot;&gt;Cloud Computing: Vertical Scalability is Still Your Problem&lt;/a&gt;” where we talked about the differences? &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/VerticalScalabilityCloudComputingStyle_8F02/blockquote_4.gif&quot;&gt;&lt;img title=&quot;blockquote&quot; style=&quot;border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px&quot; height=&quot;28&quot; alt=&quot;blockquote&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/VerticalScalabilityCloudComputingStyle_8F02/blockquote_thumb_1.gif&quot; width=&quot;46&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; Horizontal scalability is the ability of an application to be scaled up to meet demand through replication and the &lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2008/02/27/3092.aspx&quot;&gt;distribution of requests&lt;/a&gt; across a pool or farm of servers. It&#039;s the traditional load balanced model, and it&#039;s an integral component of cloud computing environments. Vertical scalability is the ability of an application to scale under load; to maintain performance levels as the number of concurrent requests increases. While &lt;a href=&quot;http://www.f5.com/products/big-ip&quot;&gt;load balancing solutions&lt;/a&gt; can certainly assist in optimizing the environment in which an application needs to scale by &lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2008/05/05/3227.aspx&quot;&gt;reducing overhead&lt;/a&gt; that can negatively impact performance (such as TCP session management, &lt;a href=&quot;http://www.f5.com/solutions/security&quot;&gt;SSL operations&lt;/a&gt;, and compression/caching functionality) it can&#039;t solve core problems that prevent vertical scalability.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;While this is still correct the observation by RightScale tells me that there is now another way to vertically scale in a cloud computing environment. It’s a hack, in the traditional workaround geek-cool sense, but an ingenious one nonetheless. &lt;/p&gt;  &lt;hr style=&quot;color: #c0c0c0&quot; width=&quot;100%&quot; noshade=&quot;noshade&quot; /&gt;&lt;strong&gt;WHAT’S THAT GONNA COST YA? &lt;/strong&gt;  &lt;hr style=&quot;color: #c0c0c0&quot; width=&quot;100%&quot; noshade=&quot;noshade&quot; /&gt;  &lt;p&gt;When an application hits the top boundaries of CPU and memory on any machine – whether virtual or physical – the traditional response to ensure scalability is to use &lt;a title=&quot;&quot; href=&quot;http://www.f5.com/glossary/load-balancing.html&quot; rel=&quot;&quot;&gt;load balancing&lt;/a&gt; solutions to horizontally scale the application, thus increasing concurrent user and TCP connection limits while hopefully addressing the degrading performance problems associated with high utilization. &lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/VerticalScalabilityCloudComputingStyle_8F02/ebay%20greed_2.jpg&quot;&gt;&lt;img title=&quot;ebay greed&quot; style=&quot;border-right: 0px; border-top: 0px; display: inline; margin: 0px 10px 0px 0px; border-left: 0px; border-bottom: 0px&quot; height=&quot;240&quot; alt=&quot;ebay greed&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/VerticalScalabilityCloudComputingStyle_8F02/ebay%20greed_thumb.jpg&quot; width=&quot;160&quot; align=&quot;left&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; But what appears to be happening, at least in some cases,is that rather than horizontally scale by adding new instances is that people are simply “upgrading” the virtual machine and thus increasing the limitation on CPU and memory. It’s like buying bigger hardware, only it’s a lot easier and faster and doesn’t require nearly as much preparation before deployment. In essence people have found a way to vertically scale their application by simply provisioning more CPU and memory. Sort of. &lt;/p&gt;  &lt;p&gt;This does not address the inherent performance degradation that occurs as higher utilization rates occur, and if you &lt;a href=&quot;http://aws.amazon.com/ec2/#pricing&quot;&gt;check Amazon’s pricing&lt;/a&gt; you’ll find that it’s quite a jump from a “small” to a “large” instance, regardless of operating system or whether it’s “standard” or “high-CPU” usage. In fact in both cases it’s 4x the cost to go from small to large/medium to extra-large, which makes sense given you 4x the EC2 compute units with each “upgrade”. &lt;/p&gt;  &lt;p&gt;It seems, at least on the surface, that even with the costs of load balancing services from Amazon ($0.025/hour per Elastic &lt;a title=&quot;&quot; href=&quot;http://www.f5.com/glossary/load-balancer.html&quot; rel=&quot;&quot;&gt;Load balancer&lt;/a&gt; + $0.008/GB of data transferred through an Elastic Load Balancer) that it would be financially advantageous to simply launch a second instance and take advantage of load balancing, while also benefiting from the &lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/10/22/wils-why-does-load-balancing-improve-application-performance.aspx&quot;&gt;performance improvements typically associated with load balancing&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;Now granted, the small servers are, by enterprise standards, pretty small and most organizations would never deploy an application into production running on a server with 1.7GB RAM and “&lt;font color=&quot;#800000&quot;&gt;the equivalent CPU capacity of a 1.0-1.2 GHz 2007 Opteron or 2007 Xeon processor.” &lt;/font&gt;I’m fairly certain my digital camera has more processing power than &lt;em&gt;that&lt;/em&gt;, so what RightScale is seeing actually makes a great deal of sense to me. It might cost a bit more but it seems more apposite to provision higher performing instances despite the possibility of overprovisioning. &lt;/p&gt;  &lt;p&gt;But I digress (yet again) and so now let’s get back to the point of this post which is not actually a comparison of vertical and horizontal scaling technology (although that’s interesting, too) but what this unique vertical scaling solution says about where the future of cloud computing (hopefully) lies. &lt;/p&gt;  &lt;hr style=&quot;color: #c0c0c0&quot; width=&quot;100%&quot; noshade=&quot;noshade&quot; /&gt;&lt;strong&gt;WHERE COMPUTE RESOURCES, NOT VIRTUAL MACHINES, ARE PROVISIONED ON-DEMAND &lt;/strong&gt;  &lt;hr style=&quot;color: #c0c0c0&quot; width=&quot;100%&quot; noshade=&quot;noshade&quot; /&gt;  &lt;p&gt;Really, that’s it. That’s where cloud computing &lt;em&gt;should &lt;/em&gt;be going and that’s where cloud computing hopefully &lt;em&gt;is &lt;/em&gt;going. Someday you won’t need &lt;a href=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/VerticalScalabilityCloudComputingStyle_8F02/context_2.jpg&quot;&gt;&lt;img title=&quot;context&quot; style=&quot;border-right: 0px; border-top: 0px; display: inline; margin: 5px 0px 5px 10px; border-left: 0px; border-bottom: 0px&quot; height=&quot;282&quot; alt=&quot;context&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/VerticalScalabilityCloudComputingStyle_8F02/context_thumb.jpg&quot; width=&quot;309&quot; align=&quot;right&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;to launch a bigger instance because the environment will automatically, based on specified thresholds and business needs, allocate more CPU and/or memory on-demand to your “application”. How that happens isn’t important at the moment, but that it &lt;em&gt;will &lt;/em&gt;happen and that it will take a combination of data derived from across the infrastructure is what is important and exciting. Because what RightScale is seeing is the first step toward someone deciding you shouldn’t have to launch a separate VM, you should just be able to grow the one you have until it can’t hold any more. Until you really are paying per clock-tick, per &lt;em&gt;instructions executed and bytes in memory used &lt;/em&gt;instead of in chunks that may or may not be enough, or may be too much. Overpaying is not what cloud computing is supposed to be about either, but right now that very well may be the case. &lt;/p&gt;  &lt;p&gt;But not in the future. No, in the future the infrastructure sees the requests, the users, the traffic patterns, and the performance of the application; it will process the needs of the application based on the context and capabilities of the infrastructure and the business needs and then determine when an application needs more compute resources. It will further be able to signal management systems or invoke the proper methods itself that will provision the resources needed to ensure the application scales. That same infrastructure should - and hopefully will - be able to determine at what point vertical scalability is no longer ensuring application performance meets business criteria (or has met some compute ceiling) and can then decide to provision resources using horizontal scaling techniques instead. &lt;/p&gt;  &lt;p&gt;The intelligence to interpret the technical context and measure it against business needs. The ability to connect and integrate to gather and share that technical context. The flexibility to automatically determine whether horizontal or vertical scaling is necessary to meet those business criteria. That’s a dynamic infrastructure, &lt;em&gt;that’s &lt;/em&gt;what we’re trying to enable via Infrastructure 2.0. &lt;/p&gt;  &lt;p&gt;That’s the future of cloud computing. That’s where we’re going. And that’s why it’s so exciting to see the beginnings of it happening with virtual images; because it &lt;em&gt;is &lt;/em&gt;just the beginning and people are starting to really flex the boundaries of cloud computing which will lead to even more innovation and change and shift into a higher gear so we can get where it is I hope we’re going a little bit faster. &lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;http://twitter.com/lmacvittie&quot;&gt;&lt;img height=&quot;18&quot; alt=&quot;Follow me on Twitter&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_twitt-twoo-icon.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a title=&quot;Follow F5 Networks on Twitter&quot; href=&quot;http://tweepml.org/F5-Networks-Tweeple/&quot;&gt;&lt;img height=&quot;18&quot; src=&quot;http://tweepml.org/s/tweepml16.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a title=&quot;Follow F5 DevCentral on Twitter&quot; href=&quot;http://tweepml.org/F5-DevCentral/&quot;&gt;&lt;img height=&quot;18&quot; src=&quot;http://tweepml.org/s/tweepml16.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/Rss.aspx&quot;&gt;&lt;img src=&quot;http://devcentral.f5.com/Portals/0/images/Icons/icon_xml_18.gif&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://www.slideshare.net/lmacvittie&quot;&gt;&lt;img height=&quot;18&quot; alt=&quot;View Lori&#039;s profile on SlideShare&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_slideshare.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://www.linkedin.com/in/lmacvittie&quot;&gt;&lt;img src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_linkedin_16.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://www.friendfeed.com/lmacvittie&quot;&gt;&lt;img style=&quot;border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px&quot; height=&quot;16&quot; alt=&quot;friendfeed&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/friendfeed_3.jpg&quot; width=&quot;16&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/icon_facebook_2.png&quot;&gt;&lt;img style=&quot;border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px&quot; height=&quot;16&quot; alt=&quot;icon_facebook&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/icon_facebook_4.png&quot; width=&quot;16&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a title=&quot;Subscribe using any feed reader!&quot; href=&quot;http://www.addthis.com/feed.php?pub=lmacvittie&amp;amp;h1=http%3A%2F%2Fdevcentral.f5.com%2Fweblogs%2Fmacvittie%2FRss.aspx&amp;amp;t1=&quot;&gt;&lt;img height=&quot;18&quot; alt=&quot;AddThis Feed Button&quot; src=&quot;http://s9.addthis.com/button1-fd.gif&quot; width=&quot;125&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a title=&quot;Bookmark and Share&quot; onclick=&quot;window.open(&#039;http://www.addthis.com/bookmark.php?wt=nw&amp;amp;pub=lmacvittie&amp;amp;url=&#039;+encodeURIComponent(location.href)+&#039;&amp;amp;title=&#039;+encodeURIComponent(document.title), &#039;addthis&#039;, &#039;scrollbars=yes,menubar=no,width=620,height=520,resizable=yes,toolbar=no,location=no,status=no,screenX=200,screenY=100,left=200,top=100&#039;); return false;&quot; href=&quot;http://www.addthis.com/bookmark.php&quot; target=&quot;_blank&quot;&gt;&lt;img height=&quot;18&quot; alt=&quot;Bookmark and Share&quot; src=&quot;http://s9.addthis.com/button1-share.gif&quot; width=&quot;125&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;script type=&quot;text/javascript&quot; src=&quot;http://track.mybloglog.com/js/jsserv.php?mblID=2008070914270355&quot;&gt;&lt;/script&gt;&lt;/p&gt;  &lt;div class=&quot;wlWriterEditableSmartContent&quot; id=&quot;scid:0767317B-992E-4b12-91E0-4F059A8CECA8:6a48fdcb-db08-480a-99f2-321e713c1a4e&quot; style=&quot;padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px&quot;&gt;Technorati Tags: &lt;a href=&quot;http://technorati.com/tags/MacVittie&quot; rel=&quot;tag&quot;&gt;MacVittie&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/F5&quot; rel=&quot;tag&quot;&gt;F5&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/Infrastructure+2.0&quot; rel=&quot;tag&quot;&gt;Infrastructure 2.0&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/dynamic+infrastructure&quot; rel=&quot;tag&quot;&gt;dynamic infrastructure&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/cloud+computing&quot; rel=&quot;tag&quot;&gt;cloud computing&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/RighScale&quot; rel=&quot;tag&quot;&gt;RighScale&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/Amazon&quot; rel=&quot;tag&quot;&gt;Amazon&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/ELB&quot; rel=&quot;tag&quot;&gt;ELB&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/EC2&quot; rel=&quot;tag&quot;&gt;EC2&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/AWS&quot; rel=&quot;tag&quot;&gt;AWS&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/vertical+scalability&quot; rel=&quot;tag&quot;&gt;vertical scalability&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/horizontal+scalability&quot; rel=&quot;tag&quot;&gt;horizontal scalability&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/scalability&quot; rel=&quot;tag&quot;&gt;scalability&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/context&quot; rel=&quot;tag&quot;&gt;context&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/integration&quot; rel=&quot;tag&quot;&gt;integration&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/load+balancing&quot; rel=&quot;tag&quot;&gt;load balancing&lt;/a&gt;&lt;/div&gt;  &lt;p&gt;Related blogs &amp;amp; articles: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2008/11/25/cloud-computing-vertical-scalability-is-still-your-problem.aspx&quot;&gt;Cloud Computing: Vertical Scalability is Still Your Problem&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://www.rationalsurvivability.com/blog/?p=1070&quot;&gt;Incomplete Thought – Cloudanatomy: Infrastructure, Metastructure &amp;amp; Infostructure&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/10/21/the-cloud-is-not-a-synonym-for-cloud-computing.aspx&quot;&gt;The Cloud Is Not A Synonym For Cloud Computing&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/10/15/amazon-elastic-load-balancing-only-simple-on-the-outside.aspx&quot;&gt;Amazon Elastic Load Balancing Only Simple On the Outside&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/10/08/infrastructure-2.0-is-the-beginning-of-the-story-not-the.aspx&quot;&gt;Infrastructure 2.0 Is the Beginning of the Story, Not the End&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/09/25/infrastructure-integration-metadata-versus-api.aspx&quot;&gt;Infrastructure Integration: Metadata versus API&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/06/09/the-infrastructure-2.0-trifecta.aspx&quot;&gt;The Infrastructure 2.0 Trifecta&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/01/28/infrastructure-2.0-as-a-matter-of-fact-that-isnt-what.aspx&quot;&gt;Infrastructure 2.0: As a matter of fact that isn&#039;t what it means&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/01/06/infrastructure-2.0-flexibility-is-key-to-dynamic-infrastructure.aspx&quot;&gt;Infrastructure 2.0: Flexibility is Key to Dynamic Infrastructure&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/09/18/does-a-dynamic-infrastructure-need-arp-for-applications.aspx&quot;&gt;Does a Dynamic Infrastructure Need ARP for Applications?&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;&lt;img src=&quot;http://devcentral.f5.com/weblogs/macvittie/aggbug/6163.aspx&quot; width=&quot;1&quot; height=&quot;1&quot; /&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/f5/XOwx/~4/aHccRa6tHJM&quot; height=&quot;1&quot; width=&quot;1&quot;/&gt;&lt;p&gt;&lt;a href=&quot;http://lorimacvittie.sys-con.com/node/1159778&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Tue, 27 Oct 2009 08:15:00 EDT</pubDate>
 <guid isPermaLink="true">http://lorimacvittie.sys-con.com/node/1159778</guid>
 <comments>http://lorimacvittie.sys-con.com/node/1159778#feedback</comments>
</item>
<item>
 <title>IT Myths and Legends</title>
 <link>http://lorimacvittie.sys-con.com/node/1159482</link>
 <description>&lt;p&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/ITMythsandLegendsNoOneUnderstandsLegacyS_2AB0/image_2.png&quot;&gt;&lt;img title=&quot;image&quot; style=&quot;border-right: 0px; border-top: 0px; display: inline; margin: 0px 10px 0px 0px; border-left: 0px; border-bottom: 0px&quot; height=&quot;123&quot; alt=&quot;image&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/ITMythsandLegendsNoOneUnderstandsLegacyS_2AB0/image_thumb.png&quot; width=&quot;136&quot; align=&quot;left&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; There is a common myth that the reason legacy code continues to run in businesses around the world is that no one understands it; that IT and businesses are afraid to replace it because they don’t know what it does. &lt;/p&gt;  &lt;p&gt;Once again, living in the mainframe capital of the world (the insurance industry heavy midwest), I get to talk to IT folks who deal with legacy software and hardware all the time. Do not doubt that they know exactly what that legacy software does and how it works, and perhaps frightening to proponents of change and the benefits of emerging technology those IT organizations &lt;em&gt;are still developing software for those legacy platforms&lt;/em&gt;. &lt;/p&gt;  &lt;hr style=&quot;color: #c0c0c0&quot; width=&quot;100%&quot; noshade=&quot;noshade&quot; /&gt;&lt;strong&gt;THE TIGHT-COUPLING OF SOFTWARE AND THE BUSINESS&lt;/strong&gt;  &lt;hr style=&quot;color: #c0c0c0&quot; width=&quot;100%&quot; noshade=&quot;noshade&quot; /&gt;  &lt;p&gt;I’m sure there are plenty of organizations out there with some legacy software running that no one understands and for which the organization has no one with the skill set to migrate to a more modern system. But I’m of the opinion that there are far more organizations out there with legacy software running that has simply become too expensive and laden with risk to migrate. Software that is core to the &lt;a href=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/ITMythsandLegendsNoOneUnderstandsLegacyS_2AB0/cobolcode_2.gif&quot;&gt;&lt;img title=&quot;cobolcode&quot; style=&quot;border-right: 0px; border-top: 0px; display: inline; margin: 5px 0px 0px 10px; border-left: 0px; border-bottom: 0px&quot; height=&quot;364&quot; alt=&quot;cobolcode&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/ITMythsandLegendsNoOneUnderstandsLegacyS_2AB0/cobolcode_thumb.gif&quot; width=&quot;399&quot; align=&quot;right&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;business, that essentially has &lt;em&gt;&lt;font color=&quot;#800000&quot;&gt;become the business&lt;/font&gt;&lt;/em&gt; over time carries with it an exceedingly high risk – if it fails, the &lt;em&gt;business &lt;/em&gt;fails, and in a way that’s very real and very costly. There is a high level of not only software but &lt;font color=&quot;#800000&quot;&gt;business integration&lt;/font&gt; that happens over time with critical systems and it is that integration and dependence on specific legacy systems that deters organizations from even considering a migration to a more modern system. &lt;/p&gt;  &lt;p&gt;These IT organizations know what the legacy software does; in fact they continue to develop new functionality and systems that integrate with and depend on those systems, and they invest in human capital by specifically training new developers and architects on those systems and legacy platforms. The original developers have long since moved on and up – to project and program managers who are more than willing to evaluate new platforms and systems but who also understand the risks to the operational effectiveness of both IT and the business should something go wrong. &lt;/p&gt;  &lt;p&gt;Legacy systems developed in the early 1970s are still being maintained because the risks outweigh the potential benefits. These decades old systems are so integral to the continued operation of IT and the business that the risk inherent in migration is simply too high to justify such an undertaking. With so much time and money invested in these systems they are as close to perfection as software gets, and any migration to new platforms runs the risk of introducing errors and new flaws that would need to be worked out over time. Too, every integrated system would need to be updated, which incurs the risk that &lt;em&gt;those &lt;/em&gt;systems would have errors and issues. It&#039;s actually mind-boggling to consider the effort that would be required to accomplish such a Herculean task. &lt;/p&gt;  &lt;p&gt;   &lt;/p&gt;&lt;hr style=&quot;color: #c0c0c0&quot; width=&quot;100%&quot; noshade=&quot;noshade&quot; /&gt;&lt;strong&gt;IF IT AIN’T BROKE, DON’T FIX IT&lt;/strong&gt;    &lt;hr style=&quot;color: #c0c0c0&quot; width=&quot;100%&quot; noshade=&quot;noshade&quot; /&gt;  &lt;p&gt;That’s not to say these organizations have not invested in new architectures, solutions, and platforms over time. Indeed, they have, and there are plenty of heterogeneous environments out there with a good mix of both legacy and modern software not only in production, but integrated and orchestrated together in what is a big melting pot of application development environments. Modern systems are used to interface to users and customers, but the core software upon which these businesses rely is ancient, legacy software that may never be replaced. As long as the supplier of both the hardware and the software development environments continues to support it there’s no reason for these organizations to change. &lt;/p&gt;  &lt;p&gt;With many organizations wholly reliant on legacy software it is more likely the case that comfort levels drive continued reliance on these systems than ignorance. It is exactly because they understand and trust the systems in place that they continue to build on them, to integrate them, and rely upon them to power their businesses day in and day out. &lt;/p&gt;  &lt;p&gt;It is hard to justify why an organization should migrate its entire business to a new platform and new software that might be error-prone and requires millions of man-hours to migrate when a comfortable system that just works already exists. The costs to train new developers and architects is by and large less of an investment than attempting to re-architect an entire ecosystem of applications while that ecosystem is evolving. Because of the time it would take to migrate such systems – and prove their correctness – there is no way to “go dark” until it’s done; it would have to be accomplished while new systems are being integrated and put into place. You’d almost need &lt;em&gt;two &lt;/em&gt;IT organizations to get it done – one to work on and maintain the old architecture and one to work on and migrate the new one. That’s not counting the costs to invest in a completely new architecture requiring new platforms, new hardware, new software, and new developers. &lt;/p&gt;  &lt;hr style=&quot;color: #c0c0c0&quot; width=&quot;100%&quot; noshade=&quot;noshade&quot; /&gt;&lt;strong&gt;&lt;a title=&quot;Service Oriented Architecture definition &quot; href=&quot;http://www.f5.com/glossary/soa.html&quot; rel=&quot;&quot; target=&quot;_blank&quot;&gt;SOA&lt;/a&gt; ENABLED CONTINUED RELIANCE&lt;/strong&gt;  &lt;hr style=&quot;color: #c0c0c0&quot; width=&quot;100%&quot; noshade=&quot;noshade&quot; /&gt;  &lt;p&gt;What’s ironic is that SOA was purported to provide the means by which migrations could occur but instead enabled the continued reliance on legacy systems. Organizations implemented web services interfaces to legacy systems, but never took the next step; they did not use the inherent &lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2008/03/11/3102.aspx&quot;&gt;decoupling of interface from implementation&lt;/a&gt; provided by SOA and its standards to replace the implementation. Instead, web services became exactly what some feared: little more than a method of integration; a bridge between two worlds. And thus it has remained, with service-enabled interfaces it is easy enough for organizations to update presentation layer and user-interface technology, to take advantage of emerging web application models without giving up the comfort and trust they have in their core systems. &lt;/p&gt;  &lt;p&gt;Even if these organizations started a migration today it would still be years if not decades before every legacy software system was replaced with something more “modern”. That’s why it’s important amidst the hype of &lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/Tags/cloud%20computing/default.aspx&quot;&gt;cloud computing&lt;/a&gt; and social networking and web 2.0/3.0/4.0 that we not lose sight of the fact that not every organization is simply going to rip and replace their entire architecture in favor of the latest and “greatest” new data center model. We need to continue to support internal hybrid models of application architecture as well as hybrid data center architectures. In the application delivery space this is a lot easier than it might be for some: applications are applications, protocols are protocols, and network traffic is network traffic. &lt;a href=&quot;http://www.f5.com/products/big-ip/&quot;&gt;Application delivery platforms&lt;/a&gt;, at least, are capable of supporting both legacy software and modern implementations at the same time, on the same solution, without equal alacrity. Whether that enables organizations to move from legacy to modern, or offers a means by which more modern technology can be applied to legacy systems without requiring modification to those applications is up to the organization. &lt;/p&gt;  &lt;p&gt;Legacy software isn’t going away, and whether we like it or not the number of legacy systems is growing each year because organizations can’t afford the risk to their business and can’t justify the investment to change. So even as we continue to look forward to how emerging data center and application architectural models can provide benefits and solve problems we need to continue to evaluate how to support aging technologies and provide them, as well, with the tools necessary to keep their &lt;a href=&quot;http://www.f5.com/solutions/security/&quot;&gt;applications secure&lt;/a&gt; and &lt;a href=&quot;http://www.f5.com/solutions/availability/&quot;&gt;available&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;http://twitter.com/lmacvittie&quot;&gt;&lt;img height=&quot;18&quot; alt=&quot;Follow me on Twitter&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_twitt-twoo-icon.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a title=&quot;Follow F5 Networks on Twitter&quot; href=&quot;http://tweepml.org/F5-Networks-Tweeple/&quot;&gt;&lt;img height=&quot;18&quot; src=&quot;http://tweepml.org/s/tweepml16.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a title=&quot;Follow F5 DevCentral on Twitter&quot; href=&quot;http://tweepml.org/F5-DevCentral/&quot;&gt;&lt;img height=&quot;18&quot; src=&quot;http://tweepml.org/s/tweepml16.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/Rss.aspx&quot;&gt;&lt;img src=&quot;http://devcentral.f5.com/Portals/0/images/Icons/icon_xml_18.gif&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://www.slideshare.net/lmacvittie&quot;&gt;&lt;img height=&quot;18&quot; alt=&quot;View Lori&#039;s profile on SlideShare&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_slideshare.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://www.linkedin.com/in/lmacvittie&quot;&gt;&lt;img src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_linkedin_16.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://www.friendfeed.com/lmacvittie&quot;&gt;&lt;img style=&quot;border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px&quot; height=&quot;16&quot; alt=&quot;friendfeed&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/friendfeed_3.jpg&quot; width=&quot;16&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/icon_facebook_2.png&quot;&gt;&lt;img style=&quot;border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px&quot; height=&quot;16&quot; alt=&quot;icon_facebook&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/icon_facebook_4.png&quot; width=&quot;16&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a title=&quot;Subscribe using any feed reader!&quot; href=&quot;http://www.addthis.com/feed.php?pub=lmacvittie&amp;amp;h1=http%3A%2F%2Fdevcentral.f5.com%2Fweblogs%2Fmacvittie%2FRss.aspx&amp;amp;t1=&quot;&gt;&lt;img height=&quot;18&quot; alt=&quot;AddThis Feed Button&quot; src=&quot;http://s9.addthis.com/button1-fd.gif&quot; width=&quot;125&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a title=&quot;Bookmark and Share&quot; onclick=&quot;window.open(&#039;http://www.addthis.com/bookmark.php?wt=nw&amp;amp;pub=lmacvittie&amp;amp;url=&#039;+encodeURIComponent(location.href)+&#039;&amp;amp;title=&#039;+encodeURIComponent(document.title), &#039;addthis&#039;, &#039;scrollbars=yes,menubar=no,width=620,height=520,resizable=yes,toolbar=no,location=no,status=no,screenX=200,screenY=100,left=200,top=100&#039;); return false;&quot; href=&quot;http://www.addthis.com/bookmark.php&quot; target=&quot;_blank&quot;&gt;&lt;img height=&quot;18&quot; alt=&quot;Bookmark and Share&quot; src=&quot;http://s9.addthis.com/button1-share.gif&quot; width=&quot;125&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;script type=&quot;text/javascript&quot; src=&quot;http://track.mybloglog.com/js/jsserv.php?mblID=2008070914270355&quot;&gt;&lt;/script&gt;&lt;/p&gt;  &lt;div class=&quot;wlWriterEditableSmartContent&quot; id=&quot;scid:0767317B-992E-4b12-91E0-4F059A8CECA8:046a9822-9080-4674-99dd-d300cf612931&quot; style=&quot;padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px&quot;&gt;Technorati Tags: &lt;a href=&quot;http://technorati.com/tags/MacVittie&quot; rel=&quot;tag&quot;&gt;MacVittie&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/F5&quot; rel=&quot;tag&quot;&gt;F5&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/legacy&quot; rel=&quot;tag&quot;&gt;legacy&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/software&quot; rel=&quot;tag&quot;&gt;software&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/hardware&quot; rel=&quot;tag&quot;&gt;hardware&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/cloud+computing&quot; rel=&quot;tag&quot;&gt;cloud computing&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/infrastructure&quot; rel=&quot;tag&quot;&gt;infrastructure&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/application+delivery&quot; rel=&quot;tag&quot;&gt;application delivery&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/cobol&quot; rel=&quot;tag&quot;&gt;cobol&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/integration&quot; rel=&quot;tag&quot;&gt;integration&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/web&quot; rel=&quot;tag&quot;&gt;web&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/internet&quot; rel=&quot;tag&quot;&gt;internet&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/blog&quot; rel=&quot;tag&quot;&gt;blog&lt;/a&gt;&lt;/div&gt;  &lt;p&gt;Related blogs &amp;amp; articles: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/09/11/it-myths-legends-sharing-virtual-resources.aspx&quot;&gt;IT Myths and Legends: Sharing Servers&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/06/26/forklifts-rip-and-replace-and-other-it-fairy-tales.aspx&quot;&gt;Forklifts, Rip and Replace, and Other IT Fairy Tales&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2008/03/11/3102.aspx&quot;&gt;Application Delivery: Loose-Coupling for Legacy Apps&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/09/22/load-balancing-on-the-inside.aspx&quot;&gt;Load Balancing on the Inside&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/10/09/the-thing-private-clouds-can-do-that-public-clouds-canrsquot.aspx&quot;&gt;The Thing Private Clouds Can Do that Public Clouds Can’t&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/09/29/infrastructure-2.0-isnrsquot-just-for-cloud-computing.aspx&quot;&gt;Infrastructure 2.0 Isn’t Just For Cloud Computing&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/08/04/a-formula-for-quantifying-productivity-of-web-applications.aspx&quot;&gt;A Formula for Quantifying Productivity of Web Applications&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/07/15/business-layer-load-balancing.aspx&quot;&gt;Business-Layer Load Balancing&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;&lt;img src=&quot;http://devcentral.f5.com/weblogs/macvittie/aggbug/6161.aspx&quot; width=&quot;1&quot; height=&quot;1&quot; /&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/f5/XOwx/~4/WoRO_8WymFo&quot; height=&quot;1&quot; width=&quot;1&quot;/&gt;&lt;p&gt;&lt;a href=&quot;http://lorimacvittie.sys-con.com/node/1159482&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Mon, 26 Oct 2009 07:09:00 EDT</pubDate>
 <guid isPermaLink="true">http://lorimacvittie.sys-con.com/node/1159482</guid>
 <comments>http://lorimacvittie.sys-con.com/node/1159482#feedback</comments>
</item>
<item>
 <title>The Cloud Is Not A Synonym For Cloud Computing</title>
 <link>http://lorimacvittie.sys-con.com/node/1154207</link>
 <description>&lt;p&gt;&lt;em&gt;“Where are you storing your data these days,” he asked casually after trying to come up with a better opening line but failing. &lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;“Ah, dahhling,” she drawled while gesturing in no particular direction with an almost deprecating wave of her hand. “The Cloud, where else?”&lt;/em&gt; &lt;/p&gt;  &lt;p&gt;Thanks to the nearly constant misapplication of the phrase “The Cloud” and the lack of agreement on a clear definition from technical quarters I must announce that “The Cloud” is no longer a synonym for “Cloud Computing”. It can’t be. Do not be misled into trying, it will only cause you heartache and headaches. The two no longer refer to the same thing (if they ever really did) and there should be no implied – or inferred - relationship between them. “The Cloud” has, unfortunately, devolved into little more than a trendy reference for any consumer-facing application delivered over the Internet. &lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2008/11/05/cloud-computing-the-last-definition-youll-ever-need.aspx&quot;&gt;Cloud computing,&lt;/a&gt; on the other hand, specifically speaks to an architectural model; a means of deploying applications that abstracts compute, storage, network, and application network resources in order to provide uniform, on-demand scalability and reliability of application delivery.  &lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/TheCloudisNotCloudComputing_2A1F/image_2.png&quot;&gt;&lt;img title=&quot;image&quot; style=&quot;border-right: 0px; border-top: 0px; display: inline; margin: 5px 10px 5px 0px; border-left: 0px; border-bottom: 0px&quot; height=&quot;274&quot; alt=&quot;image&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/TheCloudisNotCloudComputing_2A1F/image_thumb.png&quot; width=&quot;387&quot; align=&quot;left&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;Of similar importance is the distinction between “user” and “consumer”, and this is important enough that we need to nail this down and be particular in our usage of these terms. “Consumer” is anyone who uses a web-application to do anything. Consumers make use of applications over the Internet, but they are not “users” of cloud because they don’t interface with “cloud” any more than they interface with hosting providers; they interface with an &lt;em&gt;application&lt;/em&gt;. Users of cloud are developers, administrators, and IT organizations that interface with a &lt;em&gt;cloud computing &lt;/em&gt;environment with the intention of deploying an &lt;em&gt;application &lt;/em&gt;for their consumers.  &lt;/p&gt;  &lt;p&gt;I’m really not all that concerned whether we use “application user” and “cloud user” to distinguish between the two or “consumer” and “user” or “application customer” and “cloud customer”. I am firm in the belief that we need to distinguish between the two before we go any further down this road. The lack of distinction between the two points of view continues to confuse just about everyone who isn’t knee-deep in the technology and this is &lt;a href=&quot;http://intelligent-enterprise.informationweek.com/blog/archives/2009/10/tmobile_data_lo.html&quot;&gt;partially responsible for the Chicken Little responses to application failures&lt;/a&gt;&lt;em&gt; &lt;/em&gt;that may or may not be deployed atop cloud computing architectures. &lt;/p&gt;  &lt;p&gt;“The Cloud” has lost meaning as far as cloud computing models and data center architectures are concerned and is now little more than a technical-sounding term thrown around by consumers – and others - who never really understood the use of this delightful little phrase or that there’s even a difference. Maybe that’s success, as consumers &lt;em&gt;shouldn’t &lt;/em&gt;care about internal implementation, but it’s also failure because it’s confusing to a lot of people who are supposed to care and be able to differentiate. &lt;/p&gt;  &lt;hr style=&quot;color: #c0c0c0&quot; width=&quot;100%&quot; noshade=&quot;noshade&quot; /&gt;&lt;strong&gt;CLOUD COMPUTING AND APPLICATIONS ARE NOT INTERCHANGEABLE&lt;/strong&gt;  &lt;hr style=&quot;color: #c0c0c0&quot; width=&quot;100%&quot; noshade=&quot;noshade&quot; /&gt;  &lt;p&gt;When you deploy an application in a cloud computing environment and something goes wrong, who does the &lt;em&gt;consumer&lt;/em&gt; call? Not the cloud computing provider. That’s a by-product of not caring about implementation – they aren’t supposed to know that information in the first place. It’s a near certainty that &lt;a href=&quot;http://bitbucket.org&quot;&gt;BitBucket’s&lt;/a&gt; customers or consumers, whichever you prefer, weren’t calling &lt;a href=&quot;http://www.amazon.com&quot;&gt;Amazon&lt;/a&gt; when its application became unavailable due to a DDoS attack, they were e-mailing, tweeting, and calling BitBucket – the &lt;em&gt;application provider. &lt;/em&gt;Similarly, T-Mobile customers were likely calling, well, &lt;a href=&quot;http://www.tmobile.com&quot;&gt;T-Mobile&lt;/a&gt; after Microsoft’s spectacular failure because they are the provider as far as customers are concerned, not &lt;a href=&quot;http://www.microsoft.com&quot;&gt;Microsoft&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;It’s not like a customer or consumer can call 1-800-THE-CLOUD and get support for whatever problem they’re having with whatever application they may have been using. They interface with an application, they use an application, and whoever is responsible for that application (hint: that’s you) is who they’re going to call and blame in the event of an outage, or a data loss, or a security breach. &lt;/p&gt;  &lt;p&gt;That’s why it’s important that the cloud computing user, that’s you, have &lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/06/25/five-questions-you-need-to-ask-about-load-balancing-and.aspx&quot;&gt;some knowledge of the cloud computing provider’s implementation&lt;/a&gt;. You don’t need to know the nitty gritty details, but you do need to understand whether the model is appropriate to meet your business and technical needs. &lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/10/15/amazon-elastic-load-balancing-only-simple-on-the-outside.aspx&quot;&gt;Automatic scalability&lt;/a&gt; is often assumed to be part and parcel of a cloud computing environment, but that’s not always the case. If you need that scalability you’d darn well better understand whether it’s just part of the offering or whether you have to do something special to provision it. If your application suddenly doesn’t work when it’s deployed in a cloud computing environment, maybe you didn’t verify whether the provider’s &lt;a href=&quot;http://www.f5.com/glossary/load-balancing.html&quot;&gt;load balancing&lt;/a&gt; solution &lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2008/11/19/cloud-computing-is-your-cloud-sticky-it-should-be.aspx&quot;&gt;is sticky or not&lt;/a&gt;, or whether there’s something you need to configure, specify, or modify in your application to &lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2008/06/02/3323.aspx&quot;&gt;make sure it works properly.&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Somewhere along the lines the lack of distinction between users of an application and users of the cloud led to the erroneous and dangerous belief that users of cloud computing don’t have to know anything about the implementation. That’s just not true and it can be detrimental to not only the success of cloud computing but more specifically and closer to home, I’m sure, to the success of your application deployment. &lt;/p&gt;  &lt;p&gt;The way in which we describe technology can and does have a profound impact on the way we use it, understand it, and support it. So let’s be more clear about who interfaces with what, and maybe in the future more people will be less apt to put forth the notion that a failure &lt;em&gt;in the cloud&lt;/em&gt; is the same as a failure of &lt;em&gt;cloud computing. &lt;/em&gt;&lt;/p&gt;  &lt;p&gt;No, I won’t hold my breath, but I can hope, can’t I? &lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;http://twitter.com/lmacvittie&quot;&gt;&lt;img height=&quot;18&quot; alt=&quot;Follow me on Twitter&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_twitt-twoo-icon.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a title=&quot;Follow F5 Networks on Twitter&quot; href=&quot;http://tweepml.org/F5-Networks-Tweeple/&quot;&gt;&lt;img height=&quot;18&quot; src=&quot;http://tweepml.org/s/tweepml16.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a title=&quot;Follow F5 DevCentral on Twitter&quot; href=&quot;http://tweepml.org/F5-DevCentral/&quot;&gt;&lt;img height=&quot;18&quot; src=&quot;http://tweepml.org/s/tweepml16.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/Rss.aspx&quot;&gt;&lt;img src=&quot;http://devcentral.f5.com/Portals/0/images/Icons/icon_xml_18.gif&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://www.slideshare.net/lmacvittie&quot;&gt;&lt;img height=&quot;18&quot; alt=&quot;View Lori&#039;s profile on SlideShare&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_slideshare.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://www.linkedin.com/in/lmacvittie&quot;&gt;&lt;img src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_linkedin_16.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://www.friendfeed.com/lmacvittie&quot;&gt;&lt;img style=&quot;border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px&quot; height=&quot;16&quot; alt=&quot;friendfeed&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/friendfeed_3.jpg&quot; width=&quot;16&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/icon_facebook_2.png&quot;&gt;&lt;img style=&quot;border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px&quot; height=&quot;16&quot; alt=&quot;icon_facebook&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/icon_facebook_4.png&quot; width=&quot;16&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a title=&quot;Subscribe using any feed reader!&quot; href=&quot;http://www.addthis.com/feed.php?pub=lmacvittie&amp;amp;h1=http%3A%2F%2Fdevcentral.f5.com%2Fweblogs%2Fmacvittie%2FRss.aspx&amp;amp;t1=&quot;&gt;&lt;img height=&quot;18&quot; alt=&quot;AddThis Feed Button&quot; src=&quot;http://s9.addthis.com/button1-fd.gif&quot; width=&quot;125&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a title=&quot;Bookmark and Share&quot; onclick=&quot;window.open(&#039;http://www.addthis.com/bookmark.php?wt=nw&amp;amp;pub=lmacvittie&amp;amp;url=&#039;+encodeURIComponent(location.href)+&#039;&amp;amp;title=&#039;+encodeURIComponent(document.title), &#039;addthis&#039;, &#039;scrollbars=yes,menubar=no,width=620,height=520,resizable=yes,toolbar=no,location=no,status=no,screenX=200,screenY=100,left=200,top=100&#039;); return false;&quot; href=&quot;http://www.addthis.com/bookmark.php&quot; target=&quot;_blank&quot;&gt;&lt;img height=&quot;18&quot; alt=&quot;Bookmark and Share&quot; src=&quot;http://s9.addthis.com/button1-share.gif&quot; width=&quot;125&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;script type=&quot;text/javascript&quot; src=&quot;http://track.mybloglog.com/js/jsserv.php?mblID=2008070914270355&quot;&gt;&lt;/script&gt;&lt;/p&gt;  &lt;div class=&quot;wlWriterEditableSmartContent&quot; id=&quot;scid:0767317B-992E-4b12-91E0-4F059A8CECA8:43ee1985-b188-47f7-a219-e5ef1d6be6f3&quot; style=&quot;padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px&quot;&gt;Technorati Tags: &lt;a href=&quot;http://technorati.com/tags/MacVittie&quot; rel=&quot;tag&quot;&gt;MacVittie&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/F5&quot; rel=&quot;tag&quot;&gt;F5&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/cloud&quot; rel=&quot;tag&quot;&gt;cloud&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/cloud+computing&quot; rel=&quot;tag&quot;&gt;cloud computing&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/infrastructure&quot; rel=&quot;tag&quot;&gt;infrastructure&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/architecture&quot; rel=&quot;tag&quot;&gt;architecture&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/provider&quot; rel=&quot;tag&quot;&gt;provider&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/application+delivery&quot; rel=&quot;tag&quot;&gt;application delivery&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/scalability&quot; rel=&quot;tag&quot;&gt;scalability&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/terminology&quot; rel=&quot;tag&quot;&gt;terminology&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/failure&quot; rel=&quot;tag&quot;&gt;failure&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/bitbucket&quot; rel=&quot;tag&quot;&gt;bitbucket&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/amazon&quot; rel=&quot;tag&quot;&gt;amazon&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/microsoft&quot; rel=&quot;tag&quot;&gt;microsoft&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/sidekick&quot; rel=&quot;tag&quot;&gt;sidekick&lt;/a&gt;&lt;/div&gt;  &lt;p&gt;Related blogs &amp;amp; articles: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href=&quot;http://intelligent-enterprise.informationweek.com/blog/archives/2009/10/tmobile_data_lo.html&quot;&gt;T-Mobile Data Loss Falsely Reflects on Cloud Computing&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/06/25/five-questions-you-need-to-ask-about-load-balancing-and.aspx&quot;&gt;Five questions you need to ask about load balancing and the cloud&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2008/11/05/cloud-computing-the-last-definition-youll-ever-need.aspx&quot;&gt;Cloud Computing: The Last Definition You&#039;ll Ever Need&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/08/24/we-donrsquot-know-what-cloud-is-but-what-wersquore-doing.aspx&quot;&gt;We Don’t Know What Cloud Is But What We’re Doing It&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/05/11/get-your-saas-off-my-cloud.aspx&quot;&gt;Get your SaaS off my cloud&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/08/10/cloud-is-not-a-big-switch.aspx&quot;&gt;Cloud is Not a Big Switch&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/06/30/intercloud-the-evolution-of-global-application-delivery.aspx&quot;&gt;Intercloud: The Evolution of Global Application Delivery&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/07/09/cloud-balancing-cloud-bursting-and-intercloud.aspx&quot;&gt;Cloud Balancing, Cloud Bursting, and Intercloud&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/06/09/the-infrastructure-2.0-trifecta.aspx&quot;&gt;The Infrastructure 2.0 Trifecta&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2008/12/02/the-context-aware-cloud.aspx&quot;&gt;The Context-Aware Cloud&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;&lt;img src=&quot;http://devcentral.f5.com/weblogs/macvittie/aggbug/6156.aspx&quot; width=&quot;1&quot; height=&quot;1&quot; /&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/f5/XOwx/~4/DR02Ql-yFJw&quot; height=&quot;1&quot; width=&quot;1&quot;/&gt;&lt;p&gt;&lt;a href=&quot;http://lorimacvittie.sys-con.com/node/1154207&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Thu, 22 Oct 2009 14:15:00 EDT</pubDate>
 <guid isPermaLink="true">http://lorimacvittie.sys-con.com/node/1154207</guid>
 <comments>http://lorimacvittie.sys-con.com/node/1154207#feedback</comments>
</item>
<item>
 <title>WILS: Why Does Load Balancing Improve Application Performance?</title>
 <link>http://lorimacvittie.sys-con.com/node/1156202</link>
 <description>&lt;div style=&quot;float: left; margin: 0px 10px 5px 0px; text-align: center&quot;&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/b10677a717de_2DBB/overloaded%20truck%20Senagal-%20Credit%20Daniel%20Penney_2.jpg&quot;&gt;&lt;img title=&quot;overloaded truck Senagal- Credit Daniel Penney&quot; style=&quot;display: inline&quot; height=&quot;162&quot; alt=&quot;overloaded truck Senagal- Credit Daniel Penney&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/b10677a717de_2DBB/overloaded%20truck%20Senagal-%20Credit%20Daniel%20Penney_thumb.jpg&quot; width=&quot;240&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;     &lt;br /&gt;    &lt;p&gt;&lt;font size=&quot;1&quot;&gt;IMAGE CREDIT: DANIEL PENNEY&lt;/font&gt;&lt;/p&gt; &lt;/div&gt; Everyone has surely experienced the frustration of an overloaded desktop/laptop. You’ve just got too many apps open at one time and the performance of your machine has been slowly degrading to the point where you can select an application from the toolbar, run down to the local Starbucks, stop and chat with a friend, and return to find the application still not ready for use.   &lt;p&gt;The same thing happens on servers. Even though a web/application server is likely only running a few critical applications, the more connections and requests it tries to process the more compute resources it consumes and the slower it executes. That slow execution results in poor application performance. &lt;/p&gt;  &lt;p&gt;The solution is to free up resources. That’s typically done by adding a second server and a &lt;a title=&quot;&quot; href=&quot;http://www.f5.com/glossary/load-balancing.html&quot; rel=&quot;&quot;&gt;load balancing&lt;/a&gt;, thereby distributing the total load across two or more servers. This means each server is doing less work, which translates into faster execution times and thus better application performance. The &lt;a href=&quot;http://www.f5.com/glossary/load-balancer.html&quot;&gt;load balancer&lt;/a&gt; can also take performance into consideration when deciding which server should respond to a request. By keeping track of the response times of each application, the &lt;a title=&quot;&quot; href=&quot;http://www.f5.com/glossary/load-balancer.html&quot; rel=&quot;&quot;&gt;Load balancer&lt;/a&gt; can use an algorithm known as “fastest response time” to choose which server should respond. This distributes requests based on how fast a server responds and thus should improve overall application performance. &lt;/p&gt;  &lt;p&gt;This technique runs contrary to current consolidation initiatives, however, where the goal is to &lt;em&gt;reduce &lt;/em&gt;the total number of physical servers in an effort to reduce associated operating expenses. &lt;a href=&quot;http://www.f5.com/glossary/load-balancing.html&quot;&gt;Load balancing&lt;/a&gt; &lt;em&gt;still &lt;/em&gt;helps improve performance in this situation, even if there is only one server being used to serve an application, because it can free up resources by offloading some of the tasks typically associated with serving applications. SSL processing, &lt;a href=&quot;http://devcentral.f5.com/Wiki/default.aspx/iRules/EncryptingCookies.html&quot;&gt;cookie encryption/decryption&lt;/a&gt;, &lt;a href=&quot;http://www.f5.com/solutions/acceleration/&quot;&gt;compression, and caching&lt;/a&gt; are just a few of the ways in which “load balancing” frees up resources on servers – physical or virtual – and thus reduces the burden on servers that is causing slow execution and poor application performance. &lt;/p&gt;  &lt;p&gt;Introducing a load balancer into an architecture isn’t necessarily a panacea, but it does offers options to network and application architects looking for the means to improve application performance. &lt;/p&gt;  &lt;p style=&quot;text-transform: uppercase&quot;&gt;&lt;font size=&quot;1&quot;&gt;&lt;strong&gt;WILS&lt;/strong&gt;: &lt;em&gt;Write It Like Seth&lt;/em&gt;. &lt;a href=&quot;http://sethgodin.typepad.com/&quot;&gt;Seth Godin&lt;/a&gt; always gets his point across with brevity and wit. WILS is an ATTEMPT TO BE concise about application delivery TOPICS AND just get straight to the point. NO DILLY DALLYING AROUND. &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;http://twitter.com/lmacvittie&quot;&gt;&lt;img height=&quot;18&quot; alt=&quot;Follow me on Twitter&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_twitt-twoo-icon.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a title=&quot;Follow F5 Networks on Twitter&quot; href=&quot;http://tweepml.org/F5-Networks-Tweeple/&quot;&gt;&lt;img height=&quot;18&quot; src=&quot;http://tweepml.org/s/tweepml16.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a title=&quot;Follow F5 DevCentral on Twitter&quot; href=&quot;http://tweepml.org/F5-DevCentral/&quot;&gt;&lt;img height=&quot;18&quot; src=&quot;http://tweepml.org/s/tweepml16.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/Rss.aspx&quot;&gt;&lt;img src=&quot;http://devcentral.f5.com/Portals/0/images/Icons/icon_xml_18.gif&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://www.slideshare.net/lmacvittie&quot;&gt;&lt;img height=&quot;18&quot; alt=&quot;View Lori&#039;s profile on SlideShare&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_slideshare.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://www.linkedin.com/in/lmacvittie&quot;&gt;&lt;img src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_linkedin_16.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://www.friendfeed.com/lmacvittie&quot;&gt;&lt;img style=&quot;border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px&quot; height=&quot;16&quot; alt=&quot;friendfeed&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/friendfeed_3.jpg&quot; width=&quot;16&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/icon_facebook_2.png&quot;&gt;&lt;img style=&quot;border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px&quot; height=&quot;16&quot; alt=&quot;icon_facebook&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/icon_facebook_4.png&quot; width=&quot;16&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a title=&quot;Subscribe using any feed reader!&quot; href=&quot;http://www.addthis.com/feed.php?pub=lmacvittie&amp;amp;h1=http%3A%2F%2Fdevcentral.f5.com%2Fweblogs%2Fmacvittie%2FRss.aspx&amp;amp;t1=&quot;&gt;&lt;img height=&quot;18&quot; alt=&quot;AddThis Feed Button&quot; src=&quot;http://s9.addthis.com/button1-fd.gif&quot; width=&quot;125&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a title=&quot;Bookmark and Share&quot; onclick=&quot;window.open(&#039;http://www.addthis.com/bookmark.php?wt=nw&amp;amp;pub=lmacvittie&amp;amp;url=&#039;+encodeURIComponent(location.href)+&#039;&amp;amp;title=&#039;+encodeURIComponent(document.title), &#039;addthis&#039;, &#039;scrollbars=yes,menubar=no,width=620,height=520,resizable=yes,toolbar=no,location=no,status=no,screenX=200,screenY=100,left=200,top=100&#039;); return false;&quot; href=&quot;http://www.addthis.com/bookmark.php&quot; target=&quot;_blank&quot;&gt;&lt;img height=&quot;18&quot; alt=&quot;Bookmark and Share&quot; src=&quot;http://s9.addthis.com/button1-share.gif&quot; width=&quot;125&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;script type=&quot;text/javascript&quot; src=&quot;http://track.mybloglog.com/js/jsserv.php?mblID=2008070914270355&quot;&gt;&lt;/script&gt;&lt;/p&gt;  &lt;div class=&quot;wlWriterEditableSmartContent&quot; id=&quot;scid:0767317B-992E-4b12-91E0-4F059A8CECA8:42ceb760-821b-497a-b5cd-4c2a8bd4a7af&quot; style=&quot;padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px&quot;&gt;Technorati Tags: &lt;a href=&quot;http://technorati.com/tags/MacVittie&quot; rel=&quot;tag&quot;&gt;MacVittie&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/F5&quot; rel=&quot;tag&quot;&gt;F5&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/load+balancer&quot; rel=&quot;tag&quot;&gt;load balancer&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/load+balancing&quot; rel=&quot;tag&quot;&gt;load balancing&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/offload&quot; rel=&quot;tag&quot;&gt;offload&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/SSL&quot; rel=&quot;tag&quot;&gt;SSL&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/caching&quot; rel=&quot;tag&quot;&gt;caching&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/optimization&quot; rel=&quot;tag&quot;&gt;optimization&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/acceleration&quot; rel=&quot;tag&quot;&gt;acceleration&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/performance&quot; rel=&quot;tag&quot;&gt;performance&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/cookies&quot; rel=&quot;tag&quot;&gt;cookies&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/encryption&quot; rel=&quot;tag&quot;&gt;encryption&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/decryption&quot; rel=&quot;tag&quot;&gt;decryption&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/architecture&quot; rel=&quot;tag&quot;&gt;architecture&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/web&quot; rel=&quot;tag&quot;&gt;web&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/internet&quot; rel=&quot;tag&quot;&gt;internet&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/blog&quot; rel=&quot;tag&quot;&gt;blog&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/WILS&quot; rel=&quot;tag&quot;&gt;WILS&lt;/a&gt;&lt;/div&gt;  &lt;p&gt;Related blogs &amp;amp; articles: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/09/23/concise-guide-to-load-balancing.aspx&quot;&gt;WILS: The Concise Guide to *-Load Balancing&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/09/15/network-application-load-balancing.aspx&quot;&gt;WILS: Network Load Balancing versus Application Load Balancing&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/08/12/wils-infosec-needs-to-focus-on-access-not-protection.aspx&quot;&gt;WILS: InfoSec Needs to Focus on Access not Protection&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/08/03/wils-applications-should-be-like-sith-lords.aspx&quot;&gt;WILS: Applications Should Be Like Sith Lords&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/08/27/wils-cloud-changes-how-but-not-what.aspx&quot;&gt;WILS: Cloud Changes How But Not What&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/08/20/application-acceleration-versus-optimization.aspx&quot;&gt;WILS: Application Acceleration versus Optimization&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/09/10/wils-automation-versus-orchestration.aspx&quot;&gt;WILS: Automation versus Orchestration&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/09/17/load-balancers-are-dead-or-are-they.aspx&quot;&gt;If Load Balancers Are Dead Why Do We Keep Talking About Them?&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;&lt;img src=&quot;http://devcentral.f5.com/weblogs/macvittie/aggbug/6158.aspx&quot; width=&quot;1&quot; height=&quot;1&quot; /&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/f5/XOwx/~4/mslSvZ7mP10&quot; height=&quot;1&quot; width=&quot;1&quot;/&gt;&lt;p&gt;&lt;a href=&quot;http://lorimacvittie.sys-con.com/node/1156202&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Thu, 22 Oct 2009 07:13:38 EDT</pubDate>
 <guid isPermaLink="true">http://lorimacvittie.sys-con.com/node/1156202</guid>
 <comments>http://lorimacvittie.sys-con.com/node/1156202#feedback</comments>
</item>
<item>
 <title>Meh. It&#039;s Just Data.</title>
 <link>http://lorimacvittie.sys-con.com/node/1150416</link>
 <description>There seems to suddenly be a lot of focus on “data” and the ability for users consumers to pack up their data and take it wherever they want. Except for people attached to their i-Thing. I think users of i-Things were approached about the concept but were unable to get past the revelation that there are other “i-Things” out there from other vendors in the first place. Regardless, the core concept appears a laudable goal and rational desire. After all, the data was probably created by the consumer and thus, by most people’s definitions, they own the data. It’s theirs, so they should be able to move it hither and fro at will. But what is “data”?&lt;p&gt;&lt;a href=&quot;http://lorimacvittie.sys-con.com/node/1150416&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Tue, 20 Oct 2009 10:15:00 EDT</pubDate>
 <guid isPermaLink="true">http://lorimacvittie.sys-con.com/node/1150416</guid>
 <comments>http://lorimacvittie.sys-con.com/node/1150416#feedback</comments>
</item>
<item>
 <title>Location, Location, Location</title>
 <link>http://lorimacvittie.sys-con.com/node/1150064</link>
 <description>&lt;p&gt;&lt;em&gt;Mobile devices may still be somewhat awkward in terms of supporting rich, web-based applications but they are leaps and bounds ahead of most infrastructure in their ability to figure out where you are. &lt;/em&gt;&lt;/p&gt;  &lt;p&gt;GeoLocation technologies used to be used by &lt;a href=&quot;http://www.f5.com/glossary/load-balancing.html&quot;&gt;load balancing&lt;/a&gt; solutions to &lt;a href=&quot;http://www.datacenterknowledge.com/archives/2009/09/18/is-proximity-hosting-an-elderly-concept/&quot;&gt;address poor application performance&lt;/a&gt; across high-latency connections such as intercontinental and satellite links. While this is still an important variable in assuring application performance, especially for very large sites, GeoLocation is increasingly used to comply with legal restrictions on broadcasting, export of data and applications, and to &lt;a href=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/LocationLocationLocation_369C/image_2.png&quot;&gt;&lt;img title=&quot;image&quot; style=&quot;border-right: 0px; border-top: 0px; display: inline; margin: 5px 10px 5px 0px; border-left: 0px; border-bottom: 0px&quot; height=&quot;153&quot; alt=&quot;image&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/LocationLocationLocation_369C/image_thumb.png&quot; width=&quot;286&quot; align=&quot;left&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;provide more relevant information to users than ever before. The accuracy of the GeoLocation technology plays a huge role in the successful application of location-based services. &lt;/p&gt;  &lt;p&gt;For example, US law prohibits doing business with certain countries, so many organizations need to have a way to recognize where a user is coming from and block their access if necessary. Traditionally, this is done in the application, but this is complex, expensive, and insecure. Similarly, a broadcaster may have rights to stream the Olympics in one country, but needs to block access from other countries. And more near and dear to the hearts of many folks in the US this time of year, NFL football broadcast agreements require blackouts in local areas when games not sold out, but folks circumvent this restriction by going to the web. Accurate GeoLocation prevents those in the local area from accessing the broadcast but allows others. &lt;/p&gt;  &lt;p&gt;Generally speaking GeoLocation has been promoted as a means to &lt;em&gt;block access&lt;/em&gt;, which for many people leaves a sour taste in their mouth. It isn’t doing them any good as they aren’t trying to download, watch, or otherwise access an application that is subject to trade or export or broadcast restrictions. But GeoLocation can work &lt;em&gt;for &lt;/em&gt;people, too, and for people who might not think it’s all that important to improve the user-experience as well as provide a measure of protection against misuse of their personal, private data and accounts. &lt;/p&gt;  &lt;hr style=&quot;color: #c0c0c0&quot; width=&quot;100%&quot; noshade=&quot;noshade&quot; /&gt;&lt;strong&gt;GEOLOCATION IS FOR EVERYONE&lt;/strong&gt;  &lt;hr style=&quot;color: #c0c0c0&quot; width=&quot;100%&quot; noshade=&quot;noshade&quot; /&gt;  &lt;p&gt;First and foremost the use of GeoLocation for proximity based access to applications transparently helps everyone. Being directed to the application instance or web site that’s physically closest to you mitigates the effect of speed of light limitations on application performance. For organizations with very large web presences, this is also an efficient method of distributing resources as scaling out an application in New York, where there are millions of users, but not in Topeka, Kansas where there might be only a few thousand makes better use of compute resources in general. But before you can determine where to best allocate resources you have to know &lt;em&gt;where &lt;/em&gt;users are located and that requires an accurate GeoLocation technology. &lt;/p&gt;  &lt;p&gt;Consider the potential use of GeoLocation in real-time identity theft recognition. If you’re required to enter the credit card number and a billing zipcode and it turns out that you’re actually using the card in a completely different zipcode, a second security check could be required – perhaps you have to provide some snippet of information prearranged with the provider – before you can conclude the transaction. Inconvenient if you travel a lot, to be sure, but those few seconds of inconvenience might prevent the use of your credit card by some miscreant simply because they weren’t physically in an expected location. Fraud detection systems already perform this type of check when the transaction occurs using a physical (POS) terminal, but not necessarily when the transaction is completely web-based. &lt;/p&gt;  &lt;p&gt;Similarly, and &lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/07/29/denied.aspx&quot;&gt;we’ve talked about this before&lt;/a&gt;, what if cloud-based applications like social networking sites were imbued with the ability to recognize that usually you access the application from location X and thus an attempt to access from location Y might mean you’re traveling, or it might mean malicious activity? And it took steps to further verify that you are you, and not some miscreant hijacking your account? &lt;/p&gt;  &lt;p&gt;And what if other sites were smart enough to recognize where you were without you needing to change some setting somewhere, so that when you &lt;em&gt;did &lt;/em&gt;travel and you looked up “weather.com” it automatically detected &lt;em&gt;where you were&lt;/em&gt; and gave you the weather report for that zipcode? What about search engines? Wouldn’t it be nice if you’re out traveling and hit a search engine to find a restaurant and it ranked based on proximity to your &lt;em&gt;current &lt;/em&gt;location, too? Searching for your favorite restaurant chain or hotel, for example, would prioritize the local locations first. &lt;/p&gt;  &lt;p&gt;Indeed, if &lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/07/09/cloud-balancing-cloud-bursting-and-intercloud.aspx&quot;&gt;Intercloud and cloudbalancing&lt;/a&gt; is to be achieved GeoLocation will need to be a part of the implementation as location impacts performance and other application-specific content availability. Decisions about which instance of the application a user should be directed will certainly need to incorporate location as one of the variables that make up a request’s context.  &lt;/p&gt;  &lt;p align=&quot;justify&quot;&gt;Yes, I know the iPhone has an app for that – because it’s GPS-enabled and the accuracy of that information is highly trustable. But on the web it’s not always been the case that GeoLocation-based lookups were accurate enough to limit functionality or access or provide location-based services. But they’ve come of age, and location is one of the pieces of the &lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2008/12/02/the-context-aware-cloud.aspx&quot;&gt;contextual puzzle that will help “the cloud” become more aware&lt;/a&gt; and intelligent about decisions that could – or should – involve location.&lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;http://twitter.com/lmacvittie&quot;&gt;&lt;img height=&quot;18&quot; alt=&quot;Follow me on Twitter&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_twitt-twoo-icon.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a title=&quot;Follow F5 Networks on Twitter&quot; href=&quot;http://tweepml.org/F5-Networks-Tweeple/&quot;&gt;&lt;img height=&quot;18&quot; src=&quot;http://tweepml.org/s/tweepml16.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a title=&quot;Follow F5 DevCentral on Twitter&quot; href=&quot;http://tweepml.org/F5-DevCentral/&quot;&gt;&lt;img height=&quot;18&quot; src=&quot;http://tweepml.org/s/tweepml16.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/Rss.aspx&quot;&gt;&lt;img src=&quot;http://devcentral.f5.com/Portals/0/images/Icons/icon_xml_18.gif&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://www.slideshare.net/lmacvittie&quot;&gt;&lt;img height=&quot;18&quot; alt=&quot;View Lori&#039;s profile on SlideShare&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_slideshare.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://www.linkedin.com/in/lmacvittie&quot;&gt;&lt;img src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_linkedin_16.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://www.friendfeed.com/lmacvittie&quot;&gt;&lt;img style=&quot;border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px&quot; height=&quot;16&quot; alt=&quot;friendfeed&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/friendfeed_3.jpg&quot; width=&quot;16&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/icon_facebook_2.png&quot;&gt;&lt;img style=&quot;border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px&quot; height=&quot;16&quot; alt=&quot;icon_facebook&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/icon_facebook_4.png&quot; width=&quot;16&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a title=&quot;Subscribe using any feed reader!&quot; href=&quot;http://www.addthis.com/feed.php?pub=lmacvittie&amp;amp;h1=http%3A%2F%2Fdevcentral.f5.com%2Fweblogs%2Fmacvittie%2FRss.aspx&amp;amp;t1=&quot;&gt;&lt;img height=&quot;18&quot; alt=&quot;AddThis Feed Button&quot; src=&quot;http://s9.addthis.com/button1-fd.gif&quot; width=&quot;125&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a title=&quot;Bookmark and Share&quot; onclick=&quot;window.open(&#039;http://www.addthis.com/bookmark.php?wt=nw&amp;amp;pub=lmacvittie&amp;amp;url=&#039;+encodeURIComponent(location.href)+&#039;&amp;amp;title=&#039;+encodeURIComponent(document.title), &#039;addthis&#039;, &#039;scrollbars=yes,menubar=no,width=620,height=520,resizable=yes,toolbar=no,location=no,status=no,screenX=200,screenY=100,left=200,top=100&#039;); return false;&quot; href=&quot;http://www.addthis.com/bookmark.php&quot; target=&quot;_blank&quot;&gt;&lt;img height=&quot;18&quot; alt=&quot;Bookmark and Share&quot; src=&quot;http://s9.addthis.com/button1-share.gif&quot; width=&quot;125&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;script type=&quot;text/javascript&quot; src=&quot;http://track.mybloglog.com/js/jsserv.php?mblID=2008070914270355&quot;&gt;&lt;/script&gt;&lt;/p&gt;  &lt;div class=&quot;wlWriterEditableSmartContent&quot; id=&quot;scid:0767317B-992E-4b12-91E0-4F059A8CECA8:103003cc-8a9d-4280-868c-1a5504fe3157&quot; style=&quot;padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px&quot;&gt;Technorati Tags: &lt;a href=&quot;http://technorati.com/tags/MacVittie&quot; rel=&quot;tag&quot;&gt;MacVittie&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/F5&quot; rel=&quot;tag&quot;&gt;F5&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/intercloud&quot; rel=&quot;tag&quot;&gt;intercloud&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/cloud&quot; rel=&quot;tag&quot;&gt;cloud&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/cloud+balancing&quot; rel=&quot;tag&quot;&gt;cloud balancing&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/geolocation&quot; rel=&quot;tag&quot;&gt;geolocation&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/gps&quot; rel=&quot;tag&quot;&gt;gps&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/location&quot; rel=&quot;tag&quot;&gt;location&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/context&quot; rel=&quot;tag&quot;&gt;context&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/global+application+delivery&quot; rel=&quot;tag&quot;&gt;global application delivery&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/web&quot; rel=&quot;tag&quot;&gt;web&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/internet&quot; rel=&quot;tag&quot;&gt;internet&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/blog&quot; rel=&quot;tag&quot;&gt;blog&lt;/a&gt;&lt;/div&gt;  &lt;p&gt;Related Blogs &amp;amp; Articles: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;holder&lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://www.datacenterknowledge.com/archives/2009/09/18/is-proximity-hosting-an-elderly-concept/&quot;&gt;Is Proximity Hosting an Elderly Concept?&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/07/09/cloud-balancing-cloud-bursting-and-intercloud.aspx&quot;&gt;Cloud Balancing, Cloud Bursting, and Intercloud&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/06/30/intercloud-the-evolution-of-global-application-delivery.aspx&quot;&gt;Intercloud: The Evolution of Global Application Delivery&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2008/12/02/the-context-aware-cloud.aspx&quot;&gt;The Context-Aware Cloud&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/06/09/the-infrastructure-2.0-trifecta.aspx&quot;&gt;The Infrastructure 2.0 Trifecta&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/07/29/denied.aspx&quot;&gt;Denied!&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/04/30/picard-and-dathon-at-el-adrel.aspx&quot;&gt;Picard and Dathon at El-Adrel&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/03/12/windows-vista-performance-issue-illustrates-importance-of-context.aspx&quot;&gt;Windows Vista Performance Issue Illustrates Importance of Context&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/01/28/infrastructure-2.0-as-a-matter-of-fact-that-isnt-what.aspx&quot;&gt;Infrastructure 2.0: As a matter of fact that isn&#039;t what it means&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;&lt;img src=&quot;http://devcentral.f5.com/weblogs/macvittie/aggbug/6154.aspx&quot; width=&quot;1&quot; height=&quot;1&quot; /&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/f5/XOwx/~4/_YyEj-7AC_A&quot; height=&quot;1&quot; width=&quot;1&quot;/&gt;&lt;p&gt;&lt;a href=&quot;http://lorimacvittie.sys-con.com/node/1150064&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Mon, 19 Oct 2009 07:15:10 EDT</pubDate>
 <guid isPermaLink="true">http://lorimacvittie.sys-con.com/node/1150064</guid>
 <comments>http://lorimacvittie.sys-con.com/node/1150064#feedback</comments>
</item>
<item>
 <title>Amazon Elastic Load Balancing Only Simple On the Outside</title>
 <link>http://lorimacvittie.sys-con.com/node/1146867</link>
 <description>The notion of Elastic Load Balancing, as recently brought to public attention by Amazon’s offering of the capability, is nothing new. The basic concept is pure Infrastructure 2.0 and the functionality offered via the API has long been available on several application delivery controllers for many years. In fact, looking through the options for Amazon’s offering leaves me feeling a bit, oh, 1999. As if load balancing hasn’t evolved far beyond the very limited subset of capabilities exposed by Amazon’s API.

That said, that’s just the view from the outside.

Though Amazon’s ELB might be rudimentary in what it exposes to the public it is certainly anything but primitive in its use of SOA and as a prime example of the power of Infrastructure 2.0. In fact, with the exception of GoGrid’s integrated load balancing capabilities, provisioned and managed via a web-based interface, there aren’t many good, public examples of Infrastructure 2.0 in action. Not only has Amazon leveraged Infrastructure 2.0 concepts with its implementation but it has further taken advantage of SOA in the way it was meant to be used.&lt;p&gt;&lt;a href=&quot;http://lorimacvittie.sys-con.com/node/1146867&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Fri, 16 Oct 2009 09:00:00 EDT</pubDate>
 <guid isPermaLink="true">http://lorimacvittie.sys-con.com/node/1146867</guid>
 <comments>http://lorimacvittie.sys-con.com/node/1146867#feedback</comments>
</item>
<item>
 <title>Putting a Price on Uptime</title>
 <link>http://lorimacvittie.sys-con.com/node/1146988</link>
 <description>&lt;p&gt;&lt;em&gt;A lack of ability in the cloud to distinguish illegitimate from legitimate requests could lead to unanticipated costs in the wake of an attack. How do you put a price on uptime and more importantly, who should pay for it? &lt;/em&gt;&lt;/p&gt;  &lt;p&gt;A “Perfect Cloud”, in my opinion, would be one in which the cloud provider’s infrastructure intelligently manages availability and performance such that when it’s necessary new instances of an application are launched to ensure meeting the customer’s defined performance and availability thresholds. You know, on-demand scalability that requires no manual intervention. It just “happens” the way it should. &lt;/p&gt;  &lt;p&gt;Several providers have all the components necessary to achieve a “perfect cloud” implementation, though at the nonce it may require that customers specifically subscribe to one or more services necessary. For example, if you combine Amazon EC2 with &lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/10/15/amazon-elastic-load-balancing-only-simple-on-the-outside.aspx&quot;&gt;Amazon ELB&lt;/a&gt;, Cloud Watch, and Auto Scaling, you’ve pretty much got the components necessary for a perfect cloud environment: automated scalability based on real-time performance and availability of your EC2 deployed application. &lt;/p&gt;  &lt;p&gt;Cool, right? &lt;/p&gt;  &lt;p&gt;Absolutely. Except when something &lt;em&gt;nasty &lt;/em&gt;happens and your application automatically scales itself up to serve…no one. &lt;/p&gt;  &lt;hr style=&quot;color: #c0c0c0&quot; width=&quot;100%&quot; noshade=&quot;noshade&quot; /&gt;&lt;strong&gt;AUTOMATIC REACTIONS CAN BE GOOD – AND BAD&lt;/strong&gt;   &lt;hr style=&quot;color: #c0c0c0&quot; width=&quot;100%&quot; noshade=&quot;noshade&quot; /&gt;  &lt;p&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/10/09/the-thing-private-clouds-can-do-that-public-clouds-canrsquot.aspx&quot;&gt;BitBucket’s recent experience with DDoS&lt;/a&gt; shows that no security infrastructure is perfect; there’s always a chance that something will sneak by the layers of defense put into place by IT whether that’s in the local data center or in a cloud environment. The difference is in how the infrastructure reacts, and what it costs the customer. &lt;/p&gt;  &lt;p&gt;Now, a DDoS such as the one that apparently targeted BitBucket was a UDP-based attack, meaning it was designed to flood the network and infrastructure and &lt;em&gt;not &lt;/em&gt;the application. It was trying to interrupt service by chewing up bandwidth and resources on the infrastructure. Other types of DDoS, like a &lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2008/07/08/3429.aspx&quot;&gt;Layer 7 DDoS&lt;/a&gt;, specifically attack the &lt;em&gt;application&lt;/em&gt;, which could potentially consume &lt;em&gt;its &lt;/em&gt;resources which in turn triggers the automatic scaling processes which could result in a whole lot of money being thrown out the nearest window. &lt;/p&gt;  &lt;p&gt;Consider the scenario: &lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;An application is deployed in the cloud. The cloud is configured to automatically scale up (launch additional instances) based on response time thresholds. &lt;/li&gt;    &lt;li&gt;A Layer 7 DDoS is launched against the application. Layer 7 DDoS is difficult to detect and prevent, and without the proper infrastructure in place it is unlikely to be detected by the infrastructure and even less likely to be detected by the application. &lt;/li&gt;    &lt;li&gt;The DDoS consumes all the resources on the application instance, degrading response time, so the infrastructure launches a &lt;em&gt;second &lt;/em&gt;instance, and requests are load balanced across both application instances. &lt;/li&gt;    &lt;li&gt;The DDoS attack now automatically targets two application instances, and continues to consume resources until the infrastructure detects degradation beyond specified thresholds and automatically triggers the launch of &lt;em&gt;another &lt;/em&gt;instance. &lt;/li&gt;    &lt;li&gt;Wash. Rinse. Repeat. &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;How many instances would need to be launched before it was noticed by a human being and it was realized that the “users” were really miscreants? &lt;/p&gt;  &lt;p&gt;More importantly for the customer, how much would such an attack cost them? &lt;/p&gt;  &lt;hr style=&quot;color: #c0c0c0&quot; width=&quot;100%&quot; noshade=&quot;noshade&quot; /&gt;&lt;strong&gt;THIS SOUNDS LIKE A JOB FOR CONTEXTUALLY-AWARE INFRASTRUCTURE&lt;/strong&gt;   &lt;hr style=&quot;color: #c0c0c0&quot; width=&quot;100%&quot; noshade=&quot;noshade&quot; /&gt;  &lt;p&gt;The reason the perfect cloud is potentially a danger to the customer’s budget is that it currently &lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2008/12/02/the-context-aware-cloud.aspx&quot;&gt;lacks the context necessary&lt;/a&gt; to distinguish good requests from bad requests. Cloud today, and most environments if we’re honest, lack the ability to examine requests in the context of the big picture. That is, it doesn’t look at a single request as part of a larger set of requests, it treats each one individually as a unique request requiring service by an application. &lt;/p&gt;  &lt;p&gt;Without the awareness of the context in which such requests are made, the cloud infrastructure is incapable of detecting and preventing attacks that could &lt;a href=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/WhoPaysForInfiniteScaleintheFaceofanAtta_E762/context_2.jpg&quot;&gt;&lt;img title=&quot;context&quot; style=&quot;border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; margin: 5px 0px 5px 10px; border-right-width: 0px&quot; height=&quot;254&quot; alt=&quot;context&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/WhoPaysForInfiniteScaleintheFaceofanAtta_E762/context_thumb.jpg&quot; width=&quot;278&quot; align=&quot;right&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; potentially lead to customer’s incurring costs well beyond what they expected to incur. The cost of an attack in the local data center might be a loss of availability, an application might crash and require the poor guy on call to come in and deal with the situation, but in terms of monetary costs it is virtually “free” to the organization, excepting the potential loss of revenue from customers unable to buy widgets who refuse to return later. &lt;/p&gt;  &lt;p&gt;But in the cloud, this &lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/08/05/cloud-changes-cost-of-attacks.aspx&quot;&gt;lack of context could be financially devastating&lt;/a&gt;. An attack moves at the speed of the Internet, and a perfect cloud is hopefully designed to react just as quickly. Just how many instances would be launch – incurring costs to the customer – before such an attack was detected? For all the monitoring offered by providers today it’s not clear whether any of them can discern and attack scenario from a seasonal rush of traffic, and it’s further not clear what the infrastructure would do about it if it could. &lt;/p&gt;  &lt;p&gt;And once we add in the concept of &lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/07/09/cloud-balancing-cloud-bursting-and-intercloud.aspx&quot;&gt;intercloud&lt;/a&gt;, this situation could get downright ugly. The premise is that if an application is unavailable at cloud provider X according to the customer’s defined thresholds, that requests would be directed to another instance of the application in another cloud, and maybe even a third cloud. How many cloud deployed versions of an application could potentially be affected by a single, well-executed attack? The costs and reach of such a scenario boggle the mind. &lt;/p&gt;  &lt;p&gt;My definition of a perfect cloud, methinks, needs to be adjusted slightly. A perfect cloud, therefore, in addition to its ability to automatically scale an application to meet demand &lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/09/28/web-application-security-at-the-edge-is-more-efficient-than.aspx&quot;&gt;must also be able to discern between illegitimate and legitimate users and provide the means by which illegitimate requests are ignored&lt;/a&gt; while legitimate requests are processed and only scaling when &lt;em&gt;legitimate &lt;/em&gt;volumes of requests require such. &lt;/p&gt;  &lt;p /&gt;  &lt;hr style=&quot;color: #c0c0c0&quot; width=&quot;100%&quot; noshade=&quot;noshade&quot; /&gt;&lt;strong&gt;PUTTING A PRICE ON UPTIME&lt;/strong&gt;   &lt;hr style=&quot;color: #c0c0c0&quot; width=&quot;100%&quot; noshade=&quot;noshade&quot; /&gt;The question I think many people have, I know I certainly do, is who pays for the resulting cost of such an attack?   &lt;p /&gt;  &lt;p&gt;It’s often been said that it’s difficult if not impossible to put a price on downtime, but what about uptime? What about the cost incurred by the launch of additional instances of an application in the face of an attack? An attack that cannot be reasonably detected by an application? An attack that is clearly the responsibility of the infrastructure to detect and prevent; the infrastructure over which the customer, by definition and design, has no control? &lt;/p&gt;  &lt;p&gt;Who should pay for that? The customer, as a price of deploying applications in the cloud, or the provider, as a penalty for failing to provide a robust enough infrastructure to prevent it? &lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;http://twitter.com/lmacvittie&quot;&gt;&lt;img height=&quot;18&quot; alt=&quot;Follow me on Twitter&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_twitt-twoo-icon.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a title=&quot;Follow F5 Networks on Twitter&quot; href=&quot;http://tweepml.org/F5-Networks-Tweeple/&quot;&gt;&lt;img height=&quot;18&quot; src=&quot;http://tweepml.org/s/tweepml16.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a title=&quot;Follow F5 DevCentral on Twitter&quot; href=&quot;http://tweepml.org/F5-DevCentral/&quot;&gt;&lt;img height=&quot;18&quot; src=&quot;http://tweepml.org/s/tweepml16.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/Rss.aspx&quot;&gt;&lt;img src=&quot;http://devcentral.f5.com/Portals/0/images/Icons/icon_xml_18.gif&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://www.slideshare.net/lmacvittie&quot;&gt;&lt;img height=&quot;18&quot; alt=&quot;View Lori&#039;s profile on SlideShare&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_slideshare.png&quot; width=&quot;18&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://www.linkedin.com/in/lmacvittie&quot;&gt;&lt;img src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_linkedin_16.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://www.friendfeed.com/lmacvittie&quot;&gt;&lt;img style=&quot;border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px&quot; height=&quot;16&quot; alt=&quot;friendfeed&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/friendfeed_3.jpg&quot; width=&quot;16&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/icon_facebook_2.png&quot;&gt;&lt;img style=&quot;border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px&quot; height=&quot;16&quot; alt=&quot;icon_facebook&quot; src=&quot;http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/icon_facebook_4.png&quot; width=&quot;16&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a title=&quot;Subscribe using any feed reader!&quot; href=&quot;http://www.addthis.com/feed.php?pub=lmacvittie&amp;amp;h1=http%3A%2F%2Fdevcentral.f5.com%2Fweblogs%2Fmacvittie%2FRss.aspx&amp;amp;t1=&quot;&gt;&lt;img height=&quot;18&quot; alt=&quot;AddThis Feed Button&quot; src=&quot;http://s9.addthis.com/button1-fd.gif&quot; width=&quot;125&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a title=&quot;Bookmark and Share&quot; onclick=&quot;window.open(&#039;http://www.addthis.com/bookmark.php?wt=nw&amp;amp;pub=lmacvittie&amp;amp;url=&#039;+encodeURIComponent(location.href)+&#039;&amp;amp;title=&#039;+encodeURIComponent(document.title), &#039;addthis&#039;, &#039;scrollbars=yes,menubar=no,width=620,height=520,resizable=yes,toolbar=no,location=no,status=no,screenX=200,screenY=100,left=200,top=100&#039;); return false;&quot; href=&quot;http://www.addthis.com/bookmark.php&quot; target=&quot;_blank&quot;&gt;&lt;img height=&quot;18&quot; alt=&quot;Bookmark and Share&quot; src=&quot;http://s9.addthis.com/button1-share.gif&quot; width=&quot;125&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;script type=&quot;text/javascript&quot; src=&quot;http://track.mybloglog.com/js/jsserv.php?mblID=2008070914270355&quot;&gt;&lt;/script&gt;&lt;/p&gt;  &lt;div class=&quot;wlWriterEditableSmartContent&quot; id=&quot;scid:0767317B-992E-4b12-91E0-4F059A8CECA8:b3b1e99d-4531-4ac1-bb11-f7db55ad1e5c&quot; style=&quot;padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px&quot;&gt;Technorati Tags: &lt;a href=&quot;http://technorati.com/tags/MacVittie&quot; rel=&quot;tag&quot;&gt;MacVittie&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/F5&quot; rel=&quot;tag&quot;&gt;F5&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/application+delivery&quot; rel=&quot;tag&quot;&gt;application delivery&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/cloud&quot; rel=&quot;tag&quot;&gt;cloud&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/context-aware&quot; rel=&quot;tag&quot;&gt;context-aware&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/security&quot; rel=&quot;tag&quot;&gt;security&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/web+application+security&quot; rel=&quot;tag&quot;&gt;web application security&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/scalability&quot; rel=&quot;tag&quot;&gt;scalability&lt;/a&gt;&lt;/div&gt;  &lt;p&gt;Related blogs &amp;amp; articles: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/08/05/cloud-changes-cost-of-attacks.aspx&quot;&gt;Cloud Changes Cost of Attacks&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/07/09/cloud-balancing-cloud-bursting-and-intercloud.aspx&quot;&gt;Cloud Balancing, Cloud Bursting, and Intercloud&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/06/30/intercloud-the-evolution-of-global-application-delivery.aspx&quot;&gt;Intercloud: The Evolution of Global Application Delivery&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2008/12/02/the-context-aware-cloud.aspx&quot;&gt;The Context-Aware Cloud&lt;/a&gt;  &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/06/09/the-infrastructure-2.0-trifecta.aspx&quot;&gt;The Infrastructure 2.0 Trifecta&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/10/15/amazon-elastic-load-balancing-only-simple-on-the-outside.aspx&quot;&gt;Amazon Elastic Load Balancing Only Simple On the Outside&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/09/28/web-application-security-at-the-edge-is-more-efficient-than.aspx&quot;&gt;Web Application Security at the Edge is More Efficient Than In the Application&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2008/07/08/3429.aspx&quot;&gt;Layer 4 vs Layer 7 DoS Attack&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/07/14/an-unhackable-server-is-still-vulnerable.aspx&quot;&gt;An Unhackable Server is Still Vulnerable&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://devcentral.f5.com/weblogs/macvittie/archive/2009/05/21/the-it-security-flowchart.aspx&quot;&gt;The IT Security Flowchart&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;&lt;img src=&quot;http://devcentral.f5.com/weblogs/macvittie/aggbug/6152.aspx&quot; width=&quot;1&quot; height=&quot;1&quot; /&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/f5/XOwx/~4/3_IZ2eRDW_0&quot; height=&quot;1&quot; width=&quot;1&quot;/&gt;&lt;p&gt;&lt;a href=&quot;http://lorimacvittie.sys-con.com/node/1146988&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Fri, 16 Oct 2009 06:15:00 EDT</pubDate>
 <guid isPermaLink="true">http://lorimacvittie.sys-con.com/node/1146988</guid>
 <comments>http://lorimacvittie.sys-con.com/node/1146988#feedback</comments>
</item>
<item>
 <title>Dynamic Infrastructure Makes Static Connection Limitations Obsolete</title>
 <link>http://lorimacvittie.sys-con.com/node/1145089</link>
 <description>&lt;p&gt;&lt;em&gt;One of the benefits of Infrastructure 2.0 is connectedness: the ability to collect and share pertinent data regarding the health and performance of applications and infrastructure services. Based on that data a dynamic infrastructure can adapt on-demand and make decisions that respect &lt;/em&gt;real &lt;em&gt;capacity limits, not artificial ones. &lt;/em&gt;&lt;/p&gt;  &lt;p&gt;Randy Hayes writes “&lt;a href=&quot;http://capcalblog.blogspot.com/&quot;&gt;The CapCal Blog&lt;/a&gt;”, and describes CapCal as being about “measuring the performance and scalability of web apps using real, production level workloads.” In &lt;a href=&quot;http://capcalblog.blogspot.com/2009/09/very-delicate-load-balancing-act.html&quot;&gt;A Very Delicate Load Balancing Act&lt;/a&gt; he discusses the impact of load balancing configurations on the capacity and performance of applications. &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;Everyone knows what a load balancer is but exactly what it does and how it goes about doing it are often mysterious. Since every single page request goes through the load balancer, how it is configured and what its capacity is can have everything to do with how well an application performs under load. For example, the maximum number of connections is a configurable parameter that is often very low in its default setting.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Randy goes on to discuss how the artificial connection limits on the &lt;a href=&quot;http://www.f5.com/glossary/load-balancer.html&quot;&gt;load balancer&lt;/a&gt; in his scenario negatively affected the ability of the application to scale and perform up to expectations, and conversely how increasing that limit improved performance. This makes sense; the &lt;a href=&quot;http://www.f5.com/products/big-ip/&quot;&gt;load balancer/application delivery controller&lt;/a&gt; is often the “first point of contact” for the user as it is the device – virtual or hardware – that brokers requests between client and server. &lt;/p&gt;  &lt;p&gt;But it’s not just a matter of artificial limits on the load balancer itself, it’s a matter of artificial connection limits throughout the load balancer’s configuration. You can, for example, limit the total number of connections available to the “virtual network server”, i.e. the public facing server, as well as limiting on a per-node basis, i.e. server or application instance. So if you’re in a situation such as described by Randy, you may have to tweak multiple configuration settings across the load balancer/application delivery controller in order to increase connection capacity across the entire system. &lt;/p&gt;  &lt;p&gt;Or you could just trust the system and let &lt;em&gt;it &lt;/em&gt;determine real-time capacity instead. &lt;/p&gt;  &lt;p&gt;   &lt;/p&gt;&lt;hr style=&quot;color: #c0c0c0&quot; width=&quot;100%&quot; noshade=&quot;noshade&quot; /&gt;&lt;strong&gt;WHERE ARTIFICIAL LIMITS COME FROM&lt;/strong&gt;    &lt;hr style=&quot;color: #c0c0c0&quot; width=&quot;100%&quot; noshade=&quot;noshade&q