<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/"><channel><title>DevCentral Weblogs</title><link>http://devcentral.f5.com/weblogs/MainFeed.aspx?GroupID=1</link><description>weblogs on DevCentral</description><generator>Subtext Version 2.1.1.1</generator><item><title>Extend Cross-Domain Request Security using Access-Control-Allow-Origin with Network-Side Scripting</title><link>http://devcentral.f5.com/weblogs/macvittie/archive/2010/02/09/extend-cross-domain-request-security-using-access-control-allow-origin-with-network-side-scripting.aspx</link><pubDate>Tue, 09 Feb 2010 12:18:36 GMT</pubDate><guid isPermaLink="true">http://devcentral.f5.com/weblogs/macvittie/archive/2010/02/09/extend-cross-domain-request-security-using-access-control-allow-origin-with-network-side-scripting.aspx</guid><wfw:comment>http://devcentral.f5.com/weblogs/macvittie/comments/6303.aspx</wfw:comment><wfw:commentRss>http://devcentral.f5.com/weblogs/macvittie/comments/commentRss/6303.aspx</wfw:commentRss><comments>http://devcentral.f5.com/weblogs/macvittie/archive/2010/02/09/extend-cross-domain-request-security-using-access-control-allow-origin-with-network-side-scripting.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://devcentral.f5.com/weblogs/macvittie/services/trackbacks/6303.aspx</trackback:ping><source url="http://devcentral.f5.com/weblogs/macvittie/rss.aspx">Extend Cross-Domain Request Security using Access-Control-Allow-Origin with Network-Side Scripting</source><description>&lt;p&gt;&lt;em&gt;The W3C specification now offers the means by which cross-origin AJAX requests can be achieved. Leveraging network and application network services in conjunction with application-specific logic improves security of allowing cross-domain requests and has some hidden efficiency benefits, too. &lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/ExtendingCrossDomainRequestSecuritywithA_2F11/access-control_2.jpg"&gt;&lt;img title="access-control" style="border-right: 0px; border-top: 0px; display: inline; margin: 0px 10px 10px 0px; border-left: 0px; border-bottom: 0px" height="182" alt="access-control" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/ExtendingCrossDomainRequestSecuritywithA_2F11/access-control_thumb.jpg" width="242" align="left" border="0" /&gt;&lt;/a&gt; The latest version of the W3C working draft on “&lt;a href="http://www.w3.org/TR/access-control/"&gt;Cross-Origin Resource Sharing&lt;/a&gt;” lays out the means by which a developer can use XMLHTTPRequest (in Firefox) or XDomainRequest (in IE8) to make cross-site requests. As is often the case, the solution is implemented by extending HTTP headers, which makes the specification completely backwards and cross-platform compatible even if the client-side implementation is not. While this sounds like a good thing, forcing changes to HTTP headers is often thought to require changes to the application. In many cases, that’s absolutely true. But there is another option: &lt;a href="http://devcentral.f5.com/iRules"&gt;network-side scripting&lt;/a&gt;. There are several benefits to using network-side scripting to implement this capability, but more importantly the use of a mediating system (proxy) enables the ability to include more granular security than is currently offered by the Cross-Domain Request specification. &lt;/p&gt;  &lt;hr width="100%" color="#680000" noshade="noshade" /&gt;   &lt;div style="background: #ebd3d3; width: 100%"&gt;&lt;strong&gt;HOW CROSS-ORIGIN ACCESS CONTROL WORKS&lt;/strong&gt;&lt;/div&gt;  &lt;hr width="100%" color="#680000" noshade="noshade" /&gt;  &lt;p&gt;The basic premise of the W3C specification is that the server, i.e. the application, controls whether a remote location can send cross-site requests. Even though the request is actually made by the user (and we’ll get to how we might leverage &lt;em&gt;that &lt;/em&gt;dynamically a bit later) it is the originating application – more specifically the domain - that must be authorized. In its simplest form, when a cross-origin request is received the application must respond with an &lt;em&gt;Access-Control-Allow-Origin&lt;/em&gt; HTTP header containing a URI (or wildcard) that matches the value of the “&lt;em&gt;Origin” &lt;/em&gt;HTTP Header. The browser then determines if the values of the two HTTP headers match and, if they do, the request is allowed to continue. If the value of the &lt;em&gt;Access-Control-Allow-Origin&lt;/em&gt; does not exactly match the value of the &lt;em&gt;Origin &lt;/em&gt;header – or does not contain a wildcard – the &lt;em&gt;browser&lt;/em&gt; refuses to honor the response. The wildcard cannot be used in place of the host in a FQDN (Fully Qualified Domain Name), e.g. &lt;strong&gt;*.example.com&lt;/strong&gt;, it can only be used to allow &lt;em&gt;all &lt;/em&gt;domains to access the resource. While this is certainly the easiest way to enable cross-domain requests to be successful, it is not recommended because it is essentially the same as providing &lt;em&gt;no &lt;/em&gt;security for the invocation of functionality from third-party domains. &lt;/p&gt;  &lt;p&gt;Other variants of this scenario allow for the use of other HTTP methods (POST, DELETE, PUT) but require a pre-flight request to determine whether the method is allowed or not. The availability of these methods certainly forwards the REST API model as well as SOAP and makes it possible to develop web-based applications that can interact with multiple domains – think cross-cloud deployments – at the same time. &lt;/p&gt;  &lt;hr width="100%" color="#680000" noshade="noshade" /&gt;   &lt;div style="background: #ebd3d3; width: 100%"&gt;&lt;strong&gt;USING an INTERMEDIARY &lt;/strong&gt;&lt;/div&gt;  &lt;hr width="100%" color="#680000" noshade="noshade" /&gt;  &lt;p&gt;Of course the need to (a) determine access control based on the &lt;em&gt;Origin &lt;/em&gt;header and (b) add the &lt;em&gt;Access-Control-Allow-Origin &lt;/em&gt;header requires that the application must change its behavior, i.e. code to support cross-domain requests. But &lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/ExtendingCrossDomainRequestSecuritywithA_2F11/image_2.png"&gt;&lt;img title="image" style="border-right: 0px; border-top: 0px; display: inline; margin: 10px 10px 10px 0px; border-left: 0px; border-bottom: 0px" height="364" alt="image" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/ExtendingCrossDomainRequestSecuritywithA_2F11/image_thumb.png" width="567" align="left" border="0" /&gt;&lt;/a&gt;as is the case with many forms of authentication and web application security, this process can be relatively easily implemented in a &lt;a href="http://www.f5.com/products/big-ip/"&gt;network-side scripting capable load balancer&lt;/a&gt; or intermediary, such as a &lt;a href="http://httpd.apache.org/docs/2.0/mod/mod_headers.html"&gt;mod_headers&lt;/a&gt;/&lt;a href="http://httpd.apache.org/docs/1.3/mod/mod_rewrite.html"&gt;mod_rewrite&lt;/a&gt; enabled &lt;a href="http://www.apache.org"&gt;Apache&lt;/a&gt;-based proxy. Regardless of whether you use a proxy capable of inspecting and transforming requests and responses or a &lt;a title="" href="http://www.f5.com/glossary/load-balancer.html" rel=""&gt;Load balancer&lt;/a&gt; similarly enabled the process should be the same. &lt;/p&gt;  &lt;p&gt;The advantages of using an intermediary are that you don’t need to change existing applications to support this functionality, and a centralized proxy-based solution can provide the functionality for all applications at the same time. A second benefit of this architecture over tightly-coupling with the application is that the application doesn’t need to process requests that are &lt;em&gt;not &lt;/em&gt;allowed. If the proxy-based solution determines the request is not legitimate or authorized, the server never sees the request. This means the application – and by extension the server – don’t waste resources processing requests that are unauthorized, which improves the capacity of the server/application to service legitimate users. &lt;/p&gt;  &lt;p&gt;A final advantage of this solution is flexibility. While the specification calls for determining authority to access a resource based solely on the origin, this can easily be extended to include other factors if the intermediary platform is capable of doing so. &lt;/p&gt;  &lt;p&gt;For example, if you’re using a network-side scripting capable application delivery controller that is able to leverage &lt;a href="http://devcentral.f5.com/weblogs/f5news/archive/2009/11/18/geolocation-gets-more-granular-with-f5-big-ip-and-quova.aspx"&gt;GeoLocation&lt;/a&gt; information, you can use &lt;em&gt;that &lt;/em&gt;information to determine authorization as well as the origin. You can use cookies, other HTTP headers, network information, time of day, and of course any data that might be submitted with the request – just about any data from the network up to the application can be included in the determination of whether the request should be granted or not.&lt;/p&gt;  &lt;hr width="100%" color="#680000" noshade="noshade" /&gt;   &lt;div style="background: #ebd3d3; width: 100%"&gt;&lt;strong&gt;APPLICATION DELIVERY EXTENDS VISILBIITY and REACH of APPLICATIONS &lt;/strong&gt;&lt;/div&gt;  &lt;hr width="100%" color="#680000" noshade="noshade" /&gt;  &lt;p&gt;What the W3C provides is a framework for enabling the execution of cross-domain requests, but does not specifically detail &lt;em&gt;how &lt;/em&gt;to determine whether any given request should be allowed or not. That is completely up to you. It is assumed by many that the only method of determining access rights is to keep a list of domains allowed to access resources via a cross-site request. This is simply not true. The use of additional HTTP headers as a means to allow or deny access makes the process dynamic and it is up to the developer to determine how access rights are derived. While the simplest case certainly uses nothing more than a list of domains, there are plenty of other ways in which access rights can be derived given an HTTP request. A context-aware application delivery controller used as the means by which such determinations are made can dramatically broaden the type of information upon which you can base that decision. You can extend the application’s reach, essentially, into the network. If you still want the application itself to authorize the request, you could still use network-side scripting to simply “screen” requests to determine whether they pass certain checks before being forwarded onto the server. &lt;/p&gt;  &lt;p&gt;For example, the application delivery controller can inspect a request not only for the existence of the &lt;em&gt;Origin&lt;/em&gt; header, but also the User-Agent. Based on the User-Agent the network-side script may be instructed to reject the request outright rather than allow it to be processed by the server. This may be desirable to prevent spiders and scripts – assuming they are capable of sending the &lt;em&gt;Origin &lt;/em&gt;header - from accessing resources. It may be desirable to check for capabilities or language support first before forwarding on the request, to ensure the server-side application properly supports the request. This is also the best place to implement &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2008/06/30/3412.aspx"&gt;request throttling behavior&lt;/a&gt;, too, to ensure one client – or domain – does not consume resources at a rate that would degrade availability or performance for other clients – or domains. &lt;/p&gt;  &lt;p&gt;This is “application delivery” as it applies to application architecture: the ability to leverage “network” and “application network” services to extend the reach and visibility of applications further to provide additional security and options that were heretofore unavailable due to inherent limitations in the application architecture.  &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 title="Follow F5 Networks on Twitter" href="http://tweepml.org/F5-Networks-Tweeple/"&gt;&lt;img height="18" src="http://tweepml.org/s/tweepml16.png" width="18" border="0" /&gt;&lt;/a&gt; &lt;a title="Follow F5 DevCentral on Twitter" href="http://tweepml.org/F5-DevCentral/"&gt;&lt;img height="18" src="http://tweepml.org/s/tweepml16.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://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 href="http://www.friendfeed.com/lmacvittie"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="18" alt="friendfeed" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/friendfeed_3.jpg" width="18" border="0" /&gt;&lt;/a&gt; &lt;a href="http://www.facebook.com/lmacvittie"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="18" alt="icon_facebook" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/icon_facebook_4.png" width="18" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&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 type="text/javascript" src="http://track.mybloglog.com/js/jsserv.php?mblID=2008070914270355"&gt;&lt;/script&gt;&lt;/p&gt;  &lt;p&gt;Related blogs &amp;amp; articles: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/dd573303%28VS.85%29.aspx"&gt;Microsoft: AJAX – Introducing Cross-domain Request (XDR)&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="https://developer.mozilla.org/En/HTTP_access_control"&gt;Mozilla: HTTP access Control – MDC&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.w3.org/TR/access-control/"&gt;W3C Cross-Origin Resource Sharing&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.rockstarapps.com/wordpress/?p=147"&gt;Rockstarapps.com: Unleash the Browser with Cross-Domain Requests – eh not yet&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2008/06/30/3412.aspx"&gt;API &lt;b&gt;Request&lt;/b&gt; &lt;b&gt;Throttling&lt;/b&gt;: A Better Option&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/10/05/using-network-side-scripting-to-implement-mock-api-endpoints.aspx"&gt;Using Network-Side Scripting to Implement Mock API Endpoints&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/01/22/twitters-api-limit-static-control-in-a-dynamic-world.aspx"&gt;Twitter's API limit: Static control in a dynamic world&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/09/16/ajax-and-network-side-scripting.aspx"&gt;AJAX and Network-Side Scripting&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/09/08/impact-of-load-balancing-on-soapy-and-restful-applications.aspx"&gt;Impact of Load Balancing on SOAPy and RESTful Applications&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2008/10/31/understanding-network-side-scripting.aspx"&gt;Understanding &lt;em&gt;network&lt;/em&gt;-&lt;em&gt;side&lt;/em&gt; scripting&lt;/a&gt;&lt;/li&gt;  &lt;/ul&gt;  &lt;ul /&gt;  &lt;p /&gt;  &lt;div class="wlWriterEditableSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:de9fc438-f4f4-48ab-bfc6-39b6091429de" 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/application+security" rel="tag"&gt;application security&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/web+2.0" rel="tag"&gt;web 2.0&lt;/a&gt;,&lt;a href="http://technorati.com/tags/network-side+scripting" rel="tag"&gt;network-side scripting&lt;/a&gt;,&lt;a href="http://technorati.com/tags/W3C" rel="tag"&gt;W3C&lt;/a&gt;,&lt;a href="http://technorati.com/tags/cross-domain+request" rel="tag"&gt;cross-domain request&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/application+delivery" 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/development" rel="tag"&gt;development&lt;/a&gt;,&lt;a href="http://technorati.com/tags/ajax" rel="tag"&gt;ajax&lt;/a&gt;,&lt;a href="http://technorati.com/tags/XMLHTTPRequest" rel="tag"&gt;XMLHTTPRequest&lt;/a&gt;&lt;/div&gt;&lt;img src="http://devcentral.f5.com/weblogs/macvittie/aggbug/6303.aspx" width="1" height="1" /&gt;</description><dc:creator>Lori MacVittie</dc:creator></item><item><title>Scaling AJAX Applications is More About Architecture than Apache</title><link>http://devcentral.f5.com/weblogs/macvittie/archive/2010/02/08/scaling-ajax-applications-is-more-about-architecture-than-apache.aspx</link><pubDate>Mon, 08 Feb 2010 12:35:52 GMT</pubDate><guid isPermaLink="true">http://devcentral.f5.com/weblogs/macvittie/archive/2010/02/08/scaling-ajax-applications-is-more-about-architecture-than-apache.aspx</guid><wfw:comment>http://devcentral.f5.com/weblogs/macvittie/comments/6301.aspx</wfw:comment><wfw:commentRss>http://devcentral.f5.com/weblogs/macvittie/comments/commentRss/6301.aspx</wfw:commentRss><comments>http://devcentral.f5.com/weblogs/macvittie/archive/2010/02/08/scaling-ajax-applications-is-more-about-architecture-than-apache.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://devcentral.f5.com/weblogs/macvittie/services/trackbacks/6301.aspx</trackback:ping><source url="http://devcentral.f5.com/weblogs/macvittie/rss.aspx">Scaling AJAX Applications is More About Architecture than Apache</source><description>&lt;p&gt;&lt;em&gt;Scaling applications that include AJAX and non-AJAX components may require more than just tuning your web server  &lt;/em&gt;&lt;/p&gt;  &lt;p&gt;A common problem after deploying a Web 2.0 AJAX-based application shows itself through poor performance or lower capacity on the server, often both. Web serving tuning is almost always the first step in improving performance and capacity, but the inherently competing behavior of AJAX-requests and “normal” HTTP requests quickly becomes problematic as well. Tune for the AJAX requests and performance of regular old HTTP requests suffers. Tune for regular old HTTP requests, and performance of AJAX-requests suffer. &lt;/p&gt;  &lt;p&gt;This is primarily because of the way in which the client-side application, the browser, interacts with the server. “Regular old HTTP requests” are typically those that GET a piece of content, static or dynamic, and that’s it. There may be many of these requests whenever a page (URI) is requested – all the images, client-side scripting files, style sheets, etc… – but they are not interactive. The browser requests them, receives them, and that’s it. AJAX-based requests, however, are inherently interactive. They are often automatically refreshed on an ongoing basis, on a prescheduled interval, or invoked by the user as they interact with the application. These requests are not “load and forget” like their traditional staticesque counterparts, but rather they are expected to be made often. &lt;/p&gt;  &lt;p&gt;The overhead associated with opening and closing connections is well understood, and it is often the case that the web server configuration will  be adjusted to meet the more demanding nature of the AJAX-based requests in an application. This is often accomplished by ensuring the KeepAlive setting (in Apache) is “on” and that the KeepAliveTimeout (in Apache) is high enough that AJAX-based requests occur &lt;em&gt;before &lt;/em&gt;the timeout closes the connection. This allows the continued reuse of an existing connection between the browser and the server and improves performance. But it also ties up resources on the server keeping that connection open, which reduces the overall capacity of the server in terms of its ability to serve users. Optimally a short KeepAliveTimeout, if any, is best for non-interactive requests and often disabling KeepAlive actually improves performance for non-interactive applications. &lt;/p&gt;  &lt;p&gt;Obviously these two behaviors are completely at odds with one another. &lt;/p&gt;  &lt;hr width="100%" color="#680000" noshade="noshade" /&gt;   &lt;div style="background: #ebd3d3; width: 100%"&gt;&lt;strong&gt;SOLUTIONS&lt;/strong&gt;&lt;/div&gt;  &lt;hr width="100%" color="#680000" noshade="noshade" /&gt;  &lt;p&gt;There are a number of ways in which the competing needs and interests of the interactive (AJAX) and non-interactive portions of your web application can be addressed. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/AJAXKeepAlive_24CB/image_2.png"&gt;&lt;img title="image" style="border-right: 0px; border-top: 0px; display: inline; margin: 0px 15px 0px 0px; border-left: 0px; border-bottom: 0px" height="231" alt="image" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/AJAXKeepAlive_24CB/image_thumb.png" width="420" align="left" border="0" /&gt;&lt;/a&gt;&lt;strong&gt;1.&lt;/strong&gt; Configure two different servers: one to serve interactive content, i.e. AJAX-based requests, and one to serve non-interactive requests, i.e. everything else. This way, each server can be specifically tuned (and sized) according to the application behavior. This is beneficial for several reasons, including the ability to “scale out/up” only the interactive-serving functions when or if it becomes necessary. This can be achieved simply by using specific host names for specific requests. If you do not have a public IP address that can be assigned to each host, however, you’ll need a proxy, like a &lt;a title="" href="http://www.f5.com/glossary/load-balancer.html" rel=""&gt;Load balancer&lt;/a&gt;, to sit in front of the servers and handle the direction of requests appropriately or you could use mod_rewrite to achieve a similar architecture. When a mediating solution like a load balancer is used to implement this solution, there are a several ways to achieve the behavior. One method is to rewrite requests directed at a specific URI, for example: &lt;a href="http://www.example.com/ajax/request1.php"&gt;http://www.example.com/ajax/request1.php&lt;/a&gt; would be redirected to the server designated as the “interactive” server while other requests would be forwarded to the non-interactive server. An application aware load balancer, i.e. application delivery controller, can examine the request itself and base the same decision on the actual data being exchanged. For example, many AJAX frameworks (XAJAX, SAJAX, Prototype, etc…) often use the HTTP POST method to send a request and &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/12/09/xajax-sajax-web-applications-cloud-compuiting.aspx"&gt;use specific parameters such as “xjxfun&lt;/a&gt;” to indicate which function is being invoked on the server side. By examining the data being exchanged an application aware proxy (load balancer) can use that information to send the request to the appropriate server. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;2.&lt;/strong&gt; A second means of addressing the problem of resource depletion and performance with AJAX-based applications is to use a &lt;a title="" href="http://www.f5.com/glossary/load-balancing.html" rel=""&gt;load balancing&lt;/a&gt; solution to mediate for the clients and employ the use of TCP multiplexing on the server-side to optimize resources. Because a load balancer is almost certainly capable of simultaneously handling a significantly higher &lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/AJAXKeepAlive_24CB/image_4.png"&gt;&lt;img title="image" style="border-right: 0px; border-top: 0px; display: inline; margin-left: 0px; border-left: 0px; margin-right: 0px; border-bottom: 0px" height="269" alt="image" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/AJAXKeepAlive_24CB/image_thumb_1.png" width="464" align="right" border="0" /&gt;&lt;/a&gt;volume of connections than a single web server, the competing behavior of interactive and non-interactive HTTP requests in a web application do not impede performance or impact its capacity. By allowing a load balancer to mediate for those requests, it can better manage the resources on the server and ensure that both capacity &lt;em&gt;and &lt;/em&gt;performance are maintained. For every X client connections, the load balancer maintains only a fraction of X connections to the server and reuses them as the means to optimizing the server-side resources. This method is actually likely to increase overall capacity because it will reduce the number of connections required to be in use at any given time on the server(s) and eliminates the performance overhead associated with opening and closing TCP connections. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;3. &lt;/strong&gt;A third solution might be found in scaling up (beefier hardware) and leveraging virtualization. For web applications, specifically, it may be the case that &lt;a href="http://www.vmware.com/files/pdf/consolidating_webapps_vi3_wp.pdf"&gt;virtualization of the application will actually improve performance&lt;/a&gt;. This is particularly true of I/O intensive web applications, but is also likely true of high-connection oriented applications as well. This is  because as a web server begins to reach its capacity in terms of connections it requires more processing to “find” a given connection. Nearly all TCP-based applications exhibit similar performance characteristics and, upon reaching a certain threshold of connections, performance degrades. By finding the “sweet spot” ,i.e. the highest number of connections that retains acceptable user response time, and deploying multiple instances of that application, each tuned for that upper bound, it may be possible to squeeze out better performance and higher capacity of your web applications. Multiple instances will require a proxy, i.e. load balancing, solution as well, but this would allow for a “scale up” solution that takes advantage of a single, beefy physical server that eliminates the IT management and maintenance overhead of additional hardware in the data center. &lt;/p&gt;  &lt;hr width="100%" color="#680000" noshade="noshade" /&gt;   &lt;div style="background: #ebd3d3; width: 100%"&gt;&lt;strong&gt;IT’S THE ARCHITECTURE&lt;/strong&gt;&lt;/div&gt;  &lt;hr width="100%" color="#680000" noshade="noshade" /&gt;  &lt;p&gt;In all three cases the solution to the problem of competing resource utilization between interactive and non-interactive components of a web application involve architecture. Some might believe that simply moving the application to “the cloud” would address the problems and, in some ways, it will. Cloud computing environments can indeed be managed such that applications are automatically scaled out to maintain performance and increase capacity, but the interesting thing about that is the environments are essentially implementing a combination of the three solutions heretofore presented. The bad news is that such a solution does not &lt;em&gt;optimize &lt;/em&gt;resource utilization, and thus the costs associated with a cloud computing solution to the problem may be surprising and even prohibitive depending on your IT budget. And the cloud computing solution, of course, is ultimately also about &lt;em&gt;architecture, &lt;/em&gt;as it is the architecture that allows for automated scalability. &lt;/p&gt;  &lt;p&gt;In most cases involving web applications the answer to scalability challenges is going to end up being architecture, and that architecture is increasingly requiring the use of application network components such as load balancers to implement. This is why it is often advised that applications are architected to take advantage of application networking components from the beginning, even if such solutions will not be necessary to address capacity and optimization on day one. By architecting a solution that includes application networking as part of its design and deployment model, there is far less disruption later when such a solution does become necessary. &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 title="Follow F5 Networks on Twitter" href="http://tweepml.org/F5-Networks-Tweeple/"&gt;&lt;img height="18" src="http://tweepml.org/s/tweepml16.png" width="18" border="0" /&gt;&lt;/a&gt; &lt;a title="Follow F5 DevCentral on Twitter" href="http://tweepml.org/F5-DevCentral/"&gt;&lt;img height="18" src="http://tweepml.org/s/tweepml16.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://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 href="http://www.friendfeed.com/lmacvittie"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="18" alt="friendfeed" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/friendfeed_3.jpg" width="18" border="0" /&gt;&lt;/a&gt; &lt;a href="http://www.facebook.com/lmacvittie"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="18" alt="icon_facebook" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/icon_facebook_4.png" width="18" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&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 type="text/javascript" src="http://track.mybloglog.com/js/jsserv.php?mblID=2008070914270355"&gt;&lt;/script&gt;&lt;/p&gt;  &lt;p&gt;Related blogs &amp;amp; articles: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.whenpenguinsattack.com/2006/01/24/improving-php-performance-on-apache/"&gt;Improving PHP Performance on Apache&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/12/09/xajax-sajax-web-applications-cloud-compuiting.aspx"&gt;XAJAX Perfect Choice to Build Scalable Web Applications for Cloud Computing&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2010/01/27/how-to-gracefully-degrade-web-2.0-applications-to-maintain-availability.aspx"&gt;How to Gracefully Degrade Web 2.0 Applications To Maintain Availability&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2010/01/20/wils-how-can-a-load-balancer-keep-a-single-server.aspx"&gt;WILS: How can a load balancer keep a single server site available?&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/10/07/long-lived-ajax.aspx"&gt;Long Live(d) AJAX&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2010/01/25/how-to-use-coralcdn-on-demand-to-keep-your-site-available.aspx"&gt;How To Use CoralCDN On-Demand to Keep Your Site Available. For Free.&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/12/10/json-versus-xml-your-choice-matters-more-than-you-think.aspx"&gt;JSON versus XML: Your Choice Matters More Than You Think&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/09/16/ajax-and-network-side-scripting.aspx"&gt;AJAX and Network-Side Scripting&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;div class="wlWriterEditableSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:f4658e21-6a9a-4050-88ee-9033ff123682" 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/architecture" rel="tag"&gt;architecture&lt;/a&gt;,&lt;a href="http://technorati.com/tags/web+2.0" rel="tag"&gt;web 2.0&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/load+balancer" rel="tag"&gt;load balancer&lt;/a&gt;,&lt;a href="http://technorati.com/tags/AJAX" rel="tag"&gt;AJAX&lt;/a&gt;,&lt;a href="http://technorati.com/tags/apache" rel="tag"&gt;apache&lt;/a&gt;,&lt;a href="http://technorati.com/tags/mod_rewrite" rel="tag"&gt;mod_rewrite&lt;/a&gt;,&lt;a href="http://technorati.com/tags/cloud+computing" rel="tag"&gt;cloud computing&lt;/a&gt;,&lt;a href="http://technorati.com/tags/application+delivery" rel="tag"&gt;application delivery&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/scalability" rel="tag"&gt;scalability&lt;/a&gt;,&lt;a href="http://technorati.com/tags/optimization" rel="tag"&gt;optimization&lt;/a&gt;&lt;/div&gt;&lt;img src="http://devcentral.f5.com/weblogs/macvittie/aggbug/6301.aspx" width="1" height="1" /&gt;</description><dc:creator>Lori MacVittie</dc:creator></item><item><title>ARX Config &amp;ndash; Something NASty and An End to the Stumbling</title><link>http://devcentral.f5.com/weblogs/dmacvittie/archive/2010/02/08/arx-config-ndash-something-nasty-and-an-end-to-the.aspx</link><pubDate>Mon, 08 Feb 2010 10:57:40 GMT</pubDate><guid isPermaLink="true">http://devcentral.f5.com/weblogs/dmacvittie/archive/2010/02/08/arx-config-ndash-something-nasty-and-an-end-to-the.aspx</guid><wfw:comment>http://devcentral.f5.com/weblogs/dmacvittie/comments/6300.aspx</wfw:comment><wfw:commentRss>http://devcentral.f5.com/weblogs/dmacvittie/comments/commentRss/6300.aspx</wfw:commentRss><comments>http://devcentral.f5.com/weblogs/dmacvittie/archive/2010/02/08/arx-config-ndash-something-nasty-and-an-end-to-the.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://devcentral.f5.com/weblogs/dmacvittie/services/trackbacks/6300.aspx</trackback:ping><source url="http://devcentral.f5.com/weblogs/dmacvittie/rss.aspx">ARX Config &amp;ndash; Something NASty and An End to the Stumbling</source><description>&lt;p&gt;Well, over the weekend one of our NAS boxes – the &lt;a href="http://www.netgear.com/" target="_blank"&gt;NetGear&lt;/a&gt; – started throwing SMART errors. Yeah, it was telling me that more and more blocks are going bad and we need to do something about it.&lt;/p&gt;  &lt;p&gt;After due consideration (more below) &lt;a href="http://devcentral.f5.com/weblogs/macvittie/" target="_blank"&gt;Lori&lt;/a&gt; and I decided to replace it with a lower-end enterprise-class NAS.&lt;/p&gt;  &lt;p&gt;Now this may sound like odd timing to you, but there’s something I haven’t told you. The NetGear was our tier two because it has a bad channel. It’s been running one disk shy for quite a while, and the problem is with the controller, not the disk – we tried replacing the disk right-off, only to discover that pre-NetGear versions of this box and issues with the first channel on the card. Lose another disk and POOF! No more tier two.&lt;a href="http://configure.us.dell.com/dellstore/config.aspx?oc=bvcwak1&amp;amp;c=us&amp;amp;l=en&amp;amp;s=bsd&amp;amp;cs=04&amp;amp;kc=storage-powervault-nx3000" target="_blank"&gt;&lt;img style="display: inline; margin-left: 0px; margin-right: 0px" align="right" src="http://i.dell.com/images/global/configurator/chassis/storage-powervault-nx3000-120x107.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;So we’re going to make the &lt;a href="http://www.seagate.com/blackarmor/" target="_blank"&gt;Seagate BlackArmor&lt;/a&gt; our tier two and place a shiny new &lt;a href="http://configure.us.dell.com/dellstore/config.aspx?oc=bvcwak1&amp;amp;c=us&amp;amp;l=en&amp;amp;s=bsd&amp;amp;cs=04&amp;amp;kc=storage-powervault-nx3000" target="_blank"&gt;Dell PowerVault NX3000&lt;/a&gt; into our network. We picked the lowest end model they had that included CIFs, NFS, and ADS support in one box. Funny thing, neither Lori nor I has touched a PowerVault since we had a prototype in the NWC lab back when they were just starting the line up. Should be fun. &lt;/p&gt;  &lt;p&gt;This is a “for us” thing, F5 isn’t subsidizing it in any way, and really shouldn’t be. Our NAS devices hold our stuff – our written works, pictures, PDFs we’ve purchased, even rips of our CD collection. This box is pretty, and we’re stoked, but with this box there is both good news and bad news…&lt;/p&gt;  &lt;p&gt;You see, the Dell is a Dell, and it’s an enterprise product, so they don’t have one laying around that they can just ship to us, they have to put the disks in, test, etc. So it’s going to put this series off by &lt;em&gt;another&lt;/em&gt; week. The good news is that once the box is here, I can sidetrack writing about configuring it and moving our network around, then we’ll be all set to actually talk about the cool things we hope to achieve with the ARX.&lt;/p&gt;  &lt;p&gt;Until then though, I won’t be saying much. Let’s face it, I could play with the ARX for the week and tell you about all the switches I toggled, but you’re not going to use the box to play with, you’re going to put it in and tell it to manage your storage. So until I have the environment set such that I can do the same, it makes no sense to write about stuff that is fluff. In short, I’m not going to blog about stuff that doesn’t matter to you just so I can say I’m blogging. &lt;/p&gt;  &lt;p&gt;So I’ll focus on other topics this week, and then you’ll get a flurry of updates when the new device arrives. The only thing I plan to do between now and then is rip down the ADS server (as in shut it off again), and make sure our Seagate plays nice via NFS, so all is set for this box to take the lead. Oh yeah, and back up both NAS boxes, so I can move the Seagate stuff onto the PowerVault, and the Netgear stuff onto the Seagate. So I guess I’ll be doing routine admin stuff, but nothing worthy of a blog unless something goes wrong and I think I can make you smile by blogging about it.&lt;/p&gt;  &lt;p&gt;Until then, don’t get NAS-ty, be patient, we’ll be back.&lt;/p&gt;  &lt;p&gt;Don.&lt;/p&gt;&lt;img src="http://devcentral.f5.com/weblogs/dmacvittie/aggbug/6300.aspx" width="1" height="1" /&gt;</description><dc:creator>Don MacVittie</dc:creator></item><item><title>DevCentral Live Tour &amp;ndash; It&amp;rsquo;s a Wrap!</title><link>http://devcentral.f5.com/weblogs/jason/archive/2010/02/05/devcentral-live-tour-ndash-itrsquos-a-wrap.aspx</link><pubDate>Fri, 05 Feb 2010 19:54:23 GMT</pubDate><guid isPermaLink="true">http://devcentral.f5.com/weblogs/jason/archive/2010/02/05/devcentral-live-tour-ndash-itrsquos-a-wrap.aspx</guid><wfw:comment>http://devcentral.f5.com/weblogs/jason/comments/1086024.aspx</wfw:comment><wfw:commentRss>http://devcentral.f5.com/weblogs/jason/comments/commentRss/1086024.aspx</wfw:commentRss><comments>http://devcentral.f5.com/weblogs/jason/archive/2010/02/05/devcentral-live-tour-ndash-itrsquos-a-wrap.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://devcentral.f5.com/weblogs/jason/services/trackbacks/1086024.aspx</trackback:ping><source url="http://devcentral.f5.com/weblogs/jason/rss.aspx">DevCentral Live Tour &amp;ndash; It&amp;rsquo;s a Wrap!</source><description>&lt;p&gt;After a week of presentations throughout the Middle East and Europe by Joe &amp;amp; Jeff, I took my turn on the tour, beginning with a &lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/jason/WindowsLiveWriter/DevCentralLiveSouthAfrica_7C79/clip_image001_2.jpg"&gt;&lt;img title="clip_image001" style="border-right: 0px; border-top: 0px; display: inline; margin: 10px; border-left: 0px; border-bottom: 0px" height="163" alt="clip_image001" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/jason/WindowsLiveWriter/DevCentralLiveSouthAfrica_7C79/clip_image001_thumb.jpg" width="420" align="right" border="0" /&gt;&lt;/a&gt;couple days in Johannesburg, South Africa, and finishing up the week with a few stops in Europe as well.  Today’s session in Antwerp, Belgium, also featured the iRules Contest grand prize winner in the partner division, &lt;a href="http://www.syn-bit.nl" target="_blank"&gt;Sake Blok&lt;/a&gt;, with a fine presentation on writing clean iRules and a walk through of his winning iRule.  Oh, and he delivered his presentation from his brand new 17” MacBook Pro—won in the content—just to rub in the fact that I do in fact not have one.  Just kidding, Sake.  It’s a really nice toy, by the way.&lt;/p&gt;  &lt;p&gt;Anyway, I believe the presentations were well received (If I’m wrong about that, don’t tell Jeff!)  The agenda was fairly broad spread, covering in part:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;iRules &amp;amp; iControl basics&lt;/li&gt;    &lt;li&gt;Advanced iRules tips &amp;amp; tricks&lt;/li&gt;    &lt;li&gt;Case studies on iRules from some of this year’s iRules Contest winners&lt;/li&gt;    &lt;li&gt;Case study on a similarly functional iControl script written both in Powershell &amp;amp; Python for comparison&lt;/li&gt;    &lt;li&gt;New v10.1 features, including geolocation, tmsh scripting, the table command, etc.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Among Joe, Jeff, myself, and the hundreds of partners and end-users we met with these past two weeks, we have great feedback on product specific things as well as some constructive commentary on how &lt;a title="" href="http://devcentral.f5.com" rel=""&gt;DevCentral&lt;/a&gt; can be improved.  To that end, we’re working feverishly in the shadows on deliver some improvements and new functionality to the DevCentral community.  Stay tuned…&lt;/p&gt;&lt;img src="http://devcentral.f5.com/weblogs/jason/aggbug/1086024.aspx" width="1" height="1" /&gt;</description><dc:creator>Jason Rahm</dc:creator></item><item><title>VM Sprawl is Bad but Network Sprawl is Badder</title><link>http://devcentral.f5.com/weblogs/macvittie/archive/2010/02/05/vm-sprawl-is-bad-but-network-sprawl-is-badder.aspx</link><pubDate>Fri, 05 Feb 2010 12:02:29 GMT</pubDate><guid isPermaLink="true">http://devcentral.f5.com/weblogs/macvittie/archive/2010/02/05/vm-sprawl-is-bad-but-network-sprawl-is-badder.aspx</guid><wfw:comment>http://devcentral.f5.com/weblogs/macvittie/comments/1086022.aspx</wfw:comment><wfw:commentRss>http://devcentral.f5.com/weblogs/macvittie/comments/commentRss/1086022.aspx</wfw:commentRss><comments>http://devcentral.f5.com/weblogs/macvittie/archive/2010/02/05/vm-sprawl-is-bad-but-network-sprawl-is-badder.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://devcentral.f5.com/weblogs/macvittie/services/trackbacks/1086022.aspx</trackback:ping><source url="http://devcentral.f5.com/weblogs/macvittie/rss.aspx">VM Sprawl is Bad but Network Sprawl is Badder</source><description>&lt;p&gt;We worry about VM sprawl but what about device sprawl? Management of a multitude of network-deployed solutions can be as operationally inefficient as managing hundreds of virtual machines, and far more detrimental to the health and performance of your applications. Turning them all into virtual network appliances that might need scaling themselves? That’s even badder. &lt;/p&gt;  &lt;p&gt;But all you hardware fanbois best not smirk too much because the proliferation of hardware network devices is only slightly less badder than the potential problems arising from virtual network appliance sprawl. &lt;/p&gt;  &lt;p /&gt;  &lt;hr style="color: #c0c0c0" width="100%" noshade="noshade" /&gt;&lt;strong&gt;WAIT, WHY IS DEVICE SPRAWL BAD AGAIN?&lt;/strong&gt;   &lt;hr style="color: #c0c0c0" width="100%" noshade="noshade" /&gt;  &lt;p /&gt;  &lt;p&gt;All the same reasons cited by various pundits since the virtualization craze began regarding the difficulties associated with virtual machine sprawl can be applied to virtual network appliance sprawl. For the most part it applies to hardware network device sprawl, too, for that matter. &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;1. Cost of IPAM (IP Address Management)&lt;/strong&gt;&lt;/p&gt;    &lt;p&gt;This is probably even worse than &lt;a href="http://seekingalpha.com/article/100592-cloud-computing-what-are-the-barriers-to-entry-and-it-diseconomies"&gt;is often described by Greg Ness&lt;/a&gt; when it’s applied to network solutions as compared to virtual machines simply because most network solutions have at least two IP addresses assigned to them – one for management and one to do its job – if not more. There are exceptions, of course, as some solutions are deployed inline and transparently, but there are other challenges associated with such configurations as they often require port mirroring which effectively ties the solution to a specific port on a specific switch. Obviously moving it or scaling it out horizontally as a virtual machine would prove problematic for these solutions. So let’s just ignore those for the purposes of this discussion, shall we?  &lt;/p&gt;    &lt;p&gt;&lt;strong&gt;2. The impact on performance&lt;/strong&gt;&lt;/p&gt;    &lt;p&gt;Ignoring scalability – let’s assume a &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2010/02/04/the-question-shouldnrsquot-be-where-are-the-network-virtual-appliances.aspx"&gt;virtual network appliance is equal to the task for this post&lt;/a&gt; – the more points at which requests/traffic must stop and be processed the more latency is incurred. If you string together enough devices – regardless of the physical implementation – you are going to degrade performance. In some cases by a few milliseconds, in others perhaps by seconds. The amount of degradation relies heavily on the volume of requests, the type of processing being performed, and the capacity of each network device. Remember that the network is only as fast as its slowest hop, and that one poorly performing network device can destroy network and application performance. &lt;/p&gt;    &lt;p&gt;&lt;strong&gt;3. Cost of management, power, and training&lt;/strong&gt;&lt;/p&gt;    &lt;p&gt;If you deploy five different network devices to address five different needs, you incur the cost of management, power, and training for each of them. This is true regardless of physical implementation as moving a solution from hardware to a virtual appliance doesn’t change the fact that it (1) needs to be managed, (2) has an interface/commands/quirks that need to be learned, and (3) consumes power. &lt;/p&gt;    &lt;p&gt;&lt;strong&gt;4. Trouble with Troubleshooting (a.k.a. Lack of Visibility) &lt;/strong&gt;&lt;/p&gt;    &lt;p&gt;Even if every one of the X network solutions you have deployed individually has great visibility you’re still going to run into trouble troubleshooting. That’s because what one device may or may not do to a request/traffic isn’t easy to correlate by the time it’s passed through the fifth or sixth network device. It’s not as if all these devices add metadata that describes what they did to the traffic, they just do it and pass it along. The more devices, the more complicated this process becomes. &lt;/p&gt;    &lt;p&gt;&lt;strong&gt;5. Special Issue with Virtual Network Appliances: Distributed Management&lt;/strong&gt;&lt;/p&gt;    &lt;p&gt;Remember how you &lt;em&gt;didn’t &lt;/em&gt;want to shell out the extra cash for the vendor-specific distributed management solution? If you’re scaling out a network solution via multiple virtual network appliances you may want to reconsider that decision. Once you get past a couple of instances you’re going to need something to help you manage them and keep their configurations in synch or you’re asking for trouble. And don’t forget about the hypervisor management system, too. You’ll need that, I’m sure. &lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Sprawl of any kind incurs costs per node at a fairly consistent rate. Every instance – physical or virtual – adds to the combined total cost of ownership and investment in time. Every device through which traffic must flow also incurs a performance penalty, which to the business stakeholder is probably more dangerous than the hit on your budget. &lt;/p&gt;  &lt;p /&gt;  &lt;p&gt;   &lt;/p&gt;&lt;hr style="color: #c0c0c0" width="100%" noshade="noshade" /&gt;&lt;strong&gt;UNIFIED APPLICATION DELIVERY INFRASTRUCTURE&lt;/strong&gt;     &lt;hr style="color: #c0c0c0" width="100%" noshade="noshade" /&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2010/01/04/the-application-delivery-deus-ex-machina-again.aspx"&gt;Unified application delivery infrastructure&lt;/a&gt; can’t completely eliminate every other network device because generally speaking some network devices aren’t focused on application delivery but are instead wholly focused on network security or compliance or business functions that really have very little to do with managing networks or delivering applications.   &lt;p&gt;Yeah, I know. Surprised me too when I found &lt;em&gt;that &lt;/em&gt;out. There are actually solutions that aren’t focused on network or application networks. Whodda thunk it? &lt;/p&gt;  &lt;p /&gt;  &lt;p&gt;&lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/VMSprawlisBadbutNetworkSprawlisBadder_2815/image_2.png"&gt;&lt;img title="image" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; margin: 5px 10px 5px 0px; border-right-width: 0px" height="253" alt="image" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/VMSprawlisBadbutNetworkSprawlisBadder_2815/image_thumb.png" width="408" align="left" border="0" /&gt;&lt;/a&gt;But for application delivery focused solutions – &lt;a href="http://www.f5.com/solutions/acceleration/"&gt;acceleration&lt;/a&gt;, optimization, caching, &lt;a href="http://www.f5.com/solutions/security/"&gt;application security&lt;/a&gt;, &lt;a href="http://www.f5.com/solutions/availability/"&gt;load balancing&lt;/a&gt; – the solution to the problems of network device sprawl are unification onto a single, extensible (modular) platform. And while many network folks hear “modular” and think “chassis” (and that can be one approach) I’m talking about the core system itself. The solution, not the container. &lt;/p&gt;  &lt;p&gt;By sharing a &lt;a href="http://www.f5.com/products/technologies/tmos/"&gt;common core networking platform,&lt;/a&gt; a &lt;a href="http://www.f5.com/products/big-ip/"&gt;unified application delivery infrastructure&lt;/a&gt; mitigates the problems associated with extra hops/stops in the flow of requests/traffic by eliminating them. Requests that need to be passed through a web application firewall before being passed to a &lt;a title="" href="http://www.f5.com/glossary/load-balancer.html" rel=""&gt;Load balancer&lt;/a&gt; do so, but because the common core networking platform is shared there’s no network or network stack overhead incurred by the passing of the data. &lt;/p&gt;  &lt;p&gt;Network sprawl really is badder than VM sprawl because it not only increases the overall cost to deliver and secure applications but it can also negatively impact the performance and reliability of applications. A unified platform affords choice in the ability to add functionality as needed, to try out functionality to see if it’s worth it, and to scale out in a more efficient way on an as-needed (on-demand) basis. &lt;/p&gt;  &lt;p&gt;One of the reasons virtualization is so appealing is it addresses nicely the “lots of little boxes” problem that causes management headaches throughout the data center. Consolidation through virtualization was the answer to that one, at least in terms of the sprawl associated with the physical devices. Unified infrastructure addresses the same “lots of little network boxes” problem that causes similar headaches on the network and application network side of the data center by consolidating many of the application delivery focused functions onto a single, shared and extensible application networking platform. &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 title="Follow F5 Networks on Twitter" href="http://tweepml.org/F5-Networks-Tweeple/"&gt;&lt;img height="18" src="http://tweepml.org/s/tweepml16.png" width="18" border="0" /&gt;&lt;/a&gt; &lt;a title="Follow F5 DevCentral on Twitter" href="http://tweepml.org/F5-DevCentral/"&gt;&lt;img height="18" src="http://tweepml.org/s/tweepml16.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://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 href="http://www.friendfeed.com/lmacvittie"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="16" alt="friendfeed" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/friendfeed_3.jpg" width="16" border="0" /&gt;&lt;/a&gt; &lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/icon_facebook_2.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="16" alt="icon_facebook" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/icon_facebook_4.png" width="16" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&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 type="text/javascript" src="http://track.mybloglog.com/js/jsserv.php?mblID=2008070914270355"&gt;&lt;/script&gt;&lt;/p&gt;  &lt;p&gt;Related blogs &amp;amp; articles: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2010/01/04/the-application-delivery-deus-ex-machina-again.aspx"&gt;The Application Delivery &lt;b&gt;Deus&lt;/b&gt; &lt;b&gt;Ex&lt;/b&gt; &lt;b&gt;Machina&lt;/b&gt;&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2010/02/04/the-question-shouldnrsquot-be-where-are-the-network-virtual-appliances.aspx"&gt;The Question Shouldn’t Be Where are the Network Virtual Appliances but Where is the Architecture?&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://seekingalpha.com/article/100592-cloud-computing-what-are-the-barriers-to-entry-and-it-diseconomies"&gt;What Are the Barriers to Entry and IT Diseconomies?&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2008/11/24/infrastructure-2.0-the-diseconomy-of-scale-virus.aspx"&gt;Infrastructure 2.0: The Diseconomy of Scale Virus&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/10/07/disk-may-be-cheap-but-storage-is-not.aspx"&gt;Disk May Be Cheap but Storage is Not&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/10/08/infrastructure-2.0-is-the-beginning-of-the-story-not-the.aspx"&gt;Infrastructure 2.0 Is the Beginning of the Story, Not the End&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/06/16/virtual-network-infrastructure-virtually-good-enough.aspx"&gt;Virtual Network Infrastructure: Virtually Good Enough?&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2008/09/18/3625.aspx"&gt;Virtualization: Just how far are we willing to take it?&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2008/01/09/3031.aspx"&gt;Imagine...Manageability&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/07/30/two-different-sockets.aspx"&gt;Two Different Sock(et)s&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/02/16/the-house-that-load-balancing-built.aspx"&gt;The House that Load Balancing Built&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/01/13/building-an-elastic-environment-requires-elastic-infrastructure.aspx"&gt;Building an elastic environment requires elastic infrastructure&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;div class="wlWriterEditableSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:7a9a400d-bfb7-4e66-807a-a4b823563aa0" 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/application+delivery" rel="tag"&gt;application delivery&lt;/a&gt;,&lt;a href="http://technorati.com/tags/unified+application+delivery+and+data+services" rel="tag"&gt;unified application delivery and data services&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/unfiied+infrastructure" rel="tag"&gt;unfiied infrastructure&lt;/a&gt;,&lt;a href="http://technorati.com/tags/application+security" rel="tag"&gt;application security&lt;/a&gt;,&lt;a href="http://technorati.com/tags/caching" rel="tag"&gt;caching&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/optimization" rel="tag"&gt;optimization&lt;/a&gt;,&lt;a href="http://technorati.com/tags/load+balancing" rel="tag"&gt;load balancing&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;a href="http://technorati.com/tags/virtualization" rel="tag"&gt;virtualization&lt;/a&gt;&lt;/div&gt;&lt;img src="http://devcentral.f5.com/weblogs/macvittie/aggbug/1086022.aspx" width="1" height="1" /&gt;</description><dc:creator>Lori MacVittie</dc:creator></item><item><title>ARX Config &amp;ndash; Week Three</title><link>http://devcentral.f5.com/weblogs/dmacvittie/archive/2010/02/04/arx-config-ndash-week-three.aspx</link><pubDate>Fri, 05 Feb 2010 05:47:27 GMT</pubDate><guid isPermaLink="true">http://devcentral.f5.com/weblogs/dmacvittie/archive/2010/02/04/arx-config-ndash-week-three.aspx</guid><wfw:comment>http://devcentral.f5.com/weblogs/dmacvittie/comments/1086021.aspx</wfw:comment><wfw:commentRss>http://devcentral.f5.com/weblogs/dmacvittie/comments/commentRss/1086021.aspx</wfw:commentRss><comments>http://devcentral.f5.com/weblogs/dmacvittie/archive/2010/02/04/arx-config-ndash-week-three.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://devcentral.f5.com/weblogs/dmacvittie/services/trackbacks/1086021.aspx</trackback:ping><source url="http://devcentral.f5.com/weblogs/dmacvittie/rss.aspx">ARX Config &amp;ndash; Week Three</source><description>&lt;p&gt;Well, I’ll bet you’re wondering how it’s going?&lt;/p&gt;  &lt;p&gt;First, the reasons for my silence that you haven’t heard. Last Thursday my wonderful &lt;a href="http://www.dell.com" target="_blank"&gt;Dell&lt;/a&gt; Latitude D820 died. I loved this machine, thought so much of it that last time I updated my home machine I got a D830. But sadly, it was over three years old, and I spend 8+ hours a day abusing it, so no surprise.&lt;/p&gt;  &lt;p&gt;The warranty ran out in December, so that left me (IT actually) no option but to replace it. The real reason to include this is to point out to you that F5 IT rocks, and many IT departments could learn from them. I’m a remote worker, I was limping by working on my home machine which had most of what I needed, but some key software like MS Project wasn’t installed, and webmail is… painful in any situation.&lt;/p&gt;  &lt;p&gt;I told IT the machine was definitely dead late on Tuesday, on Wednesday I had a new machine. With my login info and the licensed corporate software installed. You don’t do any better than that.&lt;/p&gt;  &lt;p&gt;So they sent me a Latitude E6400, and honestly, I’m pleased as can be. The only little problem I’ve had with it was (so far) not work related. I listen to DVD lectures from &lt;a href="http://www.teach12.com" target="_blank"&gt;The Teaching Company&lt;/a&gt; in the evenings while working or painting or writing for non-work, and for some reason my newest set of DVDs plays fine on the machine but doesn’t have sound. Local WMV files play and have sound, the DVDs work on my home machine… So I don’t exactly know what’s going on there, but &lt;em&gt;everything&lt;/em&gt; else works perfectly, so I’m happy. I’ll figure out what oddity makes them work on other Dell Machines and not on this one.&lt;/p&gt;  &lt;p&gt;And I was complaining that I was out of space for VMs… No more! Much larger hard disk.&lt;/p&gt;  &lt;p&gt;Anyway, you can imagine that getting the machine, pulling the hard disk from my old one (don’t tell IT, I’m not certain they’d approve), hooking up the disk via USB and dumping all the important stuff, reconfiguring just about everything – from bookmarks to networking settings – to work well in my environment sucked up just a bit of my time.&lt;/p&gt;  &lt;p&gt;On the bright side, the days that I had no machine (it was nearly a week because we’d hoped we could fix the old one, but alas, Dell said “motherboard, fixing is a bad choice”) gave me a chance to get my storage house in order.&lt;/p&gt;  &lt;p&gt;What did I do? Well I wiped the box running ADS and started over. It had ADS and DNS installed from who-knows-how-long-ago, but it was shut down… So I tried with the installed copies, but wasn’t real confident and it wasn’t working the best.&lt;/p&gt;  &lt;p&gt;So I wiped the server and reinstalled, set ADS up again, joined my home laptop to the ADS domain, then worked at getting the storage into the domain. One required using the WINS name instead of the domain name to get it to work, the other required that I add it by had to ADS and DNS, and THEN tell the storage to join the domain. And as usually happens in that case, all went well.&lt;/p&gt;  &lt;p&gt;Finally a chance to join the &lt;a href="http://www.f5.com/products/arx-series/" target="_blank"&gt;ARX&lt;/a&gt; to the domain. This is something I had not attempted up to that point because I wanted to have the things an ARX requires – storage and users – in ADS so that once it was joined I could get rolling. So I went to join the ARX into the domain… And realized I did not have the faintest idea how to do so. &lt;/p&gt;  &lt;p&gt; &lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/dmacvittie/WindowsLiveWriter/ARXConfigWeekThree_13237/ARX.AD.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="ARX.AD" border="0" alt="ARX.AD" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/dmacvittie/WindowsLiveWriter/ARXConfigWeekThree_13237/ARX.AD_thumb.jpg" width="844" height="113" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;AD Forest/domain list.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;RTFM time, so I went and looked. The help on the system I have is very nice, and coworkers tell me that the help on DMOS 5.X is indeed very nice overall. That helped me get rolling, as did the logs, which are very verbose and I cannot recommend enough. In fact, all the oddities I’ve encountered to date – failure to access disks for metadata, failure to connect to shares, failure to negotiate NFS versions… All were ultimately the fault of my storage, and all we ultimately made clear to me via the ARX logs.&lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/dmacvittie/WindowsLiveWriter/ARXConfigWeekThree_13237/ARX.logs.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="ARX.logs" border="0" alt="ARX.logs" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/dmacvittie/WindowsLiveWriter/ARXConfigWeekThree_13237/ARX.logs_thumb.jpg" width="793" height="162" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;Lots of logs – and this does not count the automatically generated reports for lots of common activities.&lt;/p&gt;    &lt;p&gt; &lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/dmacvittie/WindowsLiveWriter/ARXConfigWeekThree_13237/ARX.AD.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="ARX.Volume" border="0" alt="ARX.Volume" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/dmacvittie/WindowsLiveWriter/ARXConfigWeekThree_13237/ARX.Volume.jpg" width="570" height="355" /&gt; &lt;/a&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;The Managed Volume created under ADS.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;One really odd thing I ran into that I am working around by ignoring it – because I can – is that I have a Namespace whose drive mountings failed – a leftover from the work I was doing in NFS and CIFS without Active Directory. It is stuck in the “starting” state, and I can’t get it out. Since the ARX won’t let me delete it, I’m ignoring it for now, and need to look up how to point out to the ARX that it will never finish starting since it has no volumes allocated to it. I’m pretty certain that this is a user error, so don’t judge the ARX poorly, even if it &lt;em&gt;is &lt;/em&gt;an ARX error, you can ignore a single Namespace easily enough. Or better, don’t use SMB class storage so you’re not jerking the poor ARX around for three weeks ;-).&lt;/p&gt;  &lt;p&gt;&lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/dmacvittie/WindowsLiveWriter/ARXConfigWeekThree_13237/ARX.Virtual.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="ARX.Virtual" border="0" alt="ARX.Virtual" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/dmacvittie/WindowsLiveWriter/ARXConfigWeekThree_13237/ARX.Virtual_thumb.jpg" width="405" height="397" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;A Virtual defined on the ADS domain Internal.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Everything before that last picture that I’ve talked about has been the backend. Now that all the backend pieces were working together, it was time for me to set up the user-facing bit… The Virtual Service. This is the presentation “volume” – where the device advertises the Virtual Directory Tree to the network. It went easy enough on creation and making CIFS exports, and it’s up and running now.&lt;/p&gt;  &lt;p&gt; The problem I’m stopped at now is another RTFM – I need to join the Virtual to the domain, but haven’t read how – it told me that I needed to and how to do so when I created the exports on the Virtual Service, but it was 3am and I thought “I’ll figure that out later…” And indeed I will, for this blog is long enough, and that’s where I’ll pick up the next installment.&lt;/p&gt;  &lt;p&gt;Until then, enjoying my new laptop and seeing this all working together.&lt;/p&gt;  &lt;p&gt;Oh yeah, and I have to make my regular everyday user not be SuperADSMan. I toggled him up to Enterprise ne’er-do-well while testing, and don’t want to forget to make him normal, and create the storage background users I need. More on that next time, when I’m sure what storage background users I want/need.&lt;/p&gt;  &lt;p&gt;Don.&lt;/p&gt;&lt;img src="http://devcentral.f5.com/weblogs/dmacvittie/aggbug/1086021.aspx" width="1" height="1" /&gt;</description><dc:creator>Don MacVittie</dc:creator></item><item><title>The Question Shouldn&amp;rsquo;t Be Where are the Network Virtual Appliances but Where is the Architecture?</title><link>http://devcentral.f5.com/weblogs/macvittie/archive/2010/02/04/the-question-shouldnrsquot-be-where-are-the-network-virtual-appliances.aspx</link><pubDate>Thu, 04 Feb 2010 12:43:15 GMT</pubDate><guid isPermaLink="true">http://devcentral.f5.com/weblogs/macvittie/archive/2010/02/04/the-question-shouldnrsquot-be-where-are-the-network-virtual-appliances.aspx</guid><wfw:comment>http://devcentral.f5.com/weblogs/macvittie/comments/1086018.aspx</wfw:comment><wfw:commentRss>http://devcentral.f5.com/weblogs/macvittie/comments/commentRss/1086018.aspx</wfw:commentRss><comments>http://devcentral.f5.com/weblogs/macvittie/archive/2010/02/04/the-question-shouldnrsquot-be-where-are-the-network-virtual-appliances.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://devcentral.f5.com/weblogs/macvittie/services/trackbacks/1086018.aspx</trackback:ping><source url="http://devcentral.f5.com/weblogs/macvittie/rss.aspx">The Question Shouldn&amp;rsquo;t Be Where are the Network Virtual Appliances but Where is the Architecture?</source><description>&lt;p&gt;&lt;em&gt;We seem on the verge of repeating the mistakes associated with failed &lt;a title="Service Oriented Architecture definition " href="http://www.f5.com/glossary/soa.html" rel="" target="_blank"&gt;SOA&lt;/a&gt; implementations: ignoring the larger issue of architecture. &lt;/em&gt;&lt;/p&gt;  &lt;p&gt;Everyone – from pundit to public – is asking the same question: “Where are the network virtual appliances?” But fewer people seem to be asking a question that needs to go hand-in-hand with that one: “Where are the architectural guidelines to support deployment of network virtual appliances?” SOA has been &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/01/07/soa-isnt-dead-but-its-standards-are.aspx"&gt;deemed by many to be a failure&lt;/a&gt; in part because it lacked true architectural guidance. Architects were simply unable – whether by lack of skills or training or lack of support from the rest of the organization – to design an architecture that took advantage of services and thus the result was often little more than “service sprawl.” Services did not scale well, they were not so easy to integrate, and no one really had a good handle on what services were available, and where. &lt;/p&gt;  &lt;p&gt;Lack of an architectural strategy to accompany a network virtual appliance will likely lead to the same end: network sprawl and a lack of scalability or worse – scalability that’s costly in terms of expenses and resources.  &lt;/p&gt;  &lt;p&gt;&lt;a href="http://telematique.typepad.com/about.html"&gt;Rich Miller&lt;/a&gt;, who’ll be joining a panel of other industry notables at &lt;a href="http://www.cloudconnectevent.com/"&gt;Cloud Connect&lt;/a&gt; to discuss &lt;a href="http://www.cloudconnectevent.com/cloud-computing-conference/new-infrastructure.php"&gt;Infrastructure 2.0 and what’s necessary to successfully move forward with these “new” infrastructures&lt;/a&gt;, may have inadvertently pointed out the lack of architectural guidance related to virtual network appliances when he said: &lt;/p&gt;  &lt;blockquote style="padding-right: 10px; padding-left: 10px; background: #ffc; padding-bottom: 10px; margin: 5px; padding-top: 10px"&gt;   &lt;p&gt;If a vendor is going to sell network virtual appliances, the &lt;i&gt;nva'&lt;/i&gt;s should be designed from the get-go to be scalable (both 'up' and 'out'), and designed with the notion that the 'appliance' is not just a physical appliance without the box. That is 'horseless carriage' product design, which casts new technologies in exactly the same roles as their precursors.&lt;/p&gt;    &lt;p&gt;What Allan doesn't say is that this may require the wider deployment of network infrastructure designed specifically for virtualized appliances and converged IO. It's not just whitebox, commodity x86 hardware running general purpose virtual machine environments for server virtualization.&lt;/p&gt;    &lt;p align="right"&gt;                                                                                 -- Rich Miller in &lt;em&gt;“&lt;/em&gt;&lt;a href="http://telematique.typepad.com/twf/2010/01/where-are-the-network-virtual-appliances.html"&gt;&lt;em&gt;Where ARE the Network Virtual Appliances?&lt;/em&gt;&lt;/a&gt;&lt;em&gt;”&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Rich is focusing more on internal design in general, but any such “design” must also necessarily include how the VNA scales&lt;em&gt; in the target environment&lt;/em&gt;. Scalability is at the heart of all definitions of cloud computing and without the ability to scale solutions – whether application, network, storage, or application network – any such implementation will almost certainly be deemed a failure. &lt;/p&gt;  &lt;hr width="100%" color="#680000" noshade="noshade" /&gt;  &lt;div style="background: #ebd3d3; width: 100%"&gt;&lt;strong&gt;SCALING UP&lt;/strong&gt;&lt;/div&gt;  &lt;hr width="100%" color="#680000" noshade="noshade" /&gt;  &lt;p&gt;Scaling up, i.e. vertical scalability, in a cloud computing or virtualized environment is in essence little more than “throwing more hardware” at the problem. Scaling “up” adds more compute resources, yes, but it is not “on-demand” today because it effectively requires re-provisioning of large chunks of resources. Cloud computing and virtualization in particular today are not capable of simply “adding on” more CPU or RAM to a virtual machine and even if it were there are hard, physical limitations imposed by the underlying hardware on the upper bounds of such a strategy. &lt;/p&gt;  &lt;p&gt;Scaling “up” a virtual network appliance in practice is really no different than scaling up hardware. It leads to over-provisioning by necessity and in the event that capacity and physical constraints are reached, requires provisioning a new, higher capacity instance which while easier than upgrading hardware counterparts still requires much the same process in terms of deployment. &lt;/p&gt;  &lt;p&gt;While I agree with Rich’s assessment that virtual network appliances should be designed to scale up as efficiently as possible, that doesn’t change the challenges associated with actually scaling up the solution in a dynamic environment or that it’s not all that much different than what we do today to try to future-proof the sizing of solutions. &lt;/p&gt;  &lt;hr width="100%" color="#680000" noshade="noshade" /&gt;  &lt;div style="background: #ebd3d3; width: 100%"&gt;&lt;strong&gt;SCALING OUT&lt;/strong&gt;&lt;/div&gt;  &lt;hr width="100%" color="#680000" noshade="noshade" /&gt;  &lt;p&gt;Scaling out, i.e. horizontal scalability, is usually the more desirable choice in these discussions. This makes a great deal more sense even though scaling “out” is still essentially a “throw more hardware at the problem” solution, it’s a more temporary “toss” and is more flexible in terms of growing capacity on-demand. It’s certainly more efficient and agile to deploy another virtual network appliance than it is to acquire and deploy another physical network appliance. &lt;/p&gt;  &lt;p&gt;The problem with this approach is not in the details. It’s in the broader architectural strategy applied to the process, which today is virtually non-existent. Scaling out is a proven method of addressing capacity constraints. We do it all the time with web and application servers, with firewalls, with XML gateways. &lt;a title="" href="http://www.f5.com/glossary/load-balancing.html" rel=""&gt;load balancing&lt;/a&gt; as a method of implementing a &lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/TheQuestionShouldntBeWherearetheNetworkV_1F6E/network-diagram-1_2.jpg"&gt;&lt;img title="network-diagram-1" style="border-right: 0px; border-top: 0px; display: inline; margin: 10px 0px 10px 10px; border-left: 0px; border-bottom: 0px" height="195" alt="network-diagram-1" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/TheQuestionShouldntBeWherearetheNetworkV_1F6E/network-diagram-1_thumb.jpg" width="240" align="right" border="0" /&gt;&lt;/a&gt;horizontally scalable application and network infrastructure is nothing new and it is indeed efficient, scalable, and architecturally sound. &lt;/p&gt;  &lt;p&gt;The issue is with &lt;em&gt;how &lt;/em&gt;one scales out, and &lt;em&gt;what. &lt;/em&gt;The call for “virtual network appliances” in general ignores the architectural implications in favor of some perception of increased flexibility and scalability. There are simply some functions within the data center that would not benefit from being “virtualized” and others that will not benefit without a strong set of architectural guidelines. Some functions should never be virtualized because such an architecture would not be feasible to implement and would do more harm than good to both network and application performance. &lt;/p&gt;  &lt;p&gt;Let’s take core routing, for example. One of the reasons you’d want to “scale out” a core router is because it has hit an upper constraint on bandwidth. Perhaps it’s only capable of handling 10Gb of aggregate bandwidth entering the data center/cloud computing environment but you need to handle 20 or 30Gb of bandwidth. In a completely virtualized architecture you’d just scale “out” by adding another another virtual router, right? That will certainly increase aggregate bandwidth capacity, but fails to address a very important question: how is traffic directed to one instance or another? Do we have to scale the scalability? And if so, how does that work? Do the core routers deploy in an active-active configuration, both masquerading as the entry point into the data center? Sharing of “bogus” MAC addresses across active-active-n scaling architectures is the most common solution to this problem, but introduces others related to failover and network utilization. That latter piece is due to the natural behavior of switches and reliance on MAC address/port affinity; essentially this solution turns a switch into a giant hub, replicating data/traffic across all possible ports on which the “bogus” MAC address might be. As you scale out, more and more bandwidth will be consumed by this broadcasting behavior and can make troubleshooting more difficult, especially in environments where visibility is already limited such as cloud computing providers. &lt;/p&gt;  &lt;hr width="100%" color="#680000" noshade="noshade" /&gt;  &lt;div style="background: #ebd3d3; width: 100%"&gt;&lt;strong&gt;RIGHT BACK WHERE WE STARTED&lt;/strong&gt;&lt;/div&gt;  &lt;hr width="100%" color="#680000" noshade="noshade" /&gt;  &lt;p&gt;Is it the case that every virtual network appliance capable of being “scaled out” will essentially need to be capable of acting like a &lt;a title="" href="http://www.f5.com/glossary/load-balancer.html" rel=""&gt;Load balancer&lt;/a&gt;? Because that’s how it looks from here. Horizontal scalability is based on the premise that something – some device, some solution – is load balancing requests/data/traffic across the multiple instances. Without the load balancing solution, such implementations are nearly impossible to achieve. So imagine the potential issue when the load balancer is virtualized, too. It, also, must scale “out” and thus must be “scaled” itself by … a load balancing solution. Such an implementation is certainly achievable, but also requires that the “primary” load balancing solution is scaled “up” in order to handle the aggregate request/data/traffic being directed at the infrastructure. Limitations on vertical scalability return us right back to a solution based on horizontal scalability, which puts us right back here where we are: how do we scale out the “more scalable” virtual network appliances that are so highly in demand?  &lt;/p&gt;  &lt;p&gt;&lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/TheQuestionShouldntBeWherearetheNetworkV_1F6E/rubber-band_2.jpg"&gt;&lt;img title="rubber-band" style="border-right: 0px; border-top: 0px; display: inline; margin: 0px 10px 0px 0px; border-left: 0px; border-bottom: 0px" height="180" alt="rubber-band" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/TheQuestionShouldntBeWherearetheNetworkV_1F6E/rubber-band_thumb.jpg" width="240" align="left" border="0" /&gt;&lt;/a&gt;We haven’t even touched the large problem of sprawl in a virtual network infrastructure. Management systems aren’t quite ready for such an implementation, and ironically part of the reason cloud computing, virtualization, and infrastructure 2.0 are coming of age now is because we have issues with managing an increasing volume of servers, applications, devices, and IP addresses across the data center. Deploying an infrastructure comprised of virtual network appliances without a strong architectural strategy and a supporting management strategy is sheer folly, and puts us no better off than we are today. &lt;/p&gt;  &lt;p&gt;We should be very careful to ask ourselves why we want a particular solution in a network virtual appliance and how it might impact the network and management of the network before we blithely toss it into our critical network and application network infrastructure. Architecture is inherently as important when designing any type of distributed system, and when moving from hardware to distributed software as a means to achieve scalability there needs to be more a lot more thought and strategy put into the process. &lt;/p&gt;  &lt;p&gt;While there are certainly going to evolve architectures that take advantage of virtual network appliances, and traditional hardware appliances, and combinations thereof, we need to tread carefully forward and ensure that our driving desire for what appears to be flexibility doesn’t end up breaking the backbone of the data center: the network. &lt;/p&gt;  &lt;p&gt;A well-thought planned architectural strategy for integrating virtual network appliances with traditional data center components will go a long way toward ensuring maximum flexibility without stretching the network so tightly that it breaks. &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 title="Follow F5 Networks on Twitter" href="http://tweepml.org/F5-Networks-Tweeple/"&gt;&lt;img height="18" src="http://tweepml.org/s/tweepml16.png" width="18" border="0" /&gt;&lt;/a&gt; &lt;a title="Follow F5 DevCentral on Twitter" href="http://tweepml.org/F5-DevCentral/"&gt;&lt;img height="18" src="http://tweepml.org/s/tweepml16.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://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 href="http://www.friendfeed.com/lmacvittie"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="18" alt="friendfeed" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/friendfeed_3.jpg" width="18" border="0" /&gt;&lt;/a&gt; &lt;a href="http://www.facebook.com/lmacvittie"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="18" alt="icon_facebook" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/icon_facebook_4.png" width="18" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&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 type="text/javascript" src="http://track.mybloglog.com/js/jsserv.php?mblID=2008070914270355"&gt;&lt;/script&gt;&lt;/p&gt;  &lt;p&gt;Related blogs &amp;amp; articles: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/10/06/yoursquore-asking-the-wrong-question-about-virtual-appliances.aspx"&gt;You’re Asking the Wrong Question About Virtual Appliances&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2010/02/01/clouds-are-like-onions.aspx"&gt;Clouds Are Like Onions&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2010/01/19/a-fluid-network-is-the-result-of-collaboration-not-virtualization.aspx"&gt;A Fluid Network is the Result of Collaboration Not &lt;b&gt;Virtualization&lt;/b&gt;&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2010/01/18/infrastructure-2.0-squishy-name-for-a-squishy-concept.aspx"&gt;Infrastructure 2.0: Squishy Name for a Squishy Concept&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2010/01/08/pursuit-of-intercloud-is-practical-not-premature.aspx"&gt;Pursuit of Intercloud is Practical not Premature&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/12/28/wils-virtual-server-versus-virtual-ip-address.aspx"&gt;WILS: Virtual Server versus Virtual IP Address&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/12/01/virtual-infrastructure-cloud-computing-passing-the-buck.aspx"&gt;Virtual Infrastructure in Cloud Computing Just Passes the Buck&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/11/20/scaling-security-in-the-cloud-just-hit-the-reset-button.aspx"&gt;Scaling Security in the Cloud: Just Hit the Reset Button&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/10/27/vertical-scalability-cloud-computing-style.aspx"&gt;Vertical Scalability Cloud Computing Style&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;div class="wlWriterEditableSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:a2989a80-7d77-4ec1-a1f8-87da86437db1" 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/virtualization" rel="tag"&gt;virtualization&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/cloud+computing" rel="tag"&gt;cloud computing&lt;/a&gt;,&lt;a href="http://technorati.com/tags/infrastructure+2.0" rel="tag"&gt;infrastructure 2.0&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/load+balancing" rel="tag"&gt;load balancing&lt;/a&gt;,&lt;a href="http://technorati.com/tags/routing" rel="tag"&gt;routing&lt;/a&gt;,&lt;a href="http://technorati.com/tags/scalability" rel="tag"&gt;scalability&lt;/a&gt;&lt;/div&gt;&lt;img src="http://devcentral.f5.com/weblogs/macvittie/aggbug/1086018.aspx" width="1" height="1" /&gt;</description><dc:creator>Lori MacVittie</dc:creator></item><item><title>Consolidate and Dedicate to Eradicate</title><link>http://devcentral.f5.com/weblogs/psilva/archive/2010/02/03/consolidate-and-dedicate-to-eradicate.aspx</link><pubDate>Wed, 03 Feb 2010 21:30:16 GMT</pubDate><guid isPermaLink="true">http://devcentral.f5.com/weblogs/psilva/archive/2010/02/03/consolidate-and-dedicate-to-eradicate.aspx</guid><wfw:comment>http://devcentral.f5.com/weblogs/psilva/comments/1086017.aspx</wfw:comment><wfw:commentRss>http://devcentral.f5.com/weblogs/psilva/comments/commentRss/1086017.aspx</wfw:commentRss><comments>http://devcentral.f5.com/weblogs/psilva/archive/2010/02/03/consolidate-and-dedicate-to-eradicate.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://devcentral.f5.com/weblogs/psilva/services/trackbacks/1086017.aspx</trackback:ping><source url="http://devcentral.f5.com/weblogs/psilva/rss.aspx">Consolidate and Dedicate to Eradicate</source><description>&lt;p&gt;Whether it be due to cloud computing, last year’s economic mess, or just the general cyclical nature of the Tech Industry, Consolidation has been a huge focus of IT departments of late.  Data Center consolidation, hardware consolidation, staff consolidation and &lt;a title="Cisco Chief's Consolidation Charter" href="http://www.thestreet.com/story/10659247/1/cisco-chiefs-consolidation-charter.html?cm_ven=GOOGLEFI" target="_blank"&gt;tech sector consolidation&lt;/a&gt; to name a few.  I remember the days of single purpose boxes that did one thing well.  In fact, a decade ago at Exodus, that was one of my positioning points for BIG-IP over such LB units as &lt;a title="Alteon WebSystems" href="http://en.wikipedia.org/wiki/Alteon_WebSystems"&gt;Alteon&lt;/a&gt;, &lt;a title="ArrowPoint technology hits Cisco jackpot" href="http://news.cnet.com/ArrowPoint-technology-hits-Cisco-jackpot/2100-1033_3-240427.html"&gt;ArrowPoint&lt;/a&gt; and &lt;a title="Cisco LocalDirector" href="http://en.wikipedia.org/wiki/Cisco_LocalDirector" target="_blank"&gt;LocalDirector&lt;/a&gt; since they were switched/hardware-based appliances.  I’d say something like, ‘&lt;a title="SNL Shimmer" href="http://snltranscripts.jt.org/75/75ishimmer.phtml" target="_blank"&gt;It’s a Floor Wax and a Dessert Topping&lt;/a&gt; while the BIG-IP is software based, focused only on Load Balancing.’  &lt;a title="What Happened to Internet Appliances?" href="http://www.pcworld.com/article/47184/what_happened_to_internet_appliances.html" target="_blank"&gt;Boy, times have changed.&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Single purpose appliances, while still big business for their particular specialty,  are becoming fewer and fewer – just look at the handheld your using.  The printer was one of the first to go that route becoming printer/copier/fax/scanner in an effort to make them more useful and appealing to the customer.  Ads tout, ‘No more bulky equipment to buy – it’s all here in this great new thing that you must have!!  All for the incredibly low price of…..’  IDS graduated to IPS and now we have IDPS units and UTM (Unified Threat Management) systems or the Next-Gen Firewalls.  They have firewall, anti-virus, spam controls, web filter, IDS and more.  We are in a multi-task society and expect our devices to behave the same.  For a while, adding more and more functionality to a piece of IT equipment would either slow it to a crawl or make it very difficult to troubleshoot.  The processing power available today allows multi-function appliances to dedicate resources to ensure all the functions run smoothly.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/psilva/WindowsLiveWriter/1912f3908f8f_5529/dashboard_4.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px" title="dashboard" border="0" alt="dashboard" align="left" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/psilva/WindowsLiveWriter/1912f3908f8f_5529/dashboard_thumb_1.jpg" width="306" height="121" /&gt;&lt;/a&gt; Having multiple point solutions, interfaces and GUIs also makes it difficult to manage the various entities, especially if it’s a security device.  Managing multiple points of entry and enforcing a consistent security policy across the board can be challenging.  You got users connecting and requesting application access via VPN, some over the air on Wireless and others hooked right to the LAN.  They also are probably using various types of computing devices; from IT issued laptops, to home/personal machines to mobile devices.  You might have a specific policy for each type of access method/device or you enforce the same security, no matter what the connection.  Why wouldn’t you do a host check on LAN users similar to the scrutiny your remote users must pass?  In many cases, that might involve a NAC type controller and I thought we were trying to reduce the number of power suckers in the data center.  Today, IT needs a single management interface and policy enforcement point that’s easy to navigate and quick to deploy.  During a crisis, like a potential intrusion or breach, you can waste precious time trying to get to all the different appliances to assess the situation.&lt;/p&gt;  &lt;p&gt;As consolidation continues, and more functionality is added to these multi-dedicated appliances, management of such an infrastructure especially if it’s part of a cloud, will continue to be an important driver for IT.  So, as you consolidate and are able to dedicate, that will enable you to eradicate costs, multiple management interfaces, multiple point products and with the right device, eradicate many of the threats that appear every day, the CDE way!&lt;/p&gt;  &lt;p&gt;ps&lt;/p&gt;  &lt;p&gt;Related resources: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/dctv/archive/2010/01/28/in-5-minutes-or-less-consolidate-access-with-big-ip-edge.aspx"&gt;In 5 Minutes or Less Video: Consolidate Access with BIG-IP Edge Gateway&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.f5.com/pdf/white-papers/big-ip-v10-1-integrated-adc-wp.pdf"&gt;BIG-IP Version 10.1: An Integrated Application Delivery Architecture&lt;/a&gt; [Whitepaper, PDF] &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.f5.com/pdf/white-papers/unified-access-edge-wp.pdf"&gt;Unified Access and Optimization&lt;/a&gt; [Whitepaper, PDF] &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.f5.com/news-press-events/press/2010/20100125b.html"&gt;F5 Delivers Next-Generation Application Delivery Services Giving Enterprises More Control with Context-Aware Networking&lt;/a&gt; [Press release] &lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/f5news/archive/2009/12/21/big-ip-v10.1-now-available.aspx"&gt;BIG-IP v10.1 Now Available&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;External articles: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.networkworld.com/news/2010/012610-f5-ssl-vpn.html?source=NWWNLE_nlt_daily_pm_2010-01-26"&gt;F5 Adds SSL VPN to its Big-IP&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.networkcomputing.com/wan-optimization-and-application-acceleration/f5-reigns-in-both-application-access-and-remote-locations.php?type=article"&gt;F5 Reigns in Both Application Access and Remote Locations&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://ipcommunications.tmcnet.com/topics/ip-communications/articles/73538-f5-intros-big-ip-edge-gateway-solution-offer.htm"&gt;F5 Intros BIG-IP Edge Gateway Solution to Offer Next Gen Remote Solution&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.ctoedge.com/content/f5-networks-moves-consolidate-services"&gt;F5 Networks Moves to Consolidate Services&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/F5"&gt;F5&lt;/a&gt;,&lt;a href="http://technorati.com/tags/BIG-IP"&gt;BIG-IP&lt;/a&gt;,&lt;a href="http://technorati.com/tags/v10.1"&gt;v10.1&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Edge+Gateway"&gt;Edge Gateway&lt;/a&gt;,&lt;a href="http://technorati.com/tags/WOM"&gt;WOM&lt;/a&gt;,&lt;a href="http://technorati.com/tags/application+delivery"&gt;application delivery&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Pete+Silva"&gt;Pete Silva&lt;/a&gt;,&lt;a href="http://technorati.com/tags/F5"&gt;F5&lt;/a&gt;,&lt;a href="http://technorati.com/tags/security"&gt;security&lt;/a&gt;,&lt;a href="http://technorati.com/tags/application+security"&gt;application security&lt;/a&gt;,&lt;a href="http://technorati.com/tags/network+security"&gt;network security&lt;/a&gt;&lt;/p&gt;&lt;p /&gt;&lt;div class="wlWriterHeaderFooter" style="text-align:right; margin:0px; padding:4px 0px 4px 0px;"&gt;&lt;a href="http://digg.com/submit?url=http%3a%2f%2fdevcentral.f5.com%2fweblogs%2fpsilva%2farchive%2f2010%2f02%2f03%2fconsolidate-and-dedicate-to-eradicate.aspx&amp;amp;title=Consolidate+and+Dedicate+to+Eradicate"&gt;&lt;img src="http://digg.com/img/badges/100x20-digg-button.png" width="100" height="20" alt="Digg This" title="Digg This" border="0" style="border: 0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://devcentral.f5.com/weblogs/psilva/aggbug/1086017.aspx" width="1" height="1" /&gt;</description><dc:creator>Pete Silva</dc:creator></item><item><title>WILS: SSL TPS versus HTTP TPS over SSL</title><link>http://devcentral.f5.com/weblogs/macvittie/archive/2010/02/03/wils-ssl-tps-versus-http-tps-over-ssl.aspx</link><pubDate>Wed, 03 Feb 2010 12:10:34 GMT</pubDate><guid isPermaLink="true">http://devcentral.f5.com/weblogs/macvittie/archive/2010/02/03/wils-ssl-tps-versus-http-tps-over-ssl.aspx</guid><wfw:comment>http://devcentral.f5.com/weblogs/macvittie/comments/1086016.aspx</wfw:comment><wfw:commentRss>http://devcentral.f5.com/weblogs/macvittie/comments/commentRss/1086016.aspx</wfw:commentRss><comments>http://devcentral.f5.com/weblogs/macvittie/archive/2010/02/03/wils-ssl-tps-versus-http-tps-over-ssl.aspx#comment</comments><slash:comments>1</slash:comments><trackback:ping>http://devcentral.f5.com/weblogs/macvittie/services/trackbacks/1086016.aspx</trackback:ping><source url="http://devcentral.f5.com/weblogs/macvittie/rss.aspx">WILS: SSL TPS versus HTTP TPS over SSL</source><description>&lt;p&gt;&lt;em&gt;The difference between these two performance metrics is significant so be sure you know which one you’re measuring, and which one you wanted to be measuring.  &lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/WILSUnderstandingSSLTPSversusHTTPTPSover_7A16/image_4.png"&gt;&lt;img title="image" style="border-right: 0px; border-top: 0px; display: inline; margin: 0px 10px 10px 0px; border-left: 0px; border-bottom: 0px" height="410" alt="image" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/WILSUnderstandingSSLTPSversusHTTPTPSover_7A16/image_thumb_1.png" width="550" align="left" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;It may be the case that you’ve decided that SSL is, in fact, a good idea for securing data in transit. Excellent. Now you’re trying to figure out how to implement support and you’re testing solutions or perhaps trying to peruse reports someone else generated from testing. Excellent. I’m a huge testing fan and it really is one of the best ways to size a solution specifically for your environment. &lt;/p&gt;  &lt;p&gt;Some of the terminology used to describe specific performance metrics in application delivery, however, can be misleading. The difference between SSL TPS (Transactions per second) and HTTP TPS over SSL, for example, are significant and therefore should not be used interchangeably when comparing performance and capacity of any solution – that goes for software, hardware, or some yet-to-be-defined combination thereof. &lt;/p&gt;  &lt;p&gt;The reasons why interpreting claims of SSL TPS are so difficult is due to the ambiguity that comes from SSL itself. SSL “transactions” are, by general industry agreement (unenforceable, of course) a single transaction that is “wrapped” in an SSL session. Generally speaking one SSL transaction is considered: &lt;/p&gt;  &lt;p&gt;1. &lt;a href="http://www.networkcomputing.com/1212/1212f415.html"&gt;Session establishment (authentication, key exchange)&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;2. Exchange of data over SSL, often a 1KB file over HTTP&lt;/p&gt;  &lt;p&gt;3. Session closure &lt;/p&gt;  &lt;p&gt;Seems logical, but technically speaking a single SSL transaction could be interpreted as any single transaction conducted over an SSL encrypted session because the very act of transmitting data over the SSL session necessarily requires SSL-related operations. SSL session establishment requires a handshake and an exchange of keys, and the transfer of data within such a session requires the invocation of encryption and decryption operations (often referred to as bulk encryption). &lt;/p&gt;  &lt;p&gt;Therefore it is technically accurate for SSL capacity/performance metrics to use the term “SSL TPS” and be referring to two completely different things. &lt;/p&gt;  &lt;p&gt;This means it is important that whomever is interested in such data must do a little research to determine exactly what is meant by SSL TPS when presented with such data. Based on the definition the actual results mean different things. When used to refer to HTTP TPS over SSL the constraint is actually on the bulk encryption rate (related more to response time, latency, and throughput measurements), while SSL TPS measures the number of SSL sessions that can be created per second and is more related to capacity than response time metrics. It can be difficult to determine which method was utilized, but if you see the term “SSL ID re-use” anywhere, you can be relatively certain the test results refer to HTTP TPS over SSL rather than SSL TPS. When SSL session IDs are reused, the handshaking and key exchange steps are skipped, which reduces the number of computationally expensive RSA operations that must be performed and artificially increases the results. &lt;/p&gt;  &lt;p&gt;As always, if you aren’t sure what a performance metric really means, &lt;em&gt;ask&lt;/em&gt;. If you don’t get a straight answer, ask again, or take advantage of all that great social networking you’re doing and find someone you trust to help you determine what was really tested. Basing architectural decisions on misleading or misunderstood data can cause grief and be expensive later when you have to purchase additional licenses or solutions to bring your capacity up to what was originally expected. &lt;/p&gt;  &lt;p style="font-size: 10px; text-transform: uppercase"&gt;WILS: Write It Like Seth. Seth Godin always gets his point across with brevity and wit. WILS is an ATTEMPT TO BE concise about application delivery TOPICS AND just get straight to the point. NO DILLY DALLYING AROUND.&lt;/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 title="Follow F5 Networks on Twitter" href="http://tweepml.org/F5-Networks-Tweeple/"&gt;&lt;img height="18" src="http://tweepml.org/s/tweepml16.png" width="18" border="0" /&gt;&lt;/a&gt; &lt;a title="Follow F5 DevCentral on Twitter" href="http://tweepml.org/F5-DevCentral/"&gt;&lt;img height="18" src="http://tweepml.org/s/tweepml16.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://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 href="http://www.friendfeed.com/lmacvittie"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="18" alt="friendfeed" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/friendfeed_3.jpg" width="18" border="0" /&gt;&lt;/a&gt; &lt;a href="http://www.facebook.com/lmacvittie"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="18" alt="icon_facebook" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/icon_facebook_4.png" width="18" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&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 type="text/javascript" src="http://track.mybloglog.com/js/jsserv.php?mblID=2008070914270355"&gt;&lt;/script&gt;&lt;/p&gt;  &lt;p /&gt;  &lt;p&gt;Related blogs &amp;amp; articles: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.networkcomputing.com/1212/1212f415.html"&gt;The Anatomy of an SSL Handshake&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2010/01/11/when-did-specialized-hardware-become-a-dirty-word.aspx"&gt;When Did Specialized Hardware Become a Dirty Word?&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/12/28/wils-virtual-server-versus-virtual-ip-address.aspx"&gt;WILS: Virtual Server versus Virtual IP Address&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2010/01/15/google-gmail-ssl-cookie-encryption.aspx"&gt;Following Google’s Lead on Security? Don’t Forget to Encrypt Cookies&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/12/30/wils-what-does-it-mean-to-align-it-with-the.aspx"&gt;WILS: What Does It Mean to Align IT with the Business&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/10/29/wils-three-ways-to-better-utilize-resources-in-any-data.aspx"&gt;WILS: Three Ways To Better Utilize Resources In Any Data Center&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/10/22/wils-why-does-load-balancing-improve-application-performance.aspx"&gt;WILS: Why Does Load Balancing Improve Application Performance?&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/08/20/application-acceleration-versus-optimization.aspx"&gt;WILS: Application Acceleration versus Optimization&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/category/4335.aspx"&gt;All WILS Topics on DevCentral&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/06/17/what-is-server-offload-and-why-do-i-need-it.aspx"&gt;What is server offload and why do I need it?&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;div class="wlWriterEditableSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:0e511557-744e-467c-aad2-d7415c0a7f9f" 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/SSL" rel="tag"&gt;SSL&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/performance" rel="tag"&gt;performance&lt;/a&gt;,&lt;a href="http://technorati.com/tags/metrics" rel="tag"&gt;metrics&lt;/a&gt;,&lt;a href="http://technorati.com/tags/TPS" rel="tag"&gt;TPS&lt;/a&gt;,&lt;a href="http://technorati.com/tags/testing" rel="tag"&gt;testing&lt;/a&gt;,&lt;a href="http://technorati.com/tags/WILS" rel="tag"&gt;WILS&lt;/a&gt;&lt;/div&gt;&lt;img src="http://devcentral.f5.com/weblogs/macvittie/aggbug/1086016.aspx" width="1" height="1" /&gt;</description><dc:creator>Lori MacVittie</dc:creator></item><item><title>Introducing: Long Distance VMotion with VMWare</title><link>http://devcentral.f5.com/weblogs/nojan/archive/2010/02/02/introducing-long-distance-vmotion-with-vmware.aspx</link><pubDate>Tue, 02 Feb 2010 22:28:35 GMT</pubDate><guid isPermaLink="true">http://devcentral.f5.com/weblogs/nojan/archive/2010/02/02/introducing-long-distance-vmotion-with-vmware.aspx</guid><wfw:comment>http://devcentral.f5.com/weblogs/nojan/comments/1086015.aspx</wfw:comment><wfw:commentRss>http://devcentral.f5.com/weblogs/nojan/comments/commentRss/1086015.aspx</wfw:commentRss><comments>http://devcentral.f5.com/weblogs/nojan/archive/2010/02/02/introducing-long-distance-vmotion-with-vmware.aspx#comment</comments><slash:comments>4</slash:comments><trackback:ping>http://devcentral.f5.com/weblogs/nojan/services/trackbacks/1086015.aspx</trackback:ping><source url="http://devcentral.f5.com/weblogs/nojan/rss.aspx">Introducing: Long Distance VMotion with VMWare</source><description>&lt;p&gt;It seems like I blinked and 2009 went by, but in that time I've been working on so many interesting projects at F5, I have a backlog of information to share with the community.  The first post this year is about the long distance VMotion with VMWare's ESX system.  This is a solution that enables the movement of live running virtual machine hosts from one data center to another.&lt;/p&gt; &lt;p&gt;The main problems in routing VMotion between data centers are latency, bandwidth, client traffic and security.  In BIG-IP 10.1 we have a solution that compresses, encrypts and shields the ESX servers from prevailing WAN conditions, to enable long distance motion of running hosts.  Take a look at the following screencast to see how this works: &lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;table align="center"&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td&gt; &lt;script language="JavaScript"&gt;&lt;!--
HDMediaPlayer("20100201-NojanVMotion");
//--&gt;&lt;/script&gt; &lt;/td&gt; &lt;td&gt; &lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt; &lt;p&gt; &lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/nojan/WindowsLiveWriter/IntroducingLongDistanceVMotionwithVMWare_9529/Screen%20shot%202010-02-02%20at%2010.44.45%20AM_2.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; margin: 12px 12px 12px 0px; border-right-width: 0px" height="262" alt="Screen shot 2010-02-02 at 10.44.45 AM" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/nojan/WindowsLiveWriter/IntroducingLongDistanceVMotionwithVMWare_9529/Screen%20shot%202010-02-02%20at%2010.44.45%20AM_thumb.png" width="642" align="left" border="0" /&gt;&lt;/a&gt;In the chart below are some of the typical improvement times we see with long distance VMotion with BIG-IP.  When latency goes up, VMotion is often not possible without BIG-IP in place.  For example, with 100 ms of round-trip latency, on an OC3, a virtual machine that has one gigabyte of active RAM memory, takes roughly three and a half minutes to migrate across the WAN.  If you were to try the same VMotion without BIG-IP in place, it would take more than 13 minutes and only succeed about half the time.&lt;/p&gt; &lt;p&gt;I'm excited about the types of architectures that can be enabled with this kind of solution in place.  F5 is laying the ground work to make some exciting infrastructures possible&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;Have a look at the F5 deployment guide which describes how to set this solution up and how to architect new solutions across your data centers: &lt;a title="http://www.f5.com/pdf/deployment-guides/vmware-vmotion-dg.pdf" href="http://www.f5.com/pdf/deployment-guides/vmware-vmotion-dg.pdf"&gt;http://www.f5.com/pdf/deployment-guides/vmware-vmotion-dg.pdff&lt;/a&gt;&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p /&gt; &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:9f80cf7d-a683-44e7-8b53-d031954c7352" 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/vmware" rel="tag"&gt;vmware&lt;/a&gt;,&lt;a href="http://technorati.com/tags/VMotion" rel="tag"&gt;VMotion&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Long%20Distance" rel="tag"&gt;Long Distance&lt;/a&gt;,&lt;a href="http://technorati.com/tags/iSessions" rel="tag"&gt;iSessions&lt;/a&gt;,&lt;a href="http://technorati.com/tags/GTM" rel="tag"&gt;GTM&lt;/a&gt;,&lt;a href="http://technorati.com/tags/BIGIP-LTM%2010.1" rel="tag"&gt;BIGIP-LTM 10.1&lt;/a&gt;,&lt;a href="http://technorati.com/tags/BIGIP-WOM" rel="tag"&gt;BIGIP-WOM&lt;/a&gt;&lt;/div&gt;&lt;img src="http://devcentral.f5.com/weblogs/nojan/aggbug/1086015.aspx" width="1" height="1" /&gt;</description><dc:creator>Nojan Moshiri</dc:creator></item><item><title>Alice in Wondercloud: The Bidirectional Rabbit Hole</title><link>http://devcentral.f5.com/weblogs/macvittie/archive/2010/02/02/alice-in-wondercloud-the-bidirectional-rabbit-hole.aspx</link><pubDate>Tue, 02 Feb 2010 11:36:22 GMT</pubDate><guid isPermaLink="true">http://devcentral.f5.com/weblogs/macvittie/archive/2010/02/02/alice-in-wondercloud-the-bidirectional-rabbit-hole.aspx</guid><wfw:comment>http://devcentral.f5.com/weblogs/macvittie/comments/1086014.aspx</wfw:comment><wfw:commentRss>http://devcentral.f5.com/weblogs/macvittie/comments/commentRss/1086014.aspx</wfw:commentRss><comments>http://devcentral.f5.com/weblogs/macvittie/archive/2010/02/02/alice-in-wondercloud-the-bidirectional-rabbit-hole.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://devcentral.f5.com/weblogs/macvittie/services/trackbacks/1086014.aspx</trackback:ping><source url="http://devcentral.f5.com/weblogs/macvittie/rss.aspx">Alice in Wondercloud: The Bidirectional Rabbit Hole</source><description>&lt;p&gt;&lt;em&gt;Emerging architectures are conflating responsibilities up and down the application stack. Who is responsible for integration when services reside in the network? &lt;/em&gt;&lt;/p&gt;  &lt;p&gt;While preparing for an upcoming panel I’m moderating at &lt;a href="http://www.cloudconnectevent.com/"&gt;Cloud Connect&lt;/a&gt; (in the “&lt;a href="http://www.cloudconnectevent.com/cloud-computing-conference/new-infrastructure.php"&gt;New Infrastructure&lt;/a&gt;” track), the panelists and I had a great discussion on the topics we wanted to discuss in the session. During that discussion it became increasingly clear that an interesting phenomenon has been occurring: the conflation of network and application &lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/AliceinWondercloudTheBidirectionalRabbit_41B3/image_2.png"&gt;&lt;img title="image" style="border-right: 0px; border-top: 0px; display: inline; margin: 10px 0px; border-left: 0px; border-bottom: 0px" height="270" alt="image" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/AliceinWondercloudTheBidirectionalRabbit_41B3/image_thumb.png" width="298" align="right" border="0" /&gt;&lt;/a&gt; responsibilities in the traditional “stack.” &lt;/p&gt;  &lt;p&gt;Much of this inversion is absolutely necessary for emerging models of networking and computing to be successful. Traditional methods of handling QoS (Quality of Service) and identity management, for example, are no longer adequate in the inherently volatile world of cloud computing and dynamic networks. Interestingly, the driver behind the inversion appears to be based largely on the ability of specific layers access to context, which is necessarily replacing IP addresses as a method of client – and server – identification. &lt;/p&gt;  &lt;hr width="100%" color="#680000" noshade="noshade" /&gt;   &lt;div style="background: #ebd3d3; width: 69.4%; height: 14px"&gt;&lt;strong&gt;CLIMBING UP the RABBIT HOLE &lt;/strong&gt;&lt;/div&gt;  &lt;hr width="100%" color="#680000" noshade="noshade" /&gt;  &lt;p&gt;Back in the day, QoS was a class of problem unto itself, with an entire market of products and solutions developed specifically to address the challenge of prioritizing traffic. Initially it was thought that the ToS (Terms of Service) bits in the IP header would suffice, but it quickly became obvious that this required every organization and provider to honor those bits as traffic flowed through and across the Internet. &lt;/p&gt;  &lt;p&gt;Didn’t happen. &lt;/p&gt;  &lt;p&gt;A market emerged that moved QoS “up the stack” to Layer 4 (transport protocol). A class of devices were deployed that employed either TCP rate shaping or packet queuing technologies to control the amount of bandwidth a given “application” could consume. It quickly became apparent that &lt;em&gt;this &lt;/em&gt;method was not robust enough as more and more “applications” began to use the same protocol: TCP. The devices again moved “up the stack” to Layer 7 (application) and began to apply QoS policies based on actually identifying applications based on layer 7 protocols and data characteristics. &lt;/p&gt;  &lt;p&gt;In recent years even this has become inadequate because these techniques were all focused on limiting, in some way, total &lt;em&gt;bandwidth &lt;/em&gt;for an application. While these solutions were also able to, albeit rudimentarily, accomplish rate shaping on a per-user basis, they still focused on bandwidth as their metric of choice to control. Hence a single user could be limited to X Kbps for all HTTP traffic, and further limited to Y percent for application A and Z percent for application B, but bandwidth as a meter of usage for applications today is not an appropriate measurement. &lt;/p&gt;  &lt;p&gt;Hence, QoS has again moved up the stack and is more granular than ever. Rather than worrying about bandwidth, which has grown increasingly cheap and available for both organizations and users, QoS now concerns itself with limiting requests on a per-user basis and, in some cases, a per-client-type basis. Consider &lt;a href="http://www.twitter.com"&gt;Twitter’s&lt;/a&gt; &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2008/06/30/3412.aspx"&gt;rate limiting implementation for its API&lt;/a&gt;. This is a modern implementation of QoS that attempts to equalize access to its services for all users, effectively ensuring a consistent quality of service for everyone. Bandwidth is not a factor, because the amount of bandwidth consumed by any given client is highly variable and based on what data is being requested. &lt;/p&gt;  &lt;p&gt;Similarly we often see requests for ways in which application usage can be limited based on application layer variables, with nary a mention of bandwidth. It’s always about users and usage patterns of a specific application. &lt;/p&gt;  &lt;p&gt;What was once a “network” function, QoS, has moved “up the stack” and is now primarily the responsibility of the “application.” &lt;/p&gt;  &lt;hr width="100%" color="#680000" noshade="noshade" /&gt;   &lt;div style="background: #ebd3d3; width: 100%"&gt;&lt;strong&gt;SLIDING DOWN the RABBIT HOLE&lt;/strong&gt;&lt;/div&gt;  &lt;hr width="100%" color="#680000" noshade="noshade" /&gt;  &lt;p&gt;It wouldn’t be an inversion of responsibility if traditionally “application” layer responsibilities weren’t being similarly pushed “down the stack.” A good example of how this is occurring today is in the area of “identity”, which traditionally includes authentication and authorization. &lt;/p&gt;  &lt;p&gt;In the early days of web applications, identification was based on a user name and password (sometimes IP address, sometimes a combination thereof) and was expected to be handled by the application. After all, the application knew what users should be allowed and thus is was the demesne of the application to provide those mechanisms. The use of .htaccess files was widespread as a means to achieve this functionality. &lt;/p&gt;  &lt;p&gt;But as technology began to merge the world of the web with the internal world of IT, it became increasingly common to leverage external applications as an identity store and the means by which users were authenticated and authorized to access applications. LDAP, Active Directory, RADIUS, DIAMETER. These protocols resided somewhere between the application layer and the transport layer and provide the data necessary for applications to make access decisions. &lt;/p&gt;  &lt;p&gt;But again, this method has run into obstacles in adapting to volatile and large environments. Scalability and the need to execute complementary access policies the network layer in authentication and authorization decisions has continued to drive identity and authentication and authorization “down the stack” and into the “network”. In a highly scaled environment, for example, it is often preferable that an intermediary &lt;a title="" href="http://www.f5.com/glossary/load-balancer.html" rel=""&gt;Load balancer&lt;/a&gt; authenticate users to an application because it is increasingly painful for developers to tightly integrate application access and security policies into the application. Traditional methods are brittle, static designs that are increasingly tossed out in favor of more &lt;a href="http://devcentral.f5.com/weblogs/f5news/archive/2010/02/01/accelerating-your-secure-ride-to-the-cloud-get-in-the.aspx"&gt;policy-based access that resides somewhere “in the network&lt;/a&gt;” rather than tightly-coupled with the application. &lt;/p&gt;  &lt;p&gt;What was once an “application” function has moved “down the stack” and is now increasingly the responsibility of the “network.” &lt;/p&gt;  &lt;hr width="100%" color="#680000" noshade="noshade" /&gt;   &lt;div style="background: #ebd3d3; width: 100%"&gt;&lt;strong&gt;WHAT DOES IT PORTEND?&lt;/strong&gt;&lt;/div&gt;  &lt;hr width="100%" color="#680000" noshade="noshade" /&gt;  &lt;p /&gt;  &lt;p /&gt;  &lt;p&gt;The conflation of responsibilities up and down the “stack” point to either an increasingly flattened application architecture comprised of services; services that may reside in the  application layer or the network layer, but are leveraged by both in approximately the same way. &lt;/p&gt;  &lt;p&gt;This is actually much of the brouhaha behind Infrastructure 2.0; behind the evolution of the network to become “smarter” and more “integrated” with the rest of the infrastructure. As the network takes on more and more responsibility from the applications, especially as is the case in an increasingly cloudy environment, the components in the network must be able to consume services provided by other components and collaborate as a means to ensure the fast and secure delivery of applications to their ultimate consumers. &lt;/p&gt;  &lt;p&gt;One of the side-effects is that it will cause some amount of confusion in the organization, at “layer 9”, as it were, regarding what role is responsible for developing and ultimately deploying those policies. Will developers become more network-aware? Will administrators and operators begin to take on a more development-oriented role in order to integrate and orchestrate the data center using the collaborative capabilities of Infrastructure 2.0 services? &lt;/p&gt;  &lt;p&gt;Maybe the answer to that depends on where you are, who you are, and whether you’ve drank from the bottle or not. &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 title="Follow F5 Networks on Twitter" href="http://tweepml.org/F5-Networks-Tweeple/"&gt;&lt;img height="18" src="http://tweepml.org/s/tweepml16.png" width="18" border="0" /&gt;&lt;/a&gt; &lt;a title="Follow F5 DevCentral on Twitter" href="http://tweepml.org/F5-DevCentral/"&gt;&lt;img height="18" src="http://tweepml.org/s/tweepml16.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://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 href="http://www.friendfeed.com/lmacvittie"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="18" alt="friendfeed" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/friendfeed_3.jpg" width="18" border="0" /&gt;&lt;/a&gt; &lt;a href="http://www.facebook.com/lmacvittie"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="18" alt="icon_facebook" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/icon_facebook_4.png" width="18" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&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 type="text/javascript" src="http://track.mybloglog.com/js/jsserv.php?mblID=2008070914270355"&gt;&lt;/script&gt;&lt;/p&gt;  &lt;p /&gt;  &lt;p /&gt;  &lt;p&gt;Related blogs &amp;amp; articles: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/f5news/archive/2010/02/01/accelerating-your-secure-ride-to-the-cloud-get-in-the.aspx"&gt;Accelerating Your (Secure) Ride to the Cloud: Get in the Fast Lane&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/09/10/wils-automation-versus-orchestration.aspx"&gt;WILS: &lt;b&gt;Automation&lt;/b&gt; versus &lt;b&gt;Orchestration&lt;/b&gt;&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/09/14/the-cloud-metastructure-hubub.aspx"&gt;The Cloud Metastructure Hubub&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/09/25/infrastructure-integration-metadata-versus-api.aspx"&gt;Infrastructure Integration: Metadata versus API&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2008/06/30/3412.aspx"&gt;API Request Throttling: A Better Option&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/01/13/building-an-elastic-environment-requires-elastic-infrastructure.aspx"&gt;Elastic Environment requires Elastic Infrastructure&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/09/08/impact-of-load-balancing-on-soapy-and-restful-applications.aspx"&gt;Impact of Load Balancing on SOAPy and RESTful Applications&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2010/01/18/infrastructure-2.0-squishy-name-for-a-squishy-concept.aspx"&gt;Infrastructure 2.0: Squishy Name for a Squishy Concept&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2010/01/19/a-fluid-network-is-the-result-of-collaboration-not-virtualization.aspx"&gt;A Fluid Network is the Result of Collaboration Not &lt;b&gt;Virtualization&lt;/b&gt;&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2010/02/01/clouds-are-like-onions.aspx"&gt;Clouds Are Like Onions&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;div class="wlWriterEditableSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:4518b6b2-8b34-47ce-86df-ab743d81c5e7" 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/cloud+computing" 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/infrastructure+2.0" rel="tag"&gt;infrastructure 2.0&lt;/a&gt;,&lt;a href="http://technorati.com/tags/load+balancing" rel="tag"&gt;load balancing&lt;/a&gt;,&lt;a href="http://technorati.com/tags/QoS" rel="tag"&gt;QoS&lt;/a&gt;,&lt;a href="http://technorati.com/tags/rate+shaping" rel="tag"&gt;rate shaping&lt;/a&gt;,&lt;a href="http://technorati.com/tags/API" rel="tag"&gt;API&lt;/a&gt;,&lt;a href="http://technorati.com/tags/integration" rel="tag"&gt;integration&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/development" rel="tag"&gt;development&lt;/a&gt;&lt;/div&gt;&lt;img src="http://devcentral.f5.com/weblogs/macvittie/aggbug/1086014.aspx" width="1" height="1" /&gt;</description><dc:creator>Lori MacVittie</dc:creator></item><item><title>Clouds Are Like Onions</title><link>http://devcentral.f5.com/weblogs/macvittie/archive/2010/02/01/clouds-are-like-onions.aspx</link><pubDate>Mon, 01 Feb 2010 11:52:00 GMT</pubDate><guid isPermaLink="true">http://devcentral.f5.com/weblogs/macvittie/archive/2010/02/01/clouds-are-like-onions.aspx</guid><wfw:comment>http://devcentral.f5.com/weblogs/macvittie/comments/1086011.aspx</wfw:comment><wfw:commentRss>http://devcentral.f5.com/weblogs/macvittie/comments/commentRss/1086011.aspx</wfw:commentRss><comments>http://devcentral.f5.com/weblogs/macvittie/archive/2010/02/01/clouds-are-like-onions.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://devcentral.f5.com/weblogs/macvittie/services/trackbacks/1086011.aspx</trackback:ping><source url="http://devcentral.f5.com/weblogs/macvittie/rss.aspx">Clouds Are Like Onions</source><description>&lt;p&gt;&lt;em&gt;Which of course are like Ogres. They’re big, chaotic, and have lots of layers of virtualization. &lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/CloudsAreLikeOnions_30F6/Peeled-onion-001_2.jpg"&gt;&lt;img title="Peeled-onion-001" style="border-right: 0px; border-top: 0px; display: inline; margin: 0px 10px 10px 0px; border-left: 0px; border-bottom: 0px" height="96" alt="Peeled-onion-001" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/CloudsAreLikeOnions_30F6/Peeled-onion-001_thumb.jpg" width="160" align="left" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;In discussions involving cloud it is often the case that someone will remind you that “virtualization” is not required to build a cloud. But that’s only partially true, as some layers of virtualization &lt;em&gt;are&lt;/em&gt;, in fact, required to build out a cloud computing environment. It’s only “operating system” virtualization that is not required. Problem is unlike the term “cloud”, “virtualization” has come to be associated with a single, specific kind of virtualization; specifically, it’s almost exclusively used to refer to operating system virtualization, a la &lt;a href="http://www.microsoft.com"&gt;Microsoft&lt;/a&gt;, &lt;a href="http://www.vmware.com"&gt;VMware&lt;/a&gt;, and &lt;a href="http://www.citrix.com"&gt;Citrix&lt;/a&gt;. But many kinds of virtualization have existed for much longer than operating system virtualization, and many of them are used extensively in data centers both traditional and cloud-based. Like ogres, the chaotic nature of a dynamic data based on these types of virtualization can be difficult to manage. &lt;/p&gt;  &lt;p&gt;Layer upon layer of virtualization within the data center, like the many layers of an onion, are enough to make you cry at the thought of how to control that volatility without sacrificing the flexibility and scalability introduced by the technologies. You can’t get rid of them, however, as some of these types of virtualization are absolutely necessary to the successful implementation of cloud computing. All of them complicate management and make more difficult the task of understanding how data gets from point A to point B within a cloud computing environment.&lt;/p&gt;  &lt;hr width="100%" color="#680000" noshade="noshade" /&gt;   &lt;div style="background: #ebd3d3; width: 100%"&gt;&lt;strong&gt;EIGHT KINDS OF VIRTUALIZATION&lt;/strong&gt;&lt;/div&gt;  &lt;hr width="100%" color="#680000" noshade="noshade" /&gt;  &lt;p&gt;Yes, that’s right, &lt;em&gt;&lt;a href="http://www.f5.com/news-press-events/news/2008/20080225.html"&gt;eight kinds of virtualization&lt;/a&gt;&lt;/em&gt; exist though we tend to focus on just the one, operating system virtualization. Some may or may not be leveraged in a cloud computing environment, but at least four of them are almost always found in all data center environments. &lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;&lt;strong&gt;Operating System Virtualization&lt;/strong&gt; is what we tend to think of when we simply say “virtualization.” This is the virtualization of compute resources, the slicing and dicing of a single physical machine into multiple “virtual” machines typically used today to deploy several different applications (or clones of a single application) on the same physical hardware.       &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Network Virtualization &lt;/strong&gt;is likely one kind of virtualization many don’t even consider virtualization, but it is and it’s even got standards that help ensure consistency across &lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/CloudsAreLikeOnions_30F6/The%20State%20of%20Virtualization_2.jpg"&gt;&lt;img title="The State of Virtualization" style="border-right: 0px; border-top: 0px; display: inline; margin: 0px 0px 0px 10px; border-left: 0px; border-bottom: 0px" height="332" alt="The State of Virtualization" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/CloudsAreLikeOnions_30F6/The%20State%20of%20Virtualization_thumb.jpg" width="442" align="right" border="0" /&gt;&lt;/a&gt; implementations. The &lt;strong&gt;VLAN &lt;/strong&gt;(Virtual LAN) has existed since the early days of networking and is used in cloud computing environments to isolate customer data. VLANs essentially create a virtual network overlay atop an existing physical network, slicing and dicing the physical connections into multiple virtual (and hopefully smaller) networks that can be configured to provide security and network-layer functions like quality of service and rate shaping peculiar to the applications and users that are directed over the VLAN. VLAN tagging, used to identity traffic as “belonging” to a specific virtual network, is defined by IEEE 802.1q.       &lt;br /&gt;      &lt;br /&gt;Also a form of network virtualization is trunking or link aggregation as defined by IEEE 802.1ad. Trunking aggregates multiple physical ports on a switching device and makes them appear as one logical (virtual) link, providing additional bandwidth to high volume networks as well as &lt;a title="" href="http://www.f5.com/glossary/load-balancing.html" rel=""&gt;load balancing&lt;/a&gt; traffic across the physical interconnects in order to maintain consistent network performance. Interestingly enough, VLANs are almost always used when trunking is used in a network.       &lt;br /&gt;      &lt;br /&gt;And of course there is NAT (Network Address Translation), which is also a form of network virtualization. Because of the dearth of IP addresses, most users internal to an organization are directed through a pool of one or more public IP addresses (routable, i.e. accessible by people across the Internet) to access resources external to the organization. The virtualization here again makes many IP addresses (internal, non-routable, private) appear to be one or a small number of IP addresses (public, routable, external). This process is also used on inbound connections, making one or a small number of external, public IP addresses appear to represent multiple, internal, private IP addresses.       &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Application Server Virtualization&lt;/strong&gt; occurs when a &lt;a title="" href="http://www.f5.com/glossary/load-balancer.html" rel=""&gt;Load balancer&lt;/a&gt;, application delivery controller, or other proxy-based application network device “virtualizes” one or more instances of an application. The process of virtualization an application server makes multiple servers appear to be one ginormous server to clients, and acts in a manner very similar to trunking in that this form of virtualization is about aggregation. When applied to application servers, this virtualization focuses on the aggregation of compute resources.       &lt;br /&gt;      &lt;br /&gt;This form of virtualization is almost always necessary in a data center, whether traditional or cloud-based. Application server virtualization is the foundation on which failover (reliability) and scalability are based, and one would be hard-pressed to find a modern data center in which this form of virtualization – whether provided by software or hardware – is not already implemented.       &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Storage Virtualization&lt;/strong&gt; is another form of aggregation-based virtualization. Storage virtualization aggregates multiple sources of storage such as NAS (network attached storage) devices and NFS/CIFS shares hosted on various servers around the data center and “normalizes” them into a single, consistent interface such that users are isolated from the actual implementation and see only the “virtual” namespaces presented by the storage virtualization device. &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;There are four other “types” of virtualization, but it is these four that are primarily utilized today and with which most folks are already familiar – it just may be that they are using different terminology. Perhaps that’s because virtualization of the network and application server have existed for so long most people do not associate it with virtualization. All four of these kinds of virtualization end up forming layers of abstraction throughout the network, and like operating system virtualization introduce management and architectural challenges that are increasingly difficult to address as environments become more and more dynamic, a la a cloud computing environment. &lt;/p&gt;  &lt;hr width="100%" color="#680000" noshade="noshade" /&gt;   &lt;div style="background: #ebd3d3; width: 100%"&gt;&lt;strong&gt;INFRASTRUCTURE 2.0 to the RESCUE&lt;/strong&gt;&lt;/div&gt;  &lt;hr width="100%" color="#680000" noshade="noshade" /&gt;  &lt;p&gt;It is these challenges that &lt;a href="http://www.infra20.com"&gt;Infrastructure 2.0&lt;/a&gt; is attempting to address. The increased strain on networks and infrastructure caused by virtualization of multiple types and the need to dynamically configure and manage all the various components that comprise a cloud computing or highly virtualized environment is enormous. The burden is often placed on the shoulders of operators and administrators who are tasked with keeping straight the myriad processes and tasks that must be complete ere a new resource is added to any one of the “virtual” pools of resources. Whether that’s storage, or application servers, or networks, or applications the challenges are similar in nature. &lt;/p&gt;  &lt;p&gt;The ability of network, storage, and application network components to collaborate in a common, standards-based way will be imperative to the long-term success of virtualization and cloud computing. Infrastructure 2.0 enabled components already exist, true, but the means by which they are integrated into the broader data center ecosystem still vary from component to component. While the existence of these dynamic control planes makes it possible to reduce the strain associated with managing and running a dynamic data center, such variations also introduce difficulties and can lead to vendor lock-in. Addressing these concerns is paramount to ensuring the long-term viability of emerging data center models, and to making the introduction of virtualization into the data center a less painful process. &lt;/p&gt;  &lt;p&gt;Clouds, like ogres and onions, have layers. Layer upon layer of abstraction through the use of virtualization to provide for scalability and security of the &lt;a href="http://www.cloudconnectevent.com"&gt;&lt;img title="cloud-connect" style="border-right: 0px; border-top: 0px; display: inline; margin: 10px 10px 0px 0px; border-left: 0px; border-bottom: 0px" height="67" alt="cloud-connect" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/CloudsAreLikeOnions_30F6/cloud-connect_3.gif" width="152" align="left" border="0" /&gt;&lt;/a&gt;applications that are being delivered. Like onions, attempting to manage such a dynamic, virtual environment could easily make an operator cry. Infrastructure 2.0 is a necessary movement forward to address the challenges that will continue to plague data center architects and operators as they attempt to implement a dynamic data center that achieves IT agility to match the demand for business agility. &lt;/p&gt;  &lt;p&gt;If you’re going to &lt;a href="http://www.cloudconnectevent.com"&gt;Cloud Connect&lt;/a&gt;, you may want to sign up for the “&lt;a href="http://www.cloudconnectevent.com/cloud-computing-conference/new-infrastructure.php"&gt;New Infrastructure” track&lt;/a&gt; and learn more about Infrastructure 2.0 and the challenges it is attempting to address. &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 title="Follow F5 Networks on Twitter" href="http://tweepml.org/F5-Networks-Tweeple/"&gt;&lt;img height="18" src="http://tweepml.org/s/tweepml16.png" width="18" border="0" /&gt;&lt;/a&gt; &lt;a title="Follow F5 DevCentral on Twitter" href="http://tweepml.org/F5-DevCentral/"&gt;&lt;img height="18" src="http://tweepml.org/s/tweepml16.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://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 href="http://www.friendfeed.com/lmacvittie"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="18" alt="friendfeed" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/friendfeed_3.jpg" width="18" border="0" /&gt;&lt;/a&gt; &lt;a href="http://www.facebook.com/lmacvittie"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="18" alt="icon_facebook" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/icon_facebook_4.png" width="18" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&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 type="text/javascript" src="http://track.mybloglog.com/js/jsserv.php?mblID=2008070914270355"&gt;&lt;/script&gt;&lt;/p&gt;  &lt;p&gt;Related blogs &amp;amp; articles: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2010/01/26/i-found-the-missing-piece-of-the-virtualization-puzzle.aspx"&gt;I Found the Missing Piece of the &lt;b&gt;Virtualization&lt;/b&gt; Puzzle&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2008/08/07/3522.aspx"&gt;&lt;b&gt;Server&lt;/b&gt; &lt;b&gt;Virtualization&lt;/b&gt; versus &lt;b&gt;Server&lt;/b&gt; &lt;b&gt;Virtualization&lt;/b&gt;&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/08/24/virtual-machine-density-as-the-new-measure-of-it-efficiency.aspx"&gt;Virtual Machine Density as the New Measure of IT Efficiency&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2010/01/18/infrastructure-2.0-squishy-name-for-a-squishy-concept.aspx"&gt;Infrastructure 2.0: Squishy Name for a Squishy Concept&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2010/01/19/a-fluid-network-is-the-result-of-collaboration-not-virtualization.aspx"&gt;A Fluid Network is the Result of Collaboration Not &lt;b&gt;Virtualization&lt;/b&gt;&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/12/28/wils-virtual-server-versus-virtual-ip-address.aspx"&gt;WILS: Virtual &lt;b&gt;Server&lt;/b&gt; versus Virtual IP Address&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.f5.com/news-press-events/news/2008/20080225.html"&gt;&lt;b&gt;Virtualization&lt;/b&gt; &lt;b&gt;Defined&lt;/b&gt;-Eight Different Ways &lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/dmacvittie/archive/2009/03/04/reason-1-that-you-need-file-virtualization.aspx"&gt;Reason #1 That You Need File Virtualization&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/dmacvittie/archive/2009/03/12/reason-2-that-you-need-file-virtualization.aspx"&gt;Reason #2 That You Need File Virtualization&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/dmacvittie/archive/2009/03/19/reason-3-that-you-need-file-virtualization.aspx"&gt;Reason #3 That You Need File Virtualization&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/dmacvittie/archive/2009/03/26/reason-4-that-you-need-file-virtualization.aspx"&gt;Reason #4 That You Need File Virtualization&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/dmacvittie/archive/2009/04/02/reason-5-that-you-need-file-virtualization.aspx"&gt;Reason #5 That You Need File Virtualization&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;div class="wlWriterEditableSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:1eb71835-1efd-4324-b723-062076337ac0" 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/virtualization" rel="tag"&gt;virtualization&lt;/a&gt;,&lt;a href="http://technorati.com/tags/VLAN" rel="tag"&gt;VLAN&lt;/a&gt;,&lt;a href="http://technorati.com/tags/load+balancing" rel="tag"&gt;load balancing&lt;/a&gt;,&lt;a href="http://technorati.com/tags/file+virtualization" rel="tag"&gt;file virtualization&lt;/a&gt;,&lt;a href="http://technorati.com/tags/storage+virtualization" rel="tag"&gt;storage virtualization&lt;/a&gt;,&lt;a href="http://technorati.com/tags/network+virtualization" rel="tag"&gt;network virtualization&lt;/a&gt;,&lt;a href="http://technorati.com/tags/VMware" rel="tag"&gt;VMware&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/Citrix" rel="tag"&gt;Citrix&lt;/a&gt;,&lt;a href="http://technorati.com/tags/infrastructure+2.0" rel="tag"&gt;infrastructure 2.0&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/cloud+computing" rel="tag"&gt;cloud computing&lt;/a&gt;&lt;/div&gt;&lt;img src="http://devcentral.f5.com/weblogs/macvittie/aggbug/1086011.aspx" width="1" height="1" /&gt;</description><dc:creator>Lori MacVittie</dc:creator></item><item><title>ARX Config &amp;ndash; Week 2</title><link>http://devcentral.f5.com/weblogs/dmacvittie/archive/2010/01/28/arx-config-ndash-week-2.aspx</link><pubDate>Fri, 29 Jan 2010 05:17:39 GMT</pubDate><guid isPermaLink="true">http://devcentral.f5.com/weblogs/dmacvittie/archive/2010/01/28/arx-config-ndash-week-2.aspx</guid><wfw:comment>http://devcentral.f5.com/weblogs/dmacvittie/comments/6299.aspx</wfw:comment><wfw:commentRss>http://devcentral.f5.com/weblogs/dmacvittie/comments/commentRss/6299.aspx</wfw:commentRss><comments>http://devcentral.f5.com/weblogs/dmacvittie/archive/2010/01/28/arx-config-ndash-week-2.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://devcentral.f5.com/weblogs/dmacvittie/services/trackbacks/6299.aspx</trackback:ping><source url="http://devcentral.f5.com/weblogs/dmacvittie/rss.aspx">ARX Config &amp;ndash; Week 2</source><description>&lt;p&gt;I wanted to do at least two updates a week on this series, but circumstances conspired to keep me from an update earlier this week. In case you missed it, we’ve had a &lt;a href="http://www.f5.com/news-press-events/" target="_blank"&gt;release or two&lt;/a&gt; going on (that link also has the “&lt;a href="http://www.f5.com/news-press-events/press/2010/20100121.html" target="_blank"&gt;F5 joins NetApp Alliance Partner Program&lt;/a&gt;” Press Release on it if you missed that one), and I’ve got my bit to play in that. I also inherited a rather large project that I need to drive home, and it took a chunk of time just figuring out where it was and what the next steps were. There all the excuses but the one you came for are done.&lt;/p&gt;  &lt;p&gt;Now the one you came for… My network, my devices. &lt;/p&gt;  &lt;p&gt;The &lt;a href="http://www.f5.com/products/arx-series/" target="_blank"&gt;ARX&lt;/a&gt; is up and running beautifully, it behaves as expected except for one niggling bit that I suspect is due to the fact that I’m using SMB class NAS devices, so I’m not going to bring up. If you’ve got a &lt;a href="http://www.netapp.com/us/" target="_blank"&gt;NetApp&lt;/a&gt; or &lt;a href="http://www.emc.com/" target="_blank"&gt;EMC&lt;/a&gt; NAS, you’re probably not going to see it, so I’ll leave it at that.&lt;/p&gt;  &lt;p&gt;My devices on the other hand… Arggghh. &lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/dmacvittie/WindowsLiveWriter/ARXConfigWeek2_12B3C/NoKerberos.jpg"&gt;&lt;img title="NoKerberos" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; margin: 0px 0px 0px 10px; border-right-width: 0px" height="276" alt="NoKerberos" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/dmacvittie/WindowsLiveWriter/ARXConfigWeek2_12B3C/NoKerberos_thumb.jpg" width="253" align="right" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;I’ll skip the hoops I jumped through and the number of times I attempted to add shares trying to get my NAS devices to play well with others. One was requiring a login to access a drive marked public, the other was giving me access denied errors. Both of these problems were evident from both servers and the ARX. I’ve changed quite a few settings over the last week, so I went back and started again. It turns out that one NAS device requires the volume in the nfs path, the other does not. Problem one solved. Access wasn’t denied (as the device told me), but the share I was trying to mount didn’t exist. I got the name straight. The other was a setting in the global config that I tracked down – it defaulted to no access for all new nfs shares, and I had created new ones for testing, so I wasn’t messing with production data. A few mouse clicks later, and theoretically both are ready to go. As a bonus, after nearly two weeks of changing things on these boxes to get one of them fully functional – the &lt;a href="http://www.netgear.com/Products/Storage.aspx" target="_blank"&gt;NetGear&lt;/a&gt; was partially functional last week – All of the clients on the network could still get to their shares.&lt;/p&gt;  &lt;p&gt;So I go back to the ARX management screen, and attempt to mount a share on my &lt;a href="http://www.seagate.com/www/en-us/products/network_storage/blackarmor/" target="_blank"&gt;Seagate BlackArmor&lt;/a&gt; NAS. This is where owning an SMB NAS really started to hurt. With a fully qualified path, it tried, and it failed because root_squash was turned on. This is a cool protection mechanism of nfs that changes the uid of root to be “nobody” so root has no special privileges and cannot break anything. Fine, I turned it off on the NetGear/Infrant, so I would just turn it off on the Seagate. Remember that the ARX is a file virtualization tool with a lot going on inside. It needs root rights to move things about (particularly files in a tiered environment), manage file access privileges, and to manage the metadata share.&lt;/p&gt;  &lt;p&gt;Guess what? After lots of research, I discover that the BlackArmor NAS doesn’t let you turn off root_squash. So I have a solution for this, I have another Namespace (think virtual tree container) on the ARX that I can use that has CIFS enabled. I’ve SMBmounted this box a zillion times, and our XP clients access it fine with CIFS also. So I pop back into the ARX manager, change to that Namespace, and try to add it as CIFS. &lt;/p&gt;  &lt;p&gt;“NAS Device does not support Kerberos Authentication” The ARX tells me. &lt;/p&gt;  &lt;p&gt;Sigh. So I can’t do NFS because root_squash can’t be disabled, I can’t do SMB without an ADS machine. &lt;/p&gt;  &lt;p&gt;The BlackArmor is our primary NAS, so I don’t want to move forward without it, but Lori took down our ADS machine a while back, and it’s physically gone from the building.&lt;/p&gt;  &lt;p&gt;That leaves me trying to use SMB PDC functionality (vaguely recall doing that once), or setting up a new ADS server and hoping that the BlackArmor knows how to use that.&lt;/p&gt;  &lt;p&gt;So a chunk of the reason I skipped blogging earlier in the week was simple… I had nothing much to report other than the obvious – Seagate BlackArmor isn’t enterprise class NAS. Duh.&lt;a href="http://rds.yahoo.com/_ylt=A9G_bDkiaGJLb1oAFuejzbkF/SIG=12858uue0/EXP=1264826786/**http%3a//www.flickr.com/photos/houseofcards/280977628/" target="_blank"&gt;&lt;img title="280977628_f214125b3c_m" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; margin-left: 0px; margin-right: 0px; border-right-width: 0px" height="244" alt="280977628_f214125b3c_m" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/dmacvittie/WindowsLiveWriter/ARXConfigWeek2_12B3C/280977628_f214125b3c_m_3.jpg" width="184" align="right" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;And now I have a project for this weekend. Setting up ADS to move this project along, I’m tired of blogging about my network/storage issues and want to move on to actually using the ARX.&lt;/p&gt;  &lt;p&gt;I tried to turn this into an excuse to snag a NetApp – something like a &lt;a href="http://media.netapp.com/documents/fas2000.pdf" target="_blank"&gt;FAS2020&lt;/a&gt; would do, but that fell through when a fellow F5er brought reason into the discussion… So that idea is out. For now.&lt;/p&gt;  &lt;p&gt;Until next time,&lt;/p&gt;  &lt;p&gt;Don. &lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p align="right"&gt;All Options Were Considered… *&lt;/p&gt;  &lt;p align="right"&gt;* Photo by Alex Nash and used under the Creative Commons License. &lt;/p&gt;  &lt;p align="right"&gt;Click the image to view the original picture on Flickr&lt;/p&gt;&lt;img src="http://devcentral.f5.com/weblogs/dmacvittie/aggbug/6299.aspx" width="1" height="1" /&gt;</description><dc:creator>Don MacVittie</dc:creator></item><item><title>How to Make mailto Safe Again</title><link>http://devcentral.f5.com/weblogs/macvittie/archive/2010/01/28/how-to-make-mailto-safe-again.aspx</link><pubDate>Thu, 28 Jan 2010 11:07:49 GMT</pubDate><guid isPermaLink="true">http://devcentral.f5.com/weblogs/macvittie/archive/2010/01/28/how-to-make-mailto-safe-again.aspx</guid><wfw:comment>http://devcentral.f5.com/weblogs/macvittie/comments/6296.aspx</wfw:comment><wfw:commentRss>http://devcentral.f5.com/weblogs/macvittie/comments/commentRss/6296.aspx</wfw:commentRss><comments>http://devcentral.f5.com/weblogs/macvittie/archive/2010/01/28/how-to-make-mailto-safe-again.aspx#comment</comments><slash:comments>1</slash:comments><trackback:ping>http://devcentral.f5.com/weblogs/macvittie/services/trackbacks/6296.aspx</trackback:ping><source url="http://devcentral.f5.com/weblogs/macvittie/rss.aspx">How to Make mailto Safe Again</source><description>&lt;p&gt;&lt;em&gt;Using HTTP headers and default browser protocol handlers provides an opportunity to rediscover the usability and simplicity of the mailto protocol. &lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Over the last decade it's become unsafe to use the &lt;em&gt;mailto&lt;/em&gt; protocol on a website due to e-mail harvesters and web scraping. No one wants to put their e-mail address out on &lt;em&gt;teh &lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/Howtomakemailtosafeagain_4002/envelope-mailbox_2.jpg"&gt;&lt;img height="139" border="0" align="left" width="135" style="border-width: 0px; margin: 10px 10px 5px 0px;" alt="envelope-mailbox" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/Howtomakemailtosafeagain_4002/envelope-mailbox_thumb.jpg" /&gt;&lt;/a&gt;Internets&lt;/em&gt; because two minutes after doing so you end up on a trillion SPAM lists and the next thing you know you're changing your e-mail address. &lt;/p&gt;
&lt;p&gt;But people still wanted to share contact information, so it became common practice to spell out your e-mail address, such as l.macvittie AT &lt;a title="F5 Networks" href="http://www.f5.com/" rel="" target="_blank"&gt;F5&lt;/a&gt; dot com. But e-mail harvesters quickly figured out how to circumvent that practice so people got even &lt;em&gt;more &lt;/em&gt;inventive, describing how to type the @ sign instead. For example, you can send me an e-mail at l.macvittie SHIFT 2 &lt;a href="http://www.f5.com"&gt;f5.com&lt;/a&gt;. But that's inconvenient and isn't easily automated, and eventually the e-mail harvesters figure that one out, too. &lt;/p&gt;
&lt;p&gt;You could use contact forms instead to hide the e-mail address, but that's not really sharing and it isn't convenient for the person trying to get a hold of you. Like many folks, if I have a need to contact you I’d like a record that I did so and contact forms rarely provide a copy of the message which makes managing communication more difficult. It also affords spammers an easily automated method of submitting spam. What you really want is to be able to share your e-mail address &lt;em&gt;and &lt;/em&gt;avoid the automated e-mail harvesters. Some folks suggest using CSS tricks that manipulate selectors to hide the e-mail address, but the problem with this is that it (1) doesn’t automatically launch a mail client and (2) the e-mail address is still in the text of the page, it’s just located in a different place. Some techniques use pure CSS and pseudoclass selectors and others use CSS to expose the actually e-mail address that is “hidden” in one of the HREF attributes, often the title. But in both cases the address is still in the page – or in an external CSS file which bots might pull if they’re following all links - and a simple regular expression search will find it easily enough.  &lt;/p&gt;
&lt;hr noshade="noshade" color="#680000" width="100%" /&gt;
&lt;div style="background: rgb(235, 211, 211) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; width: 100%;"&gt;&lt;strong&gt;ONE SIMPLE SOLUTION&lt;/strong&gt;&lt;/div&gt;
&lt;hr noshade="noshade" color="#680000" width="100%" /&gt;
One solution to this problem lies in leveraging an HTTP redirect and the ubiquitous browser support for the &lt;em&gt;mailto&lt;/em&gt; protocol. Another &lt;a href="http://www.csarven.ca/hiding-email-addresses"&gt;description of this (and simple PHP code) can be found in this extensive reference document&lt;/a&gt; listing myriad ways of “hiding” e-mail addresses from harvesters. My only nit is that the author indicates the &lt;font color="#800000"&gt;&lt;strong&gt;mailto-redirect&lt;/strong&gt;&lt;/font&gt; method doesn’t work as per a normal &lt;em&gt;mailto&lt;/em&gt; link, and I’ve found that’s not the case. A header redirect to a &lt;em&gt;mailto&lt;/em&gt; location should automatically launch the mail client with the appropriate e-mail address as expected; at least it has in the testing I’ve done thus far on the &lt;a href="http://devcentral.f5.com/iRules"&gt;iRule&lt;/a&gt; code used to accomplish the redirect.
&lt;p&gt;The &lt;em&gt;mailto&lt;/em&gt; link in the presentation page is changed to a standard HTTP link which, when clicked, executes logic that sends an HTTP redirect to a &lt;em&gt;mailto&lt;/em&gt; location instead of a more standard HTTP location. The reason using this technique works is that the location to which the browser is being redirected is “hidden” in the HTTP headers, which bots and spots rarely interpret or expect to carry pertinent information and it is the browser that must interpret the location, which means any client-side supported protocol – like &lt;em&gt;mailto&lt;/em&gt; – will cause the execution of the expected action. In this case it is launching the user’s e-mail client. This technique could, of course, be used to silently launch &lt;em&gt;other &lt;/em&gt;client-side applications for which a protocol handler is defined as well. &lt;/p&gt;
&lt;p&gt;A traditional HTTP redirect header to a web page would look like this: &lt;/p&gt;
&lt;div id="codeSnippetWrapper"&gt;
&lt;div id="codeSnippet" style="border-style: none; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: rgb(244, 244, 244); text-align: left;"&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;"&gt;&lt;span id="lnum1" style="color: rgb(96, 96, 96);"&gt;   1:&lt;/span&gt; Location: http://www.w3.org/pub/WWW/People.html&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;And what we want is simply to make it look like this: &lt;/p&gt;
&lt;div id="codeSnippetWrapper"&gt;
&lt;div id="codeSnippet" style="border-style: none; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: rgb(244, 244, 244); text-align: left;"&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;"&gt;&lt;span id="lnum1" style="color: rgb(96, 96, 96);"&gt;   1:&lt;/span&gt; Location: mailto:myemailaddress@example.com &lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;There are two easy ways to implement this solution: network-side and server-side scripting.  &lt;/p&gt;
&lt;p&gt;  &lt;/p&gt;
&lt;hr noshade="noshade" color="#680000" width="100%" /&gt;
&lt;div style="background: rgb(235, 211, 211) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; width: 100%;"&gt;&lt;strong&gt;METHOD #1: NETWORK-SIDE SCRIPTING&lt;/strong&gt;&lt;/div&gt;
&lt;hr noshade="noshade" color="#680000" width="100%" /&gt;
If you've got an &lt;a href="http://www.f5.com/big-ip/"&gt;application delivery controller&lt;/a&gt; enabled with &lt;a href="http://devcentral.f5.com/iRules"&gt;network-side scripting&lt;/a&gt; you easily accomplish this task. You can also do the same with &lt;a href="httpd.apache.org/docs/1.3/mod/mod_rewrite.html"&gt;mod_rewrite&lt;/a&gt; if you're running &lt;a href="http://www.apache.org"&gt;Apache&lt;/a&gt;, and I'm sure there's a way to do it if you're running IIS, as well. Basically any network-side scripting enabled proxy can accomplish this task. You can also accomplish this via server-side scripts as well, but that requires modification to the application and that may not be desirable, depending on your situation.
&lt;p&gt;First you need a URI which you can map to an e-mail address, e.g. &lt;font color="#0000ff"&gt;&lt;strong&gt;/getmailto.&lt;/strong&gt; &lt;font color="#000000"&gt;The script needs to (1) look for that URI and (2) respond to the call to that URI with an HTTP redirect containing the appropriate e-mail address.&lt;/font&gt; &lt;/font&gt;&lt;/p&gt;
&lt;div id="codeSnippetWrapper"&gt;
&lt;div id="codeSnippet" style="border-style: none; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: rgb(244, 244, 244); text-align: left;"&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;"&gt;&lt;span id="lnum1" style="color: rgb(96, 96, 96);"&gt;   1:&lt;/span&gt; when HTTP_REQUEST { &lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: rgb(244, 244, 244); text-align: left;"&gt;&lt;span id="lnum2" style="color: rgb(96, 96, 96);"&gt;   2:&lt;/span&gt;    set curr_uri [HTTP::uri]  &lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;"&gt;&lt;span id="lnum3" style="color: rgb(96, 96, 96);"&gt;   3:&lt;/span&gt;    if {$curr_uri starts_with "/getmailto"} { &lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: rgb(244, 244, 244); text-align: left;"&gt;&lt;span id="lnum4" style="color: rgb(96, 96, 96);"&gt;   4:&lt;/span&gt;       HTTP::redirect "mailto: &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;insert&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;e-mail&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;address&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;here&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;" &lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;"&gt;&lt;span id="lnum5" style="color: rgb(96, 96, 96);"&gt;   5:&lt;/span&gt;    }&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: rgb(244, 244, 244); text-align: left;"&gt;&lt;span id="lnum6" style="color: rgb(96, 96, 96);"&gt;   6:&lt;/span&gt; }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Now replace your mailto links with a link to the new URL. If your browser and mail client are configured properly, clicking on the link should bring up a new e-mail message with the e-mail address filled in. That supports usability needs (the e-mail address link should launch the user’s mail client) but it also keeps the address out of the page. &lt;/p&gt;
&lt;p&gt;You'll probably want to further filter access to the URL by putting some &lt;a href="http://devcentral.f5.com/Default.aspx?tabid=75"&gt;iRule&lt;/a&gt; code in to &lt;a href="http://devcentral.f5.com/Default.aspx?tabid=63&amp;amp;articleType=ArticleView&amp;amp;articleId=26"&gt;detect bots and spiders&lt;/a&gt; and prevent them from exploring this one, but that's pretty easy, too. If you only have to replace one e-mail address, you could probably avoid rewriting the mailto links and simply use an iRule to transform the original mailto links to the new URL. And I'm sure someone out there will figure out how to change any mailto link to a new URL as well. &lt;/p&gt;
&lt;p&gt;For example, if all e-mail addresses use the same formula, i.e. first initial, dot, lastname, you could construct a URL that sent the information as the URL, i.e. &lt;font color="#0000ff"&gt;&lt;strong&gt;/lmacvittie&lt;/strong&gt;&lt;/font&gt;. You can use a network-side script to then parse it into the right e-mail address and send the redirect back to the user. Using iRules you could also create a data group that maps URIs to e-mail addresses and do a quick lookup based on the URI to extract the appropriate e-mail address. As mentioned, you can do the redirect using &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2008/07/07/3428.aspx"&gt;mod_rewrite&lt;/a&gt; as well. I think iRules affords more flexibility in dealing with the actual data being manipulated (the e-mail address –&amp;gt; URI mappings), but you should be able to do it using other tools as well. The trick here is in putting the e-mail address in the HTTP header rather than in the body of the page where it is easily discovered by harvesting tools. &lt;/p&gt;
&lt;p&gt;  &lt;/p&gt;
&lt;p&gt;  &lt;/p&gt;
&lt;hr noshade="noshade" color="#680000" width="100%" /&gt;
&lt;div style="background: rgb(235, 211, 211) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; width: 100%;"&gt;&lt;strong&gt;METHOD #2: SERVER-SIDE SCRIPTING &lt;/strong&gt;&lt;/div&gt;
&lt;hr noshade="noshade" color="#680000" width="100%" /&gt;
If you aren’t lucky enough to have your own personal, private BIG-IP or other network-side scripting enabled solution, you can also accomplish this same functionality in your application code. In a server-side script the trick is to ensure that you’re inserting the HTTP header &lt;em&gt;before &lt;/em&gt;any other data is written to the connection. HTTP headers must be received first, before data. It’s like gravity – a law that must be obeyed. 
&lt;p&gt;For example, in PHP, all you need to do is &lt;a href="http://php.net/manual/en/function.header.php"&gt;call the function header&lt;/a&gt;&lt;em&gt; with the appropriate location: &lt;/em&gt;&lt;/p&gt;
&lt;div id="codeSnippetWrapper"&gt; &lt;em&gt;  &lt;/em&gt;
&lt;div id="codeSnippet" style="border-style: none; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: rgb(244, 244, 244); text-align: left;"&gt; &lt;em&gt;    &lt;/em&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;"&gt;&lt;span id="lnum1" style="color: rgb(96, 96, 96);"&gt;   1:&lt;/span&gt; header(&lt;span style="color: rgb(0, 96, 128);"&gt;'Location: mailto: myemailaddress@example.com'&lt;/span&gt;);&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Rather than add this code to every page with an e-mail address it might be advantageous to take a service-based approach and simulate network-side scripting capabilities by creating a single “page” for all mailto redirects and then implementing the lookups and return of the appropriate HTTP redirect in a centralized, more manageable service. &lt;/p&gt;
&lt;p&gt;Note that while you could achieve the same effect using custom HTML pages with the appropriate META tag or a small piece of JavaScript, this will result in the e-mail address being in a static page that a bot or spider can find and parse. The best solution will use network or server side executed logic because such code is not generally retrieved and parsed by miscreants. This also allows the integration of lookups dynamically. For example, both server and network-side scripting solutions may integrate with systems such as LDAP or AD and could therefore create a request to lookup an e-mail address dynamically based on the HTTP request. &lt;/p&gt;
&lt;p&gt;There are other solutions to &lt;a href="http://www.slideshare.net/DSorensenCPR/f5-offers-advanced-web-security-with-bigip-v101"&gt;prevent this type of web scraping behavior&lt;/a&gt;, and of course any solution combined with a &lt;a href="http://www.f5.com/products/big-ip/feature-modules/message-security-module.html"&gt;good SPAM prevention solution&lt;/a&gt; will improve the quality of the e-mail received. SPAM may be a fact of life on the Internet, but anything we can do to preserve the user experience while cutting down on how much SPAM we receive has to be a good thing. &lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;&lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;UPDATED NOTE:&lt;/span&gt; I just had a thought that because this essentially moves e-mail to a URI-based system, it should be possible to integrate techniques like a CAPTCHA to further secure access to e-mail addresses against bots, spiders, and scripts. &lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;  &lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;a href="http://twitter.com/lmacvittie"&gt;&lt;img height="18" border="0" width="18" alt="Follow me on Twitter" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_twitt-twoo-icon.png" /&gt;&lt;/a&gt; &lt;a title="Follow F5 Networks on Twitter" href="http://tweepml.org/F5-Networks-Tweeple/"&gt;&lt;img height="18" border="0" width="18" alt="" src="http://tweepml.org/s/tweepml16.png" /&gt;&lt;/a&gt; &lt;a title="Follow F5 DevCentral on Twitter" href="http://tweepml.org/F5-DevCentral/"&gt;&lt;img height="18" border="0" width="18" alt="" src="http://tweepml.org/s/tweepml16.png" /&gt;&lt;/a&gt; &lt;a href="http://devcentral.f5.com/weblogs/macvittie/Rss.aspx"&gt;&lt;img border="0" alt="" src="http://devcentral.f5.com/Portals/0/images/Icons/icon_xml_18.gif" /&gt;&lt;/a&gt; &lt;a href="http://www.slideshare.net/lmacvittie"&gt;&lt;img height="18" border="0" width="18" alt="View Lori's profile on SlideShare" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_slideshare.png" /&gt;&lt;/a&gt; &lt;a href="http://www.linkedin.com/in/lmacvittie"&gt;&lt;img border="0" alt="" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_linkedin_16.png" /&gt;&lt;/a&gt; &lt;a href="http://www.friendfeed.com/lmacvittie"&gt;&lt;img height="18" border="0" width="18" style="border-width: 0px;" alt="friendfeed" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/friendfeed_3.jpg" /&gt;&lt;/a&gt; &lt;a href="http://www.facebook.com/lmacvittie"&gt;&lt;img height="18" border="0" width="18" style="border-width: 0px;" alt="icon_facebook" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/icon_facebook_4.png" /&gt;&lt;/a&gt; &lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&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" border="0" width="125" alt="AddThis Feed Button" src="http://s9.addthis.com/button1-fd.gif" /&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" border="0" width="125" alt="Bookmark and Share" src="http://s9.addthis.com/button1-share.gif" /&gt;&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Related blogs &amp;amp; articles: &lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/10/07/long-lived-ajax.aspx"&gt;Long Live(d) AJAX&lt;/a&gt; &lt;/li&gt;
    &lt;li&gt;&lt;a href="http://www.slideshare.net/DSorensenCPR/f5-offers-advanced-web-security-with-bigip-v101"&gt;Advanced Web Security with BIG-IP v10.1 (including Web Scraping Detection and Prevention)&lt;/a&gt; [Slideshare Presentation] &lt;/li&gt;
    &lt;li&gt;&lt;a href="http://www.csarven.ca/hiding-email-addresses"&gt;Extensive List of Methods to Hide E-mail Addresses from Harvesters&lt;/a&gt; &lt;/li&gt;
    &lt;li&gt;&lt;a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html "&gt;W3C HTTP/1.1 Header Field Definitions&lt;/a&gt; &lt;/li&gt;
    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/11/06/when-is-more-important-than-where-in-web-application-security.aspx"&gt;When Is More Important Than Where in Web Application Security&lt;/a&gt; &lt;/li&gt;
    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/10/05/using-network-side-scripting-to-implement-mock-api-endpoints.aspx"&gt;Using Network-Side Scripting to Implement Mock API Endpoints&lt;/a&gt; &lt;/li&gt;
    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2008/10/31/understanding-network-side-scripting.aspx"&gt;Understanding network-side scripting&lt;/a&gt; &lt;/li&gt;
    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/10/01/the-gazebo-on-your-web-site.aspx"&gt;Excuse Me But Is That a Gazebo On Your Site?!&lt;/a&gt; &lt;/li&gt;
    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/07/21/i-can-has-ur-.htaccess-file.aspx"&gt;I Can Has UR .htaccess File&lt;/a&gt; &lt;/li&gt;
    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/06/23/clickjacking-protection-using-x-frame-options-available-for-firefox.aspx"&gt;Clickjacking Protection Using X-FRAME-OPTIONS Available for Firefox&lt;/a&gt; &lt;/li&gt;
    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/01/05/stop-brute-force-listing-of-http-options-with-network-side-scripting.aspx"&gt;Stop brute force listing of HTTP OPTIONS with network-side scripting&lt;/a&gt; &lt;/li&gt;
    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/Tags/network-side%20scripting/default.aspx"&gt;All blogs related to “network-side scripting”&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;
&lt;div class="wlWriterEditableSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:7a2dcc97-843d-4d85-816e-1af38ba6ab09" style="margin: 0px; padding: 0px; display: inline; float: none;"&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/web+2.0" rel="tag"&gt;web 2.0&lt;/a&gt;,&lt;a href="http://technorati.com/tags/mailto" rel="tag"&gt;mailto&lt;/a&gt;,&lt;a href="http://technorati.com/tags/protocol" rel="tag"&gt;protocol&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/SPAM" rel="tag"&gt;SPAM&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/network-side+scripting" rel="tag"&gt;network-side scripting&lt;/a&gt;,&lt;a href="http://technorati.com/tags/scripting" rel="tag"&gt;scripting&lt;/a&gt;,&lt;a href="http://technorati.com/tags/PHP" rel="tag"&gt;PHP&lt;/a&gt;,&lt;a href="http://technorati.com/tags/redirect" rel="tag"&gt;redirect&lt;/a&gt;,&lt;a href="http://technorati.com/tags/browser" rel="tag"&gt;browser&lt;/a&gt;,&lt;a href="http://technorati.com/tags/usability" rel="tag"&gt;usability&lt;/a&gt;&lt;/div&gt;&lt;img src="http://devcentral.f5.com/weblogs/macvittie/aggbug/6296.aspx" width="1" height="1" /&gt;</description><dc:creator>Lori MacVittie</dc:creator></item><item><title>How to Gracefully Degrade Web 2.0 Applications To Maintain Availability</title><link>http://devcentral.f5.com/weblogs/macvittie/archive/2010/01/27/how-to-gracefully-degrade-web-2.0-applications-to-maintain-availability.aspx</link><pubDate>Wed, 27 Jan 2010 10:55:13 GMT</pubDate><guid isPermaLink="true">http://devcentral.f5.com/weblogs/macvittie/archive/2010/01/27/how-to-gracefully-degrade-web-2.0-applications-to-maintain-availability.aspx</guid><wfw:comment>http://devcentral.f5.com/weblogs/macvittie/comments/6294.aspx</wfw:comment><wfw:commentRss>http://devcentral.f5.com/weblogs/macvittie/comments/commentRss/6294.aspx</wfw:commentRss><comments>http://devcentral.f5.com/weblogs/macvittie/archive/2010/01/27/how-to-gracefully-degrade-web-2.0-applications-to-maintain-availability.aspx#comment</comments><slash:comments>1</slash:comments><trackback:ping>http://devcentral.f5.com/weblogs/macvittie/services/trackbacks/6294.aspx</trackback:ping><source url="http://devcentral.f5.com/weblogs/macvittie/rss.aspx">How to Gracefully Degrade Web 2.0 Applications To Maintain Availability</source><description>&lt;p&gt;&lt;em&gt;I haven’t heard the term “graceful degradation” in a long time, but as we continue to push the limits of data centers and our budgets to provide capacity it’s a concept we need to revisit. &lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/Howt.0ApplicationsToMaintainAvailability_231D/storyfailwhaletwitter_2.jpg"&gt;&lt;img title="storyfailwhaletwitter" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; margin: 0px 10px 10px 0px; border-right-width: 0px" height="135" alt="storyfailwhaletwitter" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/Howt.0ApplicationsToMaintainAvailability_231D/storyfailwhaletwitter_thumb.jpg" width="240" align="left" border="0" /&gt;&lt;/a&gt; You might have heard that &lt;a href="http://www.twitter.com"&gt;Twitter&lt;/a&gt; was down (again) last week. What you might not have heard (or read) is some interesting crunchy bits about how Twitter attempts to maintain availability by degrading capabilities gracefully when services are over capacity. &lt;/p&gt;  &lt;p&gt;“&lt;a href="http://www.datacenterknowledge.com/archives/2010/01/20/twitter-down-overwhelmed-by-whales/"&gt;Twitter Down, Overwhelmed by Whales&lt;/a&gt;” from Data Center Knowledge offered up the juicy details: &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/Howt.0ApplicationsToMaintainAvailability_231D/blockquote_2.gif"&gt;&lt;em&gt;&lt;img title="blockquote" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; margin-left: 0px; margin-right: 0px; border-right-width: 0px" height="28" alt="blockquote" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/Howt.0ApplicationsToMaintainAvailability_231D/blockquote_thumb.gif" width="46" align="left" border="0" /&gt;&lt;/em&gt;&lt;/a&gt;&lt;em&gt; &lt;font color="#800000"&gt;The “whales” comment refers to the “Fail Whale” – the downtime mascot that appears whenever Twitter is unavailable. The appearance of the Fail Whale indicates a server error known as a 503, which then triggers a “Whale Watcher” script that prompts a review of the last 100,000 lines of server logs to sort out what has happened.&lt;/font&gt;&lt;/em&gt;&lt;/p&gt;    &lt;p&gt;&lt;em&gt;&lt;font color="#800000"&gt;When at all possible, Twitter tries to adapt by slowing the site performance as an alternative to a 503. In some cases, this means disabling features like custom searches. In recent weeks Twitter.com users have periodically encountered messages that the service was over capacity, but the condition was usually temporary. At times of heavy load for more on how Twitter manages its capacity challenges, see &lt;strong&gt;&lt;a href="http://www.datacenterknowledge.com/archives/2009/06/23/twitter-using-metrics-to-vanquish-the-fail-whale/"&gt;Using Metrics to Vanquish the Fail Whale&lt;/a&gt;&lt;/strong&gt;.&lt;/font&gt;&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;I found this interesting and refreshing at a time when the answer to capacity problems is to just “go cloud”, primarily because even if (and that’s a big if) “the cloud” was truly capable of “infinite scale” (it is not) it is almost certainly a fact that most organization’s budgets are not capable of “infinite payments” and cloud computing isn’t free. &lt;/p&gt;  &lt;p&gt;It’s been many years, in fact, since the phrase “graceful degradation” has been uttered within my hearing, but that’s really what the article is describing and it’s something we don’t talk enough about. Perhaps that’s because it’s difficult to admit that there are limitations – whether technical or financial – on the ability to scale and meet demand. But there are, and if organizations are wise they’ll include in their application delivery strategy the means by which applications and services can “degrade gracefully.” &lt;/p&gt;  &lt;p&gt;Twitter’s solution, the disabling of specific features, is a particularly easy way to implement such a strategy for Web 2.0 applications; at least it’s particularly easy if you have a network-side scripting capable solution mediating for the applications. &lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 100px; background: #fff; float: left; color: #000; line-height: 80px; font-family: times; padding-: 1px 5px 0 0"&gt;G&lt;/span&gt;&lt;/p&gt;  &lt;hr style="color: #c0c0c0" width="100%" noshade="noshade" /&gt;&lt;strong&gt;RACEFUL DEGRADATION&lt;/strong&gt;   &lt;hr style="color: #c0c0c0" width="100%" noshade="noshade" /&gt;  &lt;p&gt;The reason it’s particularly easy to gracefully degrade Web 2.0 applications is that there is generally a 1:1 mapping between “functions” and “URIs.” This is often true for the web-facing interface, almost always true for RESTful APIs, and always true for SOAPy endpoints. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/Howt.0ApplicationsToMaintainAvailability_231D/image_2.png"&gt;&lt;img title="image" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; margin: 0px 10px 10px 0px; border-right-width: 0px" height="337" alt="image" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/Howt.0ApplicationsToMaintainAvailability_231D/image_thumb.png" width="459" align="left" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;What you need to do is identify those “premium” URIs, i.e. those that can be disabled without negatively impacting core services, so that &lt;em&gt;they &lt;/em&gt;can be “degraded” in the face of an overwhelming volume of requests. &lt;/p&gt;  &lt;p&gt;You also need an intermediary. This can be a &lt;a title="" href="http://www.f5.com/glossary/load-balancer.html" rel=""&gt;Load balancer&lt;/a&gt;, assuming it’s capable of providing the flexibility in configuration necessary to enable and disable service to specific URIs, i.e. it must be layer 7 aware. It has to be an intermediary through which all requests are routed because individual servers do not have the visibility required to be able to “see” the total requests and all responses. The fact that a server is throwing back 503 (Internal Error) errors indicates it doesn’t have the resources available to respond to a request, which means it won’t be able to respond to &lt;em&gt;any &lt;/em&gt;requests, including those to disable services. Only an architecture that includes an intermediary of some kind (a reverse proxy) can achieve this solution. &lt;/p&gt;  &lt;p&gt;The &lt;a href="http://devcentral.f5.com/iRules"&gt;network-side script&lt;/a&gt;, which is deployed on the &lt;a href="http://www.f5.com/big-ip/"&gt;application delivery platform&lt;/a&gt; (load balancer), should implement logic that triggers degradation based on receiving 503 errors. It should probably not trigger on a single 503 or multiple 503s from the same application instance as such behavior could be indicative of a problem with that one instance as opposed to being produced due to a lack of capacity. That means the scripting solution needs to be able to take action based on a pattern of behavior coming from &lt;em&gt;all &lt;/em&gt;application instances in conjunction with the total number of requests being received from users. &lt;/p&gt;  &lt;p&gt;Yes, it has to be &lt;em&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2008/12/02/the-context-aware-cloud.aspx"&gt;context-aware&lt;/a&gt;&lt;/em&gt;. &lt;/p&gt;  &lt;p&gt;Once it’s determined that the errors are being generated due to a lack of capacity, the scripting solution needs to disable one or more of the specific URIs determined to be “premium” or ancillary. The intermediary can then respond to subsequent requests for the disabled URIs with custom content based on the expected response type. For example, if it’s an API call it might be appropriate to return a pre-formatted response in the appropriate data format indicating service is currently unavailable. Many network-side scripting solutions are capable of returning pre-formatted responses or they can be customized to provide more detail – it’s really up to the implementer to decide what information is included and how. &lt;/p&gt;  &lt;p&gt;The premise is that as premium or ancillary services are degraded (disabled) that application instances will be able to focus on servicing core requests and return service to normal for those pieces of the application. When the volume of requests returns to within normal operating parameters for the capacity available, the intermediary can restore service to the previously degraded services. &lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 100px; background: #fff; float: left; color: #000; line-height: 80px; font-family: times; padding-: 1px 5px 0 0"&gt;S&lt;/span&gt;&lt;/p&gt;  &lt;hr style="color: #c0c0c0" width="100%" noshade="noshade" /&gt;&lt;strong&gt;CALABILITY is NEVER REALLY INFINITE&lt;/strong&gt;   &lt;hr style="color: #c0c0c0" width="100%" noshade="noshade" /&gt;  &lt;p&gt;From a technological point of view “infinite scale” is not possible. At some point the volume of requests will reach boundaries that simply cannot be overcome, be they limitations on the load balancer (there is a limit to how many servers can ultimately be load balanced, and bandwidth is not unlimited) or on the application infrastructure itself. After all, you can’t launch a new instance of an application if there are no physical resources left on which to launch it. &lt;/p&gt;  &lt;p&gt;It is almost certainly the case, however, that before reaching the technical limits of an “infinitely scalable” environment that &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/10/16/putting-a-price-on-uptime.aspx"&gt;you will hit a financial limitation&lt;/a&gt;. Or it may be the case that you haven’t jumped on the “cloud” bandwagon and what you see is what you get: a limited number of physical resources running a finite number of application instances, and that’s it. In either case, there are limitations on capacity and at some point you may reach them. How you respond to those limitations is an organizational decision, but graceful degradation in a controlled manner is probably more desirable than random, uncontrolled service outages. &lt;/p&gt;  &lt;p&gt;Graceful degradation is an acceptable strategy for responding to availability issues and is especially easy to implement for a Web 2.0 application or API. It’s certainly more appealing than the alternative, which leaves every user essentially playing a game of Russian Roulette with availability of your web application. &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 title="Follow F5 Networks on Twitter" href="http://tweepml.org/F5-Networks-Tweeple/"&gt;&lt;img height="18" src="http://tweepml.org/s/tweepml16.png" width="18" border="0" /&gt;&lt;/a&gt; &lt;a title="Follow F5 DevCentral on Twitter" href="http://tweepml.org/F5-DevCentral/"&gt;&lt;img height="18" src="http://tweepml.org/s/tweepml16.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://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 href="http://www.friendfeed.com/lmacvittie"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="18" alt="friendfeed" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/friendfeed_3.jpg" width="18" border="0" /&gt;&lt;/a&gt; &lt;a href="http://www.facebook.com/lmacvittie"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="18" alt="icon_facebook" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/icon_facebook_4.png" width="18" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&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 type="text/javascript" src="http://track.mybloglog.com/js/jsserv.php?mblID=2008070914270355"&gt;&lt;/script&gt;&lt;/p&gt;  &lt;p&gt;Related blogs &amp;amp; articles: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.datacenterknowledge.com/archives/2010/01/20/twitter-down-overwhelmed-by-whales/"&gt;Twitter Down, Overwhelmed by Whales&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/Wiki/default.aspx/iRules/HTTPSessionLimit.html"&gt;HTTP Session Limit iRule&lt;/a&gt; – Limit access based on pre-determined total connection limits &lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/06/09/the-infrastructure-2.0-trifecta.aspx"&gt;The Infrastructure 2.0 Trifecta&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2010/01/20/wils-how-can-a-load-balancer-keep-a-single-server.aspx"&gt;WILS: How can a load balancer keep a single server site available?&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2010/01/25/how-to-use-coralcdn-on-demand-to-keep-your-site-available.aspx"&gt;How To Use CoralCDN On-Demand to Keep Your Site Available. For Free.&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2010/01/05/itrsquos-2am-do-you-know-what-algorithm-your-load-balancer.aspx"&gt;It’s 2am: Do You Know What Algorithm Your Load Balancer is Using?&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2010/01/04/the-application-delivery-deus-ex-machina-again.aspx"&gt;The Application Delivery Deus Ex Machina&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/10/28/to-take-advantage-of-cloud-computing-you-must-unlearn.aspx"&gt;To Take Advantage of Cloud Computing You Must Unlearn, Luke&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/10/27/vertical-scalability-cloud-computing-style.aspx"&gt;Vertical Scalability Cloud Computing Style&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/10/16/putting-a-price-on-uptime.aspx"&gt;Putting a Price on Uptime&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2008/11/25/cloud-computing-vertical-scalability-is-still-your-problem.aspx"&gt;Cloud Computing: Vertical Scalability is Still Your Problem&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;div class="wlWriterEditableSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:999d8f25-9bc4-4d10-8340-8be7bd109c10" 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/application+delivery" rel="tag"&gt;application delivery&lt;/a&gt;,&lt;a href="http://technorati.com/tags/network-side+scripting" rel="tag"&gt;network-side scripting&lt;/a&gt;,&lt;a href="http://technorati.com/tags/iRules" rel="tag"&gt;iRules&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Twitter" rel="tag"&gt;Twitter&lt;/a&gt;,&lt;a href="http://technorati.com/tags/capacity" rel="tag"&gt;capacity&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/cloud+computing" rel="tag"&gt;cloud computing&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Web+2.0" rel="tag"&gt;Web 2.0&lt;/a&gt;,&lt;a href="http://technorati.com/tags/load+balancing" rel="tag"&gt;load balancing&lt;/a&gt;&lt;/div&gt;&lt;img src="http://devcentral.f5.com/weblogs/macvittie/aggbug/6294.aspx" width="1" height="1" /&gt;</description><dc:creator>Lori MacVittie</dc:creator></item><item><title>The State of My Blog Address</title><link>http://devcentral.f5.com/weblogs/psilva/archive/2010/01/26/the-state-of-my-blog-address.aspx</link><pubDate>Wed, 27 Jan 2010 00:01:49 GMT</pubDate><guid isPermaLink="true">http://devcentral.f5.com/weblogs/psilva/archive/2010/01/26/the-state-of-my-blog-address.aspx</guid><wfw:comment>http://devcentral.f5.com/weblogs/psilva/comments/6293.aspx</wfw:comment><wfw:commentRss>http://devcentral.f5.com/weblogs/psilva/comments/commentRss/6293.aspx</wfw:commentRss><comments>http://devcentral.f5.com/weblogs/psilva/archive/2010/01/26/the-state-of-my-blog-address.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://devcentral.f5.com/weblogs/psilva/services/trackbacks/6293.aspx</trackback:ping><source url="http://devcentral.f5.com/weblogs/psilva/rss.aspx">The State of My Blog Address</source><description>&lt;p&gt;Readers, distinguished bloggers, various feeds - A year ago this week, I crossed over into double-digit blog entries (a whopping 10 stories at the time but a relative blog newcomer) and was wondering what magical rant would make &lt;a title="This blog goes to Eleven" href="http://devcentral.f5.com/weblogs/psilva/archive/2009/01/30/this-blog-goes-to-eleven.aspx"&gt;this Blog Go to Eleven&lt;/a&gt;.  Fidgeting with the keyboard and watching the blinking curser as nothing came to mind, I decided to dedicate January 30th as ‘Blog About Your Blog Day.’   The day that all bloggers would share stories, tips and other musings about their own blog.  Since I don’t see it as a #trendingtopic on Twitter, it might not have stuck.  Annual rituals often need a few years to take, so here’s the State of My Blog address in honor of my own made up writing holiday.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/psilva/WindowsLiveWriter/24b32790352f_882C/dog-blog1_2.jpg"&gt;&lt;img border="0" align="left" style="border-width: 0px; display: inline; margin-left: 0px; margin-right: 0px; width: 254px; height: 142px;" title="www.newyorker.com" alt="www.newyorker.com" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/psilva/WindowsLiveWriter/24b32790352f_882C/dog-blog1_thumb.jpg" /&gt;&lt;/a&gt; Last week, my good buddy Michael Sheehan of &lt;a title="GoGrid" href="http://www.gogrid.com/"&gt;GoGrid&lt;/a&gt; (&lt;a href="http://twitter.com/hightechdad"&gt;@HighTechDad&lt;/a&gt; on Twitter) &lt;a title="How I Write a Blog Post. How Do YOU Do It?" href="http://www.hightechdad.com/2010/01/20/how-i-write-a-blog-post-how-do-you-do-it/#comment-30723038"&gt;wrote about the detailed process he goes through when creating a blog post&lt;/a&gt;.  I gotta give him credit for both having a process and actually documenting it since I typically just see a topic/story, fire up Live Writer and tap away.  Often stories come to mind while I’m walking the dog the evening before I post.  I think it has to do with clearing my mind of all the day’s clutter and suddenly it’s like, ‘There it is!!.’  I’ll get home, quickly jot some notes or create a title, sleep on it and write it the next day.  This was one of them.  I typically try to post at least once a week and it’s usually around mid-week.  &lt;a title="The Best Day for Blogging is Thursday" href="http://dannybrown.me/2009/12/16/the-best-day-for-blogging-is-thursday/"&gt;This blog&lt;/a&gt; talks about how Thursday is the best day to post and &lt;a title="Thursday at Noon is the best time post and be noticed (PST)" href="http://3.rdrail.net/blog/thurday-at-noon-is-the-best-time-post-and-be-noticed-pst/"&gt;this one&lt;/a&gt; backs it up with some statistical charts.  I’ve read a couple that indicate that Monday’s are not great since everyone is getting back into the work routine, at least for business blogs.  And speaking of Personal vs. Business blogs – Michael’s entry describes his method for personal blogs.  I really don’t have a ‘personal’ blog since most, if not all, my entries are work related and published on F5’s &lt;a title="Community Driven Innovation" href="http://devcentral.f5.com/"&gt;DevCentral&lt;/a&gt;.  I do feed &lt;a title="psilva's prophecies" href="http://psilvas.wordpress.com/"&gt;WordPress&lt;/a&gt;, &lt;a title="Psilva's Prophecies" href="http://psilvas.ulitzer.com/"&gt;Ulitzer&lt;/a&gt;, &lt;a title="psilva's prophecies" href="http://psilvasprophecies.blogspot.com/"&gt;Blogger&lt;/a&gt;, &lt;a title="psilva's prophecies" href="http://psilvas.posterous.com/"&gt;Posterous&lt;/a&gt; and others for greater coverage but our DevCentral community is my main audience.   Even with a business blog, I do tend to incorporate &lt;a title="Pearl Harbor, Punchbowl and my Grandparents" href="http://devcentral.f5.com/weblogs/psilva/archive/2009/12/07/pearl-harbor-punchbowl-and-my-grandparents.aspx"&gt;personal stories&lt;/a&gt; since what I do as a career does mix with who I am as a person.  I still remember years ago when I worked at the &lt;a title="The Rep" href="http://www.milwaukeerep.com/"&gt;Milwaukee Repertory Theater&lt;/a&gt; an Art Director saying, ‘I am not my art!’  Always thought that was funny but interesting.  &lt;/p&gt;
&lt;p&gt;Even though this is a F5 branded blog, I do try to keep it focused on technology, trends, ideas and other industry topics instead of a &lt;a title="Holds 12X it's weight in liquid" href="https://www.shamwow.com/ver15/index.asp"&gt;ShamWow&lt;/a&gt; ad for &lt;a title="One device. Complete control." href="http://www.f5.com/products/big-ip/"&gt;BIG-IP&lt;/a&gt;.  Most of our readers are familiar with BIG-IP (and learning about the new &lt;a title="Deliver fast and secure remote access" href="http://www.f5.com/products/big-ip/solution-modules/edge-gateway.html"&gt;BIG-IP Edge Gateway&lt;/a&gt; &lt;a title="F5’s BIG-IP Edge Gateway Solution Provides Breakthrough Approach to Unifying and Optimizing Access to the Data Center" href="http://www.f5.com/news-press-events/press/2010/20100125a.html"&gt;announced this week&lt;/a&gt;) and I just like to compliment what they already know, offer some new ideas or bring attention to market/technology trends and how F5 solves some of these.  Nothing too technical, security focused, a bit of humor, some personal insight and our daily lives – that’s the State of My Blog 2010.  How about yours?&lt;/p&gt;
&lt;p&gt;And here are a few other stories I considered writing about this week:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;a title="Top 10 Information Security Threats for 2010" href="http://www.myhostnews.com/2010/01/top-10-information-security-threats-for-2010/"&gt;Top 10 Information Security Threats for 2010&lt;/a&gt; &lt;/li&gt;
    &lt;li&gt;&lt;a title="http://www.networkworld.com/news/2010/012010-dns-security-deadline-missed.html" href="http://www.networkworld.com/news/2010/012010-dns-security-deadline-missed.html"&gt;80% of government Web sites miss DNS security deadline&lt;/a&gt; &lt;/li&gt;
    &lt;li&gt;&lt;a title="Data breach costs continue increase in 2009, Ponemon study finds" href="http://searchsecurity.techtarget.com/news/article/0,289142,sid14_gci1379486,00.html#"&gt;Data breach costs continue increase in 2009, Ponemon study finds&lt;/a&gt; &lt;/li&gt;
    &lt;li&gt;&lt;a title="Taken to the Cleaners" href="http://www.csoonline.com/article/519330/Taken_to_the_Cleaners"&gt;Taken to the Cleaners&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Until next time…&lt;/p&gt;
&lt;p&gt;ps&lt;/p&gt;
&lt;p&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Pete+Silva"&gt;Pete Silva&lt;/a&gt;,&lt;a href="http://technorati.com/tags/F5"&gt;F5&lt;/a&gt;,&lt;a href="http://technorati.com/tags/security"&gt;security&lt;/a&gt;,&lt;a href="http://technorati.com/tags/application+security"&gt;application security&lt;/a&gt;,&lt;a href="http://technorati.com/tags/network+security"&gt;network security&lt;/a&gt;,&lt;a href="http://technorati.com/tag/blogging"&gt;blogging&lt;/a&gt;,&lt;a href="http://technorati.com/tag/blogs"&gt;blogs&lt;/a&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;div class="wlWriterHeaderFooter" style="margin: 0px; padding: 4px 0px; text-align: right;"&gt;&lt;a href="http://digg.com/submit?url=http%3a%2f%2fdevcentral.f5.com%2fweblogs%2fpsilva%2farchive%2f2010%2f01%2f26%2fthe-state-of-my-blog-address.aspx&amp;amp;title=The+State+of+My+Blog+Address"&gt;&lt;img width="100" height="20" border="0" src="http://digg.com/img/badges/100x20-digg-button.png" alt="Digg This" title="Digg This" style="border: 0pt none;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://devcentral.f5.com/weblogs/psilva/aggbug/6293.aspx" width="1" height="1" /&gt;</description><dc:creator>Pete Silva</dc:creator></item><item><title>I Found the Missing Piece of the Virtualization Puzzle</title><link>http://devcentral.f5.com/weblogs/macvittie/archive/2010/01/26/i-found-the-missing-piece-of-the-virtualization-puzzle.aspx</link><pubDate>Tue, 26 Jan 2010 12:02:21 GMT</pubDate><guid isPermaLink="true">http://devcentral.f5.com/weblogs/macvittie/archive/2010/01/26/i-found-the-missing-piece-of-the-virtualization-puzzle.aspx</guid><wfw:comment>http://devcentral.f5.com/weblogs/macvittie/comments/6292.aspx</wfw:comment><wfw:commentRss>http://devcentral.f5.com/weblogs/macvittie/comments/commentRss/6292.aspx</wfw:commentRss><comments>http://devcentral.f5.com/weblogs/macvittie/archive/2010/01/26/i-found-the-missing-piece-of-the-virtualization-puzzle.aspx#comment</comments><slash:comments>3</slash:comments><trackback:ping>http://devcentral.f5.com/weblogs/macvittie/services/trackbacks/6292.aspx</trackback:ping><source url="http://devcentral.f5.com/weblogs/macvittie/rss.aspx">I Found the Missing Piece of the Virtualization Puzzle</source><description>&lt;p&gt;&lt;em&gt;Nope. Wasn’t under the couch. In fact it turns out it wasn’t even missing, it’s just been overlooked and might already be in your data center. &lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/TheMissingPieceofVirtualizationIsntSoMis_335A/app-delivery-missing-puzzle-piece_2.png"&gt;&lt;img title="app-delivery-missing-puzzle-piece" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; margin: 0px 10px 10px 0px; border-right-width: 0px" height="207" alt="app-delivery-missing-puzzle-piece" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/TheMissingPieceofVirtualizationIsntSoMis_335A/app-delivery-missing-puzzle-piece_thumb.png" width="276" align="left" border="0" /&gt;&lt;/a&gt; As more organizations continue to make virtualization a core part of their overall application deployment strategy they are finding challenges associated with managing and, apparently, optimizing their &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2010/01/05/itrsquos-2am-do-you-know-what-algorithm-your-load-balancer.aspx" target="_blank"&gt;newly created heterogeneous infrastructure&lt;/a&gt;. Kevin Fogarty, in “&lt;a href="http://www.computerworld.com/s/article/9143288/10_Virtualization_Vendors_to_Watch_in_2010" target="_blank"&gt;10 Virtualization Vendors to Watch in 2010&lt;/a&gt;”, writes of some of the challenges with virtualization to come in the next year. One of those challenges is, apparently, optimization of resources across physical and virtual assets, at least according to Mark Bowker of the Enterprise Strategy Group. &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/TheMissingPieceofVirtualizationIsntSoMis_335A/blockquote_2.gif"&gt;&lt;img title="blockquote" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; margin-left: 0px; margin-right: 0px; border-right-width: 0px" height="28" alt="blockquote" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/TheMissingPieceofVirtualizationIsntSoMis_335A/blockquote_thumb.gif" width="46" align="left" border="0" /&gt;&lt;/a&gt; "Anybody who can fill the gaps the big guys don't in helping virtualization admins provision and control their infrastructure is worth a look," adds Mark Bowker, virtualization specialist at Enterprise Strategy Group. "&lt;font color="#800000"&gt;&lt;strong&gt;The real missing piece, though, is the ability to optimize performance across both physical and virtual assets.&lt;/strong&gt;&lt;/font&gt;"&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Later, Kevin addresses the challenges associated with capacity planning in a virtualized environment. &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/TheMissingPieceofVirtualizationIsntSoMis_335A/blockquote_4.gif"&gt;&lt;img title="blockquote" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; margin-left: 0px; margin-right: 0px; border-right-width: 0px" height="28" alt="blockquote" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/TheMissingPieceofVirtualizationIsntSoMis_335A/blockquote_thumb_1.gif" width="46" align="left" border="0" /&gt;&lt;/a&gt; In the virtual world, however, capacity management is something of a black art -- not because few people have thought of it, but because few have built tools to look at both the physical and virtual servers and see how many of one will overwhelm the other. VKernel's product works on both VMware and Microsoft's Hyper-V. Without detailed capacity planning based on real data -- not imagination -- large-scale virtualization of production systems is not practical, according to Chris Wolf, analyst at The Burton Group. &lt;/p&gt; &lt;/blockquote&gt;  &lt;hr width="100%" color="#680000" noshade="noshade" /&gt;   &lt;div style="background: #ebd3d3; width: 100%"&gt;&lt;strong&gt;THE MORE THINGS CHANGE, THE MORE THEY STAY THE SAME&lt;/strong&gt;&lt;/div&gt;  &lt;hr width="100%" color="#680000" noshade="noshade" /&gt;  &lt;p&gt;One of the easiest and most effective ways to address the challenge of optimizing performance of heterogeneous environments comprising both physical and virtual assets is to &lt;a href="http://www.techvalidate.com/product-research/f5-big-ip/facts/975-FFD-F8D"&gt;&lt;img title="975-FFD-F8D" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; margin: 10px 0px 10px 10px; border-right-width: 0px" height="146" alt="975-FFD-F8D" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/TheMissingPieceofVirtualizationIsntSoMis_335A/975-FFD-F8D_3.png" width="263" align="right" border="0" /&gt;&lt;/a&gt;optimize the &lt;em&gt;applications &lt;/em&gt;being delivered by those assets. Optimizing the application means making more efficient the way the application and its application stack, i.e. the web and/or application server, makes use of compute resources. Doing so means a single virtual machine increases its capacity while lowering its resource requirements, which can  translate into a &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/08/24/virtual-machine-density-as-the-new-measure-of-it-efficiency.aspx" target="_blank"&gt;higher VM density&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;What seems to be ignored – either purposefully or accidentally – is that applications and their infrastructure stacks are &lt;em&gt;the same &lt;/em&gt;whether deployed on a virtual machine or a physical server. For the most part the &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/11/09/virtualization-changes-application-deployment-but-not-development.aspx" target="_blank"&gt;application doesn’t change&lt;/a&gt;, just the number of layers between it and the server. What’s necessary to optimize both resources, then, is to attack performance issues that are common to both models, i.e. those related to TCP, HTTP, and application-specific protocols. If you can optimize connections and application behavior through better resource management at the protocol level, leveraging caching when available, and compressing only when it will be beneficial you can significantly improve the efficiency of the platform – virtual or physical – such that capacity is increased. And because you’re optimizing components common to both deployment models, it doesn’t matter whether those resources are “virtual” or “physical.” &lt;/p&gt;  &lt;p&gt;It’s also true that it is possible to instruct application delivery solutions to leverage physical and virtual assets based on their unique properties and capabilities. For example, if a virtual resource has a capacity that is half that of a physical resource, the application delivery solution can certainly be configured in a way to take that into consideration when determining what resource is best suited at the time the request is received to respond. Optimizing the distribution of requests across physical and virtual resources should not be overlooked especially if the environment is heterogeneous both in type of resource (physical or virtual) and capacity (maximum resources available). &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2010/01/05/itrsquos-2am-do-you-know-what-algorithm-your-load-balancer.aspx"&gt;A poorly chosen load balancing algorithm as a means to distribute request&lt;/a&gt;s, for example, can make even more inefficient a heterogeneous environment. But a well-chosen algorithm can significantly increase performance and overall capacity and make more efficient the entire application infrastructure, whether virtual, physical, or both. &lt;/p&gt;  &lt;p /&gt;  &lt;hr width="100%" color="#680000" noshade="noshade" /&gt;  &lt;div style="background: #ebd3d3; width: 100%"&gt;&lt;strong&gt;VIRTUALIZATION isn’t FREE &lt;/strong&gt;&lt;/div&gt;  &lt;hr width="100%" color="#680000" noshade="noshade" /&gt;  &lt;p /&gt;  &lt;p&gt;Part of the problem with capacity planning for applications is, certainly, ignoring the overhead associated with virtualization. The hypervisor is, after all, still an application and requires resources. It is the “abstraction layer” between the virtual machines and the underlying operating system and hardware and all the “virtual” activity must be channeled through &lt;em&gt;it, &lt;/em&gt;which is going to consume resources that will not be available to applications. In other words, a virtualized server will never provide 100% resource capacity for applications, and this needs to be considered when performing capacity planning. Microsoft, for example, notes in a TechEd Europe presentation, “&lt;a href="http://www.msteched.com/online/view.aspx?tid=e0fa8f9a-6eb1-4279-859e-7ccc3196b1ae"&gt;Microsoft Exchange Server Virtualisation: Does It Make Sense?&lt;/a&gt; [UNC03-IS]”, that the “hypervisor adds processor overhead” citing the hypervisor consumes an approximate ~12% of processor resources in its own Exchange 2010 testing. Benchmarking tests conducted by VMWare on web servers, too, indicate a varying amount of hypervisor overhead (~16% at its highest) depending on configuration and resources available [&lt;a href="http://www.vmware.com/files/pdf/consolidating_webapps_vi3_wp.pdf"&gt;Consolidating Web Applications Using VMware Infrastructure&lt;/a&gt;, PDF, VMWare]. &lt;/p&gt;  &lt;p&gt;There’s nothing anyone can really do about hypervisor overhead right now. Virtualization vendors are working with hardware vendors and “virtualization aware” solutions will at some point address much of this overhead. But still, some overhead has to exist when deploying hypervisor-based virtualization solutions because, well, it’s part of the solution. That means when you’re looking at capacity you must take into consideration that overhead and subtract it from the available resources you can provision to your applications. That shouldn’t be a problem as capacity planners have long held that you &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/08/19/the-myth-of-100-it-efficiency.aspx" target="_blank"&gt;never plan for 100% capacity anyway&lt;/a&gt;&lt;em /&gt;. But it still must be accounted for and addressed. One of the ways to offset the loss of resource capacity associated with a hypervisor is to make the applications that will be run atop the hypervisor are as optimized as possible. If you can gain more through optimization than you lose in associated overhead, you win. &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 title="Follow F5 Networks on Twitter" href="http://tweepml.org/F5-Networks-Tweeple/"&gt;&lt;img height="18" src="http://tweepml.org/s/tweepml16.png" width="18" border="0" /&gt;&lt;/a&gt; &lt;a title="Follow F5 DevCentral on Twitter" href="http://tweepml.org/F5-DevCentral/"&gt;&lt;img height="18" src="http://tweepml.org/s/tweepml16.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://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 href="http://www.friendfeed.com/lmacvittie"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="18" alt="friendfeed" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/friendfeed_3.jpg" width="18" border="0" /&gt;&lt;/a&gt; &lt;a href="http://www.facebook.com/lmacvittie"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="18" alt="icon_facebook" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/icon_facebook_4.png" width="18" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&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 type="text/javascript" src="http://track.mybloglog.com/js/jsserv.php?mblID=2008070914270355"&gt;&lt;/script&gt;&lt;/p&gt;  &lt;p&gt;Related blogs &amp;amp; articles: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.computerworld.com/s/article/9143288/10_Virtualization_Vendors_to_Watch_in_2010" target="_blank"&gt;10 Virtualization Vendors to Watch in 2010&lt;/a&gt;  &lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2010/01/05/itrsquos-2am-do-you-know-what-algorithm-your-load-balancer.aspx"&gt;It’s 2am: Do You Know What Algorithm Your Load Balancer is Using?&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/10/28/to-take-advantage-of-cloud-computing-you-must-unlearn.aspx"&gt;To Take Advantage of Cloud Computing You Must &lt;b&gt;Unlearn&lt;/b&gt;, &lt;b&gt;Luke&lt;/b&gt;.&lt;/a&gt;  &lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/08/24/virtual-machine-density-as-the-new-measure-of-it-efficiency.aspx"&gt;Virtual Machine &lt;b&gt;Density&lt;/b&gt; as the New Measure of IT Efficiency&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/08/19/the-myth-of-100-it-efficiency.aspx"&gt;The &lt;b&gt;Myth&lt;/b&gt; &lt;b&gt;of&lt;/b&gt; &lt;b&gt;100%&lt;/b&gt; IT Efficiency&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/11/09/virtualization-changes-application-deployment-but-not-development.aspx"&gt;&lt;b&gt;Virtualization&lt;/b&gt; &lt;b&gt;Changes&lt;/b&gt; Application Deployment But Not Development&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2010/01/12/optimize-prime-the-self-optimizing-application-delivery-network.aspx"&gt;Optimize Prime: The Self-Optimizing Application Delivery Network&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2010/01/08/pursuit-of-intercloud-is-practical-not-premature.aspx"&gt;Pursuit of Intercloud is Practical not Premature&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2010/01/04/the-application-delivery-deus-ex-machina.aspx"&gt;The Application Delivery Deus Ex Machina&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;ul /&gt;  &lt;p /&gt;  &lt;div class="wlWriterEditableSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:acfa0272-c6a5-433b-aed6-3888db3386b8" 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/application+delivery" rel="tag"&gt;application delivery&lt;/a&gt;,&lt;a href="http://technorati.com/tags/cloud+computing" rel="tag"&gt;cloud computing&lt;/a&gt;,&lt;a href="http://technorati.com/tags/virtualization" rel="tag"&gt;virtualization&lt;/a&gt;,&lt;a href="http://technorati.com/tags/optimization" rel="tag"&gt;optimization&lt;/a&gt;,&lt;a href="http://technorati.com/tags/VMware" rel="tag"&gt;VMware&lt;/a&gt;,&lt;a href="http://technorati.com/tags/web+applications" rel="tag"&gt;web applications&lt;/a&gt;,&lt;a href="http://technorati.com/tags/infrastructure+2.0" rel="tag"&gt;infrastructure 2.0&lt;/a&gt;,&lt;a href="http://technorati.com/tags/load+balancing" rel="tag"&gt;load balancing&lt;/a&gt;&lt;/div&gt;&lt;img src="http://devcentral.f5.com/weblogs/macvittie/aggbug/6292.aspx" width="1" height="1" /&gt;</description><dc:creator>Lori MacVittie</dc:creator></item><item><title>How To Use CoralCDN On-Demand to Keep Your Site Available. For Free.</title><link>http://devcentral.f5.com/weblogs/macvittie/archive/2010/01/25/how-to-use-coralcdn-on-demand-to-keep-your-site-available.aspx</link><pubDate>Mon, 25 Jan 2010 11:55:23 GMT</pubDate><guid isPermaLink="true">http://devcentral.f5.com/weblogs/macvittie/archive/2010/01/25/how-to-use-coralcdn-on-demand-to-keep-your-site-available.aspx</guid><wfw:comment>http://devcentral.f5.com/weblogs/macvittie/comments/6289.aspx</wfw:comment><wfw:commentRss>http://devcentral.f5.com/weblogs/macvittie/comments/commentRss/6289.aspx</wfw:commentRss><comments>http://devcentral.f5.com/weblogs/macvittie/archive/2010/01/25/how-to-use-coralcdn-on-demand-to-keep-your-site-available.aspx#comment</comments><slash:comments>1</slash:comments><trackback:ping>http://devcentral.f5.com/weblogs/macvittie/services/trackbacks/6289.aspx</trackback:ping><source url="http://devcentral.f5.com/weblogs/macvittie/rss.aspx">How To Use CoralCDN On-Demand to Keep Your Site Available. For Free.</source><description>&lt;p&gt;&lt;em&gt;Cloud computing and content delivery networks (CDN) are both good ways to assist in improving capacity in the face of sudden, high demand for specific content but require preparation and incur operational and often capital expenditures. How about an option that’s free, instead? &lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/HowToUseCoralCacheOnDemandtoKeepYourSite_A0D4/Connection_Failed_2.png"&gt;&lt;img title="Connection_Failed" style="border-right: 0px; border-top: 0px; display: inline; margin: 0px 10px 0px 0px; border-left: 0px; border-bottom: 0px" height="105" alt="Connection_Failed" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/HowToUseCoralCacheOnDemandtoKeepYourSite_A0D4/Connection_Failed_thumb.png" width="311" align="left" border="0" /&gt;&lt;/a&gt;While it’s certainly in the best interests of every organization to have a well-thought out application delivery strategy for addressing the various events that can result in downtime for web applications it may be that once in a while a simple, tactical solution will suffice. Even if you’re &lt;a title="" href="http://www.f5.com/glossary/load-balancing.html" rel=""&gt;load balancing&lt;/a&gt; already (and you are, of course, aren’t you?) and employing optimization techniques like &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2008/10/14/3-really-good-reasons-you-should-use-tcp-multiplexing.aspx"&gt;TCP multiplexing&lt;/a&gt; you may find that there are sudden spikes in traffic or maintenance windows during which you simply can’t keep your site available without making a capital investment in more hardware. &lt;/p&gt;  &lt;p&gt;Yes, you could certainly use cloud computing to solve the problem, but though it may not be a capital investment it’s still an operational expenditure and thus it incurs costs. Those costs are not only incurred in the event that you need it, but in the time and effort required to prepare and deploy the application(s) in question for that environment. &lt;/p&gt;  &lt;p&gt;Consider that you generally serve a fairly consistent patronage, such as would be the case for a local media outlet. No doubt you’ve got the infrastructure in place to handle the thousands of local visitors you receive on a daily basis, but what happens if a blog or editorial or news story is posted that catches someone’s eye? Often it’s relayed to &lt;a href="http://slashdot.com"&gt;Slashdot&lt;/a&gt;, or &lt;a href="http://www.digg.com"&gt;Digg&lt;/a&gt;, or &lt;a href="http://www.fark.com"&gt;Fark&lt;/a&gt;. And if it garners interest &lt;em&gt;there&lt;/em&gt;, well, you may in real trouble and have a difficult time maintaining availability. You need a solution that can reliably handle just such a situation, but you can’t predict when that situation may arise. After all, “odd” or breaking news doesn’t often happen with any amount of notice. The budget to build out a larger infrastructure to handle a “could happen, might happen, can’t guarantee will happen” scenario is impossible to justify.  &lt;/p&gt;  &lt;p&gt;What you need is a down and dirty, inexpensive (as in free) solution as an “insurance” plan against losing availability of your site. If that’s the case, perhaps what you need is to leverage the &lt;a href="http://www.coralcdn.org/"&gt;Coral Content Distribution Network&lt;/a&gt;. &lt;/p&gt;  &lt;hr width="100%" color="#680000" noshade="noshade" /&gt;   &lt;div style="background: #ebd3d3; width: 100%"&gt;&lt;strong&gt;WHAT is this CORAL thing?&lt;/strong&gt;&lt;/div&gt;  &lt;hr width="100%" color="#680000" noshade="noshade" /&gt;  &lt;p&gt;I could describe it myself, but really the description offered up by the best source (the creators) says it far better than I could: &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/HowToUseCoralCacheOnDemandtoKeepYourSite_A0D4/blockquote_4.gif"&gt;&lt;img title="blockquote" style="border-right: 0px; border-top: 0px; display: inline; margin-left: 0px; border-left: 0px; margin-right: 0px; border-bottom: 0px" height="28" alt="blockquote" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/HowToUseCoralCacheOnDemandtoKeepYourSite_A0D4/blockquote_thumb_1.gif" width="46" align="left" border="0" /&gt;&lt;/a&gt; CoralCDN is a decentralized, self-organizing, peer-to-peer web-content distribution network. CoralCDN leverages the aggregate bandwidth of volunteers running the software to absorb and dissipate most of the traffic for web sites using the system. In so doing, CoralCDN replicates content in proportion to the content's popularity, regardless of the publisher's resources---in effect democratizing content publication.  &lt;br /&gt;                                                                                                                                                     &lt;a href="http://www.coralcdn.org/overview/"&gt;-- Coral Content Distribution Network | Overview&lt;/a&gt; &lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;According to &lt;a href="http://en.wikipedia.org/wiki/Coral_cache"&gt;its Wikipedia entry&lt;/a&gt;, it is simplicity itself to take advantage of Coral Cache: &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/HowToUseCoralCacheOnDemandtoKeepYourSite_A0D4/blockquote_2.gif"&gt;&lt;img title="blockquote" style="border-right: 0px; border-top: 0px; display: inline; margin-left: 0px; border-left: 0px; margin-right: 0px; border-bottom: 0px" height="28" alt="blockquote" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/HowToUseCoralCacheOnDemandtoKeepYourSite_A0D4/blockquote_thumb.gif" width="46" align="left" border="0" /&gt;&lt;/a&gt; A website can be accessed through the Coral Cache by adding &lt;code&gt;.nyud.net&lt;/code&gt; to the &lt;a href="http://en.wikipedia.org/wiki/Hostname"&gt;hostname&lt;/a&gt; in the site's &lt;a href="http://en.wikipedia.org/wiki/Uniform_Resource_Locator"&gt;URL&lt;/a&gt;, resulting in what is known as a 'coralized link'. So, for example, &lt;code&gt;http://example.com&lt;/code&gt; becomes &lt;code&gt;http://example.com.nyud.net&lt;/code&gt;. For websites that use a non-standard port for example, &lt;code&gt;http://example.com:8080&lt;/code&gt; becomes &lt;code&gt;&lt;a href="http://example.com.8080.nyud.net"&gt;http://example.com.8080.nyud.net&lt;/a&gt;&lt;/code&gt;.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Basically you can leverage Coral to mirror a given host such that your site remains available in the face of an onslaught of traffic, and it’s free. What is not explained is &lt;em&gt;how &lt;/em&gt;to get users to access your site via Coral Cache in an on-demand way, such as when a sudden spike in traffic would otherwise make your site inaccessible. Think of Coral as an on-demand, instantly provisioned content distribution network that will mirror your site and keep it available. All you need to do is take advantage of it. &lt;/p&gt;  &lt;p&gt;Certainly if you know ahead of time you can create a link as described above and use it instead of your normal link, but it’s not always evident ahead of time that you’ll need the extra bandwidth/capacity and it would be nice if you could leverage such a solution on-demand. So what would be nice is a way to invoke these external services on-demand, in a way that’s not unlike the way in which caching solutions alter URLs, i.e. rewrite them, to take advantage of commercial &lt;a href="http://www.f5.com/glossary/content-delivery-network.html"&gt;content delivery networks&lt;/a&gt; (CDN). &lt;/p&gt;  &lt;hr width="100%" color="#680000" noshade="noshade" /&gt;   &lt;div style="background: #ebd3d3; width: 100%"&gt;&lt;strong&gt;HOW DO I DO THAT?&lt;/strong&gt;&lt;/div&gt;  &lt;hr width="100%" color="#680000" noshade="noshade" /&gt;  &lt;p&gt;There are quite a few ways to leverage such a service on-demand, but all require that you have some amount of visibility into the current operational state of your site and infrastructure. You can’t execute the logic necessary to take advantage of Coral if you don’t know you need it, after all. I’ll offer up three different ways in which you could integrate Coral into your availability strategy; there are many more, I’m sure. The methods included here require that you have a &lt;a href="http://devcentral.f5.com/iRules"&gt;network-side scripting&lt;/a&gt; enabled solution at your disposal. If you’ve already got a load balancing solution, check with the vendor; it’s possible that you have the capability. If you don’t, you may want to consider using something like &lt;a href="http://www.reaper-x.com/2009/10/02/how-to-use-coralcdn-to-save-your-bandwidth-problem-server-resources/"&gt;mod_rewrite that gives you similar capabilities,&lt;/a&gt; though you’d need to deploy the rules created on every server if you do that unless you create a proxy for your web servers and implement the rules there. That’s one of the advantages of a &lt;a title="" href="http://www.f5.com/glossary/load-balancer.html" rel=""&gt;Load balancer&lt;/a&gt;/application delivery controller: it by nature virtualizes multiple servers and acts as a proxy for them, providing a single, centralized location in which to implement these kinds of solutions. &lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;&lt;strong&gt;Maintenance Window Redirect       &lt;br /&gt;&lt;font color="#800000"&gt;Use case&lt;/font&gt;&lt;/strong&gt;: During specific times of the week/day you’d like the ability to “take down” your servers for maintenance and you’d like to take them &lt;em&gt;all &lt;/em&gt;down at the same time to reduce the time required to update/patch them all. In this case you’ll want to codify the times during which &lt;em&gt;your &lt;/em&gt;servers will be unavailable and create a redirect (HTTP 302) to the Coral Distribution network as specified above, e.g. &lt;a href="http://www.example.com.nyud.net"&gt;www.example.com.nyud.net&lt;/a&gt;       &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Referrer Based Redirect        &lt;br /&gt;&lt;font color="#800000"&gt;Use case&lt;/font&gt;&lt;/strong&gt;: Generally speaking the chances of quickly being overwhelmed by traffic are directly related to where the requests are coming from, i.e. Slashdot, Fark, Digg. Thus to handle this scenario you’ll want to create a network-side scripting rule that examines the HTTP_REFERRER header and, if it matches one of the “oh-lord-we’re-about-to-get-hammered” sites, redirect to the Coral Distribution network.       &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Connection/Request Limit Redirect       &lt;br /&gt;&lt;font color="#800000"&gt;Use case&lt;/font&gt;&lt;/strong&gt;: If you have a good idea what the total capacity of your servers is (and you do, because you’ve tested it under load, right?) then you can monitor current load on the load balancer/application delivery controller and upon nearing* those limits begin to redirect subsequent users to Coral. This solution requires a bit more intelligence and flexibility in the network-side scripting capabilities as you’ll need to track statistics, execute redirects based on variables, and end the redirection as requests slow down/decrease. &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;*&lt;em&gt;The way that Coral works requires that it be able to access your site at least once to mirror it. Thus you cannot simply begin redirecting all requests to Coral without first allowing it to mirror the site by processing a request. This limitation necessarily requires that the network-side scripting solution you employ to implement such a solution be capable of allowing you to codify some amount of logic to allow this process to happen. &lt;/em&gt;&lt;/p&gt;  &lt;p&gt;Okay, I lied – I’ll offer up a fourth option that requires no scripting and can be utilized without a load balancer: &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;4. &lt;strong&gt;Publish Coralized URI       &lt;br /&gt;&lt;font color="#800000"&gt;Use case:&lt;/font&gt;&lt;/strong&gt; If you’re publishing social media quick links on a story/blog/site, use the Coral-enabled URL &lt;em&gt;instead &lt;/em&gt;of the origin content as the “link” to share. This won’t stop people from cutting and pasting from the address bar in their browser, but it will make sure that any “sharing” of the content immediately leverages the CoralCDN to distribute. &lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;The reason I was leery of offering up the fourth option is because you lose visibility into statistics when users are directly sent to the CoralCDN. The other three options will be “counted” in logs and in statistics because they first connect to your site (the load balancer/application delivery controller) and &lt;em&gt;then &lt;/em&gt;connect to the CoralCDN. Because the load balancer/application delivery controller is almost guaranteed to be able to handle more traffic than your servers, it can easily respond to requests with a redirect. But because it is responding it is counting the connections – and has all the relevant information about the client you might be aggregating - and therefore you don’t lose visibility. &lt;/p&gt;  &lt;p&gt;If visibility isn’t an issue, then encouraging users to access the content directly via CoralCDN will certainly be one way to achieve the goal of keeping your content available. &lt;/p&gt;  &lt;p&gt;There it is then; a free content distribution network that can be leveraged on-demand. Using CoralCDN is not a panacea and has limitations, of course, in that it’s not as flexible as cloud computing; it essentially mirrors your site, it doesn’t distribute it. But if it’s specific content that’s experiencing high demand and it’s not a normal occurrence, then a limited, tactical solution like CoralCDN may be just what you need to keep your site available and enjoy your 15 megabytes of fame. &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 title="Follow F5 Networks on Twitter" href="http://tweepml.org/F5-Networks-Tweeple/"&gt;&lt;img height="18" src="http://tweepml.org/s/tweepml16.png" width="18" border="0" /&gt;&lt;/a&gt; &lt;a title="Follow F5 DevCentral on Twitter" href="http://tweepml.org/F5-DevCentral/"&gt;&lt;img height="18" src="http://tweepml.org/s/tweepml16.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://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 href="http://www.friendfeed.com/lmacvittie"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="18" alt="friendfeed" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/friendfeed_3.jpg" width="18" border="0" /&gt;&lt;/a&gt; &lt;a href="http://www.facebook.com/lmacvittie"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="18" alt="icon_facebook" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/icon_facebook_4.png" width="18" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&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 type="text/javascript" src="http://track.mybloglog.com/js/jsserv.php?mblID=2008070914270355"&gt;&lt;/script&gt;&lt;/p&gt;  &lt;p&gt;Related blogs &amp;amp; articles: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2010/01/20/wils-how-can-a-load-balancer-keep-a-single-server.aspx"&gt;WILS: How can a load balancer keep a single server site available?&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.reaper-x.com/2009/10/02/how-to-use-coralcdn-to-save-your-bandwidth-problem-server-resources/"&gt;How to use CoralCDN to help reduce bandwidth usage / server resources&lt;/a&gt; [mod_rewrite / mod_headers solution ] &lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2008/10/14/3-really-good-reasons-you-should-use-tcp-multiplexing.aspx"&gt;3 Really good reasons you should use &lt;b&gt;TCP&lt;/b&gt; &lt;b&gt;multiplexing&lt;/b&gt;&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2010/01/05/itrsquos-2am-do-you-know-what-algorithm-your-load-balancer.aspx"&gt;It’s 2am: Do You Know What Algorithm Your Load Balancer is Using?&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2010/01/04/the-application-delivery-deus-ex-machina-again.aspx"&gt;The Application Delivery Deus Ex Machina&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/10/28/to-take-advantage-of-cloud-computing-you-must-unlearn.aspx"&gt;To Take Advantage of Cloud Computing You Must Unlearn, Luke&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/10/27/vertical-scalability-cloud-computing-style.aspx"&gt;Vertical Scalability Cloud Computing Style&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/10/16/putting-a-price-on-uptime.aspx"&gt;Putting a Price on Uptime&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2008/11/25/cloud-computing-vertical-scalability-is-still-your-problem.aspx"&gt;Cloud Computing: Vertical Scalability is Still Your Problem&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p /&gt;  &lt;p /&gt;  &lt;p /&gt;  &lt;p /&gt;  &lt;p /&gt;  &lt;p /&gt;  &lt;p /&gt;  &lt;div class="wlWriterEditableSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:049c75c0-da79-4c5a-b758-b4ff314502e9" 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/coralCDN" rel="tag"&gt;coralCDN&lt;/a&gt;,&lt;a href="http://technorati.com/tags/content+delivery+network" rel="tag"&gt;content delivery network&lt;/a&gt;,&lt;a href="http://technorati.com/tags/application+delivery+network" rel="tag"&gt;application delivery network&lt;/a&gt;,&lt;a href="http://technorati.com/tags/CDN" rel="tag"&gt;CDN&lt;/a&gt;,&lt;a href="http://technorati.com/tags/mod_rewrite" rel="tag"&gt;mod_rewrite&lt;/a&gt;,&lt;a href="http://technorati.com/tags/network-side+scripting" rel="tag"&gt;network-side scripting&lt;/a&gt;,&lt;a href="http://technorati.com/tags/load+balancer" rel="tag"&gt;load balancer&lt;/a&gt;,&lt;a href="http://technorati.com/tags/slashdot" rel="tag"&gt;slashdot&lt;/a&gt;,&lt;a href="http://technorati.com/tags/digg" rel="tag"&gt;digg&lt;/a&gt;,&lt;a href="http://technorati.com/tags/fark" rel="tag"&gt;fark&lt;/a&gt;,&lt;a href="http://technorati.com/tags/availability" rel="tag"&gt;availability&lt;/a&gt;&lt;/div&gt;&lt;img src="http://devcentral.f5.com/weblogs/macvittie/aggbug/6289.aspx" width="1" height="1" /&gt;</description><dc:creator>Lori MacVittie</dc:creator></item><item><title>Strap Your Conversion Kit On &amp;ndash; Become a Hybrid!</title><link>http://devcentral.f5.com/weblogs/jason/archive/2010/01/22/strap-your-conversion-kit-on-ndash-become-a-hybrid.aspx</link><pubDate>Fri, 22 Jan 2010 23:20:59 GMT</pubDate><guid isPermaLink="true">http://devcentral.f5.com/weblogs/jason/archive/2010/01/22/strap-your-conversion-kit-on-ndash-become-a-hybrid.aspx</guid><wfw:comment>http://devcentral.f5.com/weblogs/jason/comments/6288.aspx</wfw:comment><wfw:commentRss>http://devcentral.f5.com/weblogs/jason/comments/commentRss/6288.aspx</wfw:commentRss><comments>http://devcentral.f5.com/weblogs/jason/archive/2010/01/22/strap-your-conversion-kit-on-ndash-become-a-hybrid.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://devcentral.f5.com/weblogs/jason/services/trackbacks/6288.aspx</trackback:ping><source url="http://devcentral.f5.com/weblogs/jason/rss.aspx">Strap Your Conversion Kit On &amp;ndash; Become a Hybrid!</source><description>&lt;p&gt;No, I’m not talking cars.  I’m not convinced (yet) that the total cost of ownership is lower, set aside the performance.  So what am I getting at?  Skill sets.  &lt;a href="http://www.enterprisestrategygroup.com/category/research-content/our-team/analysts//jon-oltsik/" target="_blank"&gt;Jon Olstik&lt;/a&gt; wrote today that, well, he said it better than I could summarize, so I’ll quote him:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;“IT needs new networking/application specialists. F5 financial results and the whole evolution of ADC functionality suggest the need for a new IT skill set. I believe there is a growing requirement for hybrid IT specialists who understand both networking and application requirements. These people will become architects and application performance gurus — and make a ton of dough. F5 should work with application vendors like Microsoft or Oracle to create a certification program in this area.”&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;When I first began managing BIG-IP duties back in 2002, I quickly recognized that my skill set was inadequate to do it, the infrastructure, or the applications justice.  Its purpose was only load balancing and SSL offload, but the impact to the applications, or really, the potentially positive impact to the applications, was not addressed in design meetings.  It just boiled down to make it work.  This boded well for me since I didn’t really know squat about anything above layer four (shush all you haters who will contend that’s still the case).  As I’ve moved from early exposure to BIG-IP’s full proxy arrival in v9, I’ve also taken interest in understanding the applications.  I’m no expert, but I think every network guy that uses application delivery technology owes it to their customer to not just put it on the network and call it good.  If you manage dozens of web applications on your BIG-IP, it will serve you well to understand the HTTP protocol.  Organizations can make this easier on employees by cross training disciplines.  It may make for a slipped deadline or a sluggish development cycle, but rotating your network guys through a month or so of application development shadowing, (and making your application developers field the calls from the users that “the network is slow" with the network guys showing the app developers the traces that prove its not) can only be good long term.  As for you, Jon is absolutely correct that if you can marry the wisdom of network and application, you will be well compensated for your services.  Get in the lab, get dirty, make mistakes (yes, that’s a Magic School Bus reference) and be humble enough to admit you don’t know it all and ask someone from another discipline to mentor you.  You won’t be sorry.&lt;/p&gt;&lt;img src="http://devcentral.f5.com/weblogs/jason/aggbug/6288.aspx" width="1" height="1" /&gt;</description><dc:creator>Jason Rahm</dc:creator></item><item><title>DevCentral Top5 01/22/2010</title><link>http://devcentral.f5.com/weblogs/cwalker/archive/2010/01/22/devcentral-top5-01222010.aspx</link><pubDate>Fri, 22 Jan 2010 20:15:50 GMT</pubDate><guid isPermaLink="true">http://devcentral.f5.com/weblogs/cwalker/archive/2010/01/22/devcentral-top5-01222010.aspx</guid><wfw:comment>http://devcentral.f5.com/weblogs/cwalker/comments/6287.aspx</wfw:comment><wfw:commentRss>http://devcentral.f5.com/weblogs/cwalker/comments/commentRss/6287.aspx</wfw:commentRss><comments>http://devcentral.f5.com/weblogs/cwalker/archive/2010/01/22/devcentral-top5-01222010.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://devcentral.f5.com/weblogs/cwalker/services/trackbacks/6287.aspx</trackback:ping><source url="http://devcentral.f5.com/weblogs/cwalker/rss.aspx">DevCentral Top5 01/22/2010</source><description>&lt;p&gt;Wow! What a whirlwind it's been the past few weeks. Between holidays and vacation and people traveling out of town, it's been an absolute zoo around here. Though I've been out the past week or so there has been an avalanche of content. I've hemmed and hawed and finally managed to slim my picks down to just five, though there are at least a dozen awesome things worth checking out on &lt;a title="" href="http://devcentral.f5.com" target="_blank"&gt;DevCentral&lt;/a&gt; in the past week or so. So don't be shy, get out there and poke around for yourself. For now, though, here are my top 5 picks for the week:&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;&lt;b&gt;v10.1 - The table Command - The Basics&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://devcentral.f5.com/Default.aspx?tabid=63&amp;amp;articleType=ArticleView&amp;amp;articleId=2375"&gt;http://devcentral.f5.com/Default.aspx?tabid=63&amp;amp;articleType=ArticleView&amp;amp;articleId=2375&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;The new table command introduced in 10.1 is so hawesome and powerful it's hard for me to decide where to even begin describing the grandeur that is the table command. I've decided to begin at the beginning, and point you to the basics first. There are nine (yes, 9) tech tips published in the past week or so having to do with the new table command. They range from this intro doc to some pretty powerful, in depth, well explained examples. They are all penned by the creator of the command and go into amazing detail. This series has instantly become a contender for one of my favorite batches of content ever released on DevCentral, which is saying something. If you're looking for a way to store data, store data in a structured format, perform counting operations or about a bagillion other things dealing with data storage and manipulation in iRules, you must read about the table command. Huge thanks to spark for the work on the command and going above and beyond on the documentation.&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;&lt;b&gt;TMSH Scripting in v10.1&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://devcentral.f5.com/Default.aspx?tabid=63&amp;amp;articleType=ArticleView&amp;amp;articleId=2374"&gt;http://devcentral.f5.com/Default.aspx?tabid=63&amp;amp;articleType=ArticleView&amp;amp;articleId=2374&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;This week's Top5 has not one, but two awesome docs regarding scripting on your BIG-IP. While iRules are near and dear to my heart, TMSH is quickly catching my interest as well. The new shell along with the powerful new scripting capabilities are wicked cool and have the potential to do some pretty amazing things. TMSH crams a huge amount of utility into an easily approachable package. This great doc Jason wrote up gets you started in style with an excellent description of where to begin, then takes you quite a bit further giving you examples of just how to build your own script. The possibilities seem rather limitless so I'm excited to see what people start doing once they get the hang of it. Check this one out for sure, and if you like what you see I'd recommend taking a look at the TMSH wiki and maybe giving this week's podcast where we spoke with Mark Crosland in depth about TMSH a listen.&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;&lt;b&gt;ARX Config, Day One&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://devcentral.f5.com/weblogs/dmacvittie/archive/2010/01/18/arx-config-day-one.aspx"&gt;http://devcentral.f5.com/weblogs/dmacvittie/archive/2010/01/18/arx-config-day-one.aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;In the first installment of what I'm hoping proves to be a long, detailed series describing his experiences with his ARX, Don dishes out a great intro post about getting his ARX out of the box and working. He's honest and gives plenty of details about both what he loved and what he…didn't, which I appreciate. It sounds like he also plans to go into detail about any troubles he's having or things that he finds that stand out to him and the users should know about. With his vast experience in the storage world, getting to see an ARX through his eyes is just about the next best thing to getting to fiddle with one yourself. So if you have any interest in learning what it's like to set up and start using an ARX device, I recommend keeping a keen eye on this series. Having no ARX experience myself I'm quite interested to get his impressions, so I'll be one of the subscribed readers too.&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;&lt;b&gt;iRule Editor - Offline Editing&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://devcentral.f5.com/Default.aspx?tabid=63&amp;amp;articleType=ArticleView&amp;amp;articleId=2385"&gt;http://devcentral.f5.com/Default.aspx?tabid=63&amp;amp;articleType=ArticleView&amp;amp;articleId=2385&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Joe's amazing creation, the iRule Editor, just got better. He's released a couple new features for it recently but the one that caught my attention the most is something that people have been asking about for quite some time now: offline editing. The iRule Editor has previously been a 100% online tool. You'd fire it up, connect to your device and start editing away. But what if you're on a plane or just don't have a device to connect to? Well, you were out of luck. Even though you could save the iRules themselves to your on disk archive, the editor wouldn't allow you to edit them offline before. But now, you can. Keep in mind that you won't be able to use any syntax checking because that uses tmm on the BIG-IP to test compile the code, but you can edit to your heart's content along with all the handy features of the iRule Editor you've grown to love. Joe even took the time to go through a walkthrough of how this works and show you how to use the cool new feature in this video. This is a very cool improvement…thanks Joe!&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;&lt;b&gt;Following Google's Lead on Security? Don't Forget to Encrypt Cookies&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2010/01/15/google-gmail-ssl-cookie-encryption.aspx"&gt;http://devcentral.f5.com/weblogs/macvittie/archive/2010/01/15/google-gmail-ssl-cookie-encryption.aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Last but certainly not least is Lori's post talking about SSL and why it isn't the only thing you need to think about when working on securing an application. Yes, SSL is an excellent and pretty standard first step to securing an online application these days. I, just like Lori, completely agree that you should be using SSL encryption as a security measure if you're at all concerned about your users or their data. Something Lori mentions though is spot on, "it’s not a panacea, especially where cookies are involved". Just because something is being encrypted across the wire doesn't mean that you can necessarily assume that it's going to be 100% safe once it gets where it's going. Data being stored on a client system, such as cookies that carry auth information, are a prime target for many malicious attacks trying to pry at user info. Cooke Encryption can be a powerful agent in stopping this and stepping up your security one more level. Have a look for yourself for a more detailed description of how this works.&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;There you have this week's DevCentral Top5. As always, feedback is welcomed and you can check out previous versions of the Top5 here - &lt;a href="http://devcentral.f5.com/Default.aspx?tabid=101"&gt;http://devcentral.f5.com/Default.aspx?tabid=101&lt;/a&gt;&lt;/p&gt;  &lt;div class="wlWriterEditableSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:feefff20-cdec-4815-8008-86be480ddf01" 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/DevCentral" rel="tag"&gt;DevCentral&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Top+5" rel="tag"&gt;Top 5&lt;/a&gt;,&lt;a href="http://technorati.com/tags/ARX" rel="tag"&gt;ARX&lt;/a&gt;,&lt;a href="http://technorati.com/tags/iRule+Editor" rel="tag"&gt;iRule Editor&lt;/a&gt;,&lt;a href="http://technorati.com/tags/iRules" rel="tag"&gt;iRules&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Table" rel="tag"&gt;Table&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/tmsh" rel="tag"&gt;tmsh&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Colin+Walker" rel="tag"&gt;Colin Walker&lt;/a&gt;&lt;/div&gt;  &lt;p&gt;#Colin&lt;/p&gt;&lt;img src="http://devcentral.f5.com/weblogs/cwalker/aggbug/6287.aspx" width="1" height="1" /&gt;</description><dc:creator>Colin Walker</dc:creator></item><item><title>Cloud Balancing, Reverse Cloud Bursting, and Staying PCI-Compliant</title><link>http://devcentral.f5.com/weblogs/macvittie/archive/2010/01/21/cloud-balancing-reverse-cloud-bursting-and-staying-pci-compliant.aspx</link><pubDate>Thu, 21 Jan 2010 13:54:28 GMT</pubDate><guid isPermaLink="true">http://devcentral.f5.com/weblogs/macvittie/archive/2010/01/21/cloud-balancing-reverse-cloud-bursting-and-staying-pci-compliant.aspx</guid><wfw:comment>http://devcentral.f5.com/weblogs/macvittie/comments/6284.aspx</wfw:comment><wfw:commentRss>http://devcentral.f5.com/weblogs/macvittie/comments/commentRss/6284.aspx</wfw:commentRss><comments>http://devcentral.f5.com/weblogs/macvittie/archive/2010/01/21/cloud-balancing-reverse-cloud-bursting-and-staying-pci-compliant.aspx#comment</comments><slash:comments>1</slash:comments><trackback:ping>http://devcentral.f5.com/weblogs/macvittie/services/trackbacks/6284.aspx</trackback:ping><source url="http://devcentral.f5.com/weblogs/macvittie/rss.aspx">Cloud Balancing, Reverse Cloud Bursting, and Staying PCI-Compliant</source><description>&lt;p&gt;&lt;em&gt;One of the concerns with cloud bursting specifically for the use of addressing seasonal scaling needs is that cloud computing environments are not necessarily PCI-friendly. But there may be a solution that allows the application to maintain its PCI-compliance &lt;/em&gt;and &lt;em&gt;still make use of cloud computing environments for seasonal scaling efficiency. &lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 100px; background: #fff; float: left; color: #000; line-height: 80px; font-family: times; padding-: 1px 5px 0 0"&gt;C&lt;/span&gt;loud bursting, a.k.a. overdraft protection, is a great concept but in some situations, such as those involving PCI-compliance, it can be difficult if not impossible to actually implement. The financial advantages to cloud bursting for organizations requiring additional capacity on only a seasonal basis are well understood, but the regulatory issues that surround such implementations hinder adoption of this method to address cost-effective capacity increases when necessarily only for short periods of time. &lt;/p&gt;  &lt;p&gt;But what if we architected a solution based on cloud bursting that offers the same type of advantages without compromising compliance with regulations and guidelines like PCI-DSS? &lt;/p&gt;  &lt;hr width="100%" color="#680000" noshade="noshade" /&gt;  &lt;div style="background: #ebd3d3; width: 100%"&gt;&lt;strong&gt;REVERSE CLOUD BURSTING and CLOUD BALANCING  &lt;/strong&gt;&lt;/div&gt;  &lt;hr width="100%" color="#680000" noshade="noshade" /&gt;  &lt;p&gt;&lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/ReverseCloudbursting_480F/image20.png"&gt;&lt;img title="image" style="border-right: 0px; border-top: 0px; display: inline; margin: 0px 15px 5px 0px; border-left: 0px; border-bottom: 0px" height="331" alt="image" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/ReverseCloudbursting_480F/image20_thumb.png" width="446" align="left" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;The ability to implement such an architecture would require that the PCI-compliant portions of a web application are separated (somehow, perhaps as &lt;a title="Service Oriented Architecture definition " href="http://www.f5.com/glossary/soa.html" rel="" target="_blank"&gt;SOA&lt;/a&gt; services or independently accessible RESTful services) from the rest of the application. &lt;/p&gt;  &lt;p&gt;The non-PCI related portions of the application are cloned and deployed in a cloud environment. The PCI-related portions stay right where they are. As the PCI related portions are likely less heavily stressed even by seasonal spikes in demand, it is assumed that the available corporate compute resources will suffice to maintain availability during a spike, mainly because the PCI compliant resources have at their disposal all local resources. It is also possible –and likely – that the PCI-related portions of the application will not consume all available corporate compute resources, which means there is some capacity available to essentially reverse cloud burst into the corporate resources if necessary. &lt;/p&gt;  &lt;p&gt;In a very simple scenario, the &lt;a href="http://www.f5.com/products/big-ip/product-modules/global-traffic-manager.html"&gt;global server load balancer&lt;/a&gt; basically “reverses” the priority of data centers when answering queries during the time period in which you expect to see spikes. So all application requests are directed to the cloud computing provider’s instance &lt;em&gt;first &lt;/em&gt;except for queries that require the PCI-compliant portion, which are always directed to the corporate (cloud computing perhaps) instance. This is basically a “&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/07/09/cloud-balancing-cloud-bursting-and-intercloud.aspx"&gt;cloud balancing&lt;/a&gt;” scenario: distributing application requests intelligently between two cloud computing environments. &lt;/p&gt;  &lt;p&gt;The variations on this theme can become more complex and factor in many more variables. For example, you could set a threshold of capacity on the corporate data center instance that allows enough corporate compute resources available to handle the highest expected transaction rate and only burst into the cloud if the corporate capacity reaches that level. That’s traditional “&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/07/09/cloud-balancing-cloud-bursting-and-intercloud.aspx"&gt;cloud bursting&lt;/a&gt;.” You could also reverse the burst by dipping into corporate compute resources based on thresholds designated at the cloud computing provider’s instance to minimize the financial impact of utilizing a cloud computing provider as the primary delivery mechanism for the application. That would be “reverse cloud bursting.” The key is to ensure that no matter where the compute resources are coming from for the primary application components it does not negatively impact the availability and performance of the PCI-compliant processes executing in the corporate cloud environment. &lt;/p&gt;  &lt;hr width="100%" color="#680000" noshade="noshade" /&gt;  &lt;div style="background: #ebd3d3; width: 100%"&gt;&lt;strong&gt;THE KEY IS FLEXIBILITY IN ARCHITECTURE&lt;/strong&gt;&lt;/div&gt;  &lt;hr width="100%" color="#680000" noshade="noshade" /&gt;  &lt;p&gt;Without the flexibility to deploy individual components of an application (a.k.a. services) into different environments these scenarios simply don’t work. Applications developed based on tightly-coupled frameworks and principles will never truly be capable of taking advantage of cloud balancing, bursting, or any architecture that relies upon specific components residing in a specific location because of regulatory issues or other concerns. &lt;/p&gt;  &lt;p&gt;This is one of the core principles of SOA – separation of not only interface from implementation, but location-agnosticism. There are many ways to achieve this kind of location-agnosticism including on-demand generation of WSDL for client consumption that specifies end-point location based on the context of the initial request and the use of global server &lt;a href="http://www.f5.com/glossary/load-balancing.html"&gt;load balancing&lt;/a&gt; combined with &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2008/12/02/the-context-aware-cloud.aspx"&gt;context-aware application delivery&lt;/a&gt;. What’s vitally important, though, is the flexibility of the underlying application architecture and the ability to separate components in a way that makes it possible to distribute across multiple locations in the first place. &lt;/p&gt;  &lt;p&gt;If that means SOA is the answer, then SOA is the answer. If that means a well-designed set of RESTful components, so be it. Whatever is going to fit into your organizational development and architectural practices is the right answer, as long as the answer includes “location agnosticism” and loosely-coupled applications. Once you’ve got that down the possibilities for how to leverage external and internal cloud computing environments is limited only by your imagination and, as always, your budget. &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 title="Follow F5 Networks on Twitter" href="http://tweepml.org/F5-Networks-Tweeple/"&gt;&lt;img height="18" src="http://tweepml.org/s/tweepml16.png" width="18" border="0" /&gt;&lt;/a&gt; &lt;a title="Follow F5 DevCentral on Twitter" href="http://tweepml.org/F5-DevCentral/"&gt;&lt;img height="18" src="http://tweepml.org/s/tweepml16.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://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 href="http://www.friendfeed.com/lmacvittie"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="18" alt="friendfeed" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/friendfeed_3.jpg" width="18" border="0" /&gt;&lt;/a&gt; &lt;a href="http://www.facebook.com/lmacvittie"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="18" alt="icon_facebook" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/icon_facebook_4.png" width="18" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&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 type="text/javascript" src="http://track.mybloglog.com/js/jsserv.php?mblID=2008070914270355"&gt;&lt;/script&gt;&lt;/p&gt;  &lt;p&gt;Related blogs &amp;amp; articles: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/04/07/soa-announces-comeback-tour.aspx"&gt;SOA Announces &lt;b&gt;Comeback&lt;/b&gt; &lt;b&gt;Tour&lt;/b&gt;&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/07/17/use-the-source-luke.aspx"&gt;Use The Source, Luke!&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/08/10/cloud-is-not-a-big-switch.aspx"&gt;Cloud is Not a Big Switch&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/07/31/cloud-computing-makes-servers-obsolete.aspx"&gt;Cloud Computing Makes Servers Obsolete&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/07/02/governance-service-catalogs-and-the-cloud.aspx"&gt;Governance: Service Catalogs and the Cloud&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/04/16/have-a-can-of-duh-itrsquos-on-me.aspx"&gt;Have a can of Duh! It’s on me&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/06/26/forklifts-rip-and-replace-and-other-it-fairy-tales.aspx"&gt;Forklifts, Rip and Replace, and Other IT Fairy Tales&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/06/30/intercloud-the-evolution-of-global-application-delivery.aspx"&gt;Intercloud: The Evolution of Global Application Delivery&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/07/09/cloud-balancing-cloud-bursting-and-intercloud.aspx"&gt;Cloud Balancing, Cloud Bursting, and Intercloud&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/06/09/the-infrastructure-2.0-trifecta.aspx"&gt;The Infrastructure 2.0 Trifecta&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2008/12/02/the-context-aware-cloud.aspx"&gt;The Context-Aware Cloud&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;div class="wlWriterEditableSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:c5e543d5-9b26-4a9c-94f3-4d60fe11bf23" 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/SOA" rel="tag"&gt;SOA&lt;/a&gt;,&lt;a href="http://technorati.com/tags/REST" rel="tag"&gt;REST&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+2.0" rel="tag"&gt;infrastructure 2.0&lt;/a&gt;,&lt;a href="http://technorati.com/tags/load+balancing" rel="tag"&gt;load balancing&lt;/a&gt;,&lt;a href="http://technorati.com/tags/application+delivery" rel="tag"&gt;application delivery&lt;/a&gt;,&lt;a href="http://technorati.com/tags/PCI" rel="tag"&gt;PCI&lt;/a&gt;,&lt;a href="http://technorati.com/tags/cloud+balancing" rel="tag"&gt;cloud balancing&lt;/a&gt;,&lt;a href="http://technorati.com/tags/cloud+bursting" rel="tag"&gt;cloud bursting&lt;/a&gt;,&lt;a href="http://technorati.com/tags/intercloud" rel="tag"&gt;intercloud&lt;/a&gt;,&lt;a href="http://technorati.com/tags/context-aware" rel="tag"&gt;context-aware&lt;/a&gt;&lt;/div&gt;&lt;img src="http://devcentral.f5.com/weblogs/macvittie/aggbug/6284.aspx" width="1" height="1" /&gt;</description><dc:creator>Lori MacVittie</dc:creator></item><item><title>ARX Config, day two (and three, technically)</title><link>http://devcentral.f5.com/weblogs/dmacvittie/archive/2010/01/20/arx-config-day-two-and-three-technically.aspx</link><pubDate>Thu, 21 Jan 2010 06:38:41 GMT</pubDate><guid isPermaLink="true">http://devcentral.f5.com/weblogs/dmacvittie/archive/2010/01/20/arx-config-day-two-and-three-technically.aspx</guid><wfw:comment>http://devcentral.f5.com/weblogs/dmacvittie/comments/6283.aspx</wfw:comment><wfw:commentRss>http://devcentral.f5.com/weblogs/dmacvittie/comments/commentRss/6283.aspx</wfw:commentRss><comments>http://devcentral.f5.com/weblogs/dmacvittie/archive/2010/01/20/arx-config-day-two-and-three-technically.aspx#comment</comments><slash:comments>1</slash:comments><trackback:ping>http://devcentral.f5.com/weblogs/dmacvittie/services/trackbacks/6283.aspx</trackback:ping><source url="http://devcentral.f5.com/weblogs/dmacvittie/rss.aspx">ARX Config, day two (and three, technically)</source><description>&lt;p&gt;Okay, so I hit a wall and didn’t post yesterday. That is not at all a statement about the &lt;a href="http://www.f5.com/products/arx-series/" target="_blank"&gt;ARX&lt;/a&gt;, indeed, it was acting as advertised. The problem is our network. It creaks a little bit around the corners.&lt;/p&gt;  &lt;p&gt;We’ve got two NAS boxes, a bunch of Linux boxes (all patched, but some OS versions showing their age), a non-public Windows 2000 Server, and a slew of both Linux and WinXP clients. No Windows 7 yet, and we ditched Windows Vista pretty quickly.&lt;/p&gt;  &lt;p&gt;Pretty simple setup, right? Yeah, if you’re in IT, you know that the longer a network exists the more weird stuff happens on it. Ours is a hybrid, we use it for testing and for hosting our “production” servers. Several websites, mail, two DNS servers, a box whose job is to present our SAN as a NAS (yeah, we did that)… Apps we installed to test – either for us or for various employers – and a media server.&lt;/p&gt;  &lt;p&gt;The first snag I hit was the DNS servers. I set up the base IPs on the switch okay – the management port on one subnet and the data/inband management port on another – and the ARX config to do this is as straight-forward as any I’ve seen. Then I put the new names into DNS (more on names in a minute)… Problem is that our DNS servers have to be restarted in a specific order. I always forget that, so I modded the files and restarted them, and… Nothing. Wasted more time than I should have before I recalled that this happened to me before several years ago because I had restarted the secondary first (IIRC). So I restarted DNS in the opposite order and BAM! Problem solved.&lt;/p&gt;  &lt;p&gt;So now I have reliable connectivity other than a serial port, and I pop open the configuration tool in the web browser. I’ve already done the basic config, so now I’m creating the actual virtual directory structure and mapping my drives to it. Or so goes the theory.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/dmacvittie/WindowsLiveWriter/ARXConfigdaytwoandthreetechnically_13E3A/ARXStatus.jpg"&gt;&lt;img title="ARXStatus" style="border-right: 0px; border-top: 0px; display: block; float: none; margin-left: auto; border-left: 0px; margin-right: auto; border-bottom: 0px" height="377" alt="ARXStatus" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/dmacvittie/WindowsLiveWriter/ARXConfigdaytwoandthreetechnically_13E3A/ARXStatus_thumb.jpg" width="626" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;ARX again performed exactly as advertised, and the screens are really clear. The logs don’t contain as much information about errors as I’d like, but if I had the network overall configed correctly, that wouldn’t have been a problem.&lt;/p&gt;  &lt;p&gt;The only issue when two people with masters degrees in computer science and high-tech jobs share a network is that it changes a lot. We &lt;em&gt;used&lt;/em&gt; to have a Windows Domain Controller – ADS on Win2K. We even used to have a pre-ADS PDC… But when I looked, the NAS boxes were in a workgroup, not a domain. Hrmmm. After poking around the network, Lori tweeted that the domain controller has been gone for a while. Doh! Okay, I look at the ARX config, and while it might be possible to run the CIFS portions without a domain controller, it certainly doesn’t look like it. I could have popped off and asked the great people on our ARX Marketing team, or our IT staff who has also offered a hand, but I wanted to work through this to give you all the “starting cold” walk-through, and I knew a secret. I am Storage Guy in the house, and since most of our servers run Linux, all of our NASes support NFS. I don’t create storage without it.&lt;/p&gt;  &lt;p&gt;So I checked, and yes, both NAS boxes were configured to run NFS, and ARX has some great NFS support, so I chose this path (as opposed to making our one Windows server into an ADS domain controller).&lt;/p&gt;  &lt;p&gt;I was off! Well, kind of. This is the point where I admit that while I set everything up with NFS, I don’t always mount NFS. In fact, it appears that my finely configured NFS interfaces on one NAS box had &lt;em&gt;never&lt;/em&gt; been used.&lt;/p&gt;  &lt;p&gt;Our primary servers are all Linux. I checked them. They were nearly all mounting the NAS boxes with CIFS. Nearly. All of the ones accessing the primary NAS box were mounting it CIFS. &lt;/p&gt;  &lt;p&gt;Sad state of affairs. Now I had NFS configured, and had read up on how to add nfs shares to the ARX (easy as pie, just a few questions like “which file server?” and “What mount point”, etc.)… But my shares were rather stale. So stale in fact that neither machine allowed the ARX access – not with an admin account, not with a user account. The ARX uses the admin task to handle things like moving files between tiers and other non-user activity, while the users just want their files.&lt;/p&gt;  &lt;p&gt;Major sidetrack #2. The ARX was talking to both boxes, but wasn’t able to mount them. Either of them, any of the shares. So I go look at the configurations. On the secondary NAS box it was a simple case of mount point permissions. On the primary? I don’t know yet. That’s where I sit. I have a managed volume on the secondary (a 2TB Infrant NAS if you care), and it appears to be loading, but the primary is still not letting me mount via NFS – not from a random Linux box, not from the ARX.&lt;/p&gt;  &lt;p&gt;So what’s the point of all of this? Well, you’ve got my “we’ve got a crufty network” update, and Lori and I talked on the phone tonight about how we’re going to rearchitect it after she returns – another fun time for reconfiguring the ARX ;-). And I’ve got at least one filer hooked up. Seems strange to me to call a brick a filer, but it’s equivalent, I still need to get the other going and see what happens when it synchs directories - they’re copied directory structures with some files on both and many others on one but not the other.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/dmacvittie/WindowsLiveWriter/ARXConfigdaytwoandthreetechnically_13E3A/ARXServerMapping.jpg"&gt;&lt;img title="ARXServerMapping" style="border-right: 0px; border-top: 0px; display: block; float: none; margin-left: auto; border-left: 0px; margin-right: auto; border-bottom: 0px" height="304" alt="ARXServerMapping" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/dmacvittie/WindowsLiveWriter/ARXConfigdaytwoandthreetechnically_13E3A/ARXServerMapping_thumb.jpg" width="621" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;And if I can avoid it, I’m not going to take the fine offers of help from fellow F5ers. You are going to have to wade through most of this on your own if you install an ARX, and I want to give you a bit of an overview of one man’s issues as much as I want to do the “look how cool and easy &lt;em&gt;this &lt;/em&gt;was!” thing.&lt;/p&gt;  &lt;p&gt;Off to get some rest, it’s the 2 year old and I, off on our own tomorrow, I’m going to need that rest!&lt;/p&gt;  &lt;p&gt;Tomorrow, we’ll see if I can actually get the basic config together. This sounds bad, but remember that I have other duties, I’ve got about six hands-on hours into this including downloading and reading docs – less than a day of your time, or a day of your time if you hang out at the water cooler a lot. Weeks of your time if you read too much BoFH. ;-)&lt;/p&gt;  &lt;p&gt;Until next time,&lt;/p&gt;  &lt;p&gt;Don.&lt;/p&gt;&lt;img src="http://devcentral.f5.com/weblogs/dmacvittie/aggbug/6283.aspx" width="1" height="1" /&gt;</description><dc:creator>Don MacVittie</dc:creator></item><item><title>WILS: How can a load balancer keep a single server site available?</title><link>http://devcentral.f5.com/weblogs/macvittie/archive/2010/01/20/wils-how-can-a-load-balancer-keep-a-single-server.aspx</link><pubDate>Wed, 20 Jan 2010 13:58:36 GMT</pubDate><guid isPermaLink="true">http://devcentral.f5.com/weblogs/macvittie/archive/2010/01/20/wils-how-can-a-load-balancer-keep-a-single-server.aspx</guid><wfw:comment>http://devcentral.f5.com/weblogs/macvittie/comments/6282.aspx</wfw:comment><wfw:commentRss>http://devcentral.f5.com/weblogs/macvittie/comments/commentRss/6282.aspx</wfw:commentRss><comments>http://devcentral.f5.com/weblogs/macvittie/archive/2010/01/20/wils-how-can-a-load-balancer-keep-a-single-server.aspx#comment</comments><slash:comments>3</slash:comments><trackback:ping>http://devcentral.f5.com/weblogs/macvittie/services/trackbacks/6282.aspx</trackback:ping><source url="http://devcentral.f5.com/weblogs/macvittie/rss.aspx">WILS: How can a load balancer keep a single server site available?</source><description>&lt;p&gt;Most people don’t start thinking they need a “load balancer” until they need a second server. But even if you’ve only got one server a “load balancer” can help with availability, with performance, and make the transition later on to a multiple server site a whole lot easier. &lt;/p&gt;  &lt;p&gt;Before we reveal the secret sauce, let me first say that if you have only one server and the application crashes or the network stack flakes out, you’re out of luck. There are a lot of &lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/WILSHowcanaloadbalancerkeepasingleserver_12817/confused_2.jpg"&gt;&lt;img title="confused" style="border-right: 0px; border-top: 0px; display: inline; margin: 10px 0px 0px 10px; border-left: 0px; border-bottom: 0px" height="246" alt="confused" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/WILSHowcanaloadbalancerkeepasingleserver_12817/confused_thumb.jpg" width="197" align="right" border="0" /&gt;&lt;/a&gt;things load balancers/application delivery controllers can do with only one server, but automagically fixing application crashes or network connectivity issues ain’t in the list. If these are concerns, then you really do need a second server. &lt;/p&gt;  &lt;p&gt;But if you’re just worried about standing up to the load then a &lt;a title="" href="http://www.f5.com/glossary/load-balancer.html" rel=""&gt;Load balancer&lt;/a&gt; for even a single server can definitely give you a boost. &lt;/p&gt;  &lt;hr width="100%" color="#680000" noshade="noshade" /&gt;   &lt;div style="background: #ebd3d3; width: 78.46%; height: 14px"&gt;&lt;strong&gt;HERE COMES THE SCIENCE&lt;/strong&gt;&lt;/div&gt;  &lt;hr width="100%" color="#680000" noshade="noshade" /&gt;  &lt;ol&gt;   &lt;li&gt;A modern load balancer, a.k.a. &lt;a href="http://www.f5.com/big-ip/"&gt;application delivery controller&lt;/a&gt;, can optimize &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/07/30/two-different-sockets.aspx"&gt;TCP connections via TCP multiplexing&lt;/a&gt;. This will improve resource (RAM, CPU) utilization and increase the total number of concurrent users you can serve on a single server. In the face of a request onslaught, this one feature may be the difference between users  seeing “Connection Timed Out” and your content.       &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;Offloading CPU intense operations like &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/05/27/i-am-wondering-why-not-all-websites-enabling-this-great.aspx"&gt;compression&lt;/a&gt; and SSL operations also improves capacity by letting your application spend time on application logic rather than ancillary encryption functions. Depending on the size and type of content and length of keys, this can net you a nice boost in not only capacity but also performance.       &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/11/06/when-is-more-important-than-where-in-web-application-security.aspx"&gt;Applying security at the edge of the network&lt;/a&gt; before it gets to the server can alleviate a lot of painful processing that essentially results in nothing more than a rejection (or worse, a compromised site). Protocol layer security detects and mitigates DoS attacks, manipulation of protocols as an attempted exploit of the network, and other protocol related attacks. Rather than wasting server resources on these useless packets, a load balancer/application delivery controller can do it at the point of entry, thus improving the capacity of the server to handle legitimate requests.       &lt;br /&gt;&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;Now it is absolutely true that what these techniques offer is a way to increase capacity, which may in most cases keep a site available. But there are always situations in which the load is just too much for a single server and in that case, you’re going to have to bite the bullet and either &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/08/31/virtual-private-cloud-bursting.aspx"&gt;build out a cloud bursting architecture&lt;/a&gt;, invest in more servers, or move to a cloud environment. The good news is that these techniques work just as well for two or three or four (hundred) servers as it does for one. &lt;/p&gt;  &lt;p&gt;There’s also the added benefit that if you do need to scale out and add a second (or third) server in the future that it can be done in a non-disruptive manner if you already have a &lt;a title="" href="http://www.f5.com/glossary/load-balancing.html" rel=""&gt;load balancing&lt;/a&gt;/application delivery solution in place. Just add the server to the load balancer and voila! Scalability. It’s really that easy. If you don’t start with one you may have some network and/or server reconfiguration that needs to be accomplished and that can often result in the dreaded “D” word: downtime. &lt;/p&gt;  &lt;p&gt;So if you were thinking that you didn’t need a load balancing solution because you only had one server, or that there’s really not much that can be done to improve the capacity of a single server and keep a site available, think again. There just might be a solution after all. &lt;/p&gt;  &lt;p style="font-size: 10px; text-transform: uppercase"&gt;WILS: Write It Like Seth. Seth Godin always gets his point across with brevity and wit. WILS is an ATTEMPT TO BE concise about application delivery TOPICS AND just get straight to the point. NO DILLY DALLYING AROUND.&lt;/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 title="Follow F5 Networks on Twitter" href="http://tweepml.org/F5-Networks-Tweeple/"&gt;&lt;img height="18" src="http://tweepml.org/s/tweepml16.png" width="18" border="0" /&gt;&lt;/a&gt; &lt;a title="Follow F5 DevCentral on Twitter" href="http://tweepml.org/F5-DevCentral/"&gt;&lt;img height="18" src="http://tweepml.org/s/tweepml16.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://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 href="http://www.friendfeed.com/lmacvittie"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="18" alt="friendfeed" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/friendfeed_3.jpg" width="18" border="0" /&gt;&lt;/a&gt; &lt;a href="http://www.facebook.com/lmacvittie"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="18" alt="icon_facebook" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/icon_facebook_4.png" width="18" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&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 type="text/javascript" src="http://track.mybloglog.com/js/jsserv.php?mblID=2008070914270355"&gt;&lt;/script&gt;&lt;/p&gt;  &lt;p&gt;Related blogs &amp;amp; articles: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/10/07/long-lived-ajax.aspx"&gt;Long Live(d) AJAX&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/11/06/when-is-more-important-than-where-in-web-application-security.aspx"&gt;When Is More Important Than Where in &lt;b&gt;Web&lt;/b&gt; &lt;b&gt;Application&lt;/b&gt; &lt;b&gt;Security&lt;/b&gt;&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/05/27/i-am-wondering-why-not-all-websites-enabling-this-great.aspx"&gt;I am wondering why not all websites enabling this great feature GZIP?&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2010/01/05/itrsquos-2am-do-you-know-what-algorithm-your-load-balancer.aspx"&gt;It’s 2am: Do You Know What Algorithm Your Load Balancer is Using?&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/10/29/wils-three-ways-to-better-utilize-resources-in-any-data.aspx"&gt;WILS: Three Ways To Better Utilize Resources In Any Data Center&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/10/22/wils-why-does-load-balancing-improve-application-performance.aspx"&gt;WILS: Why Does Load Balancing Improve Application Performance?&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/08/20/application-acceleration-versus-optimization.aspx"&gt;WILS: Application Acceleration versus Optimization&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/category/4335.aspx"&gt;All WILS Topics on DevCentral&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/06/17/what-is-server-offload-and-why-do-i-need-it.aspx"&gt;What is server offload and why do I need it?&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p /&gt;  &lt;p /&gt;  &lt;p /&gt;  &lt;div class="wlWriterEditableSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:88473401-5f26-4793-a985-d71fc1cc7aa5" 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/load+balancing" rel="tag"&gt;load balancing&lt;/a&gt;,&lt;a href="http://technorati.com/tags/availability" rel="tag"&gt;availability&lt;/a&gt;,&lt;a href="http://technorati.com/tags/application+delivery+controller" rel="tag"&gt;application delivery controller&lt;/a&gt;,&lt;a href="http://technorati.com/tags/downtime" rel="tag"&gt;downtime&lt;/a&gt;,&lt;a href="http://technorati.com/tags/compression" rel="tag"&gt;compression&lt;/a&gt;,&lt;a href="http://technorati.com/tags/ssl" rel="tag"&gt;ssl&lt;/a&gt;,&lt;a href="http://technorati.com/tags/offload" rel="tag"&gt;offload&lt;/a&gt;,&lt;a href="http://technorati.com/tags/capacity" rel="tag"&gt;capacity&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/WILS" rel="tag"&gt;WILS&lt;/a&gt;&lt;/div&gt;&lt;img src="http://devcentral.f5.com/weblogs/macvittie/aggbug/6282.aspx" width="1" height="1" /&gt;</description><dc:creator>Lori MacVittie</dc:creator></item><item><title>A Fluid Network is the Result of Collaboration Not Virtualization</title><link>http://devcentral.f5.com/weblogs/macvittie/archive/2010/01/19/a-fluid-network-is-the-result-of-collaboration-not-virtualization.aspx</link><pubDate>Tue, 19 Jan 2010 11:08:35 GMT</pubDate><guid isPermaLink="true">http://devcentral.f5.com/weblogs/macvittie/archive/2010/01/19/a-fluid-network-is-the-result-of-collaboration-not-virtualization.aspx</guid><wfw:comment>http://devcentral.f5.com/weblogs/macvittie/comments/6279.aspx</wfw:comment><wfw:commentRss>http://devcentral.f5.com/weblogs/macvittie/comments/commentRss/6279.aspx</wfw:commentRss><comments>http://devcentral.f5.com/weblogs/macvittie/archive/2010/01/19/a-fluid-network-is-the-result-of-collaboration-not-virtualization.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://devcentral.f5.com/weblogs/macvittie/services/trackbacks/6279.aspx</trackback:ping><source url="http://devcentral.f5.com/weblogs/macvittie/rss.aspx">A Fluid Network is the Result of Collaboration Not Virtualization</source><description>&lt;p&gt;&lt;em&gt;The benefits of automation and orchestration do not come solely from virtualization. &lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/VirtualizationWillAlsoWhitenYourTeethand_87BA/vitameatavegamin_2.jpg"&gt;&lt;img title="vitameatavegamin" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; margin: 0px 10px 0px 0px; border-right-width: 0px" height="191" alt="vitameatavegamin" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/VirtualizationWillAlsoWhitenYourTeethand_87BA/vitameatavegamin_thumb.jpg" width="240" align="left" border="0" /&gt;&lt;/a&gt;Virtualization has benefits, there is no arguing that. But let’s not get carried away and attribute all the benefits associated with cloud computing and automation to one member of the “game changing” team: virtualization. I recently read one of the all-too-common end-of-year prediction blogs on virtualization and 2010 that managed to say with what I think was a straight face that virtualization of the network is what makes it “fluid”. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;From: &lt;a href="http://vmblog.com/archive/2009/12/07/2010-virtualization-predictions-the-year-the-network-becomes-fluid-and-virtual.aspx"&gt;2010 Virtualization Predictions - The Year the Network Becomes Fluid and Virtual&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/VirtualizationWillAlsoWhitenYourTeethand_87BA/blockquote_2.gif"&gt;&lt;img title="blockquote" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; margin-left: 0px; margin-right: 0px; border-right-width: 0px" height="28" alt="blockquote" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/VirtualizationWillAlsoWhitenYourTeethand_87BA/blockquote_thumb.gif" width="46" align="left" border="0" /&gt;&lt;/a&gt; Virtualizing the network provides the similar benefits as server virtualization through abstraction and automation … The bottom line: In 2010, the network is going to become as fluid and dynamic as the data center is today. &lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;The first problem with these statements is the separation of the network from the data center. The last time I checked the network was the core foundation upon which data centers are built, making them not only a part of the data center but an integral part of it. The second is implying that the automation from which a fluid network is derived is somehow achieved through virtualization. No. No, it isn’t. Both virtual and physical infrastructure require more than just being shoved into a virtual machine or automatically provisioned to enable the kind of benefits expected. &lt;/p&gt;  &lt;hr width="100%" color="#680000" noshade="noshade" /&gt;  &lt;div style="background: #ebd3d3; width: 100%"&gt;&lt;strong&gt;INFRASTRUCTURE 2.0: IT’S WHAT DATA CENTERS CRAVE&lt;/strong&gt;&lt;/div&gt;  &lt;hr width="100%" color="#680000" noshade="noshade" /&gt;  &lt;p&gt; Infrastructure 2.0 is the enabling technology behind a fluid network,  no matter what the physical / virtual status of the infrastructure may be. Without the ability to integrate and then automate and include in data center orchestration network components it really doesn’t matter whether they’re virtual or not. Virtualization in and of itself provides little more  than abstraction and the ability to easily replicate (clone) itself. Even with the anticipated availability of VMware’s Redwood project, it is &lt;a href="http://searchcloudcomputing.techtarget.com/news/article/0,289142,sid201_gci1364785,00.html"&gt;only the automation of the virtualization layer that appears to be addressed&lt;/a&gt;: &lt;/p&gt;  &lt;p&gt;&lt;em&gt;&lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/VirtualizationWillAlsoWhitenYourTeethand_87BA/blockquote_4.gif"&gt;&lt;img title="blockquote" style="border-right: 0px; border-top: 0px; display: inline; margin-left: 0px; border-left: 0px; margin-right: 0px; border-bottom: 0px" height="28" alt="blockquote" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/VirtualizationWillAlsoWhitenYourTeethand_87BA/blockquote_thumb_1.gif" width="46" align="left" border="0" /&gt;&lt;/a&gt; Presumably, VMware's Redwood would help partners like Savvis avoid these sorts of development efforts, especially as VMware evolves its platform over time. "There's an argument about how good and robust that [third-party] code is," the source said, "and how well it will work with future versions of vSphere right out of the box."&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;In particular, Redwood uses Lab Manager's network fencing technology to quarantine virtual environments "so there's no bleed-through," the source said, and VMware Orchestrator for automating the configuring and provisioning of a VMware cloud workload. &lt;/em&gt;&lt;/p&gt;  &lt;p&gt;There’s little discussion of the inclusion of infrastructure – network and application network – components in the automation and orchestration, which makes sense given that there are today &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/11/12/cloud-standards-and-pants.aspx"&gt;too many differences in API and methods of automating these components to presume VMware&lt;/a&gt; – or anyone else – will soon offer up a comprehensive solution. &lt;/p&gt;  &lt;p&gt;The claim appears to be that virtualization magically enables networking components with the ability to configure themselves appropriately. At least that’s the way I read it, because in order for it to “&lt;em&gt;reduce operational costs and increase security, manageability and scalability by abstracting and automating network services” &lt;/em&gt;in a volatile environment – such as public or private cloud computing – it would be necessary for the network components to adjust, add, and otherwise &lt;u&gt;modify configuration&lt;/u&gt; in a way that is reflective of the underlying volatility inherent in the moving around of applications provisioned and released via virtualization. Too, the actual provisioning and subsequent configuration of infrastructure components will be highly specific to each cloud computing environment, and based on the unique &lt;em&gt;processes&lt;/em&gt; required by each provider or organization. That’s not something that can come out of a box, off the shelf – unless organizations and providers are willing to have their processes prescribed by external vendors. &lt;/p&gt;  &lt;hr width="100%" color="#680000" noshade="noshade" /&gt;   &lt;div style="background: #ebd3d3; width: 100%"&gt;&lt;strong&gt;LAYER of ABSTRACTION = LAYER of OPAQUENESS&lt;/strong&gt;&lt;/div&gt;  &lt;hr width="100%" color="#680000" noshade="noshade" /&gt;  &lt;p&gt;Yes, virtual infrastructure makes it easy to deploy a networking component anywhere you need it at the moment you need it, but it doesn’t do a thing to make sure it’s actually &lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/VirtualizationWillAlsoWhitenYourTeethand_87BA/conductor_2.png"&gt;&lt;img title="conductor" style="border-right: 0px; border-top: 0px; display: inline; margin: 0px 0px 0px 10px; border-left: 0px; border-bottom: 0px" height="150" alt="conductor" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/VirtualizationWillAlsoWhitenYourTeethand_87BA/conductor_thumb.png" width="99" align="right" border="0" /&gt;&lt;/a&gt;configured to do what it’s supposed to do when it launches. The only way &lt;em&gt;that &lt;/em&gt;happens is through automation, which is not peculiar to virtualization. That’s something that’s enabled through APIs and integration, both of the virtualization technology &lt;em&gt;and &lt;/em&gt;the infrastructure. &lt;/p&gt;  &lt;p&gt;In the case of network infrastructure, components already enabled with a dynamic control plane can be scripted and integrated into automation and orchestration solutions to achieve this; virtualization of that same infrastructure adds no additional capabilities in this area at all. The layer of virtualization (abstraction) actually adds a layer of opaqueness into the architecture; a layer through which components must still be managed and integrated into the orchestration that will drive cloud and dynamic data centers. In fact, if you take a network component that is &lt;em&gt;not &lt;/em&gt;enabled with a dynamic control plane via an API then it is no more able to address this challenge than its hardware counterpart. It is the existence of the API and its utilization that makes a network “fluid”, not its deployment form factor. It is the intelligence, the leveraging of the dynamic control plane, the collaboration that makes a network – hardware or virtual based – fluid. &lt;/p&gt;  &lt;p&gt;Yes, virtual machines and hypervisor technologies &lt;em&gt;also &lt;/em&gt;have an API through which … the virtual container can be manipulated. It can be stopped, started, and managed but that’s the &lt;em&gt;container&lt;/em&gt;, not what application or infrastructure might be running &lt;em&gt;inside&lt;/em&gt; that container. The automation enabled by virtualization is strictly management of what is the equivalent of the data center operating environment fabric. The benefits that come from automation of the actual infrastructure components, the orchestration of operational processes that eliminates redundancies and the need for manual execution, comes from collaboration of infrastructure through integration based on standards-based control planes. &lt;/p&gt;  &lt;p&gt;The network will become fluid – I absolutely agree – but that metamorphosis will not solely because of virtualization. &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 title="Follow F5 Networks on Twitter" href="http://tweepml.org/F5-Networks-Tweeple/"&gt;&lt;img height="18" src="http://tweepml.org/s/tweepml16.png" width="18" border="0" /&gt;&lt;/a&gt; &lt;a title="Follow F5 DevCentral on Twitter" href="http://tweepml.org/F5-DevCentral/"&gt;&lt;img height="18" src="http://tweepml.org/s/tweepml16.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://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 href="http://www.friendfeed.com/lmacvittie"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="18" alt="friendfeed" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/friendfeed_3.jpg" width="18" border="0" /&gt;&lt;/a&gt; &lt;a href="http://www.facebook.com/lmacvittie"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="18" alt="icon_facebook" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/icon_facebook_4.png" width="18" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&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 type="text/javascript" src="http://track.mybloglog.com/js/jsserv.php?mblID=2008070914270355"&gt;&lt;/script&gt;&lt;/p&gt;  &lt;p /&gt;  &lt;p&gt;Related blogs &amp;amp; articles: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/08/14/putting-the-cloud-before-the-horse.aspx"&gt;Putting &lt;b&gt;the&lt;/b&gt; &lt;b&gt;Cloud&lt;/b&gt; &lt;b&gt;Before&lt;/b&gt; &lt;b&gt;the&lt;/b&gt; Horse&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/11/12/cloud-standards-and-pants.aspx"&gt;Cloud, Standards, and &lt;b&gt;Pants&lt;/b&gt;&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2010/01/18/infrastructure-2.0-squishy-name-for-a-squishy-concept.aspx"&gt;Infrastructure 2.0: Squishy Name for a Squishy Concept&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2010/01/08/pursuit-of-intercloud-is-practical-not-premature.aspx"&gt;Pursuit of Intercloud is Practical not Premature&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/11/09/virtualization-changes-application-deployment-but-not-development.aspx"&gt;Virtualization Changes Application Deployment But Not Development&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/09/29/infrastructure-2.0-isnrsquot-just-for-cloud-computing.aspx"&gt;Infrastructure 2.0 Isn’t Just For &lt;b&gt;Cloud&lt;/b&gt; Computing&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/10/08/infrastructure-2.0-is-the-beginning-of-the-story-not-the.aspx"&gt;Infrastructure 2.0 Is &lt;b&gt;the&lt;/b&gt; Beginning of &lt;b&gt;the&lt;/b&gt; Story, Not &lt;b&gt;the&lt;/b&gt; End&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/09/14/the-cloud-metastructure-hubub.aspx"&gt;&lt;b&gt;The&lt;/b&gt; &lt;b&gt;Cloud&lt;/b&gt; Metastructure Hubub&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/09/10/wils-automation-versus-orchestration.aspx"&gt;WILS: Automation versus Orchestration&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/08/25/if-you-focus-on-products-yoursquoll-miss-the-cloud.aspx"&gt;If You Focus on Products You’ll Miss &lt;b&gt;the&lt;/b&gt; &lt;b&gt;Cloud&lt;/b&gt;&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/08/17/how-do-you-get-the-benefits-of-shared-resources-in.aspx"&gt;How do you get &lt;b&gt;the&lt;/b&gt; benefits of shared resources in a private &lt;b&gt;cloud&lt;/b&gt;?&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/06/16/virtual-network-infrastructure-virtually-good-enough.aspx"&gt;Virtual Network Infrastructure: Virtually Good Enough?&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p /&gt;  &lt;p /&gt;  &lt;div class="wlWriterEditableSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:49a05d51-5ba4-4898-b19f-7d54bca27b4d" 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/virtualization" rel="tag"&gt;virtualization&lt;/a&gt;,&lt;a href="http://technorati.com/tags/cloud+computing" rel="tag"&gt;cloud computing&lt;/a&gt;,&lt;a href="http://technorati.com/tags/infrastructure" rel="tag"&gt;infrastructure&lt;/a&gt;,&lt;a href="http://technorati.com/tags/VMware" rel="tag"&gt;VMware&lt;/a&gt;,&lt;a href="http://technorati.com/tags/redwood" rel="tag"&gt;redwood&lt;/a&gt;,&lt;a href="http://technorati.com/tags/automation" rel="tag"&gt;automation&lt;/a&gt;,&lt;a href="http://technorati.com/tags/orchestration" rel="tag"&gt;orchestration&lt;/a&gt;,&lt;a href="http://technorati.com/tags/dynamic+infrastructure" rel="tag"&gt;dynamic infrastructure&lt;/a&gt;,&lt;a href="http://technorati.com/tags/dynamic+control+plane" rel="tag"&gt;dynamic control plane&lt;/a&gt;,&lt;a href="http://technorati.com/tags/integration" rel="tag"&gt;integration&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/infrastructure+2.0" rel="tag"&gt;infrastructure 2.0&lt;/a&gt;&lt;/div&gt;&lt;img src="http://devcentral.f5.com/weblogs/macvittie/aggbug/6279.aspx" width="1" height="1" /&gt;</description><dc:creator>Lori MacVittie</dc:creator></item><item><title>ARX Config, Day One</title><link>http://devcentral.f5.com/weblogs/dmacvittie/archive/2010/01/18/arx-config-day-one.aspx</link><pubDate>Tue, 19 Jan 2010 04:24:35 GMT</pubDate><guid isPermaLink="true">http://devcentral.f5.com/weblogs/dmacvittie/archive/2010/01/18/arx-config-day-one.aspx</guid><wfw:comment>http://devcentral.f5.com/weblogs/dmacvittie/comments/6278.aspx</wfw:comment><wfw:commentRss>http://devcentral.f5.com/weblogs/dmacvittie/comments/commentRss/6278.aspx</wfw:commentRss><comments>http://devcentral.f5.com/weblogs/dmacvittie/archive/2010/01/18/arx-config-day-one.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://devcentral.f5.com/weblogs/dmacvittie/services/trackbacks/6278.aspx</trackback:ping><source url="http://devcentral.f5.com/weblogs/dmacvittie/rss.aspx">ARX Config, Day One</source><description>&lt;p&gt;Well I’m putting my new &lt;a href="http://www.f5.com/products/arx-series/" target="_blank"&gt;ARX&lt;/a&gt; through the paces on my network, starting today with the base config and try number one at setting up the shares.&lt;/p&gt;  &lt;p&gt;This is an ARX 500, which is more than enough for our needs, and gives us a platform to start testing different ideas out on. To quote &lt;a href="http://devcentral.f5.com/weblogs/dmacvittie/" target="_blank"&gt;Lori&lt;/a&gt; when I told her I had all the ports communicating, “Now make it do something impressive”.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/dmacvittie/WindowsLiveWriter/ARXConfigDayOne_11ECF/ARX500.jpg"&gt;&lt;img title="ARX500" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="97" alt="ARX500" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/dmacvittie/WindowsLiveWriter/ARXConfigDayOne_11ECF/ARX500_thumb.jpg" width="224" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;The point of this blog series is to give me a chance to play with my new toy and give you all an idea of what the ARX can do. I’ve got a few goals in mind for this box, but want to make certain I’m not asking too much before listing them for you. So we’ll just walk through configuring it to handle my two NAS boxes (and possibly one linux share – but more on that later, it’s for an advanced use case), and start tiering. While the two NAS boxes are roughly equivalent, I do have one as a primary and one as secondary storage today, we’re just making that distinction with hand copies, and we would love the ARX to handle tiering for us. That’s the baseline. After that there is some replication I’m interested in, and some scripts and and and… I get ahead of myself ;-).&lt;/p&gt;  &lt;p&gt;Today had a couple of snags – I hate it when hardware is designed so that the cable condom – that little piece of rubber over the clip on the Ethernet plug – catches when you unplug the Ethernet cable. Having worked for Network Computing, I can tell you plenty of vendors have this issue on their 1U box, and honestly if you check the hardware configuration guide &lt;em&gt;before &lt;/em&gt;plugging in CAT5 all willy-nilly, this won’t be much of a problem for you (I had the in-band mgmt port plugged in, but initial config must be through the out-of-band mgmt port. RTFM’d, and used a knife to remove the plug, and all was well).&lt;/p&gt;  &lt;p&gt;And that’s the first out-of-the-box impression I have. In several cases things that I assumed were not true. The manuals are astonishing (no, that’s not employee-speak or I wouldn’t have mentioned the Ethernet jack thing) by any standard, but that’s good, because you’re going to need them. I’ve configed a couple of hundred storage devices, maybe more than a thousand, and this one got me a few times already – all minor stuff, and all makes perfect sense once you know what the designers were thinking. Thankfully, with a full documentation set on &lt;a href="http://ask.f5.com" target="_blank"&gt;Ask F5&lt;/a&gt; (login required), you’ll have no problem breezing through these issues.&lt;/p&gt;  &lt;p&gt;I’m going to spend a couple of hours a day playing with this box to get it configured just the way I want/need it, and I’ll write at least a bit each night about my experiences. I would love to play enterprise IT guy and spend a day or two in ARX-land, but we have a lot of other stuff going on, and a nice side benefit is that you all get these blogs in bite-sized chunks. A fellow Twitterer reminded me of the massive spiral bound training document that I brought home from Boston (where ARX is made/maintained/whatever you call it) last year, and while it’s got some good information in it, I’m happy with the documentation on Ask F5 thus far, it’s more crisp because it’s not formatted for training, but once it’s fully configured and running in my environment, there were some tricks in that book I’d like to try.&lt;/p&gt;  &lt;p&gt;Why did I stop where I did? I toyed with actually importing shares and creating a Virtual, but deleted them all and decided to wait because there are some fundamental questions I need to dig up answers to before taking those steps – like where is the best place to have the ARX put its meta-data and if a share can be accessed with both CIFS and NFS, what are the benefits of turning on both, one, or the other through the ARX? Also want to look at our infrastructure and see about locking down the share IPs so that they must be accessed via the ARX, a trick that I have heard of and finally get to try out. Feels all FC to run everything through the switch, but saves scanning disks for changes, something that bears a large cost if a few NAS devices’ interfaces can be slightly modded to avoid it.&lt;/p&gt;  &lt;p&gt;But that’s for another day. For tonight I’ll just leave you with a screen shot of the web UI, for those who’ve never seen it…&lt;/p&gt;  &lt;p&gt;&lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/dmacvittie/WindowsLiveWriter/ARXConfigDayOne_11ECF/ARXConfigScreen.jpg"&gt;&lt;img title="ARXConfigScreen" style="border-right: 0px; border-top: 0px; display: block; float: none; margin-left: auto; border-left: 0px; margin-right: auto; border-bottom: 0px" height="329" alt="ARXConfigScreen" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/dmacvittie/WindowsLiveWriter/ARXConfigDayOne_11ECF/ARXConfigScreen_thumb.jpg" width="460" border="0" /&gt;&lt;/a&gt;If that posts like it  looks in Windows Live Writer, it’s too small to read. This was taken just before doing the web configuration, so only the configuration option is available. Once it was completed then several other options became available, and as I said, I played with them, but deleted everything I’d done because I want to paw through the manuals and get answers to my questions first.&lt;/p&gt;  &lt;p&gt;To be honest, having dabbled in both CIFS and NFS protocol-level development, I’m just impressed that it can proxy both. Sometimes a little knowledge gives you a lot of respect for those who have more :-).&lt;/p&gt;  &lt;p&gt;Until next time,&lt;/p&gt;  &lt;p&gt;Don.&lt;/p&gt;&lt;img src="http://devcentral.f5.com/weblogs/dmacvittie/aggbug/6278.aspx" width="1" height="1" /&gt;</description><dc:creator>Don MacVittie</dc:creator></item><item><title>Cybercrime, the Easy Way</title><link>http://devcentral.f5.com/weblogs/psilva/archive/2010/01/18/cybercrime-the-easy-way.aspx</link><pubDate>Tue, 19 Jan 2010 00:37:56 GMT</pubDate><guid isPermaLink="true">http://devcentral.f5.com/weblogs/psilva/archive/2010/01/18/cybercrime-the-easy-way.aspx</guid><wfw:comment>http://devcentral.f5.com/weblogs/psilva/comments/6277.aspx</wfw:comment><wfw:commentRss>http://devcentral.f5.com/weblogs/psilva/comments/commentRss/6277.aspx</wfw:commentRss><comments>http://devcentral.f5.com/weblogs/psilva/archive/2010/01/18/cybercrime-the-easy-way.aspx#comment</comments><slash:comments>1</slash:comments><trackback:ping>http://devcentral.f5.com/weblogs/psilva/services/trackbacks/6277.aspx</trackback:ping><source url="http://devcentral.f5.com/weblogs/psilva/rss.aspx">Cybercrime, the Easy Way</source><description>&lt;p&gt;The &lt;a href="http://www.dummies.com/" title="For Dummies"&gt;Dummies series&lt;/a&gt; is a great collection of ‘How to’ instructions on a wide array of topics and while they have not published a ‘Cybercrime for Dummies®’ booklet (and don’t think they will), &lt;a href="http://www.usatoday.com/tech/news/computersecurity/2010-01-17-internet-scams-phishing_N.htm" title="DIY cybercrime kits power growth in Net phishing attacks"&gt;DYI Cybercrime Kits&lt;/a&gt; are helping drive Internet attacks.  Gone are the days when you had to visit a dark alley to get a crook’s cookbook.  You don’t need to be an expert or tied to some sophisticated crime ring but now you can infect, spam, phish and generate other dastardly deeds with the best of them.  Similar to downloading and using &lt;a href="http://www.apple.com/itunes/" title="iTunes"&gt;iTunes&lt;/a&gt;, &lt;a href="http://www.blogsdna.com/923/top-20-best-peer-2-peer-p2p-file-sharing-programs-applications-software.htm" title="Top 20 Best Peer to Peer (P2P) File Sharing Programs and Applications"&gt;P2P applications&lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/Instant_messaging" title="Instant messaging"&gt;IM services&lt;/a&gt;, &lt;a href="http://www.skype.com/" title="skype"&gt;Skype&lt;/a&gt; and others to accomplish those specific tasks, you can get a Cybercrime toolkit to go with your &lt;a href="http://www.amazon.com/Ski-Mask-Eye-Hole-Black/dp/B00063W2CU" title="Ski Mask / Eye Hole - Black"&gt;black ski mask&lt;/a&gt;, &lt;a href="http://www.babble.com/CS/blogs/strollerderby/2008/08/23-End/John_Dillingers_Getaway_Car.jpg" title="Dillinger's Getaway Car"&gt;getaway car&lt;/a&gt; and &lt;a href="http://www.geekabout.com/2008-01-28-456/20-of-the-best-evil-lairs-and-criminal-hideouts.html" title="20 of the Best Evil Lairs and Criminal Hideouts"&gt;evil lair hideout&lt;/a&gt;.  You don’t really need any technical knowledge since all you do is install the program, tell it what you want, customize the message, send the infection and wait for the program to tell you when you’ve hit gold.  The early ‘hacking’ sites like &lt;a href="http://www.2600.com"&gt;www.2600.com&lt;/a&gt; or &lt;a href="http://www.L0pht.com"&gt;www.L0pht.com&lt;/a&gt; use to allow you to download your favorite virus to send to friends.  Granted, many organizations used their malicious code to test their own systems and they’ve since become more industry friendly and still provide great insight into the ‘black-hat’ing’ community.  I’ve even used &lt;a href="http://en.wikipedia.org/wiki/L0phtCrack" title="L0phtCrack"&gt;L0phtcrack&lt;/a&gt; several times over the years.  Remember, downloading a root kit isn’t necessarily a crime, it’s what you do with it that might be.&lt;/p&gt;
&lt;p&gt;The initial data breach numbers for 2010 are already staggering.  In just a couple weeks, around 1,233,432 records have already been breached according to &lt;a href="http://www.privacyrights.org/ar/ChronDataBreaches.htm#2008" title="Chronology of Data Breaches"&gt;Privacy Rights Clearinghouse&lt;/a&gt; – that’s an average of over 68,000 a day.  During 2009, Panda Labs saw a 77% increase in banking theft Trojans compared to 2008 which directly corresponded with the increase in available kits.  As this trend continues, the ‘Kids with Kits’ will be competing with the ‘Established Mobs’ for your passwords, money, identity and any other valuable items/info to sell or use themselves.  &lt;/p&gt;
&lt;p&gt;Certainly, users need to be extra vigilant when receiving suspicious emails with ‘&lt;a href="http://blog.didierstevens.com/2007/05/07/is-your-pc-virus-free-get-it-infected-here/" title="“Is your PC virus-free? Get it infected here!”"&gt;Click Here:&lt;/a&gt;’ boldly pronounced and organizations need to realize that their systems will be poked, prodded and tapped even more this year.  On the web facing front, deploying a Web Application Firewall, like &lt;a href="http://www.f5.com/products/big-ip/product-modules/application-security-manager.html" title="BIG-IP® Application Security Manager™"&gt;BIG-IP ASM&lt;/a&gt;, not only protects against the typical, well known attacks like SQL Injection, DoS, Brute Force and &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/11/23/the-application-delivery-spell-book-detect-invisible-application-stalkers.aspx" title="The Application Delivery Spell Book: Detect Invisible (Application) Stalkers"&gt;Web Scraping&lt;/a&gt;; but can also help with identifying that bad-boy with &lt;a href="http://devcentral.f5.com/weblogs/f5news/archive/2009/11/18/geolocation-gets-more-granular-with-f5-big-ip-and-quova.aspx" title="Geolocation Gets More Granular with F5 BIG-IP and Quova"&gt;IP Geolocation&lt;/a&gt; and ASM has always helped to keep you &lt;a href="http://www.f5.com/solutions/security/compliance/" title="Security Compliance Solutions"&gt;compliant&lt;/a&gt;.  &lt;a href="http://www.f5.com/products/big-ip/product-modules/global-traffic-manager.html" title="BIG-IP® Global Traffic Manager™"&gt;BIG-IP GTM&lt;/a&gt; &lt;a href="http://devcentral.f5.com/weblogs/f5news/archive/2009/12/21/big-ip-v10.1-now-available.aspx" title="BIG-IP v10.1 Now Available"&gt;v10.1&lt;/a&gt;, with the new &lt;a href="http://devcentral.f5.com/weblogs/dctv/archive/2010/01/11/secure-dns-with-big-ip-v10.1-dnssec.aspx" title="Secure DNS with BIG-IP v10.1 DNSSEC"&gt;DNSSEC feature&lt;/a&gt;, secures your web property against &lt;a href="http://en.wikipedia.org/wiki/DNS_cache_poisoning" title="DNS cache poisoning"&gt;DNS Cache Poisoning&lt;/a&gt; and other malicious redirects.  The &lt;a href="http://www.f5.com/products/firepass/" title="FirePass®"&gt;FirePass&lt;/a&gt; &lt;a href="http://www.f5.com/solutions/security/ssl-vpn/" title="SSL VPN Security Solutions"&gt;SSL VPN&lt;/a&gt; and other &lt;a href="http://www.f5.com/products/big-ip/" title="One device. Complete control."&gt;BIG-IP products&lt;/a&gt; offer &lt;a href="http://www.f5.com/solutions/security/endpoint-inspection/" title="Endpoint Inspection Solutions"&gt;End Point inspection&lt;/a&gt; to ensure that the requesting host abides by your security policy prior to gaining access and Encryption to keep the traffic secure.  The &lt;a href="http://www.f5.com/products/big-ip/feature-modules/message-security-module.html" title="Message Security Module™"&gt;BIG-IP MSM&lt;/a&gt; takes a bite out of unwanted &lt;a href="http://www.f5.com/solutions/security/anti-spam/" title="Anti-Spam Solutions"&gt;spam&lt;/a&gt;.  Even &lt;a href="http://www.f5.com/products/big-ip/product-modules/local-traffic-manager.html" title="BIG-IP® Local Traffic Manager™"&gt;BIG-IP LTM&lt;/a&gt; with it’s virtualization capabilities among other security features provides some network firewall functionality and with &lt;a href="http://www.f5.com/products/big-ip/feature-modules/protocol-security-module.html" title="Protocol Security Module™"&gt;BIG-IP PSM&lt;/a&gt;, you get powerful security services for HTTP(s), SMTP, and FTP at &lt;a href="http://www.f5.com/products/big-ip/" title="BIG-IP® Product Family"&gt;BIG-IP&lt;/a&gt; speeds.&lt;/p&gt;
&lt;p&gt;Now that it’s gotten easier for anyone to become a cybercriminal, your defenses must be also be easy and quick to deploy.  F5’s BIG-IP systems give you the control, power and ease of use to thwart both the organized crime syndicates and those rookies just getting into the game.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;ps&lt;/p&gt;
&lt;p&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Pete+Silva"&gt;Pete Silva&lt;/a&gt;,&lt;a href="http://technorati.com/tags/F5"&gt;F5&lt;/a&gt;,&lt;a href="http://technorati.com/tags/security"&gt;security&lt;/a&gt;,&lt;a href="http://technorati.com/tags/application+security"&gt;application security&lt;/a&gt;,&lt;a href="http://technorati.com/tags/network+security"&gt;network security&lt;/a&gt;,&lt;a href="http://technorati.com/tags/virus"&gt;virus&lt;/a&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;div style="margin: 0px; padding: 4px 0px; text-align: right;" class="wlWriterHeaderFooter"&gt;&lt;a href="http://digg.com/submit?url=http%3a%2f%2fdevcentral.f5.com%2fweblogs%2fpsilva%2farchive%2f2010%2f01%2f18%2fcybercrime-the-easy-way.aspx&amp;amp;title=Cybercrime%2c+the+Easy+Way"&gt;&lt;img width="100" height="20" border="0" style="border: 0pt none ;" title="Digg This" alt="Digg This" src="http://digg.com/img/badges/100x20-digg-button.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://devcentral.f5.com/weblogs/psilva/aggbug/6277.aspx" width="1" height="1" /&gt;</description><dc:creator>Pete Silva</dc:creator></item><item><title>Infrastructure 2.0: Squishy Name for a Squishy Concept</title><link>http://devcentral.f5.com/weblogs/macvittie/archive/2010/01/18/infrastructure-2.0-squishy-name-for-a-squishy-concept.aspx</link><pubDate>Mon, 18 Jan 2010 11:35:09 GMT</pubDate><guid isPermaLink="true">http://devcentral.f5.com/weblogs/macvittie/archive/2010/01/18/infrastructure-2.0-squishy-name-for-a-squishy-concept.aspx</guid><wfw:comment>http://devcentral.f5.com/weblogs/macvittie/comments/6274.aspx</wfw:comment><wfw:commentRss>http://devcentral.f5.com/weblogs/macvittie/comments/commentRss/6274.aspx</wfw:commentRss><comments>http://devcentral.f5.com/weblogs/macvittie/archive/2010/01/18/infrastructure-2.0-squishy-name-for-a-squishy-concept.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://devcentral.f5.com/weblogs/macvittie/services/trackbacks/6274.aspx</trackback:ping><source url="http://devcentral.f5.com/weblogs/macvittie/rss.aspx">Infrastructure 2.0: Squishy Name for a Squishy Concept</source><description>&lt;p&gt;&lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/Infrastru.0SquishyNameforaSquishyConcept_84EF/connectivity-intelligence-dynamo_2.jpg"&gt;&lt;img title="connectivity-intelligence-dynamo" style="border-right: 0px; border-top: 0px; display: inline; margin-left: 0px; border-left: 0px; margin-right: 0px; border-bottom: 0px" height="148" alt="connectivity-intelligence-dynamo" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/Infrastru.0SquishyNameforaSquishyConcept_84EF/connectivity-intelligence-dynamo_thumb.jpg" width="197" align="left" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;There’s been increasing interest in Infrastructure 2.0 of late that’s encouraging to those of us who’ve been, well, pushing it uphill against the focus on cloud computing and virtualization for quite some time now. What’s been the most frustrating about bringing this concept to awareness has been that cloud computing is one of the most tangible examples of both what infrastructure 2.0 is and what it can do and virtualization is certainly one of the larger technological drivers of infrastructure 2.0 capable solutions today. So despite the frustration associated with cloud computing and virtualization stealing the stage, as it were, the spotlight is certainly helping to bring the issues which Infrastructure 2.0 is attempting to address into the fore. As it gains traction, one of the first challenges that must be addressed is to define what it is we mean when we say “Infrastructure 2.0.” &lt;/p&gt;  &lt;p&gt;Like Web 2.0 – go ahead and try to define it simply – Infrastructure 2.0 remains, as James Urquhart put it recently, a “squishy term.” &lt;/p&gt;  &lt;p&gt;&lt;a href="http://twitter.com/jamesurquhart"&gt;James Urquhart&lt;/a&gt; in “&lt;a href="http://news.cnet.com/8301-19413_3-10433466-240.html?tag=newsLatestHeadlinesArea.0"&gt;Understanding Infrastructure 2.0&lt;/a&gt;”: &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/Infrastru.0SquishyNameforaSquishyConcept_84EF/blockquote_2.gif"&gt;&lt;img title="blockquote" style="border-right: 0px; border-top: 0px; display: inline; margin-left: 0px; border-left: 0px; margin-right: 0px; border-bottom: 0px" height="28" alt="blockquote" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/Infrastru.0SquishyNameforaSquishyConcept_84EF/blockquote_thumb.gif" width="46" align="left" border="0" /&gt;&lt;/a&gt; &lt;font color="#800080"&gt;&lt;strong&gt;Right now, Infrastructure 2.0 is one of those "squishy" terms that can potentially incorporate a lot of different network automation characteristics. As is hinted at in the introduction to &lt;/strong&gt;&lt;/font&gt;&lt;a href="http://www.informationweek.com/news/global-cio/interviews/showArticle.jhtml?articleID=222300500"&gt;&lt;font color="#800080"&gt;Ness' interview&lt;/font&gt;&lt;/a&gt;&lt;font color="#800080"&gt;&lt;strong&gt;, there is a working group of network luminaries trying to sort out the details and propose an architectural framework, but we are still very early in the game.&lt;/strong&gt;&lt;/font&gt; &lt;font color="#800000"&gt;[link to referenced interview added]&lt;/font&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;What complicates Infrastructure 2.0 is that not only is the term “squishy” but so is the very concept. After all, Infrastructure 2.0 is mostly about collaboration, about integration, about intelligence. These are not off the shelf “solutions” but rather enabling technologies that are designed to drive the flexibility and agility of enterprise networks forward in a such as way as to alleviate the pain points associated with the brittle, fragile network architectures of the past. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://twitter.com/archimedius"&gt;Greg Ness&lt;/a&gt; summed it the concept, at least, very well more than a year ago in “&lt;a href="http://gregness.wordpress.com/2008/11/13/the-beginning-of-the-end-of-static-infrastructure/"&gt;The beginning of the end of static infrastructure&lt;/a&gt;” when he said, “The issue comes &lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/Infrastru.0SquishyNameforaSquishyConcept_84EF/context_2.jpg"&gt;&lt;img title="context" style="border-right: 0px; border-top: 0px; display: inline; margin: 10px 0px 10px 10px; border-left: 0px; border-bottom: 0px" height="224" alt="context" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/Infrastru.0SquishyNameforaSquishyConcept_84EF/context_thumb.jpg" width="245" align="right" border="0" /&gt;&lt;/a&gt;down to static infrastructure incapable of keeping up with all of the new IP addresses and devices and initiatives and movement/change already taking place in large enterprises” and then noted that “the notion of application, endpoint and network intelligence thus far has been hamstrung by the lack of dynamic connectivity, or connectivity intelligence.” &lt;/p&gt;  &lt;p&gt;What Greg noticed is missing is &lt;em&gt;context, &lt;/em&gt;and perhaps even more importantly the ability to share that context across the entire infrastructure.  I could, and have, gone on and on and on about this subject so for now I’ll just stop and offer up a few links to some of the insightful posts that shed more light on Infrastructure 2.0 – its drivers, its requirements, its breadth of applicability, and its goals - to date: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Greg Ness’ &lt;a href="http://www.infra20.com/post.cfm/virtualization-clouds-and-meta-orchestration"&gt;Virtualization, Clouds, and Meta Orchestration&lt;/a&gt;       &lt;br /&gt;&lt;em&gt;Greg walks though where we are, how we got here ,and what we need for the future.        &lt;br /&gt;&lt;/em&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://twitter.com/beaker"&gt;Christofer Hoff’s&lt;/a&gt; “&lt;a href="http://www.rationalsurvivability.com/blog/?p=1070"&gt;Cloudanatomy&lt;/a&gt;” and subsequent &lt;a href="http://www.rationalsurvivability.com/blog/?p=604"&gt;Cloud Taxonomy&lt;/a&gt;       &lt;br /&gt;&lt;em&gt;Hoff’s ontology and taxonomy clearly shows just how large the problem space for Infrastructure 2.0 really is.&lt;/em&gt;       &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;James Urquhart’s &lt;a href="http://news.cnet.com/8301-19413_3-10168613-240.html"&gt;Why virtualization is shaking up IT data centers &lt;/a&gt;      &lt;br /&gt;&lt;em&gt;James offers a great analogy that illustrates well exactly why it is that virtualization is one of the primary drives of the need for Infrastructure 2.0.        &lt;br /&gt;&lt;/em&gt;&lt;/li&gt;    &lt;li&gt;And a few of my own offerings to the cause:     &lt;br /&gt;&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;&lt;a href="http://feedproxy.google.com/%7Er/Infrastructure20/%7E3/fY2Ofz1ifJI/infrastructure-2-0-is-the-beginning-of-the-story-not-the-end"&gt;&lt;b&gt;Infrastructure&lt;/b&gt; &lt;b&gt;2.0&lt;/b&gt; Is the Beginning of the Story, Not the End&lt;/a&gt;        &lt;br /&gt;&lt;em&gt;Understanding the means (Infrastructure 2.0) to the end (a dynamic infrastructure)          &lt;br /&gt;&lt;/em&gt;&lt;/li&gt;      &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2010/01/08/pursuit-of-intercloud-is-practical-not-premature.aspx"&gt;Pursuit of Intercloud is Practical not Premature&lt;/a&gt;        &lt;br /&gt;&lt;em&gt;Fred Cummins of &lt;a href="http://www.hp.com"&gt;HP&lt;/a&gt; believes Intercloud is premature, but standards take time and much of the technology that will be applied using those standards already exists.           &lt;br /&gt;&lt;/em&gt;&lt;/li&gt;      &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/11/12/cloud-standards-and-pants.aspx"&gt;Cloud, Standards, and Pants&lt;/a&gt;        &lt;br /&gt;&lt;em&gt;Why the creation of standards for Intercloud and Infrastructure 2.0 are so difficult         &lt;br /&gt;&lt;/em&gt;&lt;/li&gt;      &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/07/09/cloud-balancing-cloud-bursting-and-intercloud.aspx"&gt;Cloud Balancing, Cloud Bursting, and Intercloud&lt;/a&gt;        &lt;br /&gt;&lt;em&gt;How Intercloud and Infrastructure will move hybrid architectures that leverage cloud computing to achieve a variety of business goals          &lt;br /&gt;&lt;/em&gt;&lt;/li&gt;      &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/06/30/intercloud-the-evolution-of-global-application-delivery.aspx"&gt;Intercloud: The &lt;b&gt;Evolution&lt;/b&gt; &lt;b&gt;of&lt;/b&gt; &lt;b&gt;Global&lt;/b&gt; Application Delivery&lt;/a&gt;        &lt;br /&gt;&lt;em&gt;The goal of Intercloud is essentially a dynamic infrastructure that comprises local and cloud-based services. It is an evolutionary process that relies heavily on global application delivery. &lt;/em&gt;&lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;James believes "Infrastructure 2.0" will “evolve into a body of standards that will have the same impact as BGP or DNS” and I share that belief. The trick is going to be in developing standards that allow for the “squishiness” that is required to remain flexible and adaptable across myriad architectures and environments while being able to standardize &lt;em&gt;how &lt;/em&gt;that happens. &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 title="Follow F5 Networks on Twitter" href="http://tweepml.org/F5-Networks-Tweeple/"&gt;&lt;img height="18" src="http://tweepml.org/s/tweepml16.png" width="18" border="0" /&gt;&lt;/a&gt; &lt;a title="Follow F5 DevCentral on Twitter" href="http://tweepml.org/F5-DevCentral/"&gt;&lt;img height="18" src="http://tweepml.org/s/tweepml16.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://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 href="http://www.friendfeed.com/lmacvittie"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="18" alt="friendfeed" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/friendfeed_3.jpg" width="18" border="0" /&gt;&lt;/a&gt; &lt;a href="http://www.facebook.com/lmacvittie"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="18" alt="icon_facebook" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/icon_facebook_4.png" width="18" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&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 type="text/javascript" src="http://track.mybloglog.com/js/jsserv.php?mblID=2008070914270355"&gt;&lt;/script&gt;&lt;/p&gt;  &lt;p&gt;Related blogs &amp;amp; articles: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/Tags/INfrastructure%202.0/default.aspx"&gt;All Infrastructure 2.0 Topics on DevCentral&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.infra20.com"&gt;Infrastructure 2.0 Blog&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://seekingalpha.com/article/98119-cloud-computing-requires-infrastructure-2-0"&gt;Cloud Computing Requires &lt;em&gt;Infrastructure 2.0&lt;/em&gt; -- Seeking Alpha&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.johnmwillis.com/puppet/infrastructure-20-an-oldie-but-a-goodie/"&gt;Infrastructure 2.0 (An oldie but a goodie)&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.informationweek.com/news/software/showArticle.jhtml?articleID=222300500"&gt;Server Den Asks Infoblox: What's Infrastructure 2.0?&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://podtech.wordpress.com/2009/01/28/infrastructure-20-the-modernization-of-the-datacenter-doug-gourlay-of-cisco/"&gt;Infrastructure 2.0: The Modernization of the Datacenter – Doug Gourlay of Cisco&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.itbusinessedge.com/cm/blogs/lawson/integration-and-infrastructure-20/?cs=36230"&gt;Integration and Infrastructure 2.0&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p /&gt;  &lt;p /&gt;  &lt;div class="wlWriterEditableSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:05aa1d14-4ec3-4be6-a6e5-8a1c2048bb2f" 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/Infrastructure+2.0" rel="tag"&gt;Infrastructure 2.0&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Greg+Ness" rel="tag"&gt;Greg Ness&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Christofer+Hoff" rel="tag"&gt;Christofer Hoff&lt;/a&gt;,&lt;a href="http://technorati.com/tags/James+Urquhart" rel="tag"&gt;James Urquhart&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/dynamic+infrastructure" rel="tag"&gt;dynamic 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/cloud+computing" rel="tag"&gt;cloud computing&lt;/a&gt;,&lt;a href="http://technorati.com/tags/standards" rel="tag"&gt;standards&lt;/a&gt;&lt;/div&gt;&lt;img src="http://devcentral.f5.com/weblogs/macvittie/aggbug/6274.aspx" width="1" height="1" /&gt;</description><dc:creator>Lori MacVittie</dc:creator></item><item><title>Following Google&amp;rsquo;s Lead on Security? Don&amp;rsquo;t Forget to Encrypt Cookies</title><link>http://devcentral.f5.com/weblogs/macvittie/archive/2010/01/15/google-gmail-ssl-cookie-encryption.aspx</link><pubDate>Fri, 15 Jan 2010 11:10:50 GMT</pubDate><guid isPermaLink="true">http://devcentral.f5.com/weblogs/macvittie/archive/2010/01/15/google-gmail-ssl-cookie-encryption.aspx</guid><wfw:comment>http://devcentral.f5.com/weblogs/macvittie/comments/6272.aspx</wfw:comment><wfw:commentRss>http://devcentral.f5.com/weblogs/macvittie/comments/commentRss/6272.aspx</wfw:commentRss><comments>http://devcentral.f5.com/weblogs/macvittie/archive/2010/01/15/google-gmail-ssl-cookie-encryption.aspx#comment</comments><slash:comments>5</slash:comments><trackback:ping>http://devcentral.f5.com/weblogs/macvittie/services/trackbacks/6272.aspx</trackback:ping><source url="http://devcentral.f5.com/weblogs/macvittie/rss.aspx">Following Google&amp;rsquo;s Lead on Security? Don&amp;rsquo;t Forget to Encrypt Cookies</source><description>&lt;p&gt;In the wake of &lt;a href="http://www.google.com"&gt;Google’s&lt;/a&gt; revelation that its GMail service had been repeatedly attacked over the past year the search engine goliath &lt;a href="http://news.cnet.com/8301-30685_3-10433965-264.html?part=rss&amp;amp;subj=news&amp;amp;tag=2547-1_3-0-20"&gt;announced it would be moving to HTTPS (HTTP over SSL) by default for all GMail connections&lt;/a&gt;. For users, nothing much changes except that all communication with GMail will be encrypted in transit using industry &lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/FollowingGooglesLeadonSecurityDontForget_2C8D/google-logo_2.jpg"&gt;&lt;img title="google-logo" style="border-right: 0px; border-top: 0px; display: inline; margin: 5px 0px 0px 10px; border-left: 0px; border-bottom: 0px" height="78" alt="google-logo" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/FollowingGooglesLeadonSecurityDontForget_2C8D/google-logo_thumb.jpg" width="195" align="right" border="0" /&gt;&lt;/a&gt; standard SSL, regardless of whether they ask for it by specifying HTTPS as a protocol or not. In the industry we generally refer to this as an HTTPS redirect, and it’s often implemented by automatically rewriting the URI using a &lt;a title="" href="http://www.f5.com/glossary/load-balancing.html" rel=""&gt;load balancing&lt;/a&gt; / application delivery solution. &lt;/p&gt;  &lt;p&gt;Widely regarding as a good idea, and I’m certainly not disagreeing with that opinion, SSL secures data exchanged between the client and the server by encrypting every request and response using a private/public key exchange. This is a Good Idea and the general advice that “you should do this too” is sound; protecting data in transit from prying eyes eliminates the possibility that someone with ill intent might “sniff” out data and steal a user’s e-mail messages. Given the number of small and medium businesses that rely upon GMail for business-related communication and that some of that communication might be considered confidential or sensitive, this simple security mechanism is certainly one that has a high value with minimal risk and costs associated with implementation. &lt;/p&gt;  &lt;p&gt;But it’s not a panacea, especially where cookies are involved. Tony Bourke of &lt;a href="http://lbdigest.com/"&gt;Load Balancing Digest&lt;/a&gt; reminds us of the dangers of transmitting cookies in the clear in “&lt;a href="http://lbdigest.com/2010/01/14/gmail-goes-all-ssl-and-so-should-you/"&gt;Gmail Goes All SSL, and So Should You&lt;/a&gt;”: &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/FollowingGooglesLeadonSecurityDontForget_2C8D/blockquote_2.gif"&gt;&lt;img title="blockquote" style="border-right: 0px; border-top: 0px; display: inline; margin-left: 0px; border-left: 0px; margin-right: 0px; border-bottom: 0px" height="28" alt="blockquote" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/FollowingGooglesLeadonSecurityDontForget_2C8D/blockquote_thumb.gif" width="46" align="left" border="0" /&gt;&lt;/a&gt; While most webmail and other web applications do HTTPS for when a username and password is supplied, most do not use HTTPS for the rest of the interaction.&lt;/p&gt;    &lt;p&gt;For webmail especially, this is critical.  Cookies are used as authentication tokens (so that username and passwords do not need to be re-supplied every time you ask for a web page), and if they’re intercepted, someone could potentially pretend to be you.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Cookie-based vulnerabilities have been used before to exploit GMail. One of the more (in)famous being a CSRF (Cross Site Request Forgery) that exploited the use of cookies for authentication. Jeremiah Grossman in “&lt;a href="http://jeremiahgrossman.blogspot.com/2006/01/advanced-web-attack-techniques-using.html"&gt;Advanced Web Attack Techniques using GMail&lt;/a&gt;” explains one technique, noting that Google addressed the vulnerability within days of discovery. &lt;/p&gt;  &lt;p&gt;SSL, of course, does almost nothing to assist in addressing vulnerabilities related to cookies because SSL is designed to secure transmissions &lt;em&gt;in flight&lt;/em&gt;, i.e. while it is on the network being transferred between the client and the server. The reason Google can so easily force a move to all SSL for GMail is because it requires no action on the part of the user. SSL encrypted transmissions are automatically handled by the browser and decrypted upon being received by the client so it can be interpreted and rendered for the user. &lt;/p&gt;  &lt;p&gt;But that means cookies are still in the clear on the client-side and could be potentially exploited in a variety of ways, accidently via malware or intentionally through tampering. To truly secure cookies and prevent tampering and exploitation by malware cookies should be encrypted themselves. &lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 100px; background: #fff; float: left; color: #000; line-height: 80px; font-family: times; padding-: 1px 5px 0 0"&gt;C&lt;/span&gt;&lt;/p&gt;  &lt;br /&gt;  &lt;hr style="color: #c0c0c0" width="100%" noshade="noshade" /&gt;&lt;strong&gt;OOKIE ENCRYPTION&lt;/strong&gt;  &lt;hr style="color: #c0c0c0" width="100%" noshade="noshade" /&gt;  &lt;p&gt;Cookie encryption is more along the lines of field-level encryption. That is, the cookie’s data is encrypted in such a way as to prevent its contents from being viewed or manipulated on the client while other data is left “in the clear” on the client, alleviating the need for additional PKI (Public Key Infrastructure) support above and beyond that implemented by browser’s today to support SSL-enabled communication. &lt;/p&gt;  &lt;p&gt;Cookie encryption allows the server or other &lt;a href="http://www.f5.com/big-ip/"&gt;application delivery intermediary&lt;/a&gt; to ensure only it can decrypt the data, and any tampering with that cookie is immediately noticeable by the device or application that encrypted it in the first place. Cookie encryption can be applied to cookies on the server side, from within the application or it can be applied at the &lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/FollowingGooglesLeadonSecurityDontForget_2C8D/cookie-encryption_2.png"&gt;&lt;img title="cookie-encryption" style="border-right: 0px; border-top: 0px; display: inline; margin: 0px 10px 0px 0px; border-left: 0px; border-bottom: 0px" height="266" alt="cookie-encryption" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/FollowingGooglesLeadonSecurityDontForget_2C8D/cookie-encryption_thumb.png" width="495" align="left" border="0" /&gt;&lt;/a&gt;network-side, using a network-side scripting capable intermediary. The latter allows you to apply encryption to cookies immediately to &lt;em&gt;all &lt;/em&gt;applications without modifying application code, which can save time and money and remove the need to invoke encryption on the server which can chew up additional CPU resources that ultimately eat into response times and degrade application performance. The impact of field-level encryption, particularly on a small number of cookies, from within the application on CPU resources is likely minimal; thus implementing on the server or network-side simply becomes an architectural choice if the number of cookies is small. &lt;/p&gt;  &lt;p&gt; Whether employing network or server-side scripting as a means to encrypt cookies the result is the same. The cookie, on the client side, appears to be jabberwocky. When the cookie is received by the intermediary or application, it is decrypted into something that actually makes sense. &lt;/p&gt;  &lt;p&gt;The process is simply reversed on the response. &lt;/p&gt;  &lt;p&gt;Cookie encryption isn’t rocket science at all and is a fairly simple security technique to implement. What may be a bit more complicated is the process of ensuring the cookie is valid – that is, that it hasn’t been manipulated or tampered with while on the client. This requires some application logic to go along with the decryption process, something that is more easily accomplished via an intermediary than in the application itself. The prevention of cookie tampering is one of the core functions of a &lt;a href="http://www.f5.com/solutions/security/web-application/"&gt;web application firewall,&lt;/a&gt; and the use of such a solution allows essentially umbrella coverage of all applications for such attacks in a single, centralized location. &lt;/p&gt;  &lt;p&gt;What’s important to remember is that simply adding SSL to a web application only secures data &lt;em&gt;in transit&lt;/em&gt;. Cookies and other sensitive data will be human readable – and thus able to be manipulated or tampered with – on the client, and cookie encryption mitigates this risk. &lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 100px; background: #fff; float: left; color: #000; line-height: 80px; font-family: times; padding-: 1px 5px 0 0"&gt;D&lt;/span&gt;&lt;/p&gt;  &lt;br /&gt;  &lt;hr style="color: #c0c0c0" width="100%" noshade="noshade" /&gt;&lt;strong&gt;ON’T JUST STOP AT SSL &lt;/strong&gt;  &lt;hr style="color: #c0c0c0" width="100%" noshade="noshade" /&gt;  &lt;p&gt;Enabling SSL as a protection mechanism against prying eyes is absolutely a good idea and if Google’s decision to force all GMail connections to leverage SSL means more organizations will be following suit then Google deserves a round of applause for highlighting its decision. But let’s all take the additional step of encrypting cookies, too, especially when we’re storing authentication and authorization data in them for a variety of web applications. &lt;/p&gt;  &lt;p&gt;Don’t stop at just enabling SSL; take the next step if you haven’t already and help keep your cookies to yourself. &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 title="Follow F5 Networks on Twitter" href="http://tweepml.org/F5-Networks-Tweeple/"&gt;&lt;img height="18" src="http://tweepml.org/s/tweepml16.png" width="18" border="0" /&gt;&lt;/a&gt; &lt;a title="Follow F5 DevCentral on Twitter" href="http://tweepml.org/F5-DevCentral/"&gt;&lt;img height="18" src="http://tweepml.org/s/tweepml16.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://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 href="http://www.friendfeed.com/lmacvittie"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="18" alt="friendfeed" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/friendfeed_3.jpg" width="18" border="0" /&gt;&lt;/a&gt; &lt;a href="http://www.facebook.com/lmacvittie"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="18" alt="icon_facebook" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/icon_facebook_4.png" width="18" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&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 type="text/javascript" src="http://track.mybloglog.com/js/jsserv.php?mblID=2008070914270355"&gt;&lt;/script&gt;&lt;/p&gt;  &lt;p&gt;Related blogs &amp;amp; articles: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://news.cnet.com/8301-30685_3-10433965-264.html?part=rss&amp;amp;subj=news&amp;amp;tag=2547-1_3-0-20"&gt;Gmail to get secure Net connection by default&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://lbdigest.com/2010/01/14/gmail-goes-all-ssl-and-so-should-you/"&gt;Gmail Goes All SSL, and So Should You&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://jeremiahgrossman.blogspot.com/2006/01/advanced-web-attack-techniques-using.html"&gt;Advanced Web Attack Techniques using GMail&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.15seconds.com/Issue/021210.htm"&gt;Encrypting Cookie Data with ASP.NET&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.php.net/manual/en/function.mcrypt-encrypt.php#71486"&gt;PHP: mcrypt_encrypt&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/Wiki/default.aspx/iRules/EncryptingCookies.html"&gt;Encrypting Cookies with iRules&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/HTTP_cookie"&gt;HTTP cookie (Wikipedia)&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2008/12/11/9-ways-to-use-network-side-scripting-to-architect-faster-scalable.aspx"&gt;9 ways to use network-side scripting to architect faster, scalable, more secure applications&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2007/07/23/2891.aspx"&gt;Web 2.0 Security Part 5: Strategies to CUT RISK&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;div class="wlWriterEditableSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:41ec9c7e-b1da-48af-99e7-13163d14500f" 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/application+delivery" rel="tag"&gt;application delivery&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/web+application+security" rel="tag"&gt;web application security&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/encryption" rel="tag"&gt;encryption&lt;/a&gt;,&lt;a href="http://technorati.com/tags/SSL" rel="tag"&gt;SSL&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/gmail" rel="tag"&gt;gmail&lt;/a&gt;,&lt;a href="http://technorati.com/tags/decryption" rel="tag"&gt;decryption&lt;/a&gt;,&lt;a href="http://technorati.com/tags/web+2.0" rel="tag"&gt;web 2.0&lt;/a&gt;&lt;/div&gt;&lt;img src="http://devcentral.f5.com/weblogs/macvittie/aggbug/6272.aspx" width="1" height="1" /&gt;</description><dc:creator>Lori MacVittie</dc:creator></item><item><title>The One Problem Cloud Can&amp;rsquo;t Solve. Or Can It?</title><link>http://devcentral.f5.com/weblogs/macvittie/archive/2010/01/13/the-one-problem-cloud-canrsquot-solve.-or-can-it.aspx</link><pubDate>Wed, 13 Jan 2010 13:46:47 GMT</pubDate><guid isPermaLink="true">http://devcentral.f5.com/weblogs/macvittie/archive/2010/01/13/the-one-problem-cloud-canrsquot-solve.-or-can-it.aspx</guid><wfw:comment>http://devcentral.f5.com/weblogs/macvittie/comments/6270.aspx</wfw:comment><wfw:commentRss>http://devcentral.f5.com/weblogs/macvittie/comments/commentRss/6270.aspx</wfw:commentRss><comments>http://devcentral.f5.com/weblogs/macvittie/archive/2010/01/13/the-one-problem-cloud-canrsquot-solve.-or-can-it.aspx#comment</comments><slash:comments>4</slash:comments><trackback:ping>http://devcentral.f5.com/weblogs/macvittie/services/trackbacks/6270.aspx</trackback:ping><source url="http://devcentral.f5.com/weblogs/macvittie/rss.aspx">The One Problem Cloud Can&amp;rsquo;t Solve. Or Can It?</source><description>&lt;p&gt;&lt;em&gt;Cloud computing can’t assure availability of applications in the face of a physical network outage, can it? &lt;/em&gt;&lt;/p&gt;  &lt;p&gt;Cloud computing providers focus on providing an efficient, scalable environment in which applications can be deployed and provide for their availability with &lt;a title="" href="http://www.f5.com/glossary/load-balancing.html" rel=""&gt;load balancing&lt;/a&gt; services and health monitoring and elastic scalability. But it can’t assure availability of your network. The Rackspace outage late last year was &lt;a href="http://www.datacenterknowledge.com/archives/2009/12/18/network-issue-cited-in-rackspace-outage/?utm-source=feedburner&amp;amp;utm-medium=feed&amp;amp;utm-campaign=Feed%3A+DataCenterKnowledge+%28Data+Center+Knowledge%29&amp;amp;utm-content=Google+Reader"&gt;allegedly caused by a peering issue&lt;/a&gt;. You know, a &lt;em&gt;network&lt;/em&gt;, problem. &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/TheOneProblemCloudCantSolve_717D/blockquote_2.gif"&gt;&lt;img title="blockquote" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; margin: 0px 10px 0px 0px; border-right-width: 0px" height="28" alt="blockquote" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/TheOneProblemCloudCantSolve_717D/blockquote_thumb.gif" width="46" align="left" border="0" /&gt;&lt;/a&gt; &lt;font color="#800000"&gt;UPDATE: “The issues resulted from a problem with a router used for peering and backbone connectivity located outside the data center at a peering facility, which handles approximately 20% of Rackspace’s Dallas traffic,” Rackspace said in an &lt;/font&gt;&lt;a href="http://www.rackspace.com/blog/?p=767"&gt;&lt;font color="#800000"&gt;incident report&lt;/font&gt;&lt;/a&gt;&lt;font color="#800000"&gt; on its blog. “The problems stemmed from a configuration and testing procedure made at our new Chicago data center, creating a routing loop between the Chicago and Dallas data centers. This activity was in final preparation for network integration between the Chicago and Dallas data centers. The network integration of the facilities was scheduled to take place during the monthly maintenance window outside normal business hours, and today’s incident occurred during final preparations.”&lt;/font&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;We spend so much time worrying about application availability that we often overlook – both purposefully and accidentally – one of the most basic facts on which applications are built today: the existence of a working, reliable core network. &lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 100px; background: #fff; float: left; color: #000; line-height: 80px; font-family: times; padding-: 1px 5px 0 0"&gt;N&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;&lt;/p&gt;  &lt;hr style="color: #c0c0c0" width="100%" noshade="noshade" /&gt;&lt;strong&gt;O NETWORK, NO APPS&lt;/strong&gt;   &lt;hr style="color: #c0c0c0" width="100%" noshade="noshade" /&gt;  &lt;p /&gt;  &lt;p&gt;One of the most basic solutions to ensuring availability at the network layer is network redundancy. That is to say most organizations who determine that availability is a number one priority will maintain multiple connections to the Internet – via different providers – and then utilize “&lt;a href="http://www.f5.com/solutions/availability/link-load-balancing/"&gt;link load balancing&lt;/a&gt;” to route, re-route, and balance traffic across those  &lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/TheOneProblemCloudCantSolve_717D/cat5_network_cable_2.png"&gt;&lt;img title="cat5_network_cable" style="border-right: 0px; border-top: 0px; display: inline; margin: 0px; border-left: 0px; border-bottom: 0px" height="154" alt="cat5_network_cable" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/TheOneProblemCloudCantSolve_717D/cat5_network_cable_thumb.png" width="240" align="right" border="0" /&gt;&lt;/a&gt;connections. This redundancy is supposed to ensure that if one connection (provider) is hit with an outage or simply experiencing poor performance that another provider can be used to ensure customers and users can access applications. &lt;/p&gt;  &lt;p&gt;This would seem to mean, at first glance, that cloud computing does not have a part to play in network availability. You can’t outsource your physical connectivity to “the cloud”, after all, so it doesn’t seem as though cloud has a part to play in maintaining availability from a network perspective. &lt;/p&gt;  &lt;p&gt;That’s true. From a network perspective, cloud can’t help. From an internal user/customer perspective, cloud can’t help. &lt;/p&gt;  &lt;p&gt;But from an external customer/user perspective, perhaps cloud &lt;em&gt;can &lt;/em&gt;be of service (sorry for that one, really) after all. &lt;/p&gt;  &lt;p&gt;The reason to keep connectivity available is, ultimately, to deliver applications. While cloud computing cannot address a problem with basic physical connectivity it can be leveraged in a way as to help ensure that applications are available in the unlikely event that an organization’s physical connectivity is interrupted. Using the cloud as a secondary data center, essentially, provides the means by which at least customers &lt;em&gt;external &lt;/em&gt;to the network problem can still access applications in the face of an interruption. Cloud as a secondary data center is a fairly mundane and perhaps even boring use of cloud computing, and yet it’s probably one of the more well-understood and cost effective examples of how cloud computing can be leveraged by organizations of all sizes, but particularly smaller ones that may not have before had the option to have a “second” data center due to prohibitive costs. &lt;/p&gt;  &lt;p&gt;The only problem – and it is a problem – in this entire scenario is that the &lt;a href="http://www.f5.com/products/big-ip/product-modules/global-traffic-manager.html"&gt;global application delivery solution (global server load balancer or GSLB)&lt;/a&gt; must remain available too, which may mean that deployment at the local data center is not an option because well, if there’s no connectivity to the applications there’s no connectivity to the GSLB, either. The reason this is a problem is that typically the GSLB is deployed locally, under the control of the organization. In order to take advantage of cloud computing as a secondary data center to combat the potential loss of physical network service, the GSLB would have to be deployed externally, so it was still accessible to &lt;em&gt;external &lt;/em&gt;customers and users. &lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 100px; background: #fff; float: left; color: #000; line-height: 80px; font-family: times; padding-: 1px 5px 0 0"&gt;I&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;&lt;/p&gt;  &lt;p&gt;   &lt;/p&gt;&lt;hr style="color: #c0c0c0" width="100%" noshade="noshade" /&gt;&lt;strong&gt;S THIS A JOB FOR INTERCLOUD? &lt;/strong&gt;    &lt;hr style="color: #c0c0c0" width="100%" noshade="noshade" /&gt;    &lt;br /&gt;Perhaps an external GSLB “service” is what’s required; an &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/07/02/governance-service-catalogs-and-the-cloud.aspx"&gt;external catalog of services&lt;/a&gt; that’s based on GSLB and provides core DNS services on an “organizational” scale. A domain “locator” that’s not quite DNS but yet is. Or perhaps we’re simply looking at a solution that’s more along the lines of a third-party DNS service, where DNS is outsourced to a managed provider and GSLB is an extension or additional option that can be provisioned. Perhaps it, itself, is a cloud-based service that only kicks in when/if you need it.   &lt;p /&gt;  &lt;p&gt;There is almost certainly a solution to the problem of maintaining network-level availability that involves “the cloud” but it is architectural, not technological. It’s not a tangible solution like link load balancing that physically addresses the challenges associated with maintaining network connectivity. It’s a deployment model, an architectural model, that will necessary to solve this problem. The pieces of the puzzle already exist, generally speaking, so coupling together a solution today would not, strictly speaking, be impossible. But it may be desirable to envision a solution that is based on standards (&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2010/01/08/pursuit-of-intercloud-is-practical-not-premature.aspx"&gt;Intercloud&lt;/a&gt; may actually help with this one) or standard practices, and that’s something that today the cloud doesn’t address. &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 title="Follow F5 Networks on Twitter" href="http://tweepml.org/F5-Networks-Tweeple/"&gt;&lt;img height="18" src="http://tweepml.org/s/tweepml16.png" width="18" border="0" /&gt;&lt;/a&gt; &lt;a title="Follow F5 DevCentral on Twitter" href="http://tweepml.org/F5-DevCentral/"&gt;&lt;img height="18" src="http://tweepml.org/s/tweepml16.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://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 href="http://www.friendfeed.com/lmacvittie"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="18" alt="friendfeed" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/friendfeed_3.jpg" width="18" border="0" /&gt;&lt;/a&gt; &lt;a href="http://www.facebook.com/lmacvittie"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="18" alt="icon_facebook" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/icon_facebook_4.png" width="18" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&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 type="text/javascript" src="http://track.mybloglog.com/js/jsserv.php?mblID=2008070914270355"&gt;&lt;/script&gt;&lt;/p&gt;  &lt;p&gt;Related blogs &amp;amp; articles: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.communities.hp.com/online/blogs/nextbigthingeds/archive/2010/01/06/pursuit-of-the-intercloud-is-premature.aspx"&gt;Pursuit of the Intercloud is Premature&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.infra20.com/post.cfm/the-intercloud-makes-networks-sexy-again"&gt;The Intercloud makes Networks sexy again&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.cisco.com/datacenter/comments/the_inter-cloud_and_internet_analogies/"&gt;The Inter-Cloud and internet analogies&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/09/14/the-cloud-metastructure-hubub.aspx"&gt;The Cloud Metastructure Hubub&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/07/02/governance-service-catalogs-and-the-cloud.aspx"&gt;Governance: Service Catalogs and the Cloud&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/08/31/migrate-vm-cloud-f5-vmware-demo.aspx"&gt;Migrate a live &lt;b&gt;application&lt;/b&gt; across clouds with no downtime? Sure, no problem.&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/07/09/cloud-balancing-cloud-bursting-and-intercloud.aspx"&gt;Cloud Balancing, Cloud Bursting, and Intercloud&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/06/30/intercloud-the-evolution-of-global-application-delivery.aspx"&gt;Intercloud: The Evolution of &lt;b&gt;Global&lt;/b&gt; &lt;b&gt;Application&lt;/b&gt; &lt;b&gt;Delivery&lt;/b&gt;&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/10/08/infrastructure-2.0-is-the-beginning-of-the-story-not-the.aspx"&gt;&lt;b&gt;Infrastructure&lt;/b&gt; &lt;b&gt;2.0&lt;/b&gt; Is the Beginning of the Story, Not the End&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;div class="wlWriterEditableSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:0e423b51-4365-4377-a524-43c883178cd7" 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/load+balancing" rel="tag"&gt;load balancing&lt;/a&gt;,&lt;a href="http://technorati.com/tags/link+load+balancing" rel="tag"&gt;link load balancing&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/availability" rel="tag"&gt;availability&lt;/a&gt;,&lt;a href="http://technorati.com/tags/cloud+computing" rel="tag"&gt;cloud computing&lt;/a&gt;,&lt;a href="http://technorati.com/tags/global+server+load+balancing" rel="tag"&gt;global server load balancing&lt;/a&gt;,&lt;a href="http://technorati.com/tags/global+application+delivery" rel="tag"&gt;global application delivery&lt;/a&gt;,&lt;a href="http://technorati.com/tags/DNS" rel="tag"&gt;DNS&lt;/a&gt;&lt;/div&gt;&lt;img src="http://devcentral.f5.com/weblogs/macvittie/aggbug/6270.aspx" width="1" height="1" /&gt;</description><dc:creator>Lori MacVittie</dc:creator></item><item><title>TMSH Is here &amp;ndash; Your guide to command line dominance</title><link>http://devcentral.f5.com/weblogs/dmacvittie/archive/2010/01/12/tmsh-is-here-ndash-your-guide-to-command-line-dominance.aspx</link><pubDate>Tue, 12 Jan 2010 15:44:13 GMT</pubDate><guid isPermaLink="true">http://devcentral.f5.com/weblogs/dmacvittie/archive/2010/01/12/tmsh-is-here-ndash-your-guide-to-command-line-dominance.aspx</guid><wfw:comment>http://devcentral.f5.com/weblogs/dmacvittie/comments/6269.aspx</wfw:comment><wfw:commentRss>http://devcentral.f5.com/weblogs/dmacvittie/comments/commentRss/6269.aspx</wfw:commentRss><comments>http://devcentral.f5.com/weblogs/dmacvittie/archive/2010/01/12/tmsh-is-here-ndash-your-guide-to-command-line-dominance.aspx#comment</comments><slash:comments>2</slash:comments><trackback:ping>http://devcentral.f5.com/weblogs/dmacvittie/services/trackbacks/6269.aspx</trackback:ping><source url="http://devcentral.f5.com/weblogs/dmacvittie/rss.aspx">TMSH Is here &amp;ndash; Your guide to command line dominance</source><description>&lt;p&gt;Well, tmsh has been around for a while now, but the scriptable version and support for it here on DevCentral are relatively new. In fact, I just got the links to the parts of DevCentral last night, so that’s very new.&lt;/p&gt;  &lt;p&gt;I &lt;a href="http://devcentral.f5.com/weblogs/dmacvittie/archive/2009/04/08/v.10-power-in-the-shell-ndash-tmsh-and-you.aspx" target="_blank"&gt;wrote about tmsh&lt;/a&gt; when it first came out in version 10.0, but with version 10.1 we have added some key functionality to make it more useful in your daily admin work.&lt;/p&gt;  &lt;p&gt;And now, our team with the able assistance of our Technical Publications staff have created a &lt;a href="http://devcentral.f5.com/wiki/default.aspx/tmsh.HomePage" target="_blank"&gt;tmsh wiki&lt;/a&gt; much like the iControl and iRules wikis, and &lt;a href="http://devcentral.f5.com/Default.aspx?tabid=53&amp;amp;view=topics&amp;amp;forumid=70" target="_blank"&gt;forums&lt;/a&gt; to support tmsh (note: both require DevCentral logins).&lt;/p&gt;  &lt;p&gt;What is tmsh? Well the first link in this article will tell you a lot, but if you just want the synopsis, tmsh is the shell replacement for BIG-IP’s bigpipe command, only it does much more than bigpipe did. Worried that you don’t want to have to learn tmsh to manage your BIG-IP family products? No worries, bigpipe is still available at this time, but the power of tmsh combined with its scripting capabilities make us certain that you should check it out. bigpipe won’t be around forever, and you can get a lot out of tmsh. &lt;/p&gt;  &lt;p&gt;And that’s where the wiki and the forums come in. Pop by, registered members of DC can modify the wiki and post to the forums, so not only can you get a leg up getting started, but you can share your experience with others and take advantage of their knowledge. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://devcentral.f5.com/weblogs/cwalker/" target="_blank"&gt;Colin&lt;/a&gt; and &lt;a href="http://devcentral.f5.com/weblogs/jason/" target="_blank"&gt;Jason&lt;/a&gt; have put together quite a few examples of how to use the features, they’re linked to the different tmsh commands in the wiki. Let us know what you think, offer up your own examples, help us expand the documentation, and have some fun. We’ll be around if you need anything.&lt;/p&gt;  &lt;p&gt;Until next time,&lt;/p&gt;  &lt;p&gt;Don.&lt;/p&gt;&lt;img src="http://devcentral.f5.com/weblogs/dmacvittie/aggbug/6269.aspx" width="1" height="1" /&gt;</description><dc:creator>Don MacVittie</dc:creator></item><item><title>Optimize Prime: The Self-Optimizing Application Delivery Network</title><link>http://devcentral.f5.com/weblogs/macvittie/archive/2010/01/12/optimize-prime-the-self-optimizing-application-delivery-network.aspx</link><pubDate>Tue, 12 Jan 2010 11:02:32 GMT</pubDate><guid isPermaLink="true">http://devcentral.f5.com/weblogs/macvittie/archive/2010/01/12/optimize-prime-the-self-optimizing-application-delivery-network.aspx</guid><wfw:comment>http://devcentral.f5.com/weblogs/macvittie/comments/6267.aspx</wfw:comment><wfw:commentRss>http://devcentral.f5.com/weblogs/macvittie/comments/commentRss/6267.aspx</wfw:commentRss><comments>http://devcentral.f5.com/weblogs/macvittie/archive/2010/01/12/optimize-prime-the-self-optimizing-application-delivery-network.aspx#comment</comments><slash:comments>2</slash:comments><trackback:ping>http://devcentral.f5.com/weblogs/macvittie/services/trackbacks/6267.aspx</trackback:ping><source url="http://devcentral.f5.com/weblogs/macvittie/rss.aspx">Optimize Prime: The Self-Optimizing Application Delivery Network</source><description>&lt;p&gt;&lt;em&gt;Infrastructure 2.0 enabled application delivery platforms have more than a few things in common with the Transformers. Like Autobots, there’s more to it than meets the eye. &lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/SelfOptimizingApplicationDeliveryNetwo.0_3E9A/optimize-prime_2.png"&gt;&lt;img title="optimize-prime" style="border-right: 0px; border-top: 0px; display: inline; margin-left: 0px; border-left: 0px; margin-right: 0px; border-bottom: 0px" height="306" alt="optimize-prime" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/SelfOptimizingApplicationDeliveryNetwo.0_3E9A/optimize-prime_thumb.png" width="387" align="left" border="0" /&gt;&lt;/a&gt; If you’re familiar with the mythology of the Transformers – and perhaps even if you aren’t – you know that they key attribute of Transformers is their ability to take on “alternate modes” such as cars, trucks, and winged vehicles simply by scanning the object and then adapting their own form to match. &lt;/p&gt;  &lt;p&gt;One of the key premises of Infrastructure 2.0 is also the ability of network and application networking solutions to adapt to their environments. While they won’t be transforming their physical manifestations into some other device they &lt;em&gt;can&lt;/em&gt; transform their configurations based on the environment in which they are deployed. Like the Transformers ability to take on alternate modes, the ability to react in real-time is a native capability of Infrastructure 2.0 solutions and should not be overlooked by those integrating Infrastructure 2.0 into their cloud-based architectures. &lt;/p&gt;  &lt;p&gt;While everyone seems aware of the capability of Infrastructure 2.0 to be managed and integrated with the rest of a cloud-based ecosystem via a &lt;a href="http://devcentral.f5.com/iControl"&gt;standards-based control-plane API&lt;/a&gt;, there’s more to infrastructure 2.0 than meets the eye, here. That same dynamic control plane can be used at run-time to transform configuration and policies to better match customer need for balancing of performance and cost across the application infrastructure. &lt;em&gt;That’s &lt;/em&gt;the transformative power of infrastructure 2.0, and what will certainly be core to the next generation of network management systems when trying to enforce SLAs across applications, data centers, and cloud computing environments, a.k.a. &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/07/09/cloud-balancing-cloud-bursting-and-intercloud.aspx" target="_blank"&gt;cloud balancing&lt;/a&gt;.  &lt;/p&gt;  &lt;p&gt;Now I doubt that anytime in the future we’ll hear &lt;a href="http://www.f5.com/products/big-ip/" target="_blank"&gt;application delivery controllers&lt;/a&gt; describe themselves as autonomous networking organisms from &amp;lt;&lt;font color="#800000"&gt;insert vendor city here&lt;/font&gt;&amp;gt; still there are enough similarities between a self-optimizing application delivery network and a Transformer to run with the analogy – and as long as I have the opportunity to legitimately include a picture of Optimus Prime in my blog, well, I’m going to take it. &lt;/p&gt;  &lt;hr width="100%" color="#680000" noshade="noshade" /&gt;  &lt;div style="background: #ebd3d3; width: 100%"&gt;&lt;strong&gt;TRANSFORM and DISTRIBUTE LOAD&lt;/strong&gt;&lt;/div&gt;  &lt;hr width="100%" color="#680000" noshade="noshade" /&gt;  &lt;p&gt;In the case of application delivery the “transformation” that makes this analogy work may involve many different functionalities: &lt;a href="http://www.f5.com/solutions/security/" target="_blank"&gt;security&lt;/a&gt;, &lt;a href="http://www.f5.com/solutions/acceleration/" target="_blank"&gt;acceleration and optimization&lt;/a&gt;, &lt;a href="http://www.f5.com/solutions/availability/" target="_blank"&gt;core load balancing&lt;/a&gt;. Today we’re focusing on the &lt;a title="" href="http://www.f5.com/glossary/load-balancing.html" rel=""&gt;load balancing&lt;/a&gt; algorithm, specifically, as the use of load balancing in cloud computing environments in order to achieve “elastic scalability” is a requirement. Unfortunately there is very little time spent on the unique challenges associated with load balancing applications executing in environments with varied compute resource capabilities. One of the mantras of cloud computing is the use of otherwise idle resources to provide the additional compute power necessary to scale an application. What this ignores is that these idle resources may very well be of different capacities in terms of CPU and RAM available. By pooling together these “servers” of varied capacities, it creates a heterogeneous environment which in turn directly impacts the entire application delivery chain. Of particular note should be the &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2010/01/05/itrsquos-2am-do-you-know-what-algorithm-your-load-balancer.aspx"&gt;load balancing algorithm&lt;/a&gt; used to distribute requests across the pool of “servers.” &lt;/p&gt;  &lt;p&gt;The problem is that by dynamically adding a server with a different CPU and RAM configuration – whether virtual or physical – to the “pool” of resources across which the &lt;a title="" href="http://www.f5.com/glossary/load-balancer.html" rel=""&gt;Load balancer&lt;/a&gt; is distributing requests it &lt;em&gt;changes &lt;/em&gt;how effective that algorithm is which in turn impacts application performance and can, unfortunately, actually render smaller instances of servers unavailable in short order. Also a possibility is that it will overwhelm the smaller server before the larger servers, which could – depending on how you have your environment configured – lead to the launching of &lt;em&gt;another &lt;/em&gt;small server which, of course, incurs more operating costs. &lt;/p&gt;  &lt;p&gt;Consider you have three “super size” servers, all with the same RAM and CPU capacity. A spike in use is anticipated because of some EVENT but not so much that you need a super size server, a “regular sized” server will suffice. You provision it. The spike in use occurs and then the load balancer, which has been distributing traffic based on a round robin algorithm, overwhelms the regular sized server causing timeouts, delays, and other availability and performance related problems for visitors. &lt;/p&gt;  &lt;p&gt;What happened? The load balancing algorithm, which was perfectly suited for a homogeneous environment, was not so well-suited to a heterogeneous environment. In fact, it was downright wrong for a heterogeneous environment. What happened is that no one took into consideration that the infrastructure, optimized for a given environment, might not be so optimized if that environment changed and did not appropriately modify the load balancing configuration. &lt;/p&gt;  &lt;hr width="100%" color="#680000" noshade="noshade" /&gt;   &lt;div style="background: #ebd3d3; width: 100%"&gt;&lt;strong&gt;SOLUTIONS &lt;/strong&gt;&lt;/div&gt;  &lt;hr width="100%" color="#680000" noshade="noshade" /&gt;  &lt;p&gt;There are a number of solutions that address this particular challenge: &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;&lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/SelfOptimizingApplicationDeliveryNetwo.0_3E9A/1_2.jpg"&gt;&lt;img title="1" style="border-right: 0px; border-top: 0px; display: inline; margin: 0px 10px 0px 0px; border-left: 0px; border-bottom: 0px" height="33" alt="1" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/SelfOptimizingApplicationDeliveryNetwo.0_3E9A/1_thumb.jpg" width="24" align="left" border="0" /&gt;&lt;/a&gt; Provision homogeneously &lt;/strong&gt;      &lt;br /&gt;If the load balancing algorithm you are using is optimized inherently for a homogeneous environment, then never deviate from that. Ever. &lt;/p&gt;    &lt;p&gt;&lt;strong&gt;&lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/SelfOptimizingApplicationDeliveryNetwo.0_3E9A/2_2.jpg"&gt;&lt;img title="2" style="border-right: 0px; border-top: 0px; display: inline; margin: 0px 10px 0px 0px; border-left: 0px; border-bottom: 0px" height="28" alt="2" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/SelfOptimizingApplicationDeliveryNetwo.0_3E9A/2_thumb.jpg" width="22" align="left" border="0" /&gt;&lt;/a&gt; Human intervention         &lt;br /&gt;&lt;/strong&gt;Manually change the load balancing algorithm when new servers are added, then change it back when it’s released. &lt;/p&gt;    &lt;p&gt;&lt;strong&gt;&lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/SelfOptimizingApplicationDeliveryNetwo.0_3E9A/3_2.jpg"&gt;&lt;img title="3" style="border-right: 0px; border-top: 0px; display: inline; margin: 0px 10px 0px 0px; border-left: 0px; border-bottom: 0px" height="31" alt="3" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/SelfOptimizingApplicationDeliveryNetwo.0_3E9A/3_thumb.jpg" width="25" align="left" border="0" /&gt;&lt;/a&gt; Automate         &lt;br /&gt;&lt;/strong&gt;Employ the collaborative nature of a &lt;a href="http://devcentral.f5.com/iControl" target="_blank"&gt;dynamic control plane&lt;/a&gt; to automatically recognize the addition of a server that creates a heterogeneous environment and dynamically change the load balancing algorithm to one better suited to a heterogeneous environment, then reverse the change when the environment returns to a homogeneous one. &lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;The load balancing algorithm that might be right for one application might not be right for another, depending on the style of application, its usage patterns, the servers used to serve it, and even the time of year. And changing any of those variables can have an impact on the behavior of the application because it directly impacts the load balancer. &lt;/p&gt;  &lt;p&gt;Unfortunately we’re not quite at the point where the load balancer can automatically determine the right load balancing algorithm for you, but &lt;a href="http://devcentral.f5.com/wiki/default.aspx/iControl/GlobalLB__Pool__set_preferred_lb_method.html"&gt;there are ways to adjust – dynamically – the algorithm based on the capabilities of the servers&lt;/a&gt; (physical and/or virtual) being load balanced so one day it is quite possible that through the magic of Infrastructure 2.0, load balancing algorithms will be modified on-demand based on the type of servers that make up the pool of resources. Today, if you know which algorithm is best given a specific set of resources you can codify the change such that it is automated; it’s only the choice of algorithm that can’t be, today, automatically determined. You probably could develop a system that does automatically determine through trial and error and monitoring of response times and capabilities, but it would not be a trivial task. &lt;/p&gt;  &lt;p&gt;In order for application delivery infrastructure to automatically detect and optimize load balancing algorithms itself it’s necessary to first understand the impact of the load balancing algorithm on applications and determine which one is best able to meet the service level agreements in various environments. This will become more important as public and private cloud computing environments are leveraged in new ways and introduce more heterogeneous environments. Seasonal demand might, for example, be met by leveraging different “sizes” of unused capacity across multiple servers in the data center. These “servers” would likely be of different CPU and RAM capabilities and thus would certainly be impacted by the choice of load balancing algorithm. Being able to &lt;a href="http://devcentral.f5.com/iControl "&gt;dynamically modify the load balancing algorithm&lt;/a&gt; based on the capacities of application instances is an invaluable tool when attempting to maximize the efficiency of resources while minimizing associated costs. Infrastructure 2.0 enabled load balancing solutions are capable of this level of automation; what they can’t do, yet, is decide which load balancing algorithm to apply. But if &lt;em&gt;you &lt;/em&gt;know which one to apply – &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/06/10/infrastructure-matters-challenges-of-cloud-based-testing.aspx" target="_blank"&gt;because you’ve tested and you know, right?&lt;/a&gt; – then you can automate the change based on triggers you specify, such as the addition of a server with CPU and RAM that turns a homogeneous environment into a heterogeneous environment. And vice-versa. &lt;/p&gt;  &lt;p&gt;Virtualization and cloud computing are definitely game changers. But they not only change the basic rules of the game, they also change the &lt;em&gt;strategy &lt;/em&gt;with which you must approach the game. It’s like moving from checkers to chess. There are a great many more moves you can make, and you’ve got to carefully consider how this move &lt;em&gt;right now &lt;/em&gt;will impact a move you may need to make later on. One of the most important parts of that new strategy must be to recognize that while the ability to automate provisioning and integrate with the rest of the infrastructure is certainly a key benefit of infrastructure 2.0, just as beneficial is the ability to adjust and optimize the delivery of applications &lt;em&gt;in real time. &lt;/em&gt;&lt;/p&gt;  &lt;br /&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 title="Follow F5 Networks on Twitter" href="http://tweepml.org/F5-Networks-Tweeple/"&gt;&lt;img height="18" src="http://tweepml.org/s/tweepml16.png" width="18" border="0" /&gt;&lt;/a&gt; &lt;a title="Follow F5 DevCentral on Twitter" href="http://tweepml.org/F5-DevCentral/"&gt;&lt;img height="18" src="http://tweepml.org/s/tweepml16.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://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 href="http://www.friendfeed.com/lmacvittie"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="18" alt="friendfeed" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/friendfeed_3.jpg" width="18" border="0" /&gt;&lt;/a&gt; &lt;a href="http://www.facebook.com/lmacvittie"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="18" alt="icon_facebook" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/icon_facebook_4.png" width="18" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&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 type="text/javascript" src="http://track.mybloglog.com/js/jsserv.php?mblID=2008070914270355"&gt;&lt;/script&gt;&lt;/p&gt;  &lt;p /&gt;  &lt;p /&gt;  &lt;p /&gt;  &lt;p /&gt;  &lt;p /&gt;  &lt;p /&gt;  &lt;p /&gt;  &lt;p /&gt;  &lt;p /&gt;  &lt;p /&gt;  &lt;p /&gt;  &lt;p&gt;Related blogs &amp;amp; articles: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2010/01/05/itrsquos-2am-do-you-know-what-algorithm-your-load-balancer.aspx"&gt;It’s 2am: Do You Know What Algorithm Your Load Balancer is Using?&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2010/01/08/pursuit-of-intercloud-is-practical-not-premature.aspx"&gt;Pursuit of Intercloud is Practical not Premature&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2010/01/04/the-application-delivery-deus-ex-machina.aspx"&gt;The Application Delivery Deus Ex Machina&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/12/04/next-generation-management-of-data-centers-should-be-modeled-on-social.aspx"&gt;Next-Generation Management of Data Centers Should be Modeled on Social Networking&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/11/12/cloud-standards-and-pants.aspx"&gt;Cloud, Standards, and Pants&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/11/04/the-api-is-the-new-cli.aspx"&gt;The API Is the New CLI&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/10/08/infrastructure-2.0-is-the-beginning-of-the-story-not-the.aspx"&gt;&lt;b&gt;Infrastructure&lt;/b&gt; &lt;b&gt;2.0&lt;/b&gt; Is the Beginning of the Story, Not the End&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/09/29/infrastructure-2.0-isnrsquot-just-for-cloud-computing.aspx"&gt;&lt;b&gt;Infrastructure&lt;/b&gt; &lt;b&gt;2.0&lt;/b&gt; Isn’t Just For Cloud Computing&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p /&gt;  &lt;p /&gt;  &lt;p /&gt;  &lt;p /&gt;  &lt;p /&gt;  &lt;p /&gt;  &lt;p /&gt;  &lt;p /&gt;  &lt;p /&gt;  &lt;p /&gt;  &lt;p /&gt;  &lt;p /&gt;  &lt;div class="wlWriterEditableSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:b0116c66-0410-40fc-b750-3884ebb4483b" 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/load-balancing" rel="tag"&gt;load-balancing&lt;/a&gt;,&lt;a href="http://technorati.com/tags/load-balancer" rel="tag"&gt;load-balancer&lt;/a&gt;,&lt;a href="http://technorati.com/tags/application_delivery" rel="tag"&gt;application_delivery&lt;/a&gt;,&lt;a href="http://technorati.com/tags/unified+application+delivery+and+data+services" rel="tag"&gt;unified application delivery and data services&lt;/a&gt;,&lt;a href="http://technorati.com/tags/infrastructure+2.0" rel="tag"&gt;infrastructure 2.0&lt;/a&gt;,&lt;a href="http://technorati.com/tags/transformers" rel="tag"&gt;transformers&lt;/a&gt;,&lt;a href="http://technorati.com/tags/optimization" rel="tag"&gt;optimization&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/algorithms" rel="tag"&gt;algorithms&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+computing" rel="tag"&gt;cloud computing&lt;/a&gt;&lt;/div&gt;&lt;img src="http://devcentral.f5.com/weblogs/macvittie/aggbug/6267.aspx" width="1" height="1" /&gt;</description><dc:creator>Lori MacVittie</dc:creator></item><item><title>Inter &amp;ndash; Cloud: Let&amp;rsquo;s talk data.</title><link>http://devcentral.f5.com/weblogs/dmacvittie/archive/2010/01/11/inter-ndash-cloud-letrsquos-talk-data.aspx</link><pubDate>Tue, 12 Jan 2010 03:56:09 GMT</pubDate><guid isPermaLink="true">http://devcentral.f5.com/weblogs/dmacvittie/archive/2010/01/11/inter-ndash-cloud-letrsquos-talk-data.aspx</guid><wfw:comment>http://devcentral.f5.com/weblogs/dmacvittie/comments/6266.aspx</wfw:comment><wfw:commentRss>http://devcentral.f5.com/weblogs/dmacvittie/comments/commentRss/6266.aspx</wfw:commentRss><comments>http://devcentral.f5.com/weblogs/dmacvittie/archive/2010/01/11/inter-ndash-cloud-letrsquos-talk-data.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://devcentral.f5.com/weblogs/dmacvittie/services/trackbacks/6266.aspx</trackback:ping><source url="http://devcentral.f5.com/weblogs/dmacvittie/rss.aspx">Inter &amp;ndash; Cloud: Let&amp;rsquo;s talk data.</source><description>&lt;p&gt;Funny thing happens when you start talking about things like inter-cloud standards, those who are looking at it from the IT guy’s perspective start to see issues that are as-yet unresolved.&lt;/p&gt;  &lt;p&gt;We have an excellent &lt;a href="http://www.f5.com/news-press-events/web-media/webcasts/application-migration-clouds.html" target="_blank"&gt;screencast&lt;/a&gt; on moving VMs between clouds, and &lt;a href="http://devcentral.f5.com/weblogs/macvittie/Default.aspx" target="_blank"&gt;Lori&lt;/a&gt; has written a ton about inter-cloud standards, but neither goes far enough. Yet.&lt;/p&gt;  &lt;p&gt;George Crump of &lt;a href="http://www.storage-switzerland.com/Welcome.html" target="_blank"&gt;Storage Switzerland&lt;/a&gt; talks about moving data over on the &lt;a href="http://www.networkcomputing.com/cloud-storage/keys-to-cloud-storage-success.php" target="_blank"&gt;Network Computing Blogs&lt;/a&gt; too, but he also is missing some important bits in the Inter-Cloud story.&lt;/p&gt;  &lt;p&gt;Simply put, you’re gonna have downtime if you’re trying to do it today. Or tomorrow. Yeah, probably next year too. After that the vision gets a bit cloudy.&lt;/p&gt;  &lt;p&gt;Your website “WeSellStuffForBigProfits.com” is not going to be around for a while, and that means “WeDontSellStuffAtAll.com” is a better name.&lt;/p&gt;  &lt;p&gt;We at F5 have a ton of the puzzle in place – our &lt;a href="http://www.f5.com/products/big-ip/product-modules/global-traffic-manager.html" target="_blank"&gt;GTM product module&lt;/a&gt; can dynamically redirect users to the new instance no matter how far across the globe it has moved, our &lt;a href="http://www.f5.com/products/big-ip/product-modules/local-traffic-manager.html" target="_blank"&gt;LTM product’s&lt;/a&gt; iSessions can create back-end tunnels to transfer data (assuming both cloud vendors have BIG-IP LTMs, which at this point in time is a relatively safe assumption), and we have the whitepaper on how to move your VMs and bleed off users to the new cloud provider.&lt;/p&gt;  &lt;p&gt;But there is the problem. If there is no cutover, what to do about changing data? Whether it is in files or in a database, users in two places on an interactive system means you have two sets of data that don’t match and are both changing. Bad Juju.&lt;/p&gt;  &lt;p&gt;We can move your users, we can move your app, we can move your files and databases. What we can’t do is guarantee that the new file system or database is the only place that changes are being made – because you either migrate users (and thus they’re potentially updating on two systems simultaneously) or you cut them over (and they lose their connection).&lt;/p&gt;  &lt;p&gt;But all is not lost. Several years ago, quite a few companies started approaching data replication from a new perspective – Continuous Data Protection (CDP). While most of the time CDP is overkill (every DB transaction replicated as-it-happens, in essence the call being replicated rather than the data, each write to the file system the same), moving between clouds might just be the golden problem for CDP to solve. Turn CDP on for the old DB/Filesystem and make the new DB/Filesystem the target. Then whenever someone runs a transaction or uploads a file to the old site, it is automatically copied to the new site also. I do have some questions about changes coming at the new site from both users and the old site – there is a potential there for conflict – but that’s the type of stuff I would ask the CDP vendor how they resolved.&lt;/p&gt;  &lt;p&gt;I’ve not tried this of course. Intercloud is not yet in such a state that you can come up with a good idea and pop-off to test it, but the theory is sound as long as both providers offer you APIs for getting at your files and data. Indeed, the Cloud Interoperability crowd should be taking steps to make certain this happens.&lt;/p&gt;  &lt;p&gt;Why? Because for the people Inter-Cloud is supposed to serve – IT shops who don’t want to be locked in – moving IPs and VMs is okay, but not a complete solution. The need is for the ability to seamlessly move applications, VMs, and users. And that won’t happen if “bleeding off” users causes your data – both structured and unstructured – to become out-of-synch between source cloud and target cloud. And the CIO doesn’t want to hear that there’s going to be down-time for their site from the moment the move starts until it is finished. That’s just not viable for most online applications.&lt;/p&gt;  &lt;p&gt;There are still quite a few CDP vendors out there. I have in-depth knowledge of the CDP solutions for one vendor, but I’ll skip mentioning them here (I have a compensated relationship with them and they’re not F5, so it saves me having to put a disclaimer in my blog ;-)). You can do a bit of research into CDP and find several companies with offerings. &lt;/p&gt;  &lt;p&gt;Replication will only take you so far… It’s not real-time enough to handle things like primary/foreign key mismatches, though you can work around this, it is work, and I’ve seen even those workarounds (like separate ranges for primary keys that are auto-increment) fail. So we need something more, and CDP or massively distributed databases and filesystems are the only real answers.&lt;/p&gt;  &lt;p&gt;Until next time,&lt;/p&gt;  &lt;p&gt;Don.&lt;/p&gt;&lt;img src="http://devcentral.f5.com/weblogs/dmacvittie/aggbug/6266.aspx" width="1" height="1" /&gt;</description><dc:creator>Don MacVittie</dc:creator></item><item><title>When Did Specialized Hardware Become a Dirty Word?</title><link>http://devcentral.f5.com/weblogs/macvittie/archive/2010/01/11/when-did-specialized-hardware-become-a-dirty-word.aspx</link><pubDate>Mon, 11 Jan 2010 11:21:49 GMT</pubDate><guid isPermaLink="true">http://devcentral.f5.com/weblogs/macvittie/archive/2010/01/11/when-did-specialized-hardware-become-a-dirty-word.aspx</guid><wfw:comment>http://devcentral.f5.com/weblogs/macvittie/comments/6264.aspx</wfw:comment><wfw:commentRss>http://devcentral.f5.com/weblogs/macvittie/comments/commentRss/6264.aspx</wfw:commentRss><comments>http://devcentral.f5.com/weblogs/macvittie/archive/2010/01/11/when-did-specialized-hardware-become-a-dirty-word.aspx#comment</comments><slash:comments>9</slash:comments><trackback:ping>http://devcentral.f5.com/weblogs/macvittie/services/trackbacks/6264.aspx</trackback:ping><source url="http://devcentral.f5.com/weblogs/macvittie/rss.aspx">When Did Specialized Hardware Become a Dirty Word?</source><description>&lt;p&gt;&lt;em&gt;If you’re just trading “specialized” hardware for “dedicated” hardware you’re losing more than you’re gaining.  &lt;/em&gt;&lt;/p&gt;  &lt;p&gt;Apparently I have not gotten the memo detailing why specialized hardware is a Very Bad Thing&lt;sup&gt;(TM) &lt;/sup&gt;. I’ve looked for it, I really have, but I cannot find it anywhere. What I did find was any number of random press releases announcing how “virtual version X” of some network or application infrastructure solution was now virtualized and hey, you don’t &lt;em&gt;specialized hardware &lt;/em&gt;to run it. These random press releases neglect, I might add, to mention that there's very little difference between the requirement for "specialized hardware" and "dedicated hardware" in terms of cost of ownership, maintenance, and operational costs. &lt;/p&gt;  &lt;p&gt;But Lori, you say, incredulous that I am apparently in so much denial I can’t see that the beauty of virtual infrastructure is that there is no longer a need for dedicated hardware. &lt;/p&gt;  &lt;p&gt;Hogwash and horsepuckey, I say. Apparently I’m not the one in denial. &lt;/p&gt;  &lt;hr width="100%" color="#680000" noshade="noshade" /&gt;  &lt;div style="background: #ebd3d3; width: 100%"&gt;&lt;strong&gt;RISK, REVENUE, and RELIABILITY&lt;/strong&gt;&lt;/div&gt;  &lt;hr width="100%" color="#680000" noshade="noshade" /&gt;  &lt;p /&gt;  &lt;p&gt;The &lt;em&gt;concept&lt;/em&gt; that you can share hardware for infrastructure is certainly a true one but the reality is that most organizations are never going to do it. Ever. Not to pick on &lt;a href="http://www.cisco.com" target="_blank"&gt;Cisco&lt;/a&gt; here, but did you ever wonder &lt;em&gt;why &lt;/em&gt;it was that &lt;a href="http://digital.networkcomputing.com/channels/networkinfrastructure/showArticle.jhtml?articleID=192501714&amp;amp;pgno=1" target="_blank"&gt;AON didn’t ever pan out&lt;/a&gt;? It was an awesome concept, in my opinion, and one that’s been more successful implemented on other Cisco platforms, like &lt;a href="http://www.cisco.com/en/US/products/ps9701/index.html" target="_blank"&gt;AXP (Application Extension Platform)&lt;/a&gt;, because no router jockey, and thus by extension no organization, was going to potentially compromise their core routing &lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/WhenDidSpecializedHardwareBecomeaDirtyWo_2E10/image_2.png"&gt;&lt;img title="image" style="border-right: 0px; border-top: 0px; display: inline; margin: 10px 0px 5px 10px; border-left: 0px; border-bottom: 0px" height="240" alt="image" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/WhenDidSpecializedHardwareBecomeaDirtyWo_2E10/image_thumb.png" width="218" align="right" border="0" /&gt;&lt;/a&gt; infrastructure by allowing other code and functionality to co-exist with it. At least none that hoped to keep their jobs, anyway. That the concept has panned out better on other platforms is no surprise because those platforms are &lt;em&gt;less critical to business continuity and revenue generating business processes.  &lt;/em&gt;&lt;a href="http://www.juniper.net" target="_blank"&gt;Juniper’s&lt;/a&gt; recent &lt;a href="http://www.juniper.net/us/en/company/press-center/press-releases/2009/pr_2009_10_29-12_03.html" target="_blank"&gt;re-launch of “the network”&lt;/a&gt;, too, points to an increasing interest – at least from the vendor world – for more open, programmable network infrastructure. Whether Juniper will be more successful on its core routing platforms than Cisco remains to be seen, but I’m betting they’ll see the pattern of behavior that Cisco has, which is to say: no developed code on critical network infrastructure. &lt;/p&gt;  &lt;p&gt;And it isn’t just third-party developed applications that give organizations and network teams pause. A &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2010/01/04/the-application-delivery-deus-ex-machina.aspx" target="_blank"&gt;unified application delivery platform is highly “pluggable” and can be provisioned to execute a variety of application delivery functions&lt;/a&gt; (acceleration, security, optimization, etc…) and yet there are a large number of organizations who stand fast and prefer to provision only critical, core functionality such as &lt;a title="" href="http://www.f5.com/glossary/load-balancing.html" rel=""&gt;load balancing&lt;/a&gt; on such platforms as a means to ensure application availability. They don’t want anything to potentially interfere with that process. Period. &lt;/p&gt;  &lt;p&gt;Some pieces of infrastructure – particularly those that are part of the network – are so critical (and so very underappreciated) – that they simply cannot be exposed to the kind of risk that comes from “sharing” resources in any model. If revenue is generated on-through-over or continuity requires the availability of network component X then the availability and reliability of X cannot be compromised in the name of following the latest hype/trend/etc.. or saving a few bucks a year. &lt;/p&gt;  &lt;p&gt;That means, ultimately, that most virtualized infrastructure – if it ever exists – would simply end up replacing “specialized” with “dedicated” and incur approximately the same costs for power, space, and cooling as the physical version. Management costs remain the same, after all, because it’s not like moving from physical to virtual changes the product or its management interfaces. Virtual versions of infrastructure aren’t any more automatable than their physical counterparts, and they’re likely managed from the same, dedicated management systems that have always managed them. &lt;/p&gt;  &lt;p&gt;This belief that critical network functions are suddenly going to become virtualized and co-exist with other pieces of infrastructure or applications, heaven forbid, is misguided. It ignores the fact that if not for the stability and reliability of all that “specialized” hardware that we wouldn’t be able to focus on building out virtual application infrastructures in the first place. That without the stability and reliability of tried and true, proven hardware solutions “cloud” in any shape or form wouldn’t be a possibility because we couldn’t trust the network enough to deploy critical business applications anywhere but on our own desktops. &lt;/p&gt;  &lt;hr width="100%" color="#680000" noshade="noshade" /&gt;  &lt;div style="background: #ebd3d3; width: 100%"&gt;&lt;strong&gt;TWO STEPS FORWARD, THREE STEPS BACK&lt;/strong&gt;&lt;/div&gt;  &lt;hr width="100%" color="#680000" noshade="noshade" /&gt;Proponents of dropping specialized hardware like compression and SSL acceleration hardware point to the constant increase in raw processing power of general purpose CPUs and use it as a reason why the specialized hardware is no longer necessary. What they neglect to mention is that the same improvements in processing power also benefit the specialized hardware, making its increase in performance and raw compute power rise along with that of than general purpose compute power. Those improvements and subsequent performance benefits to applications are lost when moving from specialized (purpose-built) to dedicated/shared (general purpose) compute platforms.   &lt;p&gt;There are real benefits and reasons for infrastructure vendors to provide virtual versions of their solutions: testing, developer integration, solution creation, secondary data centers, first hit’s free marketing, etc… For non-critical infrastructure, i.e. the business &lt;em&gt;could &lt;/em&gt;continue to run and generate revenue if it was not available, virtual solutions and shared hardware are indeed a good way to decrease costs, shrink the data center footprint, and scale out on a moment’s notice. But for critical network and application network infrastructure - the components in the network that are so tightly coupled to the business’ ability to execute on a daily basis and generate revenue - it just seems foolhardy to share hardware or otherwise risk compromising the availability and reliability of those core functions. If the outages of &lt;a href="http://www.amazon.com" target="_blank"&gt;Amazon&lt;/a&gt; and &lt;a href="http://www.google.com" target="_blank"&gt;Google&lt;/a&gt; over the past year have taught us anything it’s that reliability is as important if not more so to the organization as decreasing costs. &lt;/p&gt;  &lt;p&gt;That ultimately means you’d simply replace “specialized” with “dedicated” and in the process lose whatever performance or functional benefits are associated with the “specialized” hardware. That tradeoff may not be nearly as beneficial to the organization – or its users and customers – as is put forward by marketing hype around virtualized infrastructure solutions. &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 title="Follow F5 Networks on Twitter" href="http://tweepml.org/F5-Networks-Tweeple/"&gt;&lt;img height="18" src="http://tweepml.org/s/tweepml16.png" width="18" border="0" /&gt;&lt;/a&gt; &lt;a title="Follow F5 DevCentral on Twitter" href="http://tweepml.org/F5-DevCentral/"&gt;&lt;img height="18" src="http://tweepml.org/s/tweepml16.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://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 href="http://www.friendfeed.com/lmacvittie"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="18" alt="friendfeed" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/friendfeed_3.jpg" width="18" border="0" /&gt;&lt;/a&gt; &lt;a href="http://www.facebook.com/lmacvittie"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="18" alt="icon_facebook" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/icon_facebook_4.png" width="18" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&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 type="text/javascript" src="http://track.mybloglog.com/js/jsserv.php?mblID=2008070914270355"&gt;&lt;/script&gt;&lt;/p&gt;  &lt;p&gt;Related blogs &amp;amp; articles: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/10/16/putting-a-price-on-uptime.aspx"&gt;Putting a Price on Uptime&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://digital.networkcomputing.com/channels/networkinfrastructure/showArticle.jhtml?articleID=192501714&amp;amp;pgno=1" target="_blank"&gt;Roadmap: Cisco’s AON (The Mythical Middleware Menagerie)&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.juniper.net/us/en/company/press-center/press-releases/2009/pr_2009_10_29-12_03.html" target="_blank"&gt;Juniper Launches Open Software Platform to Accelerate Innovation Across the Network&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/11/20/scaling-security-in-the-cloud-just-hit-the-reset-button.aspx"&gt;Scaling Security in the Cloud: Just Hit the Reset Button&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/11/11/drowsy-networking-green-it.aspx"&gt;‘Drowsy’ Networking&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/10/28/to-take-advantage-of-cloud-computing-you-must-unlearn.aspx"&gt;To Take Advantage of Cloud Computing You Must Unlearn, Luke.&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/10/06/yoursquore-asking-the-wrong-question-about-virtual-appliances.aspx"&gt;You’re Asking the Wrong Question About Virtual Appliances&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/08/19/the-myth-of-100-it-efficiency.aspx"&gt;The Myth of 100% IT Efficiency&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p /&gt;  &lt;p /&gt;  &lt;div class="wlWriterEditableSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:55a9bab9-4961-435e-a05a-9382595bf6a5" 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/hardware" rel="tag"&gt;hardware&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/infrastructure" rel="tag"&gt;infrastructure&lt;/a&gt;,&lt;a href="http://technorati.com/tags/application+delivery" rel="tag"&gt;application delivery&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/software" rel="tag"&gt;software&lt;/a&gt;,&lt;a href="http://technorati.com/tags/business" rel="tag"&gt;business&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/google" rel="tag"&gt;google&lt;/a&gt;&lt;/div&gt;&lt;img src="http://devcentral.f5.com/weblogs/macvittie/aggbug/6264.aspx" width="1" height="1" /&gt;</description><dc:creator>Lori MacVittie</dc:creator></item><item><title>DevCentral Announces Inaugural MVP Class</title><link>http://devcentral.f5.com/weblogs/jason/archive/2010/01/08/devcentral-announces-inaugural-mvp-class.aspx</link><pubDate>Fri, 08 Jan 2010 23:30:45 GMT</pubDate><guid isPermaLink="true">http://devcentral.f5.com/weblogs/jason/archive/2010/01/08/devcentral-announces-inaugural-mvp-class.aspx</guid><wfw:comment>http://devcentral.f5.com/weblogs/jason/comments/6263.aspx</wfw:comment><wfw:commentRss>http://devcentral.f5.com/weblogs/jason/comments/commentRss/6263.aspx</wfw:commentRss><comments>http://devcentral.f5.com/weblogs/jason/archive/2010/01/08/devcentral-announces-inaugural-mvp-class.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://devcentral.f5.com/weblogs/jason/services/trackbacks/6263.aspx</trackback:ping><source url="http://devcentral.f5.com/weblogs/jason/rss.aspx">DevCentral Announces Inaugural MVP Class</source><description>&lt;p&gt;&lt;a href="http://devcentral.f5.com/" target="_blank"&gt;DevCentral&lt;/a&gt; as a community relies upon the talents and contributions of its users to help peers and those who are new to F5 products and technologies.  Without users who are willing to take a moment from their busy day and help resolve the problems of complete strangers, &lt;a title="" href="http://devcentral.f5.com" rel=""&gt;DevCentral&lt;/a&gt; would be far less community, resembling more of a corporate news site.  Due in large part to the contributions of a select few, the community continues to flourish.  They are in the trenches facing challenges daily, and it is their expertise the community craves.  Without their help, some of our members might still be struggling to get the most out of their F5 gear, or more likely, the core DevCentral members would be working much longer hours as we attempt to assist our ever-growing user base.  We recognize the time and effort put into the DevCentral community.  To that end, we have created the DevCentral MVP program to honor those who, without incentive, contribute to the greater good of our community. &lt;/p&gt;  &lt;p&gt;The 2010 DevCentral MVP Class (by username) &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;hoolio -  I have to quote Drago from Rocky 4 here: "He is not human, he is a piece of iron."  Mr. forums has more posts than &lt;a href="http://devcentral.f5.com/weblogs/Joe/" target="_blank"&gt;Joe&lt;/a&gt;, &lt;a href="http://devcentral.f5.com/weblogs/cwalker/Default.aspx" target="_blank"&gt;Colin&lt;/a&gt;, and &lt;a href="http://devcentral.f5.com/weblogs/jason/Default.aspx" target="_blank"&gt;me&lt;/a&gt;--combined. &lt;/li&gt;    &lt;li&gt;bhattman - &lt;a href="http://devcentral.f5.com/Default.aspx?tabid=156" target="_blank"&gt;2009 iRules contest winner&lt;/a&gt; and ever-present in the forums and wiki. &lt;/li&gt;    &lt;li&gt;hamish - Contributor in the iControl and monitoring/management forums.  Contributed several slick templates for the F5 host template. &lt;/li&gt;    &lt;li&gt;hwidjaja - Perl nut, which excites Colin.  Active in several forums. &lt;/li&gt;    &lt;li&gt;smp - He's gotta change his username.  I type snmp every time.  Really--every time.  Also an active contributor in several of the forums. &lt;/li&gt;    &lt;li&gt;naladar - Not only a member of our community, but carries the F5 love out to the world with his own &lt;a href="http://thef5guy.com/" target="_blank"&gt;TheF5Guy&lt;/a&gt; blog.  Interview guest on &lt;a href="http://devcentral.f5.com/weblogs/dcpodcast/archive/2009/10/15/devcentral-weekly-roundup-episode-107-the-f5-guy.aspx" target="_blank"&gt;podcast 107&lt;/a&gt;. &lt;/li&gt;    &lt;li&gt;mikejo - Unashamed &lt;a href="http://devcentral.f5.com/Default.aspx?tabid=2236" target="_blank"&gt;Firepass&lt;/a&gt; specialist.  Active contributor in said forum.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;If you want to hear more about the MVPs, &lt;a href="http://devcentral.f5.com/weblogs/dcpodcast/archive/2010/01/07/devcentral-weekly-roundup-episode-117-homage-to-the-mvps.aspx" target="_blank"&gt;podcast 117&lt;/a&gt; was a dedicated highlight show.  Also, make sure to check out the &lt;a href="http://devcentral.f5.com/Default.aspx?tabid=2236" target="_blank"&gt;MVP profile pages&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;MVPs – we salute and thank you, and we know the community at large thanks you as well!&lt;/p&gt;&lt;img src="http://devcentral.f5.com/weblogs/jason/aggbug/6263.aspx" width="1" height="1" /&gt;</description><dc:creator>Jason Rahm</dc:creator></item><item><title>Pursuit of Intercloud is Practical not Premature</title><link>http://devcentral.f5.com/weblogs/macvittie/archive/2010/01/08/pursuit-of-intercloud-is-practical-not-premature.aspx</link><pubDate>Fri, 08 Jan 2010 11:56:02 GMT</pubDate><guid isPermaLink="true">http://devcentral.f5.com/weblogs/macvittie/archive/2010/01/08/pursuit-of-intercloud-is-practical-not-premature.aspx</guid><wfw:comment>http://devcentral.f5.com/weblogs/macvittie/comments/6262.aspx</wfw:comment><wfw:commentRss>http://devcentral.f5.com/weblogs/macvittie/comments/commentRss/6262.aspx</wfw:commentRss><comments>http://devcentral.f5.com/weblogs/macvittie/archive/2010/01/08/pursuit-of-intercloud-is-practical-not-premature.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://devcentral.f5.com/weblogs/macvittie/services/trackbacks/6262.aspx</trackback:ping><source url="http://devcentral.f5.com/weblogs/macvittie/rss.aspx">Pursuit of Intercloud is Practical not Premature</source><description>&lt;p&gt;Kicking of the new year (and a new decade) with a lively debate on a technological concept that is barely out of its infancy is always a good thing. &lt;a href="http://www.communities.hp.com/online/members/Fred-Cummins/default.aspx"&gt;Fred Cummins&lt;/a&gt; over at &lt;a href="http://www.hp.com"&gt;HP&lt;/a&gt; recently penned “&lt;a href="http://www.communities.hp.com/online/blogs/nextbigthingeds/archive/2010/01/06/pursuit-of-the-intercloud-is-premature.aspx"&gt;Pursuit of the Intercloud is Premature&lt;/a&gt;” and caught the eye of several of us for whom Intercloud is near and dear and, I think, provided a great way to start off the year by declaring the concept of Intercloud “not yet worthy of concern”.  &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/PursuitofIntercloudisPracticalnotPrematu_4D4A/blockquote_2.gif"&gt;&lt;img title="blockquote" style="border-right: 0px; border-top: 0px; display: inline; margin-left: 0px; border-left: 0px; margin-right: 0px; border-bottom: 0px" height="28" alt="blockquote" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/PursuitofIntercloudisPracticalnotPrematu_4D4A/blockquote_thumb.gif" width="46" align="left" border="0" /&gt;&lt;/a&gt; If this elastic mesh is provided by a single cloud provider, then it is simply a different spin on cloud computing.  If it is a mesh of independent cloud providers, sharing workloads, then it is a vision that is not worth concern &lt;u&gt;within the next decade&lt;/u&gt;. [emphasis added] &lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;I’m going to have to disagree with Fred for two reasons. The first is based on the rate of change and innovation in technology in the &lt;em&gt;last &lt;/em&gt;decade that certainly points to the next decade being just as disruptive. Consider that ten years ago, in the year 2000, most of the web as it exists today – Web 2.0, APIs, integration, collaboration, video, audio, user-generated content – didn’t exist. From a technology perspective virtualization wasn’t even a twinkle in a VC’s eye and in the infrastructure world, well, we were just beginning to explore the advantages of moving software-based solutions to hardware and hadn’t fully managed to integrate infrastructure solutions let alone anything else. &lt;/p&gt;  &lt;p&gt;The rate of change in technology makes a “decade” in real time more like a century in technology-time, as far as innovation and use of new technology goes. So to say that the vision of Intercloud isn’t worth concern for the next decade isn’t realistic. It is imminently more practical to consider where we &lt;em&gt;want &lt;/em&gt;to be in ten years and head in that direction than it is to stand pat and let our options essentially stagnate. &lt;/p&gt;  &lt;p&gt;The second reason I’m going to disagree with Fred is on the basis that Intercloud is not an “exclusive or” concept. We are not “here” or “there”, but rather we’re going to be, for some time, “somewhere in between.” Intercloud is an evolution from where we are now to where we (think we) want to be – a customer defined mesh of independent cloud providers sharing workloads. As we move through this next decade we’re going to see the application of &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/06/30/intercloud-the-evolution-of-global-application-delivery.aspx"&gt;Intercloud concepts being applied in an evolutionary&lt;/a&gt; – not revolutionary – manner. &lt;/p&gt;  &lt;hr width="100%" color="#680000" noshade="noshade" /&gt;   &lt;div style="background: #ebd3d3; width: 100%"&gt;&lt;strong&gt;INTERCLOUD is EVOLUTIONARY not REVOLUTIONARY &lt;/strong&gt;&lt;/div&gt;  &lt;hr width="100%" color="#680000" noshade="noshade" /&gt;  &lt;p&gt;Intercloud today in a simple, amoebic form exists as simply the inclusion of cloud computing hosted workloads in a global application delivery strategy. Where we once leveraged multiple data centers and &lt;a href="http://www.f5.com/products/big-ip/product-modules/global-traffic-manager.html"&gt;global server load balancing (GSLB)&lt;/a&gt; to improve application performance and availability we will – and already are in many cases – leverage cloud &lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/PursuitofIntercloudisPracticalnotPrematu_4D4A/image_2.png"&gt;&lt;img title="image" style="border-right: 0px; border-top: 0px; display: inline; margin: 10px 15px 10px 0px; border-left: 0px; border-bottom: 0px" height="318" alt="image" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/PursuitofIntercloudisPracticalnotPrematu_4D4A/image_thumb.png" width="452" align="left" border="0" /&gt;&lt;/a&gt;computing environments in much the same way. This is not futurama, it’s fact. The use of GSLB and layer 7 (application layer) content-based routing to distribute workloads across individual servers (physical or virtual) is hardly much different than using those same technologies to distribute workloads across data centers – whether those data centers be physically owned by the organization or rented by the hour from a cloud computing provider. Leveraging cloud-based storage for images or other static content and the subsequent integration with on-premise applications is very similar in implementation to the use of CDN (Content Delivery Networks) and thus not a stretch to imagine that organizations will take advantage of cheaper storage options available “in the cloud” for their image-heavy applications. &lt;/p&gt;  &lt;p&gt; The next step is to &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/07/15/business-layer-load-balancing.aspx"&gt;incorporate business-layer metrics into the decision making process&lt;/a&gt; when workloads are distributed across data center implementations, cloud-based or otherwise. When the global application delivery platform is able to base its decisions on where to route a given user and request on business-layer metrics such as costs and location as well as on performance and availability metrics, then we’ve moved beyond simple GSLB and into the realm of cloud balancing. &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/07/09/cloud-balancing-cloud-bursting-and-intercloud.aspx"&gt;Cloudbursting and cloud balancing&lt;/a&gt; are simply evolutionary steps in Intercloud, transitioning us from static application delivery architectures to more fluid, dynamic architectures that take into consideration the context in which requests are made and base service-related decisions on &lt;em&gt;all &lt;/em&gt;the variables available. &lt;/p&gt;  &lt;p&gt;Evolving from that will be the ability to actually move workloads &lt;font color="#800000"&gt;&lt;strong&gt;on-demand&lt;/strong&gt;&lt;/font&gt; based on those same variables. Today it is assumed that the workloads and/or resources already exist in several locations. Indeed, without existing application instances cloud bursting and cloud balancing are not really efficiently executed &lt;strong&gt;&lt;em&gt;today.&lt;/em&gt;&lt;/strong&gt; Though there are &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/08/31/migrate-vm-cloud-f5-vmware-demo.aspx"&gt;ways to migrate workloads on-demand today&lt;/a&gt;, it isn’t universal and requires very specific conditions. Experience and, one hopes, standards will smooth this process until it’s ubiquitous and seamless. But as we continue to refine the migration in real-time of virtual images and application packages across data centers (including cloud computing providers) we will eventually get to the point where that vision of “&lt;a href="http://www.infra20.com/post.cfm/the-intercloud-makes-networks-sexy-again"&gt;an elastic mesh of on demand processing power deployed across multiple data centers&lt;/a&gt;” is not just a vision, but a reality. &lt;/p&gt;  &lt;p&gt;That said, Fred makes some very valid points and raises questions/challenges that certainly must not be ignored: &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/PursuitofIntercloudisPracticalnotPrematu_4D4A/blockquote_4.gif"&gt;&lt;img title="blockquote" style="border-right: 0px; border-top: 0px; display: inline; margin-left: 0px; border-left: 0px; margin-right: 0px; border-bottom: 0px" height="28" alt="blockquote" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/PursuitofIntercloudisPracticalnotPrematu_4D4A/blockquote_thumb_1.gif" width="46" align="left" border="0" /&gt;&lt;/a&gt; The economies of cloud computing come from optimization of operations supporting a homogeneous computing infrastructure that is driven by market demand and a high degree of trust in the cloud service provider.  Cloud providers must make choices of technologies and develop optimal operations based on a high level of automation.  They must commit to levels of service, security and reliability.  They must make services easy to use and responsive to problems.  This is a rapidly evolving market.  Different providers will make different choices, potentially appealing to different markets.  They cannot optimize if they must also maintain compatibility with other providers.  In addition, they would need agreements for ensuring quality of service and establishing cross-billing mechanisms.  Computing and storage resources are not free like the Internet.  A client is not going to turn over data and applications to be managed somewhere in a network of independent providers.  Who would be held accountable for failure to perform or breaches of security?&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;I don’t think anyone is suggesting that Intercloud become a free-for all, where data and applications are willy-nilly moved around without the owner’s consent or knowledge. That kind of a situation would certainly, as described by Fred, be potentially disastrous. What the standards around Intercloud will hopefully do is exactly what Fred exhorts such standards do: “avoid service-provider lock-in” and enable “integration between business applications and services using Internet protocols.” Such standards should also "make services easy to use” and provide the ability for customers to determine where and when application workloads should be moved. That is, and always should be, a &lt;em&gt;customer-driven &lt;/em&gt;choice, not a provider-driven choice, and Intercloud standards must allow for customer control over workload execution with as much granularity as possible. &lt;/p&gt;  &lt;hr width="100%" color="#680000" noshade="noshade" /&gt;   &lt;div style="background: #ebd3d3; width: 100%"&gt;&lt;strong&gt;CUSTOMERS MAINTAIN CONTROL&lt;/strong&gt;&lt;/div&gt;  &lt;hr width="100%" color="#680000" noshade="noshade" /&gt;  &lt;p&gt;It appears, too, that some of Fred’s arguments are based on the premise that applications residing in “the cloud” or in multiple “the clouds” are also being managed and controlled in “the cloud”. That’s not necessarily going to be the case – though it’s certainly a possibility. If we extend current global application delivery models to take advantage of cloud &lt;a title="TechValidate Research" href="http://www.techvalidate.com/product-research/f5-big-ip/facts/A6D-C70-242" target="_blank"&gt;&lt;img title="A6D-C70-242" style="border-right: 0px; border-top: 0px; display: inline; margin: 5px 0px 5px 10px; border-left: 0px; border-bottom: 0px" height="191" alt="A6D-C70-242" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/PursuitofIntercloudisPracticalnotPrematu_4D4A/A6D-C70-242_3.png" width="364" align="right" border="0" /&gt;&lt;/a&gt; computing environments the control and management is still on-premise, or at least it &lt;em&gt;can be. &lt;/em&gt;Cross-billing isn’t an issue, then, because the contracts are between provider and customer, not provider and provider. Each provider is responsible for breaches in security in only &lt;em&gt;their &lt;/em&gt;environment, just as hosting providers today are only responsible for &lt;em&gt;their &lt;/em&gt;environment if though a customer might be leveraging multiple hosting providers. For specialized services such as a cloud computing provider partnering with another provider for DNS management, we have well-established policies that already govern responsibility and accountability and as long as the customer is aware – up front – of that partnership it shouldn’t be any more of a problem than it is today. &lt;/p&gt;  &lt;p&gt;The mere existence of Intercloud-focused standards (or the existence of a working group to define those standards, more accurately) does not negate these goals nor is it inconsistent with Fred’s view of on what we should be focusing our energy. Many of the concerns and needs that Fred points out are milestones along the path to Intercloud, concerns that must be addressed and needs that must be met in order to reach the penultimate apex of Intercloud. (I say penultimate because there’s always &lt;em&gt;something &lt;/em&gt;beyond what we’re striving for; some goal or technology that evolves out of our efforts to reach our &lt;em&gt;current &lt;/em&gt;goal and thus becomes the &lt;em&gt;next &lt;/em&gt;penultimate goal…etcetera, etcetera, ad nauseum). In fact, one of the benefits of &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/10/08/infrastructure-2.0-is-the-beginning-of-the-story-not-the.aspx"&gt;Infrastructure 2.0 and the leveraging of dynamic control planes via standards&lt;/a&gt; is to ensure that providers &lt;em&gt;don’t &lt;/em&gt;need to worry about compatibility with other providers while ensuring that customers can move between providers with ease and &lt;u&gt;without&lt;/u&gt; loss of infrastructure functionality. &lt;/p&gt;  &lt;p&gt;Intercloud isn’t going to be – nor can it be – a dramatic leap from one application deployment methodology to another. It’s going to be a gradual introduction of technology-related capabilities in the area of global application delivery that allow more control and freedom over the deployment and subsequent execution of workloads across data centers. It’s going to be an evolutionary process, not a revolutionary one, that is driven by experimentation and customer-demand as &lt;em&gt;they &lt;/em&gt;leverage the capabilities of increasingly context-aware infrastructure to distribute and leverage resources. &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 title="Follow F5 Networks on Twitter" href="http://tweepml.org/F5-Networks-Tweeple/"&gt;&lt;img height="18" src="http://tweepml.org/s/tweepml16.png" width="18" border="0" /&gt;&lt;/a&gt; &lt;a title="Follow F5 DevCentral on Twitter" href="http://tweepml.org/F5-DevCentral/"&gt;&lt;img height="18" src="http://tweepml.org/s/tweepml16.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://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 href="http://www.friendfeed.com/lmacvittie"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="18" alt="friendfeed" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/friendfeed_3.jpg" width="18" border="0" /&gt;&lt;/a&gt; &lt;a href="http://www.facebook.com/lmacvittie"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="18" alt="icon_facebook" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/icon_facebook_4.png" width="18" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&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 type="text/javascript" src="http://track.mybloglog.com/js/jsserv.php?mblID=2008070914270355"&gt;&lt;/script&gt;&lt;/p&gt;  &lt;p&gt;Related blogs &amp;amp; articles:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.communities.hp.com/online/blogs/nextbigthingeds/archive/2010/01/06/pursuit-of-the-intercloud-is-premature.aspx"&gt;Pursuit of the Intercloud is Premature&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.infra20.com/post.cfm/the-intercloud-makes-networks-sexy-again"&gt;The Intercloud makes Networks sexy again&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.cisco.com/datacenter/comments/the_inter-cloud_and_internet_analogies/"&gt;The Inter-Cloud and internet analogies&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/08/31/migrate-vm-cloud-f5-vmware-demo.aspx"&gt;Migrate a live &lt;b&gt;application&lt;/b&gt; across clouds with no downtime? Sure, no problem.&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/07/09/cloud-balancing-cloud-bursting-and-intercloud.aspx"&gt;Cloud Balancing, Cloud Bursting, and Intercloud&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/06/30/intercloud-the-evolution-of-global-application-delivery.aspx"&gt;Intercloud: The Evolution of &lt;b&gt;Global&lt;/b&gt; &lt;b&gt;Application&lt;/b&gt; &lt;b&gt;Delivery&lt;/b&gt;&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/07/15/business-layer-load-balancing.aspx"&gt;&lt;b&gt;Business&lt;/b&gt;-&lt;b&gt;Layer&lt;/b&gt; &lt;b&gt;Load&lt;/b&gt; &lt;b&gt;Balancing&lt;/b&gt;&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/10/08/infrastructure-2.0-is-the-beginning-of-the-story-not-the.aspx"&gt;&lt;b&gt;Infrastructure&lt;/b&gt; &lt;b&gt;2.0&lt;/b&gt; Is the Beginning of the Story, Not the End&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;div class="wlWriterEditableSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:5007d3db-c912-4b98-a2ea-0e37401c43a1" 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/Intercloud" rel="tag"&gt;Intercloud&lt;/a&gt;,&lt;a href="http://technorati.com/tags/infrastructure+2.0" rel="tag"&gt;infrastructure 2.0&lt;/a&gt;,&lt;a href="http://technorati.com/tags/HP" rel="tag"&gt;HP&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/global+application+delivery" rel="tag"&gt;global application delivery&lt;/a&gt;,&lt;a href="http://technorati.com/tags/global+server+load+balancing" rel="tag"&gt;global server load balancing&lt;/a&gt;,&lt;a href="http://technorati.com/tags/load+balancing" rel="tag"&gt;load balancing&lt;/a&gt;,&lt;a href="http://technorati.com/tags/cloud+bursting" rel="tag"&gt;cloud bursting&lt;/a&gt;,&lt;a href="http://technorati.com/tags/cloud+balancing" rel="tag"&gt;cloud balancing&lt;/a&gt;,&lt;a href="http://technorati.com/tags/application+delivery" rel="tag"&gt;application delivery&lt;/a&gt;&lt;/div&gt;&lt;img src="http://devcentral.f5.com/weblogs/macvittie/aggbug/6262.aspx" width="1" height="1" /&gt;</description><dc:creator>Lori MacVittie</dc:creator></item></channel></rss>