<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:copyright="http://blogs.law.harvard.edu/tech/rss" xmlns:image="http://purl.org/rss/1.0/modules/image/">
    <channel>
        <title>Development and General</title>
        <link>http://devcentral.f5.com/weblogs/macvittie/category/102.aspx</link>
        <description>All development topics not related to iControl or iRules</description>
        <language>en-US</language>
        <copyright>Lori MacVittie</copyright>
        <managingEditor>l.macvittie@f5.com</managingEditor>
        <generator>Subtext Version 1.9.5.176</generator>
        <item>
            <title>As a Service: The many faces of the cloud</title>
            <link>http://devcentral.f5.com/weblogs/macvittie/archive/2008/11/20/as-a-service-the-many-faces-of-the-cloud.aspx</link>
            <description>&lt;p&gt;Last month I happened across &lt;a href="http://www.appistry.com/blogs/sam/the-blind-men-and-cloud"&gt;this amusing, and ironic, poem&lt;/a&gt; describing the dichotomy that exists in trying to define cloud computing. Go ahead and read it, I'll wait, it's worth the time. Seriously. &lt;/p&gt;  &lt;p&gt;I am not going to define cloud computing again. I've &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2008/11/05/cloud-computing-the-last-definition-youll-ever-need.aspx"&gt;done that already&lt;/a&gt; and the point of this discussion is not what &lt;em&gt;is &lt;/em&gt;cloud computing but rather how the cloud is beginning to separate into distinct models, each serving a different set of needs. The common theme between these models is "as a service". Some "thing" traditionally relegated to the local IT data center is being offered in the cloud, as a service. The list is growing, but it appears that we'll likely end up with three service models for the cloud: software, infrastructure, and platforms. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;SOFTWARE AS A SERVICE (SaaS)&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Software as a Service (SaaS) was pioneered and proven as a successful model by &lt;a href="http://www.salesforce.com"&gt;salesforce.com&lt;/a&gt;, and has since been duplicated successfully by myriad other vendors. The SaaS model works on the assumption that all enterprises need is the ability to customize and integrate software (which is, for the most part, true of a wide variety of software offerings) and need not (a) reinvent the wheel or (b) worry about the actual implementation/deployment details. &lt;/p&gt;  &lt;p&gt;SaaS is a good choice when: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;You need software to support common business processes like customer relationship management &lt;/li&gt;    &lt;li&gt;You need some customization but it is primarily at the data level and not at the application logic level &lt;/li&gt;    &lt;li&gt;The software in question needs to support a geographically diverse pool of employees &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;PLATFORM AS A SERVICE (PaaS)&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Platform as a Service (PaaS) is a somewhat emerging concept that is gaining traction for several reasons. PaaS is based on the premise that you want or need a development and deployment platform in the cloud and are willing to essentially outsource the platform to a cloud computing provider because you want to ultimately deploy the application you are developing in the cloud. PaaS moves the development and deployment platform "into the cloud". For a good example of a PaaS, check out &lt;a href="http://www.bungeeconnect.com/"&gt;Bungee&lt;/a&gt; or &lt;a href="http://googleappengine.blogspot.com/2008/04/introducing-google-app-engine-our-new.html"&gt;Google App Engine&lt;/a&gt;.  &lt;/p&gt;  &lt;p&gt;PaaS is a good choice when: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;You want to deploy an application into the cloud but aren't interested in dealing with a virtualized infrastructure &lt;/li&gt;    &lt;li&gt;You want to try out an application to test adoption or interest but don't have the budget to invest in the necessary infrastructure &lt;/li&gt;    &lt;li&gt;You would otherwise build a departmental level applications that would traditionally be served from an unmanaged server hiding under someone's desk &lt;/li&gt;    &lt;li&gt;You're a startup whose offering will be a web based application &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;INFRASTRUCTURE AS A SERVICE (IaaS)&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Lastly, we have Infrastructure as a Service (IaaS). IaaS is what most people think of when they hear the term "cloud computing". This model essentially leases out infrastructure resources on which applications are deployed. The applications are then able to scale up and down as necessary, on-demand, using the provider's infrastructure - saving the organization a lot of capital expenditures and operating expenses in acquiring, deploying, configuring, and managing the infrastructure. &lt;/p&gt;  &lt;p&gt;IaaS often takes the form of virtualized computing environments, leveraging virtual images to alleviate the typical problems associated with remote hosting of applications in aligning operating systems, application servers, hardware, and other application specific details with the needs of the customer. Virtualized computing environments allow the customer to configure and deploy the application in a virtual image locally and then execute it within a remote environment without worrying about the underlying server and network infrastructure. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.bluelock.com"&gt;BlueLock&lt;/a&gt; and &lt;a href="http://www.amazon.com"&gt;Amazon EC2&lt;/a&gt; are good examples of IaaS providers. &lt;/p&gt;  &lt;p&gt;IaaS is a good choice when: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;You need a second data center for disaster recovery only but the investment in land, building, and infrastructure is too costly &lt;/li&gt;    &lt;li&gt;You have a need for seasonal capacity but the revenue generated during those times would be diluted or erased by investing in the infrastructure to support the rushes &lt;/li&gt;    &lt;li&gt;You want to leverage geographical based global load balancing to better serve international visitors but wish to avoid the investment in multiple data centers or hassle of co-locating servers around the globe &lt;/li&gt;    &lt;li&gt;You want to use the cloud to host bandwidth or storage intense resources (video, images) and integrate them with your applications to offset the cost of more bandwidth or a new storage infrastructure. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/AsaServiceThemanyfacesofthecloud_3694/buzzwordbingo-thispost_2.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; margin: 0px 10px 0px 0px; border-left: 0px; border-bottom: 0px" height="240" alt="buzzwordbingo-thispost" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/AsaServiceThemanyfacesofthecloud_3694/buzzwordbingo-thispost_thumb.jpg" width="240" align="left" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;Yes, cloud computing is very much part of the &lt;a href="http://petdance.com/bingo/"&gt;buzzword bingo&lt;/a&gt; game today (I failed to win, as you can see, but I'll try harder next time), but there are real benefits and valid reasons for looking into it right now. Don't let the hype surrounding cloud computing distract you from the potential benefits, but don't drink the kool aid too deeply, either, and &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2008/08/28/3567.aspx"&gt;commit to a model that isn't a good fit for you and your needs&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://twitter.com/lmacvittie"&gt;&lt;img height="18" alt="Follow me on Twitter" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_twitt-twoo-icon.png" width="18" border="0" /&gt;&lt;/a&gt; &lt;a href="http://devcentral.f5.com/weblogs/macvittie/Rss.aspx"&gt;&lt;img src="http://devcentral.f5.com/Portals/0/images/Icons/icon_xml_18.gif" border="0" /&gt;&lt;/a&gt;&lt;a href="http://www.slideshare.net/lmacvittie"&gt;&lt;img height="18" alt="View Lori's profile on SlideShare" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_slideshare.png" width="18" border="0" /&gt;&lt;/a&gt;&lt;a href="http://lmacvittie.tumblr.com" border="0"&gt;&lt;img title="Follow me on Tumblr" height="18" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_tumblr.gif" width="18" border="0" /&gt;&lt;/a&gt; &lt;a href="http://lmacvittie.posterous.com/"&gt;&lt;img title="Posterous" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_posterous.png" border="0" /&gt;&lt;/a&gt; &lt;a href="http://www.linkedin.com/in/lmacvittie"&gt;&lt;img src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_linkedin_16.png" border="0" /&gt;&lt;/a&gt; &lt;a title="Subscribe using any feed reader!" href="http://www.addthis.com/feed.php?pub=lmacvittie&amp;amp;h1=http%3A%2F%2Fdevcentral.f5.com%2Fweblogs%2Fmacvittie%2FRss.aspx&amp;amp;t1="&gt;&lt;img height="18" alt="AddThis Feed Button" src="http://s9.addthis.com/button1-fd.gif" width="125" border="0" /&gt;&lt;/a&gt; &lt;a title="Bookmark and Share" onclick="window.open('http://www.addthis.com/bookmark.php?wt=nw&amp;amp;pub=lmacvittie&amp;amp;url='+encodeURIComponent(location.href)+'&amp;amp;title='+encodeURIComponent(document.title), 'addthis', 'scrollbars=yes,menubar=no,width=620,height=520,resizable=yes,toolbar=no,location=no,status=no,screenX=200,screenY=100,left=200,top=100'); return false;" href="http://www.addthis.com/bookmark.php" target="_blank"&gt;&lt;img height="18" alt="Bookmark and Share" src="http://s9.addthis.com/button1-share.gif" width="125" border="0" /&gt;&lt;/a&gt;&lt;script src="http://track.mybloglog.com/js/jsserv.php?mblID=2008070914270355" type="text/javascript"&gt;&lt;/script&gt;&lt;script src="http://feeds.feedburner.com/~s/f5/XOwx" type="text/javascript" charset="utf-8"&gt;&lt;/script&gt;&lt;script src="http://feeds.feedburner.com/~d/static/site-tracker.js" type="text/javascript" charset="utf-8"&gt;&lt;/script&gt; &lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:92f153cb-2fac-4139-ad62-2f0f4b552b07" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/MacVittie" rel="tag"&gt;MacVittie&lt;/a&gt;,&lt;a href="http://technorati.com/tags/F5" rel="tag"&gt;F5&lt;/a&gt;,&lt;a href="http://technorati.com/tags/cloud%20computing" rel="tag"&gt;cloud computing&lt;/a&gt;,&lt;a href="http://technorati.com/tags/infrastructure" rel="tag"&gt;infrastructure&lt;/a&gt;,&lt;a href="http://technorati.com/tags/virtualization" rel="tag"&gt;virtualization&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Google" rel="tag"&gt;Google&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Amazon" rel="tag"&gt;Amazon&lt;/a&gt;,&lt;a href="http://technorati.com/tags/BlueLock" rel="tag"&gt;BlueLock&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Bungee" rel="tag"&gt;Bungee&lt;/a&gt;,&lt;a href="http://technorati.com/tags/IaaS" rel="tag"&gt;IaaS&lt;/a&gt;,&lt;a href="http://technorati.com/tags/SaaS" rel="tag"&gt;SaaS&lt;/a&gt;,&lt;a href="http://technorati.com/tags/PaaS" rel="tag"&gt;PaaS&lt;/a&gt;,&lt;a href="http://technorati.com/tags/platform" rel="tag"&gt;platform&lt;/a&gt;,&lt;a href="http://technorati.com/tags/software" rel="tag"&gt;software&lt;/a&gt;,&lt;a href="http://technorati.com/tags/models" rel="tag"&gt;models&lt;/a&gt;,&lt;a href="http://technorati.com/tags/buzzword%20bingo" rel="tag"&gt;buzzword bingo&lt;/a&gt;,&lt;a href="http://technorati.com/tags/internet" rel="tag"&gt;internet&lt;/a&gt;,&lt;a href="http://technorati.com/tags/application" rel="tag"&gt;application&lt;/a&gt;,&lt;a href="http://technorati.com/tags/web" rel="tag"&gt;web&lt;/a&gt;,&lt;a href="http://technorati.com/tags/blog" rel="tag"&gt;blog&lt;/a&gt;&lt;/div&gt;&lt;div class='blogtags'&gt;&lt;/div&gt;&lt;img src="http://devcentral.f5.com/weblogs/macvittie/aggbug/3794.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Lori MacVittie</dc:creator>
            <guid>http://devcentral.f5.com/weblogs/macvittie/archive/2008/11/20/as-a-service-the-many-faces-of-the-cloud.aspx</guid>
            <pubDate>Thu, 20 Nov 2008 11:12:05 GMT</pubDate>
            <wfw:comment>http://devcentral.f5.com/weblogs/macvittie/comments/3794.aspx</wfw:comment>
            <comments>http://devcentral.f5.com/weblogs/macvittie/archive/2008/11/20/as-a-service-the-many-faces-of-the-cloud.aspx#feedback</comments>
            <wfw:commentRss>http://devcentral.f5.com/weblogs/macvittie/comments/commentRss/3794.aspx</wfw:commentRss>
            <trackback:ping>http://devcentral.f5.com/weblogs/macvittie/services/trackbacks/3794.aspx</trackback:ping>
        </item>
        <item>
            <title>Cloud Computing: Is your cloud sticky? It should be.</title>
            <link>http://devcentral.f5.com/weblogs/macvittie/archive/2008/11/19/cloud-computing-is-your-cloud-sticky-it-should-be.aspx</link>
            <description>&lt;p&gt;Load balancing an application should, by now, be a fairly routine scaling exercise. But too often when an application is moved into a load balanced architecture it breaks. The reason? Application sessions are often specific to an application server instance. The solution? &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2008/06/04/3329.aspx"&gt;Persistence&lt;/a&gt;, also known as sticky connections. &lt;/p&gt;  &lt;p&gt;The use of sessions on application servers to add state to web (HTTP) applications is a common practice. In fact, it's one of the &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2008/05/21/3283.aspx"&gt;greatest "hacks" in the history of the web&lt;/a&gt;. It's an excellent solution to the problem of using a stateless application protocol to build applications for which state is important. But sessions are peculiar to the application server instance on which they were created, and in general are not shared across multiple instances unless you've specifically achitected the application infrastructure to do so. Inserting applications into a load balanced environment often ignores this requirement, as load balancing decisions are often made based on server and application load and not on application specific parameters. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;THE PROBLEM &lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;When a client connects the first time, it's directed to Server A and a session is created. Data specific to the application that needs to be persisted over the session of the application, like shopping carts or search parameters, are stored in that session. When a client makes subsequent requests, however, the load balancer doesn't automatically understand this, and may direct the client to Server B, effectively losing the data in the session and hence breaking the application. &lt;/p&gt;  &lt;p&gt;This affects cloud computing initiatives because an integral part of cloud computing is load balancing to provide horizontal scalability and integral part of applications is session management. Deploying an application that works properly in a test environment into the cloud may break that application because the load balancing solution utilized by the cloud computing provider isn't aware of the importance of that session to the application and, too often, the session variables are unique to the application and the provider's static network infrastructure isn't capable of adapting to those unique needs. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;THE SOLUTION &lt;/strong&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/CloudComputingYourcloudmustbesticky_3B36/stickconnection_2.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; margin: 0px 10px 0px 0px; border-left: 0px; border-bottom: 0px" height="166" alt="stickconnection" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/CloudComputingYourcloudmustbesticky_3B36/stickconnection_thumb.jpg" width="171" align="left" border="0" /&gt;&lt;/a&gt;When choosing a cloud provider, it is imperative that the load balancing solution used by the provider support &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2008/07/11/3443.aspx"&gt;sticky connections (persistence)&lt;/a&gt; so that developers don’t have to rewrite or re-architect applications for cloud deployment. "Sticky connections", or persistence  in the networking vernacular, ensure that client requests are load balanced to the appropriate server on which their application session resides. This maintains the availability of the session and means applications don't "break" when deployed into the cloud or inserted into a load balanced environment. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2008/06/04/3329.aspx"&gt;Sticky (persistent) connections&lt;/a&gt; are often implemented in load balancers (application delivery controllers) by using application server session IDs to help make the decision on where requests should be sent. This results in consistent behavior and a well behaved application. The most common method of implementing sticky (persistent) connections is the use of &lt;em&gt;cookie persistence. &lt;/em&gt;Cookie persistence inserts a cookie into the response that is later used to properly direct requests. The cookie often contains the JSESSIONID or PHPSESSIONID or ASPSESSIONID, but can actually contain any data that would allow the &lt;a href="http://www.f5.com/products/big-ip"&gt;load balancer (application delivery controller)&lt;/a&gt; to identify the right application server for any given request.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;ACTION ITEMS&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;If you are deploying applications into the cloud, or planning on doing so, and those applications are session sensitive, it is important that you determine &lt;em&gt;before &lt;/em&gt;you deploy into the cloud whether or not your provider's solution supports sticky (persistent) connections, and how that persistence is implemented. Some solutions are not very flexible and will only provide persistence based on a limited array of variables and you will need to instrument your application to support the proper variables. Other solutions provide &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2008/10/31/understanding-network-side-scripting.aspx"&gt;network-side scripting capabilities&lt;/a&gt; that will allow the provider - and you - to &lt;a href="http://devcentral.f5.com/weblogs/cwalker/archive/2008/05/21/20-lines-or-less-7.aspx"&gt;support persistence on any variable&lt;/a&gt; you deem unique enough to identify the proper application server instance. &lt;/p&gt;  &lt;p&gt;Note that server FQDN (fully qualified domain name) or IP address will likely &lt;em&gt;not &lt;/em&gt;be adequate in a cloud computing environment as these variables may not be guaranteed to be static. The unique variable should ostensibly be something application specific, as this is likely the only variables you will have control over in the cloud and the only variables guaranteed to be consistent across instances as they are brought on and off-line in response to changes in demand. &lt;/p&gt;  &lt;p&gt;If you're currently examining the possibility of deploying applications in the cloud, make sure the cloud you choose is sticky to avoid the possibility that you'll need to rearchitect your application to get it to work properly. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://twitter.com/lmacvittie"&gt;&lt;img height="18" alt="Follow me on Twitter" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_twitt-twoo-icon.png" width="18" border="0" /&gt;&lt;/a&gt; &lt;a href="http://devcentral.f5.com/weblogs/macvittie/Rss.aspx"&gt;&lt;img src="http://devcentral.f5.com/Portals/0/images/Icons/icon_xml_18.gif" border="0" /&gt;&lt;/a&gt;&lt;a href="http://www.slideshare.net/lmacvittie"&gt;&lt;img height="18" alt="View Lori's profile on SlideShare" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_slideshare.png" width="18" border="0" /&gt;&lt;/a&gt;&lt;a href="http://lmacvittie.tumblr.com" border="0"&gt;&lt;img title="Follow me on Tumblr" height="18" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_tumblr.gif" width="18" border="0" /&gt;&lt;/a&gt; &lt;a href="http://lmacvittie.posterous.com/"&gt;&lt;img title="Posterous" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_posterous.png" border="0" /&gt;&lt;/a&gt; &lt;a href="http://www.linkedin.com/in/lmacvittie"&gt;&lt;img src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_linkedin_16.png" border="0" /&gt;&lt;/a&gt; &lt;a title="Subscribe using any feed reader!" href="http://www.addthis.com/feed.php?pub=lmacvittie&amp;amp;h1=http%3A%2F%2Fdevcentral.f5.com%2Fweblogs%2Fmacvittie%2FRss.aspx&amp;amp;t1="&gt;&lt;img height="18" alt="AddThis Feed Button" src="http://s9.addthis.com/button1-fd.gif" width="125" border="0" /&gt;&lt;/a&gt; &lt;a title="Bookmark and Share" onclick="window.open('http://www.addthis.com/bookmark.php?wt=nw&amp;amp;pub=lmacvittie&amp;amp;url='+encodeURIComponent(location.href)+'&amp;amp;title='+encodeURIComponent(document.title), 'addthis', 'scrollbars=yes,menubar=no,width=620,height=520,resizable=yes,toolbar=no,location=no,status=no,screenX=200,screenY=100,left=200,top=100'); return false;" href="http://www.addthis.com/bookmark.php" target="_blank"&gt;&lt;img height="18" alt="Bookmark and Share" src="http://s9.addthis.com/button1-share.gif" width="125" border="0" /&gt;&lt;/a&gt;&lt;script src="http://track.mybloglog.com/js/jsserv.php?mblID=2008070914270355" type="text/javascript"&gt;&lt;/script&gt;&lt;script src="http://feeds.feedburner.com/~s/f5/XOwx" type="text/javascript" charset="utf-8"&gt;&lt;/script&gt;&lt;script src="http://feeds.feedburner.com/~d/static/site-tracker.js" type="text/javascript" charset="utf-8"&gt;&lt;/script&gt; &lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:253e716a-983a-48ed-aae1-73bb0d3e0697" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/MacVittie" rel="tag"&gt;MacVittie&lt;/a&gt;,&lt;a href="http://technorati.com/tags/F5" rel="tag"&gt;F5&lt;/a&gt;,&lt;a href="http://technorati.com/tags/cloud%20computing" rel="tag"&gt;cloud computing&lt;/a&gt;,&lt;a href="http://technorati.com/tags/infrastructure" rel="tag"&gt;infrastructure&lt;/a&gt;,&lt;a href="http://technorati.com/tags/architecture" rel="tag"&gt;architecture&lt;/a&gt;,&lt;a href="http://technorati.com/tags/application%20delivery" rel="tag"&gt;application delivery&lt;/a&gt;,&lt;a href="http://technorati.com/tags/application%20server" rel="tag"&gt;application server&lt;/a&gt;,&lt;a href="http://technorati.com/tags/session" rel="tag"&gt;session&lt;/a&gt;,&lt;a href="http://technorati.com/tags/state" rel="tag"&gt;state&lt;/a&gt;,&lt;a href="http://technorati.com/tags/HTTP" rel="tag"&gt;HTTP&lt;/a&gt;,&lt;a href="http://technorati.com/tags/cookie" rel="tag"&gt;cookie&lt;/a&gt;,&lt;a href="http://technorati.com/tags/persistence" rel="tag"&gt;persistence&lt;/a&gt;,&lt;a href="http://technorati.com/tags/sticky%20connections" rel="tag"&gt;sticky connections&lt;/a&gt;,&lt;a href="http://technorati.com/tags/server%20affinity" rel="tag"&gt;server affinity&lt;/a&gt;,&lt;a href="http://technorati.com/tags/internet" rel="tag"&gt;internet&lt;/a&gt;,&lt;a href="http://technorati.com/tags/web" rel="tag"&gt;web&lt;/a&gt;,&lt;a href="http://technorati.com/tags/blog" rel="tag"&gt;blog&lt;/a&gt;,&lt;a href="http://technorati.com/tags/load%20balancing" rel="tag"&gt;load balancing&lt;/a&gt;&lt;/div&gt;&lt;div class='blogtags'&gt;&lt;/div&gt;&lt;img src="http://devcentral.f5.com/weblogs/macvittie/aggbug/3789.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Lori MacVittie</dc:creator>
            <guid>http://devcentral.f5.com/weblogs/macvittie/archive/2008/11/19/cloud-computing-is-your-cloud-sticky-it-should-be.aspx</guid>
            <pubDate>Wed, 19 Nov 2008 11:40:02 GMT</pubDate>
            <wfw:comment>http://devcentral.f5.com/weblogs/macvittie/comments/3789.aspx</wfw:comment>
            <comments>http://devcentral.f5.com/weblogs/macvittie/archive/2008/11/19/cloud-computing-is-your-cloud-sticky-it-should-be.aspx#feedback</comments>
            <wfw:commentRss>http://devcentral.f5.com/weblogs/macvittie/comments/commentRss/3789.aspx</wfw:commentRss>
            <trackback:ping>http://devcentral.f5.com/weblogs/macvittie/services/trackbacks/3789.aspx</trackback:ping>
        </item>
        <item>
            <title>Why routers should route and switches should switch</title>
            <link>http://devcentral.f5.com/weblogs/macvittie/archive/2008/11/18/why-routers-should-route-and-switches-should-switch.aspx</link>
            <description>&lt;p&gt;&lt;a href="http://blogs.eweek.com/masked_intentions/"&gt;Michael Vizard&lt;/a&gt; over at &lt;a href="http://www.eweek.com"&gt;eWEEK&lt;/a&gt; makes an interesting &lt;a href="http://blogs.eweek.com/masked_intentions/content/infrastructure/application_acceleration_moves_to_the_cloud.html?kc=rss"&gt;prediction about the future of application acceleration&lt;/a&gt;: &lt;em&gt;"Some day the whole concept of application acceleration will be baked into the core routers and switches we have in place." &lt;/em&gt;&lt;/p&gt;  &lt;p&gt;I disagree. Routers and switches are &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2008/08/27/3565.aspx"&gt;packet-based&lt;/a&gt;. They focus on getting a single packet from here to there based on layer 2/3 information. Application acceleration solutions require action higher in the stack, usually layer 4 through 7; they are &lt;em&gt;flow&lt;/em&gt; or &lt;em&gt;connection &lt;/em&gt;based, and are often specific to the application (think CIFS, SAMBA, HTTP, etc..). The information necessary for application acceleration solutions to improve the performance of applications is just not available at the layers of the stack at which routers and switches operate. &lt;/p&gt;  &lt;p&gt;While in the case of HTTP it is generally possible that some application acceleration features can be employed, such as manipulation of cache-oriented headers, simply because they are contained within a single packet, routers and switches don't have the awareness of that layer to be acting upon it. &lt;/p&gt;  &lt;p&gt;But, you say, Michael is postulating that they will, someday. &lt;/p&gt;  &lt;p&gt;Again, I'm going to disagree with that prediction. We've already tried to apply application performance-oriented functionality in routers and switches. The &lt;a href="http://www.rhyshaden.com/ipdgram.htm"&gt;TOS (Terms of Service) bits&lt;/a&gt; (which have been redefined in recent years as Differentiated Services Code Point (&lt;a href="http://blogs.msdn.com/wndp/archive/2006/03/23/559656.aspx "&gt;DSCP&lt;/a&gt;)) in an ethernet header can easily carry basic information regarding the quality of service desired for a particular packet. This was initially used by routers (and still is in many implementations of WAN optimization solutions) to determine prioritization and handling of individual &lt;em&gt;packets. &lt;/em&gt;&lt;/p&gt;  &lt;p&gt;"Coloring TOS bits" was a euphemism used nearly ten years ago to describe the common scenario of prioritizing packets based on customer service level (gold, silver, bronze) by flipping TOS bits in the ethernet header. Problem was that most routers and switches didn't honor TOS bits, and there was no way to enforce the quality of assurance indicated by the TOS bits once the packet hit the Internet. Some routers simply didn't interpret TOS bits and ignored them. &lt;/p&gt;  &lt;p&gt; An entire market of products arose out of the need for QoS solutions that actually worked. Bandwidth management products like Sitara and Packeteer rose from obscurity and quickly saw the need for more application specific prioritization and immediately "'moved up the stack" into layer 7 in order to provide that functionality. TOS bits were discarded by the market as a whole for being unable to provide the level of specificity required to manage applications. TOS bits have made a bit of a comeback with the advent of WAN optimization as a hot technology, but I suspect that it, too, will go the same route (sorry, no pun intended) as its forerunners earlier this century in application acceleration. &lt;/p&gt;  &lt;p&gt;Application acceleration in a router or switch would require that the router or switch become layer 7 aware, and flow-based. If they were to attempt to apply application acceleration to &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2008/05/22/3291.aspx"&gt;XML-based data&lt;/a&gt;, they would have to go one step further and become a &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2008/10/02/the-concise-guide-to-proxies.aspx"&gt;full proxy&lt;/a&gt;. They would have to become an &lt;em&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2008/08/12/3529.aspx"&gt;application switch&lt;/a&gt;&lt;/em&gt; rather than an L2/3 device. &lt;/p&gt;  &lt;p&gt;This is a bad idea for several reasons. First, there already exist a plethora of application switches that more than ably perform the task of &lt;a href="http://www.f5.com/solutions/acceleration"&gt;application acceleration&lt;/a&gt;. Second, the core packet-processing hardware and software of switches and routers is optimized to pass packets, and would need to be completely reworked in order to provide application acceleration functionality. This would drive the cost of core infrastructure higher and unnecessarily add cost for enterprises who certainly only need application functionality at specific points in their architecture, not in every wiring closet on their campus. Third, the process of &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2008/03/04/3096.aspx"&gt;packet aggregation&lt;/a&gt; required to act upon application data rather than individual packets necessarily adds latency. In many cases it's barely noticeable at any given hop, but when it happens at every point device through which a packet must travel it adds up and will certainly be noticeable to the end-user. &lt;/p&gt;  &lt;p&gt;Routers and switches are the core of the network, of the infrastructure that makes networks and the Internet "just work". Adding unnecessary functionality that requires a dramatic change in the architecture of these devices is simply a bad idea, financially and functionally. Routers should route, switches should switch, and application acceleration should be left to solutions specifically engineered to provide such functionality. &lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://twitter.com/lmacvittie"&gt;&lt;img height="18" alt="Follow me on Twitter" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_twitt-twoo-icon.png" width="18" border="0" /&gt;&lt;/a&gt; &lt;a href="http://devcentral.f5.com/weblogs/macvittie/Rss.aspx"&gt;&lt;img src="http://devcentral.f5.com/Portals/0/images/Icons/icon_xml_18.gif" border="0" /&gt;&lt;/a&gt;&lt;a href="http://www.slideshare.net/lmacvittie"&gt;&lt;img height="18" alt="View Lori's profile on SlideShare" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_slideshare.png" width="18" border="0" /&gt;&lt;/a&gt;&lt;a href="http://lmacvittie.tumblr.com" border="0"&gt;&lt;img title="Follow me on Tumblr" height="18" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_tumblr.gif" width="18" border="0" /&gt;&lt;/a&gt; &lt;a href="http://lmacvittie.posterous.com/"&gt;&lt;img title="Posterous" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_posterous.png" border="0" /&gt;&lt;/a&gt; &lt;a href="http://www.linkedin.com/in/lmacvittie"&gt;&lt;img src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_linkedin_16.png" border="0" /&gt;&lt;/a&gt; &lt;a title="Subscribe using any feed reader!" href="http://www.addthis.com/feed.php?pub=lmacvittie&amp;amp;h1=http%3A%2F%2Fdevcentral.f5.com%2Fweblogs%2Fmacvittie%2FRss.aspx&amp;amp;t1="&gt;&lt;img height="18" alt="AddThis Feed Button" src="http://s9.addthis.com/button1-fd.gif" width="125" border="0" /&gt;&lt;/a&gt; &lt;a title="Bookmark and Share" onclick="window.open('http://www.addthis.com/bookmark.php?wt=nw&amp;amp;pub=lmacvittie&amp;amp;url='+encodeURIComponent(location.href)+'&amp;amp;title='+encodeURIComponent(document.title), 'addthis', 'scrollbars=yes,menubar=no,width=620,height=520,resizable=yes,toolbar=no,location=no,status=no,screenX=200,screenY=100,left=200,top=100'); return false;" href="http://www.addthis.com/bookmark.php" target="_blank"&gt;&lt;img height="18" alt="Bookmark and Share" src="http://s9.addthis.com/button1-share.gif" width="125" border="0" /&gt;&lt;/a&gt;&lt;script src="http://track.mybloglog.com/js/jsserv.php?mblID=2008070914270355" type="text/javascript"&gt;&lt;/script&gt;&lt;script src="http://feeds.feedburner.com/~s/f5/XOwx" type="text/javascript" charset="utf-8"&gt;&lt;/script&gt;&lt;script src="http://feeds.feedburner.com/~d/static/site-tracker.js" type="text/javascript" charset="utf-8"&gt;&lt;/script&gt; &lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:1f0ba26e-6ccc-49d9-a04d-4c90110f18f0" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/MacVittie" rel="tag"&gt;MacVittie&lt;/a&gt;,&lt;a href="http://technorati.com/tags/F5" rel="tag"&gt;F5&lt;/a&gt;,&lt;a href="http://technorati.com/tags/router" rel="tag"&gt;router&lt;/a&gt;,&lt;a href="http://technorati.com/tags/switch" rel="tag"&gt;switch&lt;/a&gt;,&lt;a href="http://technorati.com/tags/application%20switch" rel="tag"&gt;application switch&lt;/a&gt;,&lt;a href="http://technorati.com/tags/application%20acceleration" rel="tag"&gt;application acceleration&lt;/a&gt;,&lt;a href="http://technorati.com/tags/TOS" rel="tag"&gt;TOS&lt;/a&gt;,&lt;a href="http://technorati.com/tags/DSCP" rel="tag"&gt;DSCP&lt;/a&gt;,&lt;a href="http://technorati.com/tags/packet%20processing" rel="tag"&gt;packet processing&lt;/a&gt;,&lt;a href="http://technorati.com/tags/flow-based" rel="tag"&gt;flow-based&lt;/a&gt;,&lt;a href="http://technorati.com/tags/application%20delivery" rel="tag"&gt;application delivery&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Sitara" rel="tag"&gt;Sitara&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Packeteer" rel="tag"&gt;Packeteer&lt;/a&gt;,&lt;a href="http://technorati.com/tags/bandwidth%20management" rel="tag"&gt;bandwidth management&lt;/a&gt;,&lt;a href="http://technorati.com/tags/WAN%20optimization" rel="tag"&gt;WAN optimization&lt;/a&gt;,&lt;a href="http://technorati.com/tags/WAN%20acceleration" rel="tag"&gt;WAN acceleration&lt;/a&gt;,&lt;a href="http://technorati.com/tags/internet" rel="tag"&gt;internet&lt;/a&gt;,&lt;a href="http://technorati.com/tags/network" rel="tag"&gt;network&lt;/a&gt;,&lt;a href="http://technorati.com/tags/blog" rel="tag"&gt;blog&lt;/a&gt;,&lt;a href="http://technorati.com/tags/eWeek" rel="tag"&gt;eWeek&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Michael%20Vizard" rel="tag"&gt;Michael Vizard&lt;/a&gt;&lt;/div&gt;&lt;div class='blogtags'&gt;&lt;/div&gt;&lt;img src="http://devcentral.f5.com/weblogs/macvittie/aggbug/3786.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Lori MacVittie</dc:creator>
            <guid>http://devcentral.f5.com/weblogs/macvittie/archive/2008/11/18/why-routers-should-route-and-switches-should-switch.aspx</guid>
            <pubDate>Tue, 18 Nov 2008 11:38:21 GMT</pubDate>
            <wfw:comment>http://devcentral.f5.com/weblogs/macvittie/comments/3786.aspx</wfw:comment>
            <comments>http://devcentral.f5.com/weblogs/macvittie/archive/2008/11/18/why-routers-should-route-and-switches-should-switch.aspx#feedback</comments>
            <wfw:commentRss>http://devcentral.f5.com/weblogs/macvittie/comments/commentRss/3786.aspx</wfw:commentRss>
            <trackback:ping>http://devcentral.f5.com/weblogs/macvittie/services/trackbacks/3786.aspx</trackback:ping>
        </item>
        <item>
            <title>Important Information Regarding BIG-IP Support</title>
            <link>http://devcentral.f5.com/weblogs/macvittie/archive/2008/11/17/important-information-regarding-big-ip-support.aspx</link>
            <description>&lt;p&gt;If you're an &lt;a href="http://www.f5.com"&gt;F5&lt;/a&gt; customer running BIG-IP v4.x it's time to consider migrating to newer platforms. I know, why in the world would you want to upgrade when your &lt;a href="http://www.f5.com/products/big-ip"&gt;BIG-IP&lt;/a&gt; has been running just fine for years? &lt;/p&gt;  &lt;p&gt;Probably the most important reason is that &lt;a title="F5 Networks" href="http://www.f5.com" rel=""&gt;F5&lt;/a&gt; is ending the life of the 4.x release and will no longer focus resources on improving it. That means all the new improvements and innovation will continue to be put into the 9.x branch and without migrating you'll miss out on a lot of great opportunities to support new protocols, deploy new functionality and features, and take advantage of the benefits of the full proxy architecture of the 9.x release. With the fast pace at which new concepts such as cloud computing and virtualization are emerging, you'll need the most flexible, powerful, intelligent platform to keep up. That platform is 9.x. &lt;/p&gt;  &lt;p&gt;If you haven't been considering migration of your 4.x platforms, here's just a few good reasons why you should seriously consider it now: &lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;&lt;strong&gt;Improves server efficiency. &lt;/strong&gt;Features in 9.x like &lt;a href="http://www.f5.com/pdf/white-papers/f5-acceleration-portfolio.pdf"&gt;TCP Express&lt;/a&gt; and myriad TCP optimizations drastically improve the efficiency of your infrastructure, enabling consolidation that helps with virtualization and Green IT initiatives. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;New protocol support. &lt;/strong&gt;Support for current protocols like XML and SIP is not available on the 4.x platforms, but is in the 9.x release. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Enables agility. &lt;/strong&gt;&lt;a href="http://devcentral.f5.com/iRules"&gt;iRules&lt;/a&gt; were re-architected in the 9.x release, providing greater flexibility and ability to provide unique, innovate solutions that meet the needs of your unique environment and business. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Innovative solutions. &lt;/strong&gt;New solutions like &lt;a href="http://www.f5.com/products/big-ip/feature-modules/message-security-module.html"&gt;e-mail&lt;/a&gt; and &lt;a href="http://www.f5.com/products/big-ip/feature-modules/protocol-security-module.html"&gt;protocol&lt;/a&gt; security are available only on the 9.x platform. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Lower TCO.&lt;/strong&gt; Newer hardware platforms are more efficient and take advantage of multi-core processors to provide even greater &lt;a href="http://www.f5.com/pdf/products/hardware-ppw-comparison-3600.pdf"&gt;performance per watt&lt;/a&gt; but these new platforms require the 9.x release. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Broader community support. &lt;/strong&gt;There are many more community members on &lt;a href="http://devcentral.f5.com "&gt;DevCentral&lt;/a&gt; taking advantage of 9.x than 4.x. &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;There are many more reasons to upgrade, and you can find them at our &lt;a href="http://info.f5.com/g/?JB0E5DI5CJ:A856MTGBII"&gt;4.x Migration HQ&lt;/a&gt;. If you're still not convinced, head on over and check out some of the resources available to you that should help convince you that it's time to migrate to a new version of &lt;a href="http://www.f5.com/products/big-ip"&gt;BIG-IP&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;Your applications (and users) will thank you for it. &lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:dd13a10c-bbf0-4ed7-a3a1-f1613ea18995" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/MacVittie" rel="tag"&gt;MacVittie&lt;/a&gt;,&lt;a href="http://technorati.com/tags/BIG-IP" rel="tag"&gt;BIG-IP&lt;/a&gt;,&lt;a href="http://technorati.com/tags/migration" rel="tag"&gt;migration&lt;/a&gt;,&lt;a href="http://technorati.com/tags/4.x" rel="tag"&gt;4.x&lt;/a&gt;,&lt;a href="http://technorati.com/tags/9.x" rel="tag"&gt;9.x&lt;/a&gt;,&lt;a href="http://technorati.com/tags/F5%20Networks" rel="tag"&gt;F5 Networks&lt;/a&gt;&lt;/div&gt;&lt;div class='blogtags'&gt;&lt;/div&gt;&lt;img src="http://devcentral.f5.com/weblogs/macvittie/aggbug/3783.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Lori MacVittie</dc:creator>
            <guid>http://devcentral.f5.com/weblogs/macvittie/archive/2008/11/17/important-information-regarding-big-ip-support.aspx</guid>
            <pubDate>Mon, 17 Nov 2008 13:22:49 GMT</pubDate>
            <wfw:comment>http://devcentral.f5.com/weblogs/macvittie/comments/3783.aspx</wfw:comment>
            <comments>http://devcentral.f5.com/weblogs/macvittie/archive/2008/11/17/important-information-regarding-big-ip-support.aspx#feedback</comments>
            <wfw:commentRss>http://devcentral.f5.com/weblogs/macvittie/comments/commentRss/3783.aspx</wfw:commentRss>
            <trackback:ping>http://devcentral.f5.com/weblogs/macvittie/services/trackbacks/3783.aspx</trackback:ping>
        </item>
        <item>
            <title>Cloud Computing: Achieving full interconnectedness</title>
            <link>http://devcentral.f5.com/weblogs/macvittie/archive/2008/11/17/cloud-computing-achieving-full-interconnectedness.aspx</link>
            <description>&lt;p&gt;The saying goes that to forget (or in some cases blatantly ignore) the mistakes of the past is to be doomed to repeat them. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://en.wikipedia.org/wiki/Open_Database_Connectivity "&gt;ODBC&lt;/a&gt;. &lt;a href="http://en.wikipedia.org/wiki/Business_Process_Execution_Language"&gt;BPEL&lt;/a&gt;. &lt;a href="http://java.sun.com/javase/technologies/database/"&gt;JDBC&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;All three are extensible standards in the software industry that cause no end of headaches and increased management overhead for folks attempting to deal with them. None of them are interoperable; you can't use the ODBC driver for &lt;a href="http://www.oracle.com"&gt;Oracle&lt;/a&gt; to hook up to a &lt;a href="http://www.microsoft.com/sql/default.mspx"&gt;SQL Server&lt;/a&gt; database, nor you can use the same BPEL produced by one BPM solution as within another. Because they're "extensible" and that extensibility leads, almost unilaterally, to interoperability issues. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/ExtensibleAEuphemismforProprietaryintheS_6D22/squarepegresized_2.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; margin: 0px 10px 0px 0px; border-right-width: 0px" height="180" alt="Proprietary extensions to open standards: square pegs in round holes" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/ExtensibleAEuphemismforProprietaryintheS_6D22/squarepegresized_thumb.jpg" width="240" align="left" border="0" /&gt;&lt;/a&gt; Extensibility ostensibly provides a mechanism through which vendors can offer value-added features and functionality to products making use of these "open" standards. Like &lt;a href="http://en.wikipedia.org/wiki/Session_Initiation_Protocol"&gt;SIP&lt;/a&gt; (Session Initiation Protocol) for VoIP (Voice over IP) solutions like &lt;a href="http://www.skype.com"&gt;Skype&lt;/a&gt;. Vendors and even providers of VoIP services extend SIP with proprietary, "value added" data that destroys the standard's interoperability with other SIP-enabled products. &lt;/p&gt;  &lt;p&gt;It's like trying to shove a square peg into a round hole. You can do it, but not well, and it isn't easy. &lt;/p&gt;  &lt;p&gt;Oh, it's great news for folks like &lt;a href="http://www.f5.com"&gt;F5&lt;/a&gt; that support &lt;a href="http://devcentral.f5.com/iRules"&gt;network-side scripting&lt;/a&gt; for a &lt;a href="http://www.f5.com/products/big-ip"&gt;programmable application delivery platform&lt;/a&gt; that can ease the pain of trying to get two disparately SIP-enabled products to work together, like a client and the server, but it's bad in general for the industry because it inhibits adoption of standards that could, if actually standardized, become ubiquitous enough to launch new and exciting ways to leverage the technology. &lt;/p&gt;  &lt;p&gt;That's one of the reasons when we start talking about &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2008/10/22/making-infrastructure-2.0-reality-may-require-new-standards.aspx"&gt;Infrastructure 2.0 and coordination and orchestration&lt;/a&gt; that we have to be very careful to consider the potential ramifications. While standards are obviously a good thing, standards that result in inoperable products - from infrastructure vendors or third parties - would only make the situation worse. Proprietary extensions to "open" standards result in not only vendor lock in, but inoperable products that only serve to make more complex the already complex web of management we're suffering from today. &lt;/p&gt;  &lt;p&gt;As Greg Ness points out in "&lt;a href="http://alwayson.goingon.com/permalink/post/30010"&gt;Static Networks meet Billowing Expectations&lt;/a&gt;"&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;Connectivity intelligence enables real-time tracking and interconnectedness between networks, applications and endpoints. The lack of connectivity intelligence has driven up networking costs and heightened pressures on already tight budgets.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;That interconnectedness cannot be achieved without communication first at the people layer, or layer 8 as it is often referred to. And what has to come out of that communication is consensus; consensus that any "extensible" standard must be interoperable at the core, with proprietary extensions being just that: extensions, options, add-ons, but never, never requirements for interoperability or, as Greg puts it, interconnectedness. &lt;/p&gt;  &lt;p&gt;But as often as we mention standards at the infrastructure layer, there's another aspect of cloud computing that will eventually require standards: deployment. Even though two cloud computing providers may both be built upon a virtual computing model, that does not mean that the mechanisms used by customers to deploy those virtual images are the same. Web services might be used by one, a Web 2.0 style REST API by another, and a proprietary mechanism by a third. Without some standard for deploying applications into the cloud, customers today risk vendor lock in. Processes must be built around and using those proprietary deployment models, which results in lock-in similar to that experienced by many organizations with EAI (enterprise application integration) solutions before the advent of SOA and the ESB (enterprise service bus). &lt;/p&gt;  &lt;p&gt;A standardized method of deploying virtual images into cloud computing environments would have additional benefits to customers if they, too, took advantage of such standards when implementing their own, private cloud computing environment. Leveraging standard methods of deployment internally means a much smoother move into the cloud if it becomes required as well as a more seamless experience when expanding from a purely private implementation to a &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2008/09/18/3627.aspx"&gt;hybrid architecture&lt;/a&gt; employing the use of both internal and external clouds. &lt;/p&gt;  &lt;p&gt;And despite the fact that standards often remove vendor lock-in that providers might count on, consider this: providers, if standardized, could not only provide services to those interested in leveraging the cloud to deliver applications and services, but to other providers, as well. Leasing out unused compute cycles in much the same way as large telcos have always leased their core network to local and smaller providers. &lt;/p&gt;  &lt;p&gt;It's a win-win-win scenario, in which everyone can benefit &lt;em&gt;if &lt;/em&gt;we can gather consensus that it's necessary, communicate with one another to make it happen, and keep them open without proprietary extensions getting in the way. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://twitter.com/lmacvittie"&gt;&lt;img height="18" alt="Follow me on Twitter" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_twitt-twoo-icon.png" width="18" border="0" /&gt;&lt;/a&gt; &lt;a href="http://devcentral.f5.com/weblogs/macvittie/Rss.aspx"&gt;&lt;img src="http://devcentral.f5.com/Portals/0/images/Icons/icon_xml_18.gif" border="0" /&gt;&lt;/a&gt;&lt;a href="http://www.slideshare.net/lmacvittie"&gt;&lt;img height="18" alt="View Lori's profile on SlideShare" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_slideshare.png" width="18" border="0" /&gt;&lt;/a&gt;&lt;a href="http://lmacvittie.tumblr.com" border="0"&gt;&lt;img title="Follow me on Tumblr" height="18" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_tumblr.gif" width="18" border="0" /&gt;&lt;/a&gt; &lt;a href="http://lmacvittie.posterous.com/"&gt;&lt;img title="Posterous" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_posterous.png" border="0" /&gt;&lt;/a&gt; &lt;a href="http://www.linkedin.com/in/lmacvittie"&gt;&lt;img src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_linkedin_16.png" border="0" /&gt;&lt;/a&gt; &lt;a title="Subscribe using any feed reader!" href="http://www.addthis.com/feed.php?pub=lmacvittie&amp;amp;h1=http%3A%2F%2Fdevcentral.f5.com%2Fweblogs%2Fmacvittie%2FRss.aspx&amp;amp;t1="&gt;&lt;img height="18" alt="AddThis Feed Button" src="http://s9.addthis.com/button1-fd.gif" width="125" border="0" /&gt;&lt;/a&gt; &lt;a title="Bookmark and Share" onclick="window.open('http://www.addthis.com/bookmark.php?wt=nw&amp;amp;pub=lmacvittie&amp;amp;url='+encodeURIComponent(location.href)+'&amp;amp;title='+encodeURIComponent(document.title), 'addthis', 'scrollbars=yes,menubar=no,width=620,height=520,resizable=yes,toolbar=no,location=no,status=no,screenX=200,screenY=100,left=200,top=100'); return false;" href="http://www.addthis.com/bookmark.php" target="_blank"&gt;&lt;img height="18" alt="Bookmark and Share" src="http://s9.addthis.com/button1-share.gif" width="125" border="0" /&gt;&lt;/a&gt;&lt;script src="http://track.mybloglog.com/js/jsserv.php?mblID=2008070914270355" type="text/javascript"&gt;&lt;/script&gt;&lt;script src="http://feeds.feedburner.com/~s/f5/XOwx" type="text/javascript" charset="utf-8"&gt;&lt;/script&gt;&lt;script src="http://feeds.feedburner.com/~d/static/site-tracker.js" type="text/javascript" charset="utf-8"&gt;&lt;/script&gt;&lt;script src="http://feeds.feedburner.com/~d/static/site-tracker.js" type="text/javascript" charset="utf-8"&gt;&lt;/script&gt; &lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:8e4075a4-e6d4-4776-bf41-e5002daf364d" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/MacVittie" rel="tag"&gt;MacVittie&lt;/a&gt;,&lt;a href="http://technorati.com/tags/F5" rel="tag"&gt;F5&lt;/a&gt;,&lt;a href="http://technorati.com/tags/cloud%20computing%20infrastructure" rel="tag"&gt;cloud computing infrastructure&lt;/a&gt;,&lt;a href="http://technorati.com/tags/cloud%20computing" rel="tag"&gt;cloud computing&lt;/a&gt;,&lt;a href="http://technorati.com/tags/virtualization" rel="tag"&gt;virtualization&lt;/a&gt;,&lt;a href="http://technorati.com/tags/standards" rel="tag"&gt;standards&lt;/a&gt;,&lt;a href="http://technorati.com/tags/SIP" rel="tag"&gt;SIP&lt;/a&gt;,&lt;a href="http://technorati.com/tags/ODBC" rel="tag"&gt;ODBC&lt;/a&gt;,&lt;a href="http://technorati.com/tags/JDBC" rel="tag"&gt;JDBC&lt;/a&gt;,&lt;a href="http://technorati.com/tags/interoperability" rel="tag"&gt;interoperability&lt;/a&gt;,&lt;a href="http://technorati.com/tags/infrastructure%202.0" rel="tag"&gt;infrastructure 2.0&lt;/a&gt;,&lt;a href="http://technorati.com/tags/EAI" rel="tag"&gt;EAI&lt;/a&gt;,&lt;a href="http://technorati.com/tags/APIs" rel="tag"&gt;APIs&lt;/a&gt;,&lt;a href="http://technorati.com/tags/deployment" rel="tag"&gt;deployment&lt;/a&gt;,&lt;a href="http://technorati.com/tags/management" rel="tag"&gt;management&lt;/a&gt;,&lt;a href="http://technorati.com/tags/internet" rel="tag"&gt;internet&lt;/a&gt;,&lt;a href="http://technorati.com/tags/web" rel="tag"&gt;web&lt;/a&gt;,&lt;a href="http://technorati.com/tags/blog" rel="tag"&gt;blog&lt;/a&gt;&lt;/div&gt;&lt;div class='blogtags'&gt;&lt;/div&gt;&lt;img src="http://devcentral.f5.com/weblogs/macvittie/aggbug/3782.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Lori MacVittie</dc:creator>
            <guid>http://devcentral.f5.com/weblogs/macvittie/archive/2008/11/17/cloud-computing-achieving-full-interconnectedness.aspx</guid>
            <pubDate>Mon, 17 Nov 2008 12:45:43 GMT</pubDate>
            <wfw:comment>http://devcentral.f5.com/weblogs/macvittie/comments/3782.aspx</wfw:comment>
            <comments>http://devcentral.f5.com/weblogs/macvittie/archive/2008/11/17/cloud-computing-achieving-full-interconnectedness.aspx#feedback</comments>
            <wfw:commentRss>http://devcentral.f5.com/weblogs/macvittie/comments/commentRss/3782.aspx</wfw:commentRss>
            <trackback:ping>http://devcentral.f5.com/weblogs/macvittie/services/trackbacks/3782.aspx</trackback:ping>
        </item>
        <item>
            <title>A client is still a client even when it's on the space station</title>
            <link>http://devcentral.f5.com/weblogs/macvittie/archive/2008/11/14/a-client-is-still-a-client-even-when-its-on.aspx</link>
            <description>&lt;p&gt;&lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/Yeswecanimproveappperformanceevenonthesp_365C/international-space-station_2.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; margin: 0px 10px 0px 0px; border-left: 0px; border-bottom: 0px" height="180" alt="international-space-station" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/Yeswecanimproveappperformanceevenonthesp_365C/international-space-station_thumb.jpg" width="240" align="left" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;While I was at &lt;a href="http://www.sdbestpractices.com/"&gt;SD Best Practices&lt;/a&gt; in Boston last month I got to talk to a lot of engineers, developers, and architects about their environments and about what &lt;a href="http://www.f5.com"&gt;F5&lt;/a&gt; does for application delivery. &lt;/p&gt;  &lt;p&gt;One of the developers glibly told me he wasn't sure we could help him out because his environment was the international space station. &lt;/p&gt;  &lt;p&gt;Yeah, how cool is that? Now &lt;em&gt;that's&lt;/em&gt; cloud computing.&lt;/p&gt;  &lt;p&gt;Another architect, who turned out to be a friend of a friend who I've conversed with but never met in person said the same thing, but his environment was nuclear submarines. &lt;/p&gt;  &lt;p&gt;The Internet, she is everywhere. &lt;/p&gt;  &lt;p&gt;There are certainly challenges with developing and delivering applications for such unique environments, but in the end a client is a client and a network is a network, even if it's over satellite links - which is most certainly the case for locations that cannot be wired or take advantage of wireless technology. What's awesome about application delivery solutions is that they are primarily asymmetric, they are a proxy &lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/Yeswecanimproveappperformanceevenonthesp_365C/submarine_2.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; margin: 5px 0px 0px 10px; border-left: 0px; border-bottom: 0px" height="155" alt="submarine" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/Yeswecanimproveappperformanceevenonthesp_365C/submarine_thumb.jpg" width="240" align="right" border="0" /&gt;&lt;/a&gt;to the core network that is almost always physically located in a data center somewhere on, well, earth. And on dry land. &lt;/p&gt;  &lt;p&gt;An application delivery platform mediates, and it is physically located at the edge of the physical network. If there's a client on the space station or a nuclear submarine or a cruise ship or airplane that can communicate via a network, then an application delivery solution can indeed help the performance, security, and availability of the applications being delivered to those very remote locations. &lt;/p&gt;  &lt;p&gt;Asymmetric solutions, of which a &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2008/10/02/the-concise-guide-to-proxies.aspx"&gt;reverse proxy&lt;/a&gt; is almost always one, do not require deployment of client-side software. They are one sided, hence the use of the term asymmetric. All you need is the application delivery solution to be deployed at the edge of the physical network and voila! You can begin taking advantage of &lt;a href="http://www.f5.com/solutions/acceleration"&gt;acceleration features&lt;/a&gt; like caching, compression, and protocol optimizations. The application delivery platform is aware of the network across which applications must traverse to reach the client, but it doesn't require that it be a certain speed, or a certain type, or anything, really. As long as it's operating on standards-based network protocols like IP, you can take advantage of the features of an application delivery solution for your environment. &lt;/p&gt;  &lt;p&gt;In fact, an &lt;a href="http://www.f5.com/products/big-ip"&gt;application delivery solution&lt;/a&gt; is perfect for address many of the problems inherent in low speed, high latency links like those used to communicate with uber remote locations like the space station or a nuclear sub because it has the intelligence to understand the network conditions unique to each link and adapt in real-time to provide the best performance possible for users accessing data and applications over that link. &lt;/p&gt;  &lt;p&gt;And because the application delivery platform mediates between clients and applications, it can provide &lt;a href="http://www.f5.com/solutions/availability"&gt;availability services&lt;/a&gt; to clients regardless of their location. In fact, because most application delivery platforms are &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2008/10/08/8-things-you-can-do-with-a-proxy.aspx"&gt;full-proxy solutions&lt;/a&gt;, they are particularly adept at managing each side of the equation individually, simultaneously improving &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2008/05/05/3227.aspx"&gt;data center efficiency&lt;/a&gt;, reliability, and &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2008/05/07/3238.aspx"&gt;performance&lt;/a&gt; while adjusting proactively to the conditions currently being experienced by the client. &lt;/p&gt;  &lt;p&gt;Being contextually aware of the unique environment from which clients access applications over a network is part of the secret sauce of application delivery solutions. By being able to understand and adapt to conditions on a per-request basis it can optimize delivery of applications for everyone - whether they are at home, at the office, on the international space station, or 20,000 leagues under the sea. &lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://twitter.com/lmacvittie"&gt;&lt;img height="18" alt="Follow me on Twitter" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_twitt-twoo-icon.png" width="18" border="0" /&gt;&lt;/a&gt; &lt;a href="http://devcentral.f5.com/weblogs/macvittie/Rss.aspx"&gt;&lt;img src="http://devcentral.f5.com/Portals/0/images/Icons/icon_xml_18.gif" border="0" /&gt;&lt;/a&gt;&lt;a href="http://www.slideshare.net/lmacvittie"&gt;&lt;img height="18" alt="View Lori's profile on SlideShare" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_slideshare.png" width="18" border="0" /&gt;&lt;/a&gt;&lt;a href="http://lmacvittie.tumblr.com" border="0"&gt;&lt;img title="Follow me on Tumblr" height="18" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_tumblr.gif" width="18" border="0" /&gt;&lt;/a&gt; &lt;a href="http://lmacvittie.posterous.com/"&gt;&lt;img title="Posterous" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_posterous.png" border="0" /&gt;&lt;/a&gt; &lt;a href="http://www.linkedin.com/in/lmacvittie"&gt;&lt;img src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_linkedin_16.png" border="0" /&gt;&lt;/a&gt; &lt;a title="Subscribe using any feed reader!" href="http://www.addthis.com/feed.php?pub=lmacvittie&amp;amp;h1=http%3A%2F%2Fdevcentral.f5.com%2Fweblogs%2Fmacvittie%2FRss.aspx&amp;amp;t1="&gt;&lt;img height="18" alt="AddThis Feed Button" src="http://s9.addthis.com/button1-fd.gif" width="125" border="0" /&gt;&lt;/a&gt; &lt;a title="Bookmark and Share" onclick="window.open('http://www.addthis.com/bookmark.php?wt=nw&amp;amp;pub=lmacvittie&amp;amp;url='+encodeURIComponent(location.href)+'&amp;amp;title='+encodeURIComponent(document.title), 'addthis', 'scrollbars=yes,menubar=no,width=620,height=520,resizable=yes,toolbar=no,location=no,status=no,screenX=200,screenY=100,left=200,top=100'); return false;" href="http://www.addthis.com/bookmark.php" target="_blank"&gt;&lt;img height="18" alt="Bookmark and Share" src="http://s9.addthis.com/button1-share.gif" width="125" border="0" /&gt;&lt;/a&gt;&lt;script src="http://track.mybloglog.com/js/jsserv.php?mblID=2008070914270355" type="text/javascript"&gt;&lt;/script&gt;&lt;script src="http://feeds.feedburner.com/~s/f5/XOwx" type="text/javascript" charset="utf-8"&gt;&lt;/script&gt;&lt;script src="http://feeds.feedburner.com/~d/static/site-tracker.js" type="text/javascript" charset="utf-8"&gt;&lt;/script&gt; &lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:e947b71d-e5aa-44f4-9961-f9cc9fb288b5" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/MacVittie" rel="tag"&gt;MacVittie&lt;/a&gt;,&lt;a href="http://technorati.com/tags/F5" rel="tag"&gt;F5&lt;/a&gt;,&lt;a href="http://technorati.com/tags/SD%20best%20practices" rel="tag"&gt;SD best practices&lt;/a&gt;,&lt;a href="http://technorati.com/tags/development" rel="tag"&gt;development&lt;/a&gt;,&lt;a href="http://technorati.com/tags/architecture" rel="tag"&gt;architecture&lt;/a&gt;,&lt;a href="http://technorati.com/tags/infrastructure" rel="tag"&gt;infrastructure&lt;/a&gt;,&lt;a href="http://technorati.com/tags/application%20delivery" rel="tag"&gt;application delivery&lt;/a&gt;,&lt;a href="http://technorati.com/tags/context-aware" rel="tag"&gt;context-aware&lt;/a&gt;,&lt;a href="http://technorati.com/tags/network" rel="tag"&gt;network&lt;/a&gt;,&lt;a href="http://technorati.com/tags/client" rel="tag"&gt;client&lt;/a&gt;,&lt;a href="http://technorati.com/tags/proxy" rel="tag"&gt;proxy&lt;/a&gt;,&lt;a href="http://technorati.com/tags/acceleration" rel="tag"&gt;acceleration&lt;/a&gt;,&lt;a href="http://technorati.com/tags/security" rel="tag"&gt;security&lt;/a&gt;,&lt;a href="http://technorati.com/tags/internet" rel="tag"&gt;internet&lt;/a&gt;,&lt;a href="http://technorati.com/tags/satellite" rel="tag"&gt;satellite&lt;/a&gt;,&lt;a href="http://technorati.com/tags/space%20station" rel="tag"&gt;space station&lt;/a&gt;,&lt;a href="http://technorati.com/tags/submarine" rel="tag"&gt;submarine&lt;/a&gt;,&lt;a href="http://technorati.com/tags/adapt" rel="tag"&gt;adapt&lt;/a&gt;,&lt;a href="http://technorati.com/tags/performance" rel="tag"&gt;performance&lt;/a&gt;,&lt;a href="http://technorati.com/tags/blog" rel="tag"&gt;blog&lt;/a&gt;&lt;/div&gt;&lt;div class='blogtags'&gt;&lt;/div&gt;&lt;img src="http://devcentral.f5.com/weblogs/macvittie/aggbug/3780.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Lori MacVittie</dc:creator>
            <guid>http://devcentral.f5.com/weblogs/macvittie/archive/2008/11/14/a-client-is-still-a-client-even-when-its-on.aspx</guid>
            <pubDate>Fri, 14 Nov 2008 11:08:28 GMT</pubDate>
            <wfw:comment>http://devcentral.f5.com/weblogs/macvittie/comments/3780.aspx</wfw:comment>
            <comments>http://devcentral.f5.com/weblogs/macvittie/archive/2008/11/14/a-client-is-still-a-client-even-when-its-on.aspx#feedback</comments>
            <wfw:commentRss>http://devcentral.f5.com/weblogs/macvittie/comments/commentRss/3780.aspx</wfw:commentRss>
            <trackback:ping>http://devcentral.f5.com/weblogs/macvittie/services/trackbacks/3780.aspx</trackback:ping>
        </item>
        <item>
            <title>Amazing Application Acceleration: Simultaneously improve productivity, efficiency, and performance</title>
            <link>http://devcentral.f5.com/weblogs/macvittie/archive/2008/11/13/amazing-application-acceleration-simultaneously-improve-productivity-efficiency-and-performance.aspx</link>
            <description>&lt;p&gt;As a general rule, we spend far more time worrying about external appearances than we do internal. We are more concerned with our external web applications and how they look - and perform - than we are likely to regarding our intranet or internal only applications. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.semseoexpert.com/blog/2008/04/landing-page-load-time-impact-on-google.html"&gt;This blog post&lt;/a&gt; was interesting in that rather than encouraging folks to optimize web sites and improve end-user response time for web applications for the sake of the user experience, it focused on the relationship between page load time and impact on &lt;a href="http://www.google.com"&gt;Google&lt;/a&gt; AdWords quality scores. Which is a bit different than the typical "you'll lose customers if you don't have a fast site" lecture. &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/Howtoimproveemployeeproductivitywithappl_2936/quote-left_2.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="21" alt="quote-left" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/Howtoimproveemployeeproductivitywithappl_2936/quote-left_thumb.png" width="24" border="0" /&gt;&lt;/a&gt; By incorporating landing page load time into Quality Score Index calculation, Google is trying to improve user experience and as a by product increase the ppc advertisers conversion rate. They are hopping that because visitors do not abandon the pages because of poor web page load speed advertisers will get a higher return on their investments.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;But what about internal web applications? You know, the ones customer service and call center representatives access when some poor hapless customers actually picks up the    &lt;/p&gt;&lt;div class="wlWriterSmartContent" id="scid:8747F07C-CDE8-481f-B0DF-C6CFD074BF67:00626194-259a-4e8d-865e-4a96cae20efd" style="padding-right: 0px; display: inline; padding-left: 0px; float: left; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;&lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/Howtoimproveemployeeproductivitywithappl_2936/tired-8x6.jpg" title="I'm sorry, my computer is really slow today." rel="thumbnail"&gt;&lt;img border="0" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/Howtoimproveemployeeproductivitywithappl_2936/tired_777.png" /&gt;&lt;/a&gt;&lt;/div&gt; phone and calls them? Yeah, &lt;em&gt;those &lt;/em&gt;web applications; the ones that invariably seem to be cause of "my computer is slow today" apologies from the other end of the line, leaving the customer to wait ... and wait... and wait.   &lt;p&gt;While it's easy enough to justify improving internal web applications which are indirectly customer facing based on customer satisfaction, it's just as easy to justify improving the performance of those same applications based on more quantifiable metrics: employee productivity. &lt;/p&gt;  &lt;p&gt;The performance of employees within a wide variety of organizations who are tasked with customer service roles is almost always based on number of customers served in any given time interval. X per hour, Y per day, Z per week, etc... The efficiency of your call center or customer service departments is directly impacted by the ability of the employees to access customer information via applications, and increasingly that application is web-based. And slow. &lt;/p&gt;  &lt;p&gt;If the average page load time of a customer service application is 10 seconds, then you necessarily need to add 10*(number of pages required on a call) to the total call time per customer. If the employee needs to access 5 pages, then you've just added nearly a minute of "wait" time to the time it takes to serve one customer. Given that most call centers like to keep their calls to a few minutes each, there's barely enough time for the customer service representative to greet the customer and ask for their identification before they've already gone over their allotted time. &lt;/p&gt;  &lt;p&gt;Employing asymmetric &lt;a href="http://www.f5.com/solutions/acceleration"&gt;application acceleration&lt;/a&gt; technology to improve application response time is a common prescription for performance impaired web sites. That same technology can easily be applied to &lt;em&gt;internal &lt;/em&gt;applications, web or otherwise, as well to improve their performance and thus, load time. By leveraging technologies such as intelligent caching and compression, and optimization of the protocols (&lt;a href="http://en.wikipedia.org/wiki/Transmission_Control_Protocol"&gt;TCP&lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/HyperText_Transfer_Protocol"&gt;HTTP&lt;/a&gt;) used to deliver those applications you can simultaneously &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2008/04/30/3212.aspx"&gt;improve performance of the application&lt;/a&gt;, &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2008/07/31/3503.aspx"&gt;efficiency of the servers&lt;/a&gt; serving the application, and the productivity of your employees. Now &lt;em&gt;that's &lt;/em&gt;multitasking! &lt;/p&gt;  &lt;p&gt;If you can decrease the time it takes to interact with an internal web application you can decrease the amount of time spent with each customer, which leaves more time for employees to interact with more customers, improving their performance on a "customers served per hour/day/week" basis. That's an improvement in productivity as well as your bottom line as it decreases the costs associated with maintaining a customer over time, which is a key performance indicator for most organizations in which customer interaction is required. &lt;/p&gt;  &lt;p&gt;So when you're considering improving the performance of your external web site and applications, think twice about how that same &lt;a href="http://www.f5.com/solutions/acceleration"&gt;application acceleration&lt;/a&gt; technology just might benefit your &lt;em&gt;internal &lt;/em&gt;web applications as well. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://twitter.com/lmacvittie"&gt;&lt;img height="18" alt="Follow me on Twitter" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_twitt-twoo-icon.png" width="18" border="0" /&gt;&lt;/a&gt; &lt;a href="http://devcentral.f5.com/weblogs/macvittie/Rss.aspx"&gt;&lt;img src="http://devcentral.f5.com/Portals/0/images/Icons/icon_xml_18.gif" border="0" /&gt;&lt;/a&gt;&lt;a href="http://www.slideshare.net/lmacvittie"&gt;&lt;img height="18" alt="View Lori's profile on SlideShare" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_slideshare.png" width="18" border="0" /&gt;&lt;/a&gt;&lt;a href="http://lmacvittie.tumblr.com" border="0"&gt;&lt;img title="Follow me on Tumblr" height="18" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_tumblr.gif" width="18" border="0" /&gt;&lt;/a&gt; &lt;a href="http://lmacvittie.posterous.com/"&gt;&lt;img title="Posterous" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_posterous.png" border="0" /&gt;&lt;/a&gt; &lt;a href="http://www.linkedin.com/in/lmacvittie"&gt;&lt;img src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_linkedin_16.png" border="0" /&gt;&lt;/a&gt; &lt;a title="Subscribe using any feed reader!" href="http://www.addthis.com/feed.php?pub=lmacvittie&amp;amp;h1=http%3A%2F%2Fdevcentral.f5.com%2Fweblogs%2Fmacvittie%2FRss.aspx&amp;amp;t1="&gt;&lt;img height="18" alt="AddThis Feed Button" src="http://s9.addthis.com/button1-fd.gif" width="125" border="0" /&gt;&lt;/a&gt; &lt;a title="Bookmark and Share" onclick="window.open('http://www.addthis.com/bookmark.php?wt=nw&amp;amp;pub=lmacvittie&amp;amp;url='+encodeURIComponent(location.href)+'&amp;amp;title='+encodeURIComponent(document.title), 'addthis', 'scrollbars=yes,menubar=no,width=620,height=520,resizable=yes,toolbar=no,location=no,status=no,screenX=200,screenY=100,left=200,top=100'); return false;" href="http://www.addthis.com/bookmark.php" target="_blank"&gt;&lt;img height="18" alt="Bookmark and Share" src="http://s9.addthis.com/button1-share.gif" width="125" border="0" /&gt;&lt;/a&gt;&lt;script src="http://track.mybloglog.com/js/jsserv.php?mblID=2008070914270355" type="text/javascript"&gt;&lt;/script&gt;&lt;script src="http://feeds.feedburner.com/~s/f5/XOwx" type="text/javascript" charset="utf-8"&gt;&lt;/script&gt;&lt;script src="http://feeds.feedburner.com/~d/static/site-tracker.js" type="text/javascript" charset="utf-8"&gt;&lt;/script&gt;&lt;script src="http://feeds.feedburner.com/~d/static/site-tracker.js" type="text/javascript" charset="utf-8"&gt;&lt;/script&gt; &lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:01060a30-ab2c-4127-8ca0-3eb98b165151" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/MacVittie" rel="tag"&gt;MacVittie&lt;/a&gt;,&lt;a href="http://technorati.com/tags/F5" rel="tag"&gt;F5&lt;/a&gt;,&lt;a href="http://technorati.com/tags/application%20acceleration" rel="tag"&gt;application acceleration&lt;/a&gt;,&lt;a href="http://technorati.com/tags/asymmetric%20acceleration" rel="tag"&gt;asymmetric acceleration&lt;/a&gt;,&lt;a href="http://technorati.com/tags/customer%20satisifaction" rel="tag"&gt;customer satisifaction&lt;/a&gt;,&lt;a href="http://technorati.com/tags/efficiency" rel="tag"&gt;efficiency&lt;/a&gt;,&lt;a href="http://technorati.com/tags/performance" rel="tag"&gt;performance&lt;/a&gt;,&lt;a href="http://technorati.com/tags/response%20time" rel="tag"&gt;response time&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Google" rel="tag"&gt;Google&lt;/a&gt;,&lt;a href="http://technorati.com/tags/productivity" rel="tag"&gt;productivity&lt;/a&gt;,&lt;a href="http://technorati.com/tags/server" rel="tag"&gt;server&lt;/a&gt;,&lt;a href="http://technorati.com/tags/http" rel="tag"&gt;http&lt;/a&gt;,&lt;a href="http://technorati.com/tags/web" rel="tag"&gt;web&lt;/a&gt;,&lt;a href="http://technorati.com/tags/internet" rel="tag"&gt;internet&lt;/a&gt;,&lt;a href="http://technorati.com/tags/blog" rel="tag"&gt;blog&lt;/a&gt;&lt;/div&gt;&lt;div class='blogtags'&gt;&lt;/div&gt;&lt;img src="http://devcentral.f5.com/weblogs/macvittie/aggbug/3777.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Lori MacVittie</dc:creator>
            <guid>http://devcentral.f5.com/weblogs/macvittie/archive/2008/11/13/amazing-application-acceleration-simultaneously-improve-productivity-efficiency-and-performance.aspx</guid>
            <pubDate>Thu, 13 Nov 2008 11:36:17 GMT</pubDate>
            <wfw:comment>http://devcentral.f5.com/weblogs/macvittie/comments/3777.aspx</wfw:comment>
            <comments>http://devcentral.f5.com/weblogs/macvittie/archive/2008/11/13/amazing-application-acceleration-simultaneously-improve-productivity-efficiency-and-performance.aspx#feedback</comments>
            <wfw:commentRss>http://devcentral.f5.com/weblogs/macvittie/comments/commentRss/3777.aspx</wfw:commentRss>
            <trackback:ping>http://devcentral.f5.com/weblogs/macvittie/services/trackbacks/3777.aspx</trackback:ping>
        </item>
        <item>
            <title>Cloud Computing: What's stopping service-oriented clouds?</title>
            <link>http://devcentral.f5.com/weblogs/macvittie/archive/2008/11/12/cloud-computing-whats-stopping-service-oriented-clouds.aspx</link>
            <description>&lt;p&gt;Whenever there is a shift in architectural thinking about technology, such as is happening right now with cloud computing and virtualization, we start thinking forward, past the now, and into the future about how that technology might be leveraged. We start looking at the impact to architecture from the top of the stack to the bottom. For &lt;a href="http://www.f5.com"&gt;a company&lt;/a&gt; that's focused on &lt;a href="http://www.f5.com/products/big-ip"&gt;application delivery&lt;/a&gt;, that means taking a good hard look at how that new technology might impact the architecture of applications. &lt;/p&gt;  &lt;p&gt;It's been suggested that perhaps, just maybe, we'll see service-oriented clouds; that the concepts of SOA (service oriented architecture) might be abstracted even further and moved into the cloud. Basically, it's like ripping apart the n-tiered application architecture we've been building on for years and spinning each tier into the cloud; database there, presentation layer here, middleware layer over there. And not just in one place, either, but rather duplicating these "services" to provide failover, availability assurance, and context-aware access that takes into consideration variables like location and response time. &lt;/p&gt;  &lt;p&gt;That would certainly be more efficient than current architectures which deploy entire applications as virtual images or packages in the cloud. If the database tier needs more compute resources, then just the database tier expands, rather than the entire application. That's the principle of SOA at work, as well. Decompose business processes and applications into their composite services and deploy. If one service is heavily reused, you can replicate and load balance just that service, not the entire application. &lt;/p&gt;  &lt;p&gt;But applying SOA to the cloud may be more difficult than it sounds. While there are often discrete tiers of architecture within an application, even within a SOA-based architecture, it is still somewhat difficult to envision deploying those tiers across multiple clouds. Application infrastructure is certainly just as capable of communicating across the Internet as it is a local network, so the problem isn't so much with technology and its capabilities as it is with actually managing such a dispersed and distributed application infrastructure. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/CloudComputingServiceorientedclouds_3C88/ideabulb_2.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; margin: 0px 10px 0px 0px; border-left: 0px; border-bottom: 0px" height="240" alt="ideabulb" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/CloudComputingServiceorientedclouds_3C88/ideabulb_thumb.jpg" width="214" align="left" border="0" /&gt;&lt;/a&gt; Troubleshooting such an architecture would certainly be problematic. Trying to recreate an issues for troubleshooting has always required replicating the environment as closely as possible, and it may be exceedingly difficult to even get that information in a service-oriented cloud architecture. Which data center, which database instance, which front end, which network? The variables become as overwhelming to manage as calculus appears to a third grade math student. &lt;/p&gt;  &lt;p&gt;Further complicating the potential deployment of databases, specifically, into the cloud is the integral web of applications and systems reliant on those databases for day to day operations - both IT and business focused. Data mining, business activity monitoring, business process management, supply chain, and ERP systems are often all tied into databases around the enterprise. Move any single database and you become mired in a dependency chain that is serial, not parallel, in nature with the database being the foremost link in the chain. Access or availability to that database can bring applications - and the business - to a screeching halt. &lt;/p&gt;  &lt;p&gt;It's that kind of risk rather than the traditional security risks and concerns surrounding offsite data storage that needs to be addressed before critical infrastructure like databases can be decoupled from the internal control that exists in the local data center. SOA addresses the architectural coupling of data and logic to applications, but it cannot adequately address at this time the need to have tightly coupled control over the availability of that data. &lt;/p&gt;  &lt;p&gt;Applying the principles of SOA to the enterprise and the cloud can indeed have benefits in terms of reduced infrastructure costs and the ability to scale on-demand, but it still can't address the vulnerabilities inherently present from our reliance on data. &lt;/p&gt;  &lt;p&gt;Data is the lifeblood of an organization. Applications, like the heart, keep that data pumping through the complex network of veins and arteries that are the corporate and Internet infrastructure. But like human beings even though the heart and some of the infrastructure can be outsourced, without blood (data), everything else is irrelevant. &lt;/p&gt;  &lt;p&gt;Given our dependency on data and its availability, it's unlikely we'll see fully service-oriented clouds in the ether anytime soon. Not until we have the same guarantees of availability and access and ultimately, control, that we have in the local data center. &lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://twitter.com/lmacvittie"&gt;&lt;img height="18" alt="Follow me on Twitter" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_twitt-twoo-icon.png" width="18" border="0" /&gt;&lt;/a&gt; &lt;a href="http://devcentral.f5.com/weblogs/macvittie/Rss.aspx"&gt;&lt;img src="http://devcentral.f5.com/Portals/0/images/Icons/icon_xml_18.gif" border="0" /&gt;&lt;/a&gt;&lt;a href="http://www.slideshare.net/lmacvittie"&gt;&lt;img height="18" alt="View Lori's profile on SlideShare" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_slideshare.png" width="18" border="0" /&gt;&lt;/a&gt;&lt;a href="http://lmacvittie.tumblr.com" border="0"&gt;&lt;img title="Follow me on Tumblr" height="18" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_tumblr.gif" width="18" border="0" /&gt;&lt;/a&gt; &lt;a href="http://lmacvittie.posterous.com/"&gt;&lt;img title="Posterous" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_posterous.png" border="0" /&gt;&lt;/a&gt; &lt;a href="http://www.linkedin.com/in/lmacvittie"&gt;&lt;img src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_linkedin_16.png" border="0" /&gt;&lt;/a&gt; &lt;a title="Subscribe using any feed reader!" href="http://www.addthis.com/feed.php?pub=lmacvittie&amp;amp;h1=http%3A%2F%2Fdevcentral.f5.com%2Fweblogs%2Fmacvittie%2FRss.aspx&amp;amp;t1="&gt;&lt;img height="18" alt="AddThis Feed Button" src="http://s9.addthis.com/button1-fd.gif" width="125" border="0" /&gt;&lt;/a&gt; &lt;a title="Bookmark and Share" onclick="window.open('http://www.addthis.com/bookmark.php?wt=nw&amp;amp;pub=lmacvittie&amp;amp;url='+encodeURIComponent(location.href)+'&amp;amp;title='+encodeURIComponent(document.title), 'addthis', 'scrollbars=yes,menubar=no,width=620,height=520,resizable=yes,toolbar=no,location=no,status=no,screenX=200,screenY=100,left=200,top=100'); return false;" href="http://www.addthis.com/bookmark.php" target="_blank"&gt;&lt;img height="18" alt="Bookmark and Share" src="http://s9.addthis.com/button1-share.gif" width="125" border="0" /&gt;&lt;/a&gt;&lt;script src="http://track.mybloglog.com/js/jsserv.php?mblID=2008070914270355" type="text/javascript"&gt;&lt;/script&gt;&lt;script src="http://feeds.feedburner.com/~s/f5/XOwx" type="text/javascript" charset="utf-8"&gt;&lt;/script&gt;&lt;script src="http://feeds.feedburner.com/~d/static/site-tracker.js" type="text/javascript" charset="utf-8"&gt;&lt;/script&gt; &lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:611dadc2-45da-409f-9f05-e4ce86841717" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/MacVittie" rel="tag"&gt;MacVittie&lt;/a&gt;,&lt;a href="http://technorati.com/tags/F5" rel="tag"&gt;F5&lt;/a&gt;,&lt;a href="http://technorati.com/tags/cloud%20computing%20infrastructure" rel="tag"&gt;cloud computing infrastructure&lt;/a&gt;,&lt;a href="http://technorati.com/tags/cloud%20computing" rel="tag"&gt;cloud computing&lt;/a&gt;,&lt;a href="http://technorati.com/tags/infrastructure" rel="tag"&gt;infrastructure&lt;/a&gt;,&lt;a href="http://technorati.com/tags/architecture" rel="tag"&gt;architecture&lt;/a&gt;,&lt;a href="http://technorati.com/tags/SOA" rel="tag"&gt;SOA&lt;/a&gt;,&lt;a href="http://technorati.com/tags/services" rel="tag"&gt;services&lt;/a&gt;,&lt;a href="http://technorati.com/tags/database" rel="tag"&gt;database&lt;/a&gt;,&lt;a href="http://technorati.com/tags/internet" rel="tag"&gt;internet&lt;/a&gt;,&lt;a href="http://technorati.com/tags/network" rel="tag"&gt;network&lt;/a&gt;,&lt;a href="http://technorati.com/tags/application%20delivery" rel="tag"&gt;application delivery&lt;/a&gt;,&lt;a href="http://technorati.com/tags/blog" rel="tag"&gt;blog&lt;/a&gt;&lt;/div&gt;&lt;div class='blogtags'&gt;&lt;/div&gt;&lt;img src="http://devcentral.f5.com/weblogs/macvittie/aggbug/3775.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Lori MacVittie</dc:creator>
            <guid>http://devcentral.f5.com/weblogs/macvittie/archive/2008/11/12/cloud-computing-whats-stopping-service-oriented-clouds.aspx</guid>
            <pubDate>Wed, 12 Nov 2008 16:52:03 GMT</pubDate>
            <wfw:comment>http://devcentral.f5.com/weblogs/macvittie/comments/3775.aspx</wfw:comment>
            <comments>http://devcentral.f5.com/weblogs/macvittie/archive/2008/11/12/cloud-computing-whats-stopping-service-oriented-clouds.aspx#feedback</comments>
            <wfw:commentRss>http://devcentral.f5.com/weblogs/macvittie/comments/commentRss/3775.aspx</wfw:commentRss>
            <trackback:ping>http://devcentral.f5.com/weblogs/macvittie/services/trackbacks/3775.aspx</trackback:ping>
        </item>
        <item>
            <title>Why you should not use clustering to scale an application</title>
            <link>http://devcentral.f5.com/weblogs/macvittie/archive/2008/11/11/why-you-should-not-use-clustering-to-scale-an-application.aspx</link>
            <description>&lt;p&gt;It is often the case that &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2007/09/25/2953.aspx"&gt;application server clustering and load-balancing&lt;/a&gt; are mistakenly believed to be the same thing. They are not. While server clustering does provide rudimentary load-balancing functionality, it does a better job of providing basic fail-over and availability assurance than it does load-balancing. In fact, &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2008/06/11/3352.aspx"&gt;load balancing has effectively been overtaken by application delivery&lt;/a&gt;, which builds on load balancing but is much, much more than that today. &lt;/p&gt;  &lt;p&gt; Clustering essentially turns one instance of an application server into a controlling node, a proxy of sorts, through which requests are funneled and then distributed amongst several instances of application servers. Sounds like load-balancing, on the surface, but digging deeper will reveal there are many reasons why application server clustering will not support long-term scalability and &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2008/05/05/3227.aspx"&gt;efficiency&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;Aside from the obvious hardware accelerated functions provided by an application delivery controller (a.k.a. modern load balancer), there are a number of other reasons to look to options other than application server clustering when you are trying to build out a scalable, efficient application architecture. &lt;/p&gt;  &lt;p&gt;Here are the top three reasons you should reconsider (or not consider in the first place) a scalability solution centered around application server clustering technology. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;JUST LOAD BALANCING ISN'T EFFICIENT&lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/5reasonstochooseahardwareLoadbalancerove_212C/ideabulb_2.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="168" alt="ideabulb" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/5reasonstochooseahardwareLoadbalancerove_212C/ideabulb_thumb.jpg" width="150" align="right" border="0" /&gt;&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Simple load balancing is not efficient. It uses industry standard algorithms ultimately derived from network load balancing to distribute requests across a pool (or farm) of servers. Those algorithms don't take into consideration a wide variety of factors that can affect not only capacity of an application but the performance of an application. There is no intelligence, no real awareness of the application in an application server clustering architecture and thus the solution does not utilize resources in a way that squeezes out as much capacity and performance from applications. &lt;/p&gt;  &lt;p&gt;Application server clustering also lacks many of the features available in today's application delivery controllers that enhance the efficiency of servers and supporting infrastructure. &lt;a href="http://www.f5.com/pdf/white-papers/tcpexpress-wp.pdf"&gt;Optimization of core protocols&lt;/a&gt; and &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2008/02/21/3086.aspx"&gt;reuse of connections&lt;/a&gt; can dramatically increase the efficiency and performance of applications and neither option is available in application server clustering solutions. That's because the application server clustering solution relies on the same core protocol stack (TCP/IP) as the application server and operating system, and neither are optimized for scalability. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;LACK OF SUPPORT FOR CLOUD COMPUTING and VIRTUALIZED ENVIRONMENTS &lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2008/11/05/cloud-computing-the-last-definition-youll-ever-need.aspx"&gt;Dynamism&lt;/a&gt; is the ability of your application and network infrastructure to handle the expansion and contraction of applications in an on-demand environment. If you're considering building your own private cloud computing environment and taking advantage of the latest style of computing, you'll want to consider options other than application server clustering to serve as your '"control node". &lt;/p&gt;  &lt;p&gt;Aside from failing to exhibit the &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2008/07/10/3438.aspx"&gt;four core properties necessary in a cloud computing infrastructure&lt;/a&gt; (transparency, scalability, security, and application intelligence), application server clustering itself is not designed to handle a &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2008/09/30/how-to-instrument-your-java-ee-applications-for-a-virtualized.aspx"&gt;fluid application infrastructure&lt;/a&gt;. Like early load balancers, it expects to manage a number of servers in a farm and that the number (and location) will remain the same. Its configuration is static, not dynamic, and it is not well-suited to automatically adjusting to changing infrastructure conditions in the data center. &lt;/p&gt;  &lt;p&gt;Virtualization initiatives put similar demands on controlling solutions like application delivery and application server cluster controllers; demands that cannot be met by application server cluster controllers due to their static configuration nature. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;IT ISN'T SCALABLE &lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;When it comes down to it there is only one reason you really need to stay away from application server clustering as a mechanism for scaling your applications: application server clustering doesn't scale well. &lt;/p&gt;  &lt;p&gt;Think about it this way, you are trying to scale out an application by taking an instance of the application server (the one you need to scale, by the way) and turning it into a controlling node. While the application server clustering functionality is likely capable of supporting twice &lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/5reasonstochooseahardwareLoadbalancerove_212C/scalability_2.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; margin: 0px 10px 0px 0px; border-left: 0px; border-bottom: 0px" height="182" alt="scalability" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/5reasonstochooseahardwareLoadbalancerove_212C/scalability_thumb.jpg" width="140" align="left" border="0" /&gt;&lt;/a&gt; the number of concurrent connections as a single instance running an application, it isn't likely to be able to handle three or four times that number. You are still limited by the software, by the operating system, and by the hardware capabilities of the server on which the clustering solution is deployed. &lt;/p&gt;  &lt;p&gt;The number of web sites that are static and do not involve dynamic components served from application servers of some kind are dwindling. Most sites recognize the impact of Web 2.0 on their customer base and necessarily include dynamic content as the primary source of web site content. That means they're trying to serve a high number of concurrent customers on traditional application server technology solutions. Scaling those applications is an important part of deploying a site today, both to ensure availability and to meet increasingly demanding performance requirements. &lt;/p&gt;  &lt;p&gt;Application server clustering technology wasn't designed for this kind of scalability, and there's a reason that folks like &lt;a href="http://www.microsoft.com"&gt;Microsoft&lt;/a&gt;, &lt;a href="http://www.oracle.com"&gt;Oracle/BEA&lt;/a&gt;, and &lt;a href="http://www.ibm.com"&gt;IBM&lt;/a&gt; &lt;a href="http://www.f5.com/solutions/applications/"&gt;partner&lt;/a&gt; with hardware &lt;a href="http://www.f5.com/products/big-ip"&gt;application delivery solution&lt;/a&gt; providers: they know that in order to truly scale an application, you're going to need a hardware-based solution. Application server vendors build application servers that are focused on building, deploying, and serving up rich, robust applications. And every one of them has said in the past, &lt;a href="http://www.networkcomputing.com/showitem.jhtml?docid=1604f3"&gt;"Use a hardware load balancer to scale."&lt;/a&gt; &lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;If the recommendation of your application server vendor isn't enough to convince you that application server clustering isn't the right choice for scaling web applications, I don't know what is. &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://twitter.com/lmacvittie"&gt;&lt;img height="18" alt="Follow me on Twitter" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_twitt-twoo-icon.png" width="18" border="0" /&gt;&lt;/a&gt; &lt;a href="http://devcentral.f5.com/weblogs/macvittie/Rss.aspx"&gt;&lt;img src="http://devcentral.f5.com/Portals/0/images/Icons/icon_xml_18.gif" border="0" /&gt;&lt;/a&gt;&lt;a href="http://www.slideshare.net/lmacvittie"&gt;&lt;img height="18" alt="View Lori's profile on SlideShare" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_slideshare.png" width="18" border="0" /&gt;&lt;/a&gt;&lt;a href="http://lmacvittie.tumblr.com" border="0"&gt;&lt;img title="Follow me on Tumblr" height="18" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_tumblr.gif" width="18" border="0" /&gt;&lt;/a&gt; &lt;a href="http://lmacvittie.posterous.com/"&gt;&lt;img title="Posterous" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_posterous.png" border="0" /&gt;&lt;/a&gt; &lt;a href="http://www.linkedin.com/in/lmacvittie"&gt;&lt;img src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_linkedin_16.png" border="0" /&gt;&lt;/a&gt; &lt;a title="Subscribe using any feed reader!" href="http://www.addthis.com/feed.php?pub=lmacvittie&amp;amp;h1=http%3A%2F%2Fdevcentral.f5.com%2Fweblogs%2Fmacvittie%2FRss.aspx&amp;amp;t1="&gt;&lt;img height="18" alt="AddThis Feed Button" src="http://s9.addthis.com/button1-fd.gif" width="125" border="0" /&gt;&lt;/a&gt; &lt;a title="Bookmark and Share" onclick="window.open('http://www.addthis.com/bookmark.php?wt=nw&amp;amp;pub=lmacvittie&amp;amp;url='+encodeURIComponent(location.href)+'&amp;amp;title='+encodeURIComponent(document.title), 'addthis', 'scrollbars=yes,menubar=no,width=620,height=520,resizable=yes,toolbar=no,location=no,status=no,screenX=200,screenY=100,left=200,top=100'); return false;" href="http://www.addthis.com/bookmark.php" target="_blank"&gt;&lt;img height="18" alt="Bookmark and Share" src="http://s9.addthis.com/button1-share.gif" width="125" border="0" /&gt;&lt;/a&gt;&lt;script src="http://track.mybloglog.com/js/jsserv.php?mblID=2008070914270355" type="text/javascript"&gt;&lt;/script&gt;&lt;script src="http://feeds.feedburner.com/~s/f5/XOwx" type="text/javascript" charset="utf-8"&gt;&lt;/script&gt;&lt;script src="http://feeds.feedburner.com/~d/static/site-tracker.js" type="text/javascript" charset="utf-8"&gt;&lt;/script&gt; &lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:ba923192-30e5-40f6-aca8-ad90719f3e3d" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/MacVittie" rel="tag"&gt;MacVittie&lt;/a&gt;,&lt;a href="http://technorati.com/tags/F5" rel="tag"&gt;F5&lt;/a&gt;,&lt;a href="http://technorati.com/tags/clustering" rel="tag"&gt;clustering&lt;/a&gt;,&lt;a href="http://technorati.com/tags/load%20balancer" rel="tag"&gt;load balancer&lt;/a&gt;,&lt;a href="http://technorati.com/tags/load%20balancing" rel="tag"&gt;load balancing&lt;/a&gt;,&lt;a href="http://technorati.com/tags/application%20delivery" rel="tag"&gt;application delivery&lt;/a&gt;,&lt;a href="http://technorati.com/tags/infrastructure" rel="tag"&gt;infrastructure&lt;/a&gt;,&lt;a href="http://technorati.com/tags/architecture" rel="tag"&gt;architecture&lt;/a&gt;,&lt;a href="http://technorati.com/tags/virtualization" rel="tag"&gt;virtualization&lt;/a&gt;,&lt;a href="http://technorati.com/tags/cloud%20computing%20infrastructure" rel="tag"&gt;cloud computing infrastructure&lt;/a&gt;,&lt;a href="http://technorati.com/tags/ibm" rel="tag"&gt;ibm&lt;/a&gt;,&lt;a href="http://technorati.com/tags/microsoft" rel="tag"&gt;microsoft&lt;/a&gt;,&lt;a href="http://technorati.com/tags/application%20server" rel="tag"&gt;application server&lt;/a&gt;,&lt;a href="http://technorati.com/tags/oracle" rel="tag"&gt;oracle&lt;/a&gt;,&lt;a href="http://technorati.com/tags/bea" rel="tag"&gt;bea&lt;/a&gt;,&lt;a href="http://technorati.com/tags/hardware" rel="tag"&gt;hardware&lt;/a&gt;,&lt;a href="http://technorati.com/tags/software" rel="tag"&gt;software&lt;/a&gt;,&lt;a href="http://technorati.com/tags/scalability" rel="tag"&gt;scalability&lt;/a&gt;,&lt;a href="http://technorati.com/tags/blog" rel="tag"&gt;blog&lt;/a&gt;,&lt;a href="http://technorati.com/tags/web" rel="tag"&gt;web&lt;/a&gt;,&lt;a href="http://technorati.com/tags/internet" rel="tag"&gt;internet&lt;/a&gt;&lt;/div&gt;&lt;div class='blogtags'&gt;&lt;/div&gt;&lt;img src="http://devcentral.f5.com/weblogs/macvittie/aggbug/3774.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Lori MacVittie</dc:creator>
            <guid>http://devcentral.f5.com/weblogs/macvittie/archive/2008/11/11/why-you-should-not-use-clustering-to-scale-an-application.aspx</guid>
            <pubDate>Tue, 11 Nov 2008 15:05:14 GMT</pubDate>
            <wfw:comment>http://devcentral.f5.com/weblogs/macvittie/comments/3774.aspx</wfw:comment>
            <comments>http://devcentral.f5.com/weblogs/macvittie/archive/2008/11/11/why-you-should-not-use-clustering-to-scale-an-application.aspx#feedback</comments>
            <wfw:commentRss>http://devcentral.f5.com/weblogs/macvittie/comments/commentRss/3774.aspx</wfw:commentRss>
            <trackback:ping>http://devcentral.f5.com/weblogs/macvittie/services/trackbacks/3774.aspx</trackback:ping>
        </item>
        <item>
            <title>Infrastructure 2.0: Aligning the network with the business (and the rest of IT)</title>
            <link>http://devcentral.f5.com/weblogs/macvittie/archive/2008/11/10/infrastructure-2.0-aligning-the-network-with-the-business-and-the.aspx</link>
            <description>&lt;p&gt;When SOA was the hot topic of the day (not that long ago) everyone was pumped up about the ability finally align IT with the business. Reusability, agility, and risk mitigation were benefits that would enable the business itself to be more agile and react dynamically to the constant maelstrom that is "the market". &lt;/p&gt;  &lt;p&gt;But only half of IT saw those benefits; the application half. Even though pundits tried to remind folks that the "A" in SOA stood for "architecture", and that it necessarily included more than just applications, still the primary beneficiary of SOA has been applications and through their newfound agility and reusability, the business. &lt;/p&gt;  &lt;p&gt;The network has remained, for many, just as brittle and unchanging (and thus not agile) as it has ever been, mired in its own "hardwired" architectures, unable to flex or extend its abilities to support the applications it is tasked with delivering. And no one seemed to mind, really, because the benefits of SOA were being realized anyway, and no one could really quantify the benefits of also rearchitecting the network infrastructure to be as flexible and agile as the application infrastructure. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/Inf.0SOAVirtualizationANetworkRevolution_7ADB/flexibility_2.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; margin: 0px 10px 0px 0px; border-left: 0px; border-bottom: 0px" height="240" alt="flexibility" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/Inf.0SOAVirtualizationANetworkRevolution_7ADB/flexibility_thumb.jpg" width="239" align="left" border="0" /&gt;&lt;/a&gt; But along comes virtualization and cloud computing, and an epiphany was had by many: the network and application delivery infrastructure must be as agile and flexible as the application infrastructure in order to achieve the full measure of benefits from this newest technology. Without an application delivery infrastructure that is as able to adapt dynamically the infrastructure is the wall between a successful deployment and failure. &lt;/p&gt;  &lt;p&gt;In order to &lt;a href="http://www.f5.com/pdf/white-papers/soa-delivery-wp.pdf"&gt;truly align the network with the business&lt;/a&gt; - and the other half of IT - it becomes necessary to dig deeper into the network stack and really take a look at how you're delivering those agile applications and services. It's important to consider the ramifications of a static, brittle delivery infrastructure on the successful deployment and delivery of virtually hosted applications and services. It's necessary to look at the ability of your &lt;a href="http://www.f5.com/products/big-ip"&gt;delivery infrastructure&lt;/a&gt; and evaluate its abilities in terms of reusability, scalability, and dynamism. &lt;/p&gt;  &lt;p&gt;Analyst and research firm Gartner said is as succinctly as it can be said: &lt;a href="http://mediaproducts.gartner.com/reprints/f5networks/vol3/article4/article4.html"&gt;You Can't Do Cloud Computing Without the Right Cloud (Network)&lt;/a&gt; and the same holds true for virtualization efforts. You can't efficiently &lt;a href="http://www.f5.com/pdf/white-papers/virtualization-painpoints-wp.pdf"&gt;deliver virtualized applications without the right network infrastructure&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;Until your network and application delivery infrastructure is as agile and reusable as your application infrastructure you won't be able to align &lt;em&gt;all &lt;/em&gt;of IT with the business. &lt;/p&gt;  &lt;p&gt;Until you have a completely agile architecture that spans all of IT, you're not truly aligned with the business. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://twitter.com/lmacvittie"&gt;&lt;img height="18" alt="Follow me on Twitter" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_twitt-twoo-icon.png" width="18" border="0" /&gt;&lt;/a&gt; &lt;a href="http://devcentral.f5.com/weblogs/macvittie/Rss.aspx"&gt;&lt;img src="http://devcentral.f5.com/Portals/0/images/Icons/icon_xml_18.gif" border="0" /&gt;&lt;/a&gt;&lt;a href="http://www.slideshare.net/lmacvittie"&gt;&lt;img height="18" alt="View Lori's profile on SlideShare" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_slideshare.png" width="18" border="0" /&gt;&lt;/a&gt;&lt;a href="http://lmacvittie.tumblr.com" border="0"&gt;&lt;img title="Follow me on Tumblr" height="18" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_tumblr.gif" width="18" border="0" /&gt;&lt;/a&gt; &lt;a href="http://lmacvittie.posterous.com/"&gt;&lt;img title="Posterous" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_posterous.png" border="0" /&gt;&lt;/a&gt; &lt;a href="http://www.linkedin.com/in/lmacvittie"&gt;&lt;img src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_linkedin_16.png" border="0" /&gt;&lt;/a&gt; &lt;a title="Subscribe using any feed reader!" href="http://www.addthis.com/feed.php?pub=lmacvittie&amp;amp;h1=http%3A%2F%2Fdevcentral.f5.com%2Fweblogs%2Fmacvittie%2FRss.aspx&amp;amp;t1="&gt;&lt;img height="18" alt="AddThis Feed Button" src="http://s9.addthis.com/button1-fd.gif" width="125" border="0" /&gt;&lt;/a&gt; &lt;a title="Bookmark and Share" onclick="window.open('http://www.addthis.com/bookmark.php?wt=nw&amp;amp;pub=lmacvittie&amp;amp;url='+encodeURIComponent(location.href)+'&amp;amp;title='+encodeURIComponent(document.title), 'addthis', 'scrollbars=yes,menubar=no,width=620,height=520,resizable=yes,toolbar=no,location=no,status=no,screenX=200,screenY=100,left=200,top=100'); return false;" href="http://www.addthis.com/bookmark.php" target="_blank"&gt;&lt;img height="18" alt="Bookmark and Share" src="http://s9.addthis.com/button1-share.gif" width="125" border="0" /&gt;&lt;/a&gt;&lt;script src="http://track.mybloglog.com/js/jsserv.php?mblID=2008070914270355" type="text/javascript"&gt;&lt;/script&gt;&lt;script src="http://feeds.feedburner.com/~s/f5/XOwx" type="text/javascript" charset="utf-8"&gt;&lt;/script&gt;&lt;script src="http://feeds.feedburner.com/~d/static/site-tracker.js" type="text/javascript" charset="utf-8"&gt;&lt;/script&gt; &lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:ec9f5a20-a73d-4a07-9350-a59597a79be0" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/MacVittie" rel="tag"&gt;MacVittie&lt;/a&gt;,&lt;a href="http://technorati.com/tags/F5" rel="tag"&gt;F5&lt;/a&gt;,&lt;a href="http://technorati.com/tags/cloud%20computing" rel="tag"&gt;cloud computing&lt;/a&gt;,&lt;a href="http://technorati.com/tags/infrastructure%202.0" rel="tag"&gt;infrastructure 2.0&lt;/a&gt;,&lt;a href="http://technorati.com/tags/SOA" rel="tag"&gt;SOA&lt;/a&gt;,&lt;a href="http://technorati.com/tags/agile" rel="tag"&gt;agile&lt;/a&gt;,&lt;a href="http://technorati.com/tags/reuse" rel="tag"&gt;reuse&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Gartner" rel="tag"&gt;Gartner&lt;/a&gt;,&lt;a href="http://technorati.com/tags/align" rel="tag"&gt;align&lt;/a&gt;,&lt;a href="http://technorati.com/tags/network" rel="tag"&gt;network&lt;/a&gt;,&lt;a href="http://technorati.com/tags/application%20delivery%20infrastructure" rel="tag"&gt;application delivery infrastructure&lt;/a&gt;,&lt;a href="http://technorati.com/tags/application" rel="tag"&gt;application&lt;/a&gt;,&lt;a href="http://technorati.com/tags/architecture" rel="tag"&gt;architecture&lt;/a&gt;,&lt;a href="http://technorati.com/tags/network-side" rel="tag"&gt;network-side&lt;/a&gt;,&lt;a href="http://technorati.com/tags/internet" rel="tag"&gt;internet&lt;/a&gt;,&lt;a href="http://technorati.com/tags/cloud" rel="tag"&gt;cloud&lt;/a&gt;,&lt;a href="http://technorati.com/tags/web" rel="tag"&gt;web&lt;/a&gt;,&lt;a href="http://technorati.com/tags/blog" rel="tag"&gt;blog&lt;/a&gt;&lt;/div&gt;&lt;div class='blogtags'&gt;&lt;/div&gt;&lt;img src="http://devcentral.f5.com/weblogs/macvittie/aggbug/3773.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Lori MacVittie</dc:creator>
            <guid>http://devcentral.f5.com/weblogs/macvittie/archive/2008/11/10/infrastructure-2.0-aligning-the-network-with-the-business-and-the.aspx</guid>
            <pubDate>Mon, 10 Nov 2008 16:23:25 GMT</pubDate>
            <wfw:comment>http://devcentral.f5.com/weblogs/macvittie/comments/3773.aspx</wfw:comment>
            <comments>http://devcentral.f5.com/weblogs/macvittie/archive/2008/11/10/infrastructure-2.0-aligning-the-network-with-the-business-and-the.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://devcentral.f5.com/weblogs/macvittie/comments/commentRss/3773.aspx</wfw:commentRss>
            <trackback:ping>http://devcentral.f5.com/weblogs/macvittie/services/trackbacks/3773.aspx</trackback:ping>
        </item>
    </channel>
</rss>