<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:copyright="http://blogs.law.harvard.edu/tech/rss" xmlns:image="http://purl.org/rss/1.0/modules/image/">
    <channel>
        <title>Lori MacVittie</title>
        <link>http://devcentral.f5.com/weblogs/macvittie/Default.aspx</link>
        <description>Two Different Socks</description>
        <language>en-US</language>
        <copyright>Lori MacVittie</copyright>
        <managingEditor>l.macvittie@f5.com</managingEditor>
        <generator>Subtext Version 1.9.5.176</generator>
        <image>
            <title>Lori MacVittie</title>
            <url>http://devcentral.f5.com/weblogs/images/RSS2Image.gif</url>
            <link>http://devcentral.f5.com/weblogs/macvittie/Default.aspx</link>
            <width>77</width>
            <height>60</height>
        </image>
        <item>
            <title>4 reasons not to use mod_security</title>
            <category>Development and General</category>
            <category>Security</category>
            <link>http://devcentral.f5.com/weblogs/macvittie/archive/2008/07/23/3477.aspx</link>
            <description>&lt;p&gt;&lt;a href="http://www.apache.org" target="_blank"&gt;Apache&lt;/a&gt; is a great web server if for no other reason than it offers more flexibility through modules than just about any other web server. You can plug-in all sorts of modules to enhance the functionality of &lt;a href="http://www.apache.org" target="_blank"&gt;Apache&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;But as I often say, &lt;em&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2008/07/07/3428.aspx" target="_blank"&gt;just because you can doesn't mean you should&lt;/a&gt;. &lt;/em&gt;&lt;/p&gt;  &lt;p&gt;One of the modules you can install is &lt;em&gt;mod_security.&lt;strong&gt; &lt;/strong&gt;&lt;/em&gt;If you aren't familiar with &lt;em&gt;mod_security&lt;/em&gt;, essentially it's a "roll your own" web application firewall plug-in for the Apache web server. &lt;/p&gt;  &lt;p&gt;Some of the security functions you can implement via &lt;em&gt;mod_security&lt;/em&gt; are: &lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/8662a86328a6_7686/netsec_2.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; margin: 0px 10px 10px 0px; border-left: 0px; border-bottom: 0px" height="176" alt="netsec" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/8662a86328a6_7686/netsec_thumb.jpg" width="258" align="right" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Simple filtering &lt;/li&gt;    &lt;li&gt;Regular Expression based filtering &lt;/li&gt;    &lt;li&gt;URL Encoding Validation &lt;/li&gt;    &lt;li&gt;Unicode Encoding Validation &lt;/li&gt;    &lt;li&gt;Auditing &lt;/li&gt;    &lt;li&gt;Null byte attack prevention &lt;/li&gt;    &lt;li&gt;Upload memory limits &lt;/li&gt;    &lt;li&gt;Server identity masking &lt;/li&gt;    &lt;li&gt;Built in Chroot support &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Using &lt;em&gt;mod_security&lt;/em&gt; you can also implement protocol security, which is an excellent idea for ensuring that holes in protocols aren't exploited. If you aren't sold on protocol security you should read up on the &lt;a href="http://securosis.com/2008/07/08/dan-kaminsky-discovers-fundamental-issue-in-dns-massive-multivendor-patch-released/" target="_blank"&gt;recent DNS vulnerability&lt;/a&gt; discovered by Dan Kaminsky - it's all about the protocol and has nothing to do with vulnerabilities introduced by implementation. &lt;/p&gt;  &lt;p&gt;&lt;em&gt;mod_security&lt;/em&gt; provides many options for validating URLs, URIs, and application data. You are, essentially, implementing a custom web application firewall using configuration directives. &lt;/p&gt;  &lt;p&gt;If you're on this path then you probably agree that a web application firewall is a good thing, so why would I caution against using &lt;em&gt;mod_security&lt;/em&gt;? &lt;/p&gt;  &lt;p&gt;Well, there's four reasons, actually. &lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;&lt;strong&gt;It runs on every web server.&lt;/strong&gt; This is an additional load on the servers that can be easily offloaded for a more efficient architecture. The need for partial duplication of configuration files across multiple machines can also result in the introduction of errors or extraneous configuration that is unnecessary. Running &lt;em&gt;mod_security&lt;/em&gt; on every web server decreases capacity to serve users and applications accordingly, which may require additional servers to scale to meet demand.       &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;You have to become a security expert. &lt;/strong&gt;You have to understand the attacks you are trying to stop in order to write a rule to prevent them. So either you become an expert or you trust a third-party to be the expert. The former takes time and that latter takes guts, as you're introducing unnecessary risk by trusting a third-party.       &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;You have to become a protocol expert. &lt;/strong&gt;In addition to understanding all the attacks you're trying to prevent, you must become an expert in the HTTP protocol. Part of providing web application security is to sanitize and enforce the HTTP protocol to ensure it isn't abused to create a hole where none previously appeared. You also have to become an expert in Apache configuration directives, and the specific directives used to configure &lt;em&gt;mod_security&lt;/em&gt;.       &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;The configuration must be done manually. &lt;/strong&gt;Unless you're going to purchase a commercially supported version of mod_security, you're writing complex rules manually. You'll need to brush up on your regular expression skills if you're going to attempt this. Maintaining those rules is just as painful, as any update necessarily requires manual intervention. &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;Of course you could introduce an additional instance of Apache with &lt;em&gt;mod_security&lt;/em&gt; installed that essentially proxies all requests through &lt;em&gt;mod_security&lt;/em&gt;, thus providing a centralized security architecture, but at that point you've just introduced a huge bottleneck into your infrastructure. If you're already load-balancing multiple instances of a web site or application, then it's not likely that a single instance of Apache with &lt;em&gt;mod_security&lt;/em&gt; is going to be able to handle the volume of requests without increasing downtime or degrading performance such that applications might as well be down because they're too painful to use. &lt;/p&gt;  &lt;p&gt;Centralizing security can &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2007/03/13/2787.aspx" target="_blank"&gt;improve performance&lt;/a&gt;, reduce the potential avenues of risk through configuration error, and keeps your security up-to-date by providing easy access to updated signatures, patterns, and defenses against existing and emerging web application attacks. &lt;a href="http://www.f5.com/products/big-ip/product-modules/application-security-manager.html" target="_blank"&gt;Some web application firewalls&lt;/a&gt; offer pre-configured templates for specific applications like &lt;a href="http://www.microsoft.com" target="_blank"&gt;Microsoft&lt;/a&gt; OWA, providing a simple configuration experience that belies the depth of security knowledge applied to protected the application. Web application firewalls - but not &lt;em&gt;mod_security&lt;/em&gt; - can enable compliance with &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2008/05/22/3287.aspx" target="_blank"&gt;requirement 6.6&lt;/a&gt; of &lt;a href="https://www.pcisecuritystandards.org/" target="_blank"&gt;PCI DSS&lt;/a&gt;.  &lt;/p&gt;  &lt;p&gt;And they're built to scale, which means the scenario in which &lt;em&gt;mod_security&lt;/em&gt; is used as a reverse proxy to protect all web servers from harm but quickly becomes a bottleneck and impediment to performance doesn't happen with purpose-built web application firewalls. &lt;/p&gt;  &lt;p&gt;If you're considering using &lt;em&gt;mod_security&lt;/em&gt; then you already recognize the value of and need for a &lt;a href="http://www.f5.com/products/big-ip/product-modules/application-security-manager.html" target="_blank"&gt;web application firewall&lt;/a&gt;. That's great. But consider carefully &lt;em&gt;where &lt;/em&gt;you will deploy that web application firewall, because the decision will have an impact on the performance and availability of your site and applications. &lt;/p&gt;  &lt;p&gt;   &lt;/p&gt;&lt;p&gt;&lt;a href="http://www.onlamp.com/pub/a/apache/2003/11/26/mod_security.html" target="_blank"&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&lt;a href="http://twitter.com/lmacvittie"&gt;&lt;img height="18" alt="Follow me on Twitter" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_twitt-twoo-icon.png" width="18" border="0" /&gt;&lt;/a&gt; &lt;a href="http://devcentral.f5.com/weblogs/macvittie/Rss.aspx"&gt;&lt;img src="http://devcentral.f5.com/Portals/0/images/Icons/icon_xml_18.gif" border="0" /&gt;&lt;/a&gt;&lt;a href="http://www.slideshare.net/lmacvittie"&gt;&lt;img height="18" alt="View Lori's profile on SlideShare" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_slideshare.png" width="18" border="0" /&gt;&lt;/a&gt;&lt;a href="http://lmacvittie.tumblr.com" border="0"&gt;&lt;img title="Follow me on Tumblr" height="18" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_tumblr.gif" width="18" border="0" /&gt;&lt;/a&gt; &lt;a href="http://lmacvittie.posterous.com/"&gt;&lt;img title="Posterous" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_posterous.png" border="0" /&gt;&lt;/a&gt; &lt;a href="http://www.linkedin.com/pub/dir/Lori/MacVittie"&gt;&lt;img src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_linkedin_16.png" border="0" /&gt;&lt;/a&gt; &lt;a title="Subscribe using any feed reader!" href="http://www.addthis.com/feed.php?pub=lmacvittie&amp;amp;h1=http%3A%2F%2Fdevcentral.f5.com%2Fweblogs%2Fmacvittie%2FRss.aspx&amp;amp;t1="&gt;&lt;img height="18" alt="AddThis Feed Button" src="http://s9.addthis.com/button1-fd.gif" width="125" border="0" /&gt;&lt;/a&gt; &lt;a title="Bookmark and Share" onclick="window.open('http://www.addthis.com/bookmark.php?wt=nw&amp;amp;pub=lmacvittie&amp;amp;url='+encodeURIComponent(location.href)+'&amp;amp;title='+encodeURIComponent(document.title), 'addthis', 'scrollbars=yes,menubar=no,width=620,height=520,resizable=yes,toolbar=no,location=no,status=no,screenX=200,screenY=100,left=200,top=100'); return false;" href="http://www.addthis.com/bookmark.php" target="_blank"&gt;&lt;img height="18" alt="Bookmark and Share" src="http://s9.addthis.com/button1-share.gif" width="125" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:608b5d2a-fb32-4e5b-8ccb-c2a2052cdbc2" 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%20security" 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%20application%20firewall" rel="tag"&gt;web application firewall&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/internet" rel="tag"&gt;internet&lt;/a&gt;,&lt;a href="http://technorati.com/tags/web" rel="tag"&gt;web&lt;/a&gt;,&lt;a href="http://technorati.com/tags/microsoft" rel="tag"&gt;microsoft&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_security" rel="tag"&gt;mod_security&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Kaminsky" rel="tag"&gt;Kaminsky&lt;/a&gt;,&lt;a href="http://technorati.com/tags/protocol%20security" rel="tag"&gt;protocol security&lt;/a&gt;&lt;/div&gt; &lt;script src="http://track.mybloglog.com/js/jsserv.php?mblID=2008070914270355" type="text/javascript"&gt;&lt;/script&gt;&lt;div class='blogtags'&gt;&lt;br&gt;Categories: &lt;a rel='tag' href='http://technorati.com/tags/Development and General'&gt;Development and General&lt;/a&gt;&amp;nbsp;, &lt;a rel='tag' href='http://technorati.com/tags/Security'&gt;Security&lt;/a&gt;&amp;nbsp;&lt;/div&gt;&lt;img src="http://devcentral.f5.com/weblogs/macvittie/aggbug/3477.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Lori MacVittie</dc:creator>
            <guid>http://devcentral.f5.com/weblogs/macvittie/archive/2008/07/23/3477.aspx</guid>
            <pubDate>Wed, 23 Jul 2008 12:53:54 GMT</pubDate>
            <wfw:comment>http://devcentral.f5.com/weblogs/macvittie/comments/3477.aspx</wfw:comment>
            <comments>http://devcentral.f5.com/weblogs/macvittie/archive/2008/07/23/3477.aspx#feedback</comments>
            <slash:comments>9</slash:comments>
            <wfw:commentRss>http://devcentral.f5.com/weblogs/macvittie/comments/commentRss/3477.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Your Stack Trace, Show It To Me</title>
            <category>Development and General</category>
            <category>Security</category>
            <link>http://devcentral.f5.com/weblogs/macvittie/archive/2008/07/22/3474.aspx</link>
            <description>&lt;p&gt;&lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/YourStackTraceShowItToMe_771F/bad-polldaddy_2.jpg" target="_blank"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; margin: 0px 10px 10px 0px; border-right-width: 0px" height="154" alt="bad-polldaddy" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/YourStackTraceShowItToMe_771F/bad-polldaddy_thumb.jpg" width="244" align="left" border="0" /&gt;&lt;/a&gt;Of all the reasons you need an &lt;a href="http://www.f5.com/products/big-ip" target="_blank"&gt;application delivery controller&lt;/a&gt; capable of bi-directional inspection of application data this is one of the best. I was trying to check out the results of a poll on &lt;a href="http://www.polldaddy.com" target="_blank"&gt;PollDaddy.com&lt;/a&gt; and ended up with this beautiful &lt;a href="http://www.microsoft.com" target="_blank"&gt;Microsoft&lt;/a&gt; .NET error page, filled with so much valuable information that potential attackers must even now be laughing in that "evil genius" laugh you so often hear in retro-cartoons. &lt;/p&gt;  &lt;p&gt;This error page tells me so many things about the application, it's environment, and its associated infrastructure that it should be a crime to let this information out. I know it's a Microsoft .NET C# application, and what the underlying directory structure looks like. I know it's using a third party library for authentication and authorization (and where it's located) and I can tell you exactly what version of .NET is running (Microsoft .NET Framework Version:2.0.50727.1433; ASP.NET Version:2.0.50727.1433). &lt;/p&gt;  &lt;p&gt;I also get an idea of internal data structure, as a nice piece of code is included in the error page. Hmmm...looks like "user ids" are numeric in the database. &lt;/p&gt;  &lt;p&gt;Now I'm no evil genius, so I can only imagine just how much this tells a &lt;em&gt;real &lt;/em&gt;evil genius. I do know, however, that this simply an unacceptable security practice and that it should never happen. Ever. &lt;/p&gt;  &lt;p&gt;We often &lt;a href="http://devcentral.f5.com/Default.aspx?tabid=63&amp;amp;articleType=ArticleView&amp;amp;articleId=41" target="_blank"&gt;discuss catching "errors",&lt;/a&gt; but that's usually wrapped around &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2008/06/27/3406.aspx" target="_blank"&gt;catching 404&lt;/a&gt; (not found) errors. Using &lt;a href="http://devcentral.f5.com/Default.aspx?tabid=75" target="_blank"&gt;iRules&lt;/a&gt; you can easily catch 500 (Internal server errors) as well as any other HTTP status code. &lt;/p&gt;  &lt;p&gt;And even if the status code somehow comes back as "200 OK" but the &lt;em&gt;content &lt;/em&gt;is full of juicy application and infrastructure information, you can use &lt;a href="http://devcentral.f5.com/Default.aspx?tabid=75" target="_blank"&gt;iRules&lt;/a&gt; to deal with it. iRules can verify that the content of a page is what it should be and if isn't, you can do something about it. Rewrite it. Change it. Redirect the user to a new page. Show a page full of dancing bananas or a picture of a whale. Whatever you want. &lt;/p&gt;  &lt;p&gt;The point is that you recognize when information that may lead to or assist in perpetrating a breach is being presented to users and that you prevent it from happening. The chances of the information being used against you is minimal, but when you have the opportunity to mitigate that risk entirely, why wouldn't you? &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://twitter.com/lmacvittie"&gt;&lt;img height="18" alt="Follow me on Twitter" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_twitt-twoo-icon.png" width="18" border="0" /&gt;&lt;/a&gt; &lt;a href="http://devcentral.f5.com/weblogs/macvittie/Rss.aspx"&gt;&lt;img src="http://devcentral.f5.com/Portals/0/images/Icons/icon_xml_18.gif" border="0" /&gt;&lt;/a&gt;&lt;a href="http://www.slideshare.net/lmacvittie"&gt;&lt;img height="18" alt="View Lori's profile on SlideShare" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_slideshare.png" width="18" border="0" /&gt;&lt;/a&gt;&lt;a href="http://lmacvittie.tumblr.com" border="0"&gt;&lt;img title="Follow me on Tumblr" height="18" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_tumblr.gif" width="18" border="0" /&gt;&lt;/a&gt; &lt;a href="http://lmacvittie.posterous.com/"&gt;&lt;img title="Posterous" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_posterous.png" border="0" /&gt;&lt;/a&gt; &lt;a href="http://www.linkedin.com/pub/dir/Lori/MacVittie"&gt;&lt;img src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_linkedin_16.png" border="0" /&gt;&lt;/a&gt; &lt;a title="Subscribe using any feed reader!" href="http://www.addthis.com/feed.php?pub=lmacvittie&amp;amp;h1=http%3A%2F%2Fdevcentral.f5.com%2Fweblogs%2Fmacvittie%2FRss.aspx&amp;amp;t1="&gt;&lt;img height="18" alt="AddThis Feed Button" src="http://s9.addthis.com/button1-fd.gif" width="125" border="0" /&gt;&lt;/a&gt; &lt;a title="Bookmark and Share" onclick="window.open('http://www.addthis.com/bookmark.php?wt=nw&amp;amp;pub=lmacvittie&amp;amp;url='+encodeURIComponent(location.href)+'&amp;amp;title='+encodeURIComponent(document.title), 'addthis', 'scrollbars=yes,menubar=no,width=620,height=520,resizable=yes,toolbar=no,location=no,status=no,screenX=200,screenY=100,left=200,top=100'); return false;" href="http://www.addthis.com/bookmark.php" target="_blank"&gt;&lt;img height="18" alt="Bookmark and Share" src="http://s9.addthis.com/button1-share.gif" width="125" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:163aaf68-f5e3-46c1-80bd-13675e3474ea" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/MacVittie" rel="tag"&gt;MacVittie&lt;/a&gt;,&lt;a href="http://technorati.com/tags/security" rel="tag"&gt;security&lt;/a&gt;,&lt;a href="http://technorati.com/tags/data%20scrubbing" rel="tag"&gt;data scrubbing&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/iRules" rel="tag"&gt;iRules&lt;/a&gt;,&lt;a href="http://technorati.com/tags/application%20delivery" rel="tag"&gt;application delivery&lt;/a&gt;,&lt;a href="http://technorati.com/tags/application%20security" rel="tag"&gt;application security&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/polldaddy.com" rel="tag"&gt;polldaddy.com&lt;/a&gt;&lt;/div&gt; &lt;script src="http://track.mybloglog.com/js/jsserv.php?mblID=2008070914270355" type="text/javascript"&gt;&lt;/script&gt;&lt;div class='blogtags'&gt;&lt;br&gt;Categories: &lt;a rel='tag' href='http://technorati.com/tags/Development and General'&gt;Development and General&lt;/a&gt;&amp;nbsp;, &lt;a rel='tag' href='http://technorati.com/tags/Security'&gt;Security&lt;/a&gt;&amp;nbsp;&lt;/div&gt;&lt;img src="http://devcentral.f5.com/weblogs/macvittie/aggbug/3474.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Lori MacVittie</dc:creator>
            <guid>http://devcentral.f5.com/weblogs/macvittie/archive/2008/07/22/3474.aspx</guid>
            <pubDate>Tue, 22 Jul 2008 15:46:15 GMT</pubDate>
            <wfw:comment>http://devcentral.f5.com/weblogs/macvittie/comments/3474.aspx</wfw:comment>
            <comments>http://devcentral.f5.com/weblogs/macvittie/archive/2008/07/22/3474.aspx#feedback</comments>
            <slash:comments>2</slash:comments>
            <wfw:commentRss>http://devcentral.f5.com/weblogs/macvittie/comments/commentRss/3474.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Interactive F5 SOA Reference Architecture</title>
            <category>Development and General</category>
            <category>General SOA</category>
            <category>SOA Delivery</category>
            <link>http://devcentral.f5.com/weblogs/macvittie/archive/2008/07/22/3473.aspx</link>
            <description>&lt;p&gt;&lt;/p&gt;  &lt;p&gt;I do an awful lot of talking about SOA: &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2007/02/21/2770.aspx" target="_blank"&gt;problems&lt;/a&gt;, &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2008/02/21/3086.aspx" target="_blank"&gt;challenges&lt;/a&gt;, &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2008/03/04/3096.aspx" target="_blank"&gt;concepts&lt;/a&gt;, &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2008/05/08/3243.aspx" target="_blank"&gt;solutions&lt;/a&gt;, &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2008/04/07/3137.aspx" target="_blank"&gt;security&lt;/a&gt;, &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2008/02/19/3084.aspx" target="_blank"&gt;products&lt;/a&gt;. But I don't often present "the big picture", and certainly rarely discuss how &lt;a href="http://www.f5.com" target="_blank"&gt;F5&lt;/a&gt; and SOA go together like ice-cream and pretzels. I know, that isn't a traditional simile, but if you've ever tried hot pretzels and ice-cream you might agree with me in saying that while they don't &lt;em&gt;sound &lt;/em&gt;like they go together they really do, and they do so well. &lt;/p&gt;  &lt;p&gt;It's also applicable because when you think of ice-cream you don't immediately think of pretzels, and I'm fairly certain when you think of SOA you don't think of &lt;a href="http://www.f5.com" target="_blank"&gt;F5&lt;/a&gt;. But once you've tried ice-cream and pretzels, you probably will associate the two, and the same is true of SOA and &lt;a href="http://www.f5.com" target="_blank"&gt;F5&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;But it's a lot less of an investment to run out and grab a hot pretzel and some ice-cream than it is to invest in all the products that make up an application delivery network. So you probably want to know a bit more before you consider it an option. &lt;/p&gt;  &lt;p&gt;SOA reference architectures are nothing new, and there's a fairly well-defined reference architecture model for folks to use in order to fit all the applicable pieces together and understand what each entails. So what this interactive presentation offers is a look at &lt;a href="http://www.f5.com" target="_blank"&gt;F5&lt;/a&gt; and how it fits into that reference architecture in an interactive Articulate presentation, and the suggestion to go ahead - try the pretzel with some ice-cream. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://devcentral.f5.com/media/Articulate/soara/player.html" target="_blank"&gt;Launch the Interactive F5 SOA Reference Architecture&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;Additional resources: &lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.f5.com/pdf/white-papers/soa-infrastructure-reference-wp.pdf" target="_blank"&gt;F5 SOA Reference Architecture (White Paper&lt;/a&gt;) &lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.f5.com/pdf/white-papers/soa-challenges-solutions-wp.pdf" target="_blank"&gt;SOA Challenges and Solutions (White Paper)&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://twitter.com/lmacvittie"&gt;&lt;img height="18" alt="Follow me on Twitter" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_twitt-twoo-icon.png" width="18" border="0" /&gt;&lt;/a&gt; &lt;a href="http://devcentral.f5.com/weblogs/macvittie/Rss.aspx"&gt;&lt;img src="http://devcentral.f5.com/Portals/0/images/Icons/icon_xml_18.gif" border="0" /&gt;&lt;/a&gt;&lt;a href="http://www.slideshare.net/lmacvittie"&gt;&lt;img height="18" alt="View Lori's profile on SlideShare" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_slideshare.png" width="18" border="0" /&gt;&lt;/a&gt;&lt;a href="http://lmacvittie.tumblr.com" border="0"&gt;&lt;img title="Follow me on Tumblr" height="18" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_tumblr.gif" width="18" border="0" /&gt;&lt;/a&gt; &lt;a href="http://lmacvittie.posterous.com/"&gt;&lt;img title="Posterous" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_posterous.png" border="0" /&gt;&lt;/a&gt; &lt;a href="http://www.linkedin.com/pub/dir/Lori/MacVittie"&gt;&lt;img src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_linkedin_16.png" border="0" /&gt;&lt;/a&gt; &lt;a title="Subscribe using any feed reader!" href="http://www.addthis.com/feed.php?pub=lmacvittie&amp;amp;h1=http%3A%2F%2Fdevcentral.f5.com%2Fweblogs%2Fmacvittie%2FRss.aspx&amp;amp;t1="&gt;&lt;img height="18" alt="AddThis Feed Button" src="http://s9.addthis.com/button1-fd.gif" width="125" border="0" /&gt;&lt;/a&gt; &lt;a title="Bookmark and Share" onclick="window.open('http://www.addthis.com/bookmark.php?wt=nw&amp;amp;pub=lmacvittie&amp;amp;url='+encodeURIComponent(location.href)+'&amp;amp;title='+encodeURIComponent(document.title), 'addthis', 'scrollbars=yes,menubar=no,width=620,height=520,resizable=yes,toolbar=no,location=no,status=no,screenX=200,screenY=100,left=200,top=100'); return false;" href="http://www.addthis.com/bookmark.php" target="_blank"&gt;&lt;img height="18" alt="Bookmark and Share" src="http://s9.addthis.com/button1-share.gif" width="125" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:f918f428-13d9-427c-b810-b34a3daf2e85" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/MacVittie" rel="tag"&gt;MacVittie&lt;/a&gt;,&lt;a href="http://technorati.com/tags/F5" rel="tag"&gt;F5&lt;/a&gt;,&lt;a href="http://technorati.com/tags/SOA" rel="tag"&gt;SOA&lt;/a&gt;,&lt;a href="http://technorati.com/tags/application%20delivery" rel="tag"&gt;application delivery&lt;/a&gt;,&lt;a href="http://technorati.com/tags/web%20services" rel="tag"&gt;web services&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/internet" rel="tag"&gt;internet&lt;/a&gt;,&lt;a href="http://technorati.com/tags/web" rel="tag"&gt;web&lt;/a&gt;,&lt;a href="http://technorati.com/tags/architecture" rel="tag"&gt;architecture&lt;/a&gt;&lt;/div&gt; &lt;script src="http://track.mybloglog.com/js/jsserv.php?mblID=2008070914270355" type="text/javascript"&gt;&lt;/script&gt;&lt;div class='blogtags'&gt;&lt;br&gt;Categories: &lt;a rel='tag' href='http://technorati.com/tags/Development and General'&gt;Development and General&lt;/a&gt;&amp;nbsp;, &lt;a rel='tag' href='http://technorati.com/tags/General SOA'&gt;General SOA&lt;/a&gt;&amp;nbsp;, &lt;a rel='tag' href='http://technorati.com/tags/SOA Delivery'&gt;SOA Delivery&lt;/a&gt;&amp;nbsp;&lt;/div&gt;&lt;img src="http://devcentral.f5.com/weblogs/macvittie/aggbug/3473.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Lori MacVittie</dc:creator>
            <guid>http://devcentral.f5.com/weblogs/macvittie/archive/2008/07/22/3473.aspx</guid>
            <pubDate>Tue, 22 Jul 2008 11:17:59 GMT</pubDate>
            <wfw:comment>http://devcentral.f5.com/weblogs/macvittie/comments/3473.aspx</wfw:comment>
            <comments>http://devcentral.f5.com/weblogs/macvittie/archive/2008/07/22/3473.aspx#feedback</comments>
            <wfw:commentRss>http://devcentral.f5.com/weblogs/macvittie/comments/commentRss/3473.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Does your virtualization strategy create an SEP field?</title>
            <category>Development and General</category>
            <link>http://devcentral.f5.com/weblogs/macvittie/archive/2008/07/21/3471.aspx</link>
            <description>&lt;p&gt;&lt;/p&gt;  &lt;p&gt;There is a lot of hype around all types of virtualization today, with one of the primary drivers often cited being a reduction in management costs. I was pondering whether or not that hype was true, given the amount of work that goes into setting up not only the virtual image, but the infrastructure necessary to properly deliver the images and the applications they contain. &lt;/p&gt;  &lt;p&gt;We've been using imaging technology for a long time, especially in lab and testing environments. It made sense then because a lot of work goes into setting up a server and the applications running on it before it's "imaged' for rapid deployment use. Virtual images that run inside virtualization servers like &lt;a href="http://www.vmware.com" target="_blank"&gt;VMWare&lt;/a&gt; brought not just the ability to rapidly deploy a new server and its associated applications, but the ability to do so in near real-time. &lt;/p&gt;  &lt;p&gt;But it's not the virtualization of the operating system that really offers a huge return on investment, it's the virtualization of the applications that are packaged up in a virtual image that offers the most benefits. While there's certainly a lot of work that goes into deploying a server OS - the actual installation, configuration, patching, more patching, and licensing - there's even more work that goes into deploying an application simply because they can be ... fussy. So once you have a server and application configured and ready to deploy, it certainly makes sense that you'd want to "capture" it so that it can be rapidly deployed in the future. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/OSVirtualizationShellacforyourApplicatio_362D/talktothehand_2.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; margin: 0px 10px 5px 0px; border-left: 0px; border-bottom: 0px" height="260" alt="talktothehand" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/OSVirtualizationShellacforyourApplicatio_362D/talktothehand_thumb.jpg" width="260" align="left" border="0" /&gt;&lt;/a&gt; Without the proper infrastructure, however, the benefits can be drastically reduced. Four questions immediately come to mind that require some answers: &lt;/p&gt;  &lt;p&gt;&lt;em&gt;Where will the images be stored? &lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;How will you manage the applications running on deployed virtual images?&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;What about updates and patches to not only the server OS but the applications themselves? &lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;What about changes to your infrastructure?&lt;/em&gt; &lt;/p&gt;  &lt;p&gt;The savings realized by reducing the management and administrative costs of building, testing, and deploying an application in a virtual environment can be negated by a simple change to your infrastructure, or the need to upgrade/patch the application or operating system. Because the image is a basically a snapshot, that snapshot needs to change as the environment in which it runs changes. And the environment means more than just the server OS, it means the network, application, and delivery infrastructure. &lt;/p&gt;  &lt;p&gt;Addressing the complexity involved in such an environment requires an intelligent, flexible infrastructure that supports virtualization. And not just OS virtualization, but &lt;a href="http://www.f5.com/news-press-events/news/2008/20080225.html" target="_blank"&gt;other forms of virtualization&lt;/a&gt; such as server virtualization and storage or &lt;a href="http://www.f5.com/glossary/file-virtualization.html" target="_blank"&gt;file virtualization&lt;/a&gt;. There's a lot more to virtualization than just setting up a &lt;a href="http://www.vmware.com" target="_blank"&gt;VMWare&lt;/a&gt; server, creating some images and slapping each other on the back for a job well done. If your infrastructure isn't ready to support a virtualized environment then you've simply shifted the costs - and responsibility - associated with deploying servers and applications to someone else and, in many cases, several someone elses. &lt;/p&gt;  &lt;p&gt;If you haven't considered &lt;em&gt;how &lt;/em&gt;you're going to deliver the applications on those virtual images then you're in danger of simply shifting the costs of delivering applications elsewhere. Without a solid infrastructure that can support the &lt;a href="http://devcentral.f5.com/wiki/default.aspx/iControl/VMWareAutomation.html" target="_blank"&gt;dynamic environment created by virtual imaging&lt;/a&gt; the benefits you think you're getting quickly diminish as other groups are suddenly working overtime to configure and manage the rest of the infrastructure necessary to deliver those images and applications to servers and users. &lt;/p&gt;  &lt;p&gt;We often talk about &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2008/05/14/3262.aspx" target="_blank"&gt;silos in terms of network and applications' groups&lt;/a&gt;; but virtualization has the potential to create yet another silo, and that silo may be taller and more costly than anyone has yet considered. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2008/05/07/3235.aspx" target="_blank"&gt;Virtualization has many benefits&lt;/a&gt; to you and your organization. Consider carefully whether you're infrastructure is prepared to support virtualization or risk discovering that implementing a virtualized solution is creating an SEP (Somebody Else's Problem) field around delivering and managing those images. &lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://twitter.com/lmacvittie"&gt;&lt;img height="18" alt="Follow me on Twitter" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_twitt-twoo-icon.png" width="18" border="0" /&gt;&lt;/a&gt; &lt;a href="http://devcentral.f5.com/weblogs/macvittie/Rss.aspx"&gt;&lt;img src="http://devcentral.f5.com/Portals/0/images/Icons/icon_xml_18.gif" border="0" /&gt;&lt;/a&gt;&lt;a href="http://www.slideshare.net/lmacvittie"&gt;&lt;img height="18" alt="View Lori's profile on SlideShare" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_slideshare.png" width="18" border="0" /&gt;&lt;/a&gt;&lt;a href="http://lmacvittie.tumblr.com" border="0"&gt;&lt;img title="Follow me on Tumblr" height="18" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_tumblr.gif" width="18" border="0" /&gt;&lt;/a&gt; &lt;a href="http://lmacvittie.posterous.com/"&gt;&lt;img title="Posterous" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_posterous.png" border="0" /&gt;&lt;/a&gt; &lt;a href="http://www.linkedin.com/pub/dir/Lori/MacVittie"&gt;&lt;img src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_linkedin_16.png" border="0" /&gt;&lt;/a&gt; &lt;a title="Subscribe using any feed reader!" href="http://www.addthis.com/feed.php?pub=lmacvittie&amp;amp;h1=http%3A%2F%2Fdevcentral.f5.com%2Fweblogs%2Fmacvittie%2FRss.aspx&amp;amp;t1="&gt;&lt;img height="18" alt="AddThis Feed Button" src="http://s9.addthis.com/button1-fd.gif" width="125" border="0" /&gt;&lt;/a&gt; &lt;a title="Bookmark and Share" onclick="window.open('http://www.addthis.com/bookmark.php?wt=nw&amp;amp;pub=lmacvittie&amp;amp;url='+encodeURIComponent(location.href)+'&amp;amp;title='+encodeURIComponent(document.title), 'addthis', 'scrollbars=yes,menubar=no,width=620,height=520,resizable=yes,toolbar=no,location=no,status=no,screenX=200,screenY=100,left=200,top=100'); return false;" href="http://www.addthis.com/bookmark.php" target="_blank"&gt;&lt;img height="18" alt="Bookmark and Share" src="http://s9.addthis.com/button1-share.gif" width="125" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:95fe4ca2-6132-4a04-b652-8429105440ca" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/MacVittie" rel="tag"&gt;MacVittie&lt;/a&gt;,&lt;a href="http://technorati.com/tags/F5" rel="tag"&gt;F5&lt;/a&gt;,&lt;a href="http://technorati.com/tags/virtualization" rel="tag"&gt;virtualization&lt;/a&gt;,&lt;a href="http://technorati.com/tags/os%20virtualization" rel="tag"&gt;os 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/application%20delivery" rel="tag"&gt;application delivery&lt;/a&gt;,&lt;a href="http://technorati.com/tags/infrastructure" rel="tag"&gt;infrastructure&lt;/a&gt;,&lt;a href="http://technorati.com/tags/strategy" rel="tag"&gt;strategy&lt;/a&gt;,&lt;a href="http://technorati.com/tags/server%20virtualization" rel="tag"&gt;server virtualization&lt;/a&gt;,&lt;a href="http://technorati.com/tags/file%20virtualization" rel="tag"&gt;file virtualization&lt;/a&gt;,&lt;a href="http://technorati.com/tags/storage%20virtualization" rel="tag"&gt;storage virtualization&lt;/a&gt;&lt;/div&gt; &lt;script src="http://track.mybloglog.com/js/jsserv.php?mblID=2008070914270355" type="text/javascript"&gt;&lt;/script&gt;&lt;div class='blogtags'&gt;&lt;br&gt;Categories: &lt;a rel='tag' href='http://technorati.com/tags/Development and General'&gt;Development and General&lt;/a&gt;&amp;nbsp;&lt;/div&gt;&lt;img src="http://devcentral.f5.com/weblogs/macvittie/aggbug/3471.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Lori MacVittie</dc:creator>
            <guid>http://devcentral.f5.com/weblogs/macvittie/archive/2008/07/21/3471.aspx</guid>
            <pubDate>Mon, 21 Jul 2008 11:33:35 GMT</pubDate>
            <wfw:comment>http://devcentral.f5.com/weblogs/macvittie/comments/3471.aspx</wfw:comment>
            <comments>http://devcentral.f5.com/weblogs/macvittie/archive/2008/07/21/3471.aspx#feedback</comments>
            <wfw:commentRss>http://devcentral.f5.com/weblogs/macvittie/comments/commentRss/3471.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Three Web Application Vulnerabilities You Need to Know</title>
            <category>Development and General</category>
            <category>Security</category>
            <category>Web 2.0 Security</category>
            <link>http://devcentral.f5.com/weblogs/macvittie/archive/2008/07/18/3469.aspx</link>
            <description>&lt;p&gt;Via &lt;a href="http://news.ycombinator.com" target="_blank"&gt;Hacker News&lt;/a&gt; and &lt;a href="http://www.catonmat.net/" target="_blank"&gt;Peteris Kumins' blog&lt;/a&gt; on programming, hacking, software reuse and stuff comes the latest &lt;a href="http://www.google.com" target="_blank"&gt;Google&lt;/a&gt; &lt;a href="hhttp://www.youtube.com/user/googletechtalks" target="_blank"&gt;tech talk&lt;/a&gt;, this one on web application vulnerabilities and "&lt;a href="http://www.catonmat.net/blog/how-cybercriminals-steal-money/" target="_blank"&gt;how cybercriminals steal money&lt;/a&gt;". &lt;/p&gt;  &lt;p&gt;While Peteris and Google are targeting web developers with this informative video talk, it's a great resource as well for security folks as well as network administrators tasked with understanding how to thwart web application attacks. &lt;/p&gt;  &lt;p&gt;Even if you've deployed a &lt;a href="http://www.f5.com/products/big-ip/product-modules/application-security-manager.html" target="_blank"&gt;web application firewall&lt;/a&gt; to protect you from these kinds of vulnerabilities, it's still a great idea to watch this one and get a better understanding of the attacks. &lt;/p&gt;  &lt;p&gt;The three vulnerabilities covered are: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.f5.com/glossary/sql-injection.html" target="_blank"&gt;SQL Injection&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;Cross-Site Request Forgery (XSRF) &lt;/li&gt;    &lt;li&gt;Cross-Site Script Inclusion (XSSI) &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;The video and direct link are included here as well, but check out Peteris' blog for an overview of interesting points in the tech talk. &lt;/p&gt;  &lt;p&gt;&lt;embed src="http://www.youtube.com/v/jC6Q1uCnbMo&amp;amp;hl=en&amp;amp;fs=1" width="425" height="344" type="application/x-shockwave-flash" allowfullscreen="true" /&gt;&lt;/p&gt;  &lt;p&gt;Direct URL: &lt;a href="http://www.youtube.com/watch?v=jc6Q1uCnbMo"&gt;http://www.youtube.com/watch?v=jc6Q1uCnbMo&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://twitter.com/lmacvittie"&gt;&lt;img height="18" alt="Follow me on Twitter" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_twitt-twoo-icon.png" width="18" border="0" /&gt;&lt;/a&gt; &lt;a href="http://devcentral.f5.com/weblogs/macvittie/Rss.aspx"&gt;&lt;img src="http://devcentral.f5.com/Portals/0/images/Icons/icon_xml_18.gif" border="0" /&gt;&lt;/a&gt;&lt;a href="http://www.slideshare.net/lmacvittie"&gt;&lt;img height="18" alt="View Lori's profile on SlideShare" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_slideshare.png" width="18" border="0" /&gt;&lt;/a&gt;&lt;a href="http://lmacvittie.tumblr.com" border="0"&gt;&lt;img title="Follow me on Tumblr" height="18" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_tumblr.gif" width="18" border="0" /&gt;&lt;/a&gt; &lt;a href="http://lmacvittie.posterous.com/"&gt;&lt;img title="Posterous" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_posterous.png" border="0" /&gt;&lt;/a&gt; &lt;a href="http://www.linkedin.com/pub/dir/Lori/MacVittie"&gt;&lt;img src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_linkedin_16.png" border="0" /&gt;&lt;/a&gt; &lt;a title="Subscribe using any feed reader!" href="http://www.addthis.com/feed.php?pub=lmacvittie&amp;amp;h1=http%3A%2F%2Fdevcentral.f5.com%2Fweblogs%2Fmacvittie%2FRss.aspx&amp;amp;t1="&gt;&lt;img height="18" alt="AddThis Feed Button" src="http://s9.addthis.com/button1-fd.gif" width="125" border="0" /&gt;&lt;/a&gt; &lt;a title="Bookmark and Share" onclick="window.open('http://www.addthis.com/bookmark.php?wt=nw&amp;amp;pub=lmacvittie&amp;amp;url='+encodeURIComponent(location.href)+'&amp;amp;title='+encodeURIComponent(document.title), 'addthis', 'scrollbars=yes,menubar=no,width=620,height=520,resizable=yes,toolbar=no,location=no,status=no,screenX=200,screenY=100,left=200,top=100'); return false;" href="http://www.addthis.com/bookmark.php" target="_blank"&gt;&lt;img height="18" alt="Bookmark and Share" src="http://s9.addthis.com/button1-share.gif" width="125" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:0736d368-c1a1-4174-909f-7b5e5f13d702" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/MacVittie" rel="tag"&gt;MacVittie&lt;/a&gt;,&lt;a href="http://technorati.com/tags/security" rel="tag"&gt;security&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/web%20application%20firewall" rel="tag"&gt;web application firewall&lt;/a&gt;,&lt;a href="http://technorati.com/tags/vulnerabilities" rel="tag"&gt;vulnerabilities&lt;/a&gt;,&lt;a href="http://technorati.com/tags/SQL%20injection" rel="tag"&gt;SQL injection&lt;/a&gt;,&lt;a href="http://technorati.com/tags/XSRF" rel="tag"&gt;XSRF&lt;/a&gt;,&lt;a href="http://technorati.com/tags/XSSI" rel="tag"&gt;XSSI&lt;/a&gt;,&lt;a href="http://technorati.com/tags/developers" rel="tag"&gt;developers&lt;/a&gt;&lt;/div&gt; &lt;script src="http://track.mybloglog.com/js/jsserv.php?mblID=2008070914270355" type="text/javascript"&gt;&lt;/script&gt;&lt;div class='blogtags'&gt;&lt;br&gt;Categories: &lt;a rel='tag' href='http://technorati.com/tags/Development and General'&gt;Development and General&lt;/a&gt;&amp;nbsp;, &lt;a rel='tag' href='http://technorati.com/tags/Security'&gt;Security&lt;/a&gt;&amp;nbsp;, &lt;a rel='tag' href='http://technorati.com/tags/Web 2.0 Security'&gt;Web 2.0 Security&lt;/a&gt;&amp;nbsp;&lt;/div&gt;&lt;img src="http://devcentral.f5.com/weblogs/macvittie/aggbug/3469.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Lori MacVittie</dc:creator>
            <guid>http://devcentral.f5.com/weblogs/macvittie/archive/2008/07/18/3469.aspx</guid>
            <pubDate>Fri, 18 Jul 2008 19:52:32 GMT</pubDate>
            <wfw:comment>http://devcentral.f5.com/weblogs/macvittie/comments/3469.aspx</wfw:comment>
            <comments>http://devcentral.f5.com/weblogs/macvittie/archive/2008/07/18/3469.aspx#feedback</comments>
            <wfw:commentRss>http://devcentral.f5.com/weblogs/macvittie/comments/commentRss/3469.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Links, Sex, and Application Fluency</title>
            <category>Development and General</category>
            <link>http://devcentral.f5.com/weblogs/macvittie/archive/2008/07/18/3468.aspx</link>
            <description>&lt;p&gt;I ran across an interesting site containing an algorithm that &lt;a href="http://www.mikeonads.com/2008/07/13/using-your-browser-url-history-estimate-gender/" target="_blank"&gt;predicts your sex based on browser history&lt;/a&gt;. This algorithm uses demographics from popular sites, determines which popular sites you have visited by digging through your browser history, and then predicts what gender you are based on your browsing habits.  &lt;/p&gt;  &lt;p&gt;This algorithm sounds a lot like an adaptation of the &lt;a href="http://en.wikipedia.org/wiki/Turing_test" target="_blank"&gt;Turing Test&lt;/a&gt;. But instead of predicting which of two participants in the test is human, this one predicts what gender they are. The Turing Test has long been the standard for judging the intelligence of a computer system, even though it is flawed in many ways. &lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:8747F07C-CDE8-481f-B0DF-C6CFD074BF67:95893a32-ed13-4bb2-b8a8-52ff7597d187" style="padding-right: 0px; display: inline; padding-left: 0px; float: left; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;&lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/LinksSexandApplicationFluency_414A/Turing_Test_version_3-8x6.png" title="The Turing Test, as it is commonly described" rel="thumbnail"&gt;&lt;img border="0" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/LinksSexandApplicationFluency_414A/Turing_Test_version_3_94.png" /&gt;&lt;/a&gt;&lt;/div&gt;  &lt;p&gt;The Turing Test, and this entertaining site attempting to guess my gender, are similar in nature to the way that traffic shaping/management devices have traditionally identified applications. And like this browser gender test, they are often wrong. &lt;/p&gt;  &lt;p&gt;That's because traditional traffic shaping/management devices originally based their assumptions on ports and protocols. If it was served on port 80 over HTTP, then it must be HTTP. These devices learned, eventually, that this information was not enough upon which to base identification when every application out there attempted to circumvent corporate firewalls by running on &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2008/05/21/3283.aspx" target="_blank"&gt;port 80 over HTTP&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;The devices, however, were primarily packet-based. This meant they &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2008/05/22/3291.aspx" target="_blank"&gt;inspected individual packets&lt;/a&gt;, which may not carry enough information to make a determination regarding which application is being used. They tried "signatures", but found that even that failed to accurately identify the majority of applications. &lt;/p&gt;  &lt;p&gt;That's why flow-based inspection is so important. We call that &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2008/05/19/3274.aspx" target="_blank"&gt;application fluency&lt;/a&gt;, and it is the ability to examine and inspect flows rather than packets. Flows are built by reassembling packets into a full application message at which time it is inspected and a determination made on what it &lt;em&gt;really &lt;/em&gt;is. &lt;/p&gt;  &lt;p&gt;Application fluency is the cornerstone of a wide variety of technologies related to application delivery. Without application fluency you can't provide &lt;a href="http://www.f5.com/products/big-ip/product-modules/application-security-manager.html" target="_blank"&gt;web application firewalling&lt;/a&gt;, you can't &lt;a href="http://www.f5.com/products/big-ip/product-modules/webaccelerator.html" target="_blank"&gt;optimize and accelerate&lt;/a&gt; specific applications like &lt;a href="http://www.f5.com/pdf/application-ready-network-guides/microsoft-sharepoint07-arng.pdf" target="_blank"&gt;SharePoint&lt;/a&gt; or &lt;a href="http://www.f5.com/pdf/application-ready-network-guides/microsoft-exchange07-arng.pdf" target="_blank"&gt;Exchange&lt;/a&gt;, and you certainly can't intelligently route application messages. In order to apply policies, whether related to security or acceleration or routing, you first have to determine what the application is. The same security and routing policies that should be applied to IM (Instant Messaging) are not necessarily the right ones to apply to your web application. Even though both may be transported over HTTP and through port 80. You need to be able to accurately identify the application before you can start applying policies. &lt;/p&gt;  &lt;p&gt;Application delivery requires application fluency; intelligence. It can't just look at ports or protocols to determine how best to deliver an applications. It needs to understand the application, to really &lt;em&gt;know - &lt;/em&gt;not just predict based on a few attributes - what it is in order to ensure that it is delivered fast and securely. &lt;/p&gt;  &lt;p&gt;If it doesn't, you could end up with a solution that might decide your SharePoint application is really &lt;a href="http://www.f5.com/pdf/application-ready-network-guides/peoplesoft-arng.pdf" target="_blank"&gt;PeopleSoft&lt;/a&gt; much in the same way the test decided I was probably male (61% likelihood).  &lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://twitter.com/lmacvittie"&gt;&lt;img height="18" alt="Follow me on Twitter" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_twitt-twoo-icon.png" width="18" border="0" /&gt;&lt;/a&gt; &lt;a href="http://devcentral.f5.com/weblogs/macvittie/Rss.aspx"&gt;&lt;img src="http://devcentral.f5.com/Portals/0/images/Icons/icon_xml_18.gif" border="0" /&gt;&lt;/a&gt;&lt;a href="http://www.slideshare.net/lmacvittie"&gt;&lt;img height="18" alt="View Lori's profile on SlideShare" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_slideshare.png" width="18" border="0" /&gt;&lt;/a&gt;&lt;a href="http://lmacvittie.tumblr.com" border="0"&gt;&lt;img title="Follow me on Tumblr" height="18" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_tumblr.gif" width="18" border="0" /&gt;&lt;/a&gt; &lt;a href="http://lmacvittie.posterous.com/"&gt;&lt;img title="Posterous" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_posterous.png" border="0" /&gt;&lt;/a&gt; &lt;a href="http://www.linkedin.com/pub/dir/Lori/MacVittie"&gt;&lt;img src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_linkedin_16.png" border="0" /&gt;&lt;/a&gt; &lt;a title="Subscribe using any feed reader!" href="http://www.addthis.com/feed.php?pub=lmacvittie&amp;amp;h1=http%3A%2F%2Fdevcentral.f5.com%2Fweblogs%2Fmacvittie%2FRss.aspx&amp;amp;t1="&gt;&lt;img height="18" alt="AddThis Feed Button" src="http://s9.addthis.com/button1-fd.gif" width="125" border="0" /&gt;&lt;/a&gt; &lt;a title="Bookmark and Share" onclick="window.open('http://www.addthis.com/bookmark.php?wt=nw&amp;amp;pub=lmacvittie&amp;amp;url='+encodeURIComponent(location.href)+'&amp;amp;title='+encodeURIComponent(document.title), 'addthis', 'scrollbars=yes,menubar=no,width=620,height=520,resizable=yes,toolbar=no,location=no,status=no,screenX=200,screenY=100,left=200,top=100'); return false;" href="http://www.addthis.com/bookmark.php" target="_blank"&gt;&lt;img height="18" alt="Bookmark and Share" src="http://s9.addthis.com/button1-share.gif" width="125" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:32e600e4-ee21-4d0c-a780-fade27482410" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/MacVittie" rel="tag"&gt;MacVittie&lt;/a&gt;,&lt;a href="http://technorati.com/tags/F5" rel="tag"&gt;F5&lt;/a&gt;,&lt;a href="http://technorati.com/tags/HTTP" rel="tag"&gt;HTTP&lt;/a&gt;,&lt;a href="http://technorati.com/tags/web" rel="tag"&gt;web&lt;/a&gt;,&lt;a href="http://technorati.com/tags/internet" rel="tag"&gt;internet&lt;/a&gt;,&lt;a href="http://technorati.com/tags/applications" rel="tag"&gt;applications&lt;/a&gt;,&lt;a href="http://technorati.com/tags/SharePoint" rel="tag"&gt;SharePoint&lt;/a&gt;,&lt;a href="http://technorati.com/tags/PeopleSoft" rel="tag"&gt;PeopleSoft&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Exchange" rel="tag"&gt;Exchange&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/Turing%20test" rel="tag"&gt;Turing test&lt;/a&gt;,&lt;a href="http://technorati.com/tags/application%20fluency" rel="tag"&gt;application fluency&lt;/a&gt;&lt;/div&gt; &lt;script src="http://track.mybloglog.com/js/jsserv.php?mblID=2008070914270355" type="text/javascript"&gt;&lt;/script&gt;&lt;div class='blogtags'&gt;&lt;br&gt;Categories: &lt;a rel='tag' href='http://technorati.com/tags/Development and General'&gt;Development and General&lt;/a&gt;&amp;nbsp;&lt;/div&gt;&lt;img src="http://devcentral.f5.com/weblogs/macvittie/aggbug/3468.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Lori MacVittie</dc:creator>
            <guid>http://devcentral.f5.com/weblogs/macvittie/archive/2008/07/18/3468.aspx</guid>
            <pubDate>Fri, 18 Jul 2008 12:11:27 GMT</pubDate>
            <wfw:comment>http://devcentral.f5.com/weblogs/macvittie/comments/3468.aspx</wfw:comment>
            <comments>http://devcentral.f5.com/weblogs/macvittie/archive/2008/07/18/3468.aspx#feedback</comments>
            <slash:comments>5</slash:comments>
            <wfw:commentRss>http://devcentral.f5.com/weblogs/macvittie/comments/commentRss/3468.aspx</wfw:commentRss>
        </item>
        <item>
            <title>I say cloud, you say grid</title>
            <category>Development and General</category>
            <link>http://devcentral.f5.com/weblogs/macvittie/archive/2008/07/17/3463.aspx</link>
            <description>&lt;p&gt;With more and more focus on cloud computing one theme seems to be running consistently: the "cloud" is public, and anyone who claims to be building a "private" cloud, a.k.a. mini-cloud or enterprise cloud, is just doing it wrong. &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;John Foley @ InformationWeek has it mostly right when he says that what's important is the technology. &lt;/p&gt; &lt;fieldset style="padding-right: 5px; padding-left: 5px; padding-bottom: 5px; padding-top: 5px"&gt;&lt;legend&gt;&lt;a href="http://www.informationweek.com/blog/main/archives/2008/07/the_rise_of_ent.html"&gt;The Rise of Enterprise-Class Cloud Computing&lt;/a&gt;&lt;/legend&gt;    &lt;p&gt;That's an oxymoron since cloud computing, by definition, happens outside of the corporate data center, but &lt;strong&gt;it's the technology that's important here, not the semantics&lt;/strong&gt;. [emphasis added] &lt;/p&gt; &lt;/fieldset&gt;   &lt;p&gt;Focusing on what you call your compute environment based on whether it's public or private seems a bit silly. There are some who try to elucidate the difference between "grid" and "cloud" computing, and do manage to make a technical distinction between the two.&lt;/p&gt; &lt;fieldset style="padding-right: 5px; padding-left: 5px; padding-bottom: 5px; padding-top: 5px"&gt;&lt;legend&gt;&lt;a href="http://blog.rightscale.com/2008/07/07/cloud-computing-vs-grid-computing/"&gt;RightScale's blog quoting Rich Wolski&lt;/a&gt;&lt;/legend&gt;    &lt;p&gt;Grid computing has been used in environments where users make few but large allocation requests. For example, a lab may have a 1000 node cluster and users make allocations for all 1000, or 500, or 200, etc. So only a few of these allocations can be serviced at a time and others need to be scheduled for when resources are released. This results in sophisticated batch job scheduling algorithms of parallel computations.&lt;/p&gt;    &lt;p&gt;Cloud computing really is about lots of small allocation requests. The Amazon EC2 accounts are limited to 20 servers each by default and lots and lots of users allocate up to 20 servers out of the pool of many thousands of servers at Amazon. The allocations are real-time and in fact there is no provision for queueing allocations until someone else releases resources. This is a completely different resource allocation paradigm, a completely different usage pattern, and all this results in completely different method of using compute resources.&lt;/p&gt; &lt;/fieldset&gt;   &lt;p&gt;Given that definition there &lt;em&gt;are &lt;/em&gt;enterprises engaged in building their own mini-clouds: private, real-time on-demand data centers that service only one entity (the organization) with potentially many customers (business units). &lt;/p&gt;  &lt;p&gt;"Private" clouds employ metering (chargebacks), rely heavily on multiple forms of virtualization, and provision resources in real-time using an on-demand model. That's a cloud as much as it is a grid. &lt;/p&gt;  &lt;p&gt;Like SOA, it's not as if there's some certification board that's going to tell you that you're doing it "wrong", or "right" for that matter. SOA, grid, cloud - it's all about meeting the needs of the business in an operationally and financially efficient way. If that means a private cloud, than that's what you build. If that means using a public cloud, that's what you use. &lt;/p&gt;  &lt;p&gt;Cloud computing is no more required to be public than any other computing model. It's just that - a model - and where it is implemented is of no consequence. &lt;/p&gt;  &lt;p&gt;Besides, I thought part of cloud computing was that we weren't supposed to care about location anyway. &lt;/p&gt;  &lt;p&gt; &lt;/p&gt; &lt;script language="javascript" src="http://s3.polldaddy.com/p/784740.js" type="text/javascript"&gt;&lt;/script&gt;&lt;a name="pd_a_784740"&gt;&lt;/a&gt;  &lt;div class="PDS_Poll" id="PDI_container784740"&gt;   &lt;div id="PDI_form784740" style="margin-top: 0px; margin-bottom: 0px" name="PDI_form784740"&gt;     &lt;div class="pds-box"&gt;       &lt;div class="pds-box-outer"&gt;         &lt;div class="pds-box-inner"&gt;           &lt;div class="pds-box-top"&gt;             &lt;div class="pds-question"&gt;               &lt;div class="pds-question-outer"&gt;                 &lt;div class="pds-question-inner"&gt;                   &lt;div class="pds-question-top"&gt;What are your plans for cloud computing? &lt;/div&gt;                 &lt;/div&gt;               &lt;/div&gt;             &lt;/div&gt;              &lt;div class="pds-answer"&gt;&lt;span id="pds-answer784740"&gt;&lt;input class="pds-radiobutton" id="PDI_answer4089292" type="radio" name="PDI_answer784740" /&gt;&lt;label for="PDI_answer4089292"&gt;We're going to ignore the whole thing&lt;/label&gt;                  &lt;br /&gt;&lt;input class="pds-radiobutton" id="PDI_answer4089294" type="radio" name="PDI_answer784740" /&gt;&lt;label for="PDI_answer4089294"&gt;We're likely to use an external cloud provider for as much as possible&lt;/label&gt;                  &lt;br /&gt;&lt;input class="pds-radiobutton" id="PDI_answer4089296" type="radio" name="PDI_answer784740" /&gt;&lt;label for="PDI_answer4089296"&gt;We're likely to use an external cloud provider for some applications and services&lt;/label&gt;                  &lt;br /&gt;&lt;input class="pds-radiobutton" id="PDI_answer4089298" type="radio" name="PDI_answer784740" /&gt;&lt;label for="PDI_answer4089298"&gt;We're rolling our own mini-clouds&lt;/label&gt;                  &lt;br /&gt;&lt;/span&gt;&lt;/div&gt;              &lt;div class="pds-vote"&gt;               &lt;div class="pds-votebutton-outer"&gt;&lt;input class="pds-votebutton" style="border-right: medium none; border-top: medium none; border-left: medium none; cursor: pointer; border-bottom: medium none" onclick="PD_vote784740(0);" type="button" src="http://s3.polldaddy.com/images/spacer.gif" /&gt;&lt;a href="javascript:PD_vote784740(1);"&gt;&amp;gt; View Results&lt;/a&gt;                  &lt;br /&gt;&lt;a style="display: inline; visibility: visible" href="http://www.polldaddy.com/" target="_blank"&gt;PollDaddy.com&lt;/a&gt;                  &lt;br /&gt;&lt;/div&gt;             &lt;/div&gt;           &lt;/div&gt;         &lt;/div&gt;       &lt;/div&gt;     &lt;/div&gt;   &lt;/div&gt; &lt;/div&gt; &lt;noscript&gt; &lt;a href="http://answers.polldaddy.com/poll/784740/"&gt;What are your plans for cloud computing? &lt;/a&gt;  &lt;br /&gt; &lt;span style="font-size:9px;"&gt; (&lt;a href="http://www.polldaddy.com"&gt;  surveys&lt;/a&gt;)&lt;/span&gt;&lt;/noscript&gt;  &lt;p&gt;&lt;a href="http://twitter.com/lmacvittie"&gt;&lt;img height="18" alt="Follow me on Twitter" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_twitt-twoo-icon.png" width="18" border="0" /&gt;&lt;/a&gt; &lt;a href="http://devcentral.f5.com/weblogs/macvittie/Rss.aspx"&gt;&lt;img alt="" src="http://devcentral.f5.com/Portals/0/images/Icons/icon_xml_18.gif" border="0" /&gt;&lt;/a&gt;&lt;a href="http://www.slideshare.net/lmacvittie"&gt;&lt;img height="18" alt="View Lori's profile on SlideShare" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_slideshare.png" width="18" border="0" /&gt;&lt;/a&gt;&lt;a href="http://lmacvittie.tumblr.com" border="0"&gt;&lt;img title="Follow me on Tumblr" height="18" alt="" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_tumblr.gif" width="18" border="0" /&gt;&lt;/a&gt; &lt;a href="http://lmacvittie.posterous.com/"&gt;&lt;img title="Posterous" alt="" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_posterous.png" border="0" /&gt;&lt;/a&gt; &lt;a href="http://www.linkedin.com/pub/dir/Lori/MacVittie"&gt;&lt;img alt="" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_linkedin_16.png" border="0" /&gt;&lt;/a&gt; &lt;a title="Subscribe using any feed reader!" href="http://www.addthis.com/feed.php?pub=lmacvittie&amp;amp;h1=http%3A%2F%2Fdevcentral.f5.com%2Fweblogs%2Fmacvittie%2FRss.aspx&amp;amp;t1="&gt;&lt;img height="18" alt="AddThis Feed Button" src="http://s9.addthis.com/button1-fd.gif" width="125" border="0" /&gt;&lt;/a&gt; &lt;a title="Bookmark and Share" onclick="window.open('http://www.addthis.com/bookmark.php?wt=nw&amp;amp;pub=lmacvittie&amp;amp;url='+encodeURIComponent(location.href)+'&amp;amp;title='+encodeURIComponent(document.title), 'addthis', 'scrollbars=yes,menubar=no,width=620,height=520,resizable=yes,toolbar=no,location=no,status=no,screenX=200,screenY=100,left=200,top=100'); return false;" href="http://www.addthis.com/bookmark.php" target="_blank"&gt;&lt;img height="18" alt="Bookmark and Share" src="http://s9.addthis.com/button1-share.gif" width="125" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:6c2a3b83-4a86-4ac6-908b-49caa4581771" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/MacVittie" rel="tag"&gt;MacVittie&lt;/a&gt;,&lt;a href="http://technorati.com/tags/F5" rel="tag"&gt;F5&lt;/a&gt;,&lt;a href="http://technorati.com/tags/cloud%20computing" rel="tag"&gt;cloud computing&lt;/a&gt;,&lt;a href="http://technorati.com/tags/cloud%20computing%20infrastructure" rel="tag"&gt;cloud computing infrastructure&lt;/a&gt;,&lt;a href="http://technorati.com/tags/grid%20computing" rel="tag"&gt;grid computing&lt;/a&gt;,&lt;a href="http://technorati.com/tags/mini-cloud" rel="tag"&gt;mini-cloud&lt;/a&gt;,&lt;a href="http://technorati.com/tags/private%20cloud" rel="tag"&gt;private cloud&lt;/a&gt;,&lt;a href="http://technorati.com/tags/RightScale" rel="tag"&gt;RightScale&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Amazon" rel="tag"&gt;Amazon&lt;/a&gt;&lt;/div&gt; &lt;script src="http://track.mybloglog.com/js/jsserv.php?mblID=2008070914270355" type="text/javascript"&gt;&lt;/script&gt;&lt;div class='blogtags'&gt;&lt;br&gt;Categories: &lt;a rel='tag' href='http://technorati.com/tags/Development and General'&gt;Development and General&lt;/a&gt;&amp;nbsp;&lt;/div&gt;&lt;img src="http://devcentral.f5.com/weblogs/macvittie/aggbug/3463.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Lori MacVittie</dc:creator>
            <guid>http://devcentral.f5.com/weblogs/macvittie/archive/2008/07/17/3463.aspx</guid>
            <pubDate>Thu, 17 Jul 2008 12:49:49 GMT</pubDate>
            <wfw:comment>http://devcentral.f5.com/weblogs/macvittie/comments/3463.aspx</wfw:comment>
            <comments>http://devcentral.f5.com/weblogs/macvittie/archive/2008/07/17/3463.aspx#feedback</comments>
            <slash:comments>3</slash:comments>
            <wfw:commentRss>http://devcentral.f5.com/weblogs/macvittie/comments/commentRss/3463.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Dear Plurk: We're Through. Kthxbye.</title>
            <category>Development and General</category>
            <category>Randomness</category>
            <link>http://devcentral.f5.com/weblogs/macvittie/archive/2008/07/16/3459.aspx</link>
            <description>&lt;p&gt;&lt;a href="http://www.plurk.com" target="_blank"&gt;Plurk&lt;/a&gt;. &lt;a href="http://www.twitter.com" target="_blank"&gt;Twitter&lt;/a&gt;. &lt;a href="http://www.plurk.com" target="_blank"&gt;Plurk&lt;/a&gt;? &lt;a href="http://www.twitter.com" target="_blank"&gt;Twitter&lt;/a&gt;? When &lt;a href="http://www.twitter.com" target="_blank"&gt;Twitter&lt;/a&gt; is down (which is often) many denizens of the "life streaming" site rush to &lt;a href="http://www.plurk.com" target="_blank"&gt;plurk&lt;/a&gt; to continue sharing news, blog posts, gossip, and general tidbits of interest. &lt;/p&gt;  &lt;p&gt;The difference between the two is that Twitter doesn't put any pressure on your to tweet. Sure, your "followers" can "nudge" you to update, but it's not the headless-dog-staring-at-you-on-every-page pressure of plurk. If you haven't plurked, that may be lost on you. So let me explain. &lt;/p&gt;  &lt;p&gt;Plurk is partially a karma-based site. You can raise your karma by inviting friends, gaining followers, plurking, and responding to other plurks. There's an icon of a dog that starts out headless on every page and as your karma increases your dog gets more body parts and accoutrements. Cute, right? &lt;/p&gt;  &lt;p&gt;&lt;img style="margin: 0px 10px 0px 0px" src="http://www.plurk.com/static/splash/interesting-plurkers.gif" align="left" /&gt;Except that the karma system feels too much like high school. Even the encouragement to meet other plurkers makes you feel like you're a loser: "Check out more interesting plurkers" it says. As if you're not interesting enough to check out.I know, it could be read as "more" as in "other" but when that headless dog is staring you in the face you just &lt;em&gt;know &lt;/em&gt;it means "you aren't interesting". It's a popularity contest that rewards people with more social skills than I am apparently endowed with special emoticons (I admit I will miss the dancing banana) and a full bodied dog. &lt;/p&gt;  &lt;p&gt;So the more questions you pose, and the more answers you give, the better your karma. But if you're like me, this begins to feel like a popularity contest. If I don't say the right things or ask the right questions or share the right sites, no one will respond to me. Not only does this keep my karma from rising but it actually &lt;em&gt;decreases&lt;/em&gt; my karma. &lt;/p&gt;  &lt;p&gt;Twitter doesn't judge me. It accepts me for who I am. It doesn't grade my tweets, it doesn't make fun of me with headless dogs for not being social enough. It doesn't urge me to become a social networking pimp by inviting my friends to plurk in order to increase my karma. It doesn't distinguish between "friends" and "fans", or make you feel bad that you don't have fans, you just have friends. &lt;/p&gt;  &lt;p&gt;Plurk just makes me feel like an awkward teenage geek (again) and honestly, I prefer the simpler interface of Twitter and the quality of information and questions shared among those I choose to follow. &lt;/p&gt;  &lt;p&gt;I guess I just prefer a social networking site that doesn't punish me for being me. &lt;/p&gt;  &lt;p&gt;So so long, Plurk, and thanks for all the fish. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://twitter.com/lmacvittie"&gt;&lt;img height="18" alt="Follow me on Twitter" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_twitt-twoo-icon.png" width="18" border="0" /&gt;&lt;/a&gt; &lt;a href="http://devcentral.f5.com/weblogs/macvittie/Rss.aspx"&gt;&lt;img src="http://devcentral.f5.com/Portals/0/images/Icons/icon_xml_18.gif" border="0" /&gt;&lt;/a&gt;&lt;a href="http://www.slideshare.net/lmacvittie"&gt;&lt;img height="18" alt="View Lori's profile on SlideShare" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_slideshare.png" width="18" border="0" /&gt;&lt;/a&gt;&lt;a href="http://lmacvittie.tumblr.com" border="0"&gt;&lt;img title="Follow me on Tumblr" height="18" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_tumblr.gif" width="18" border="0" /&gt;&lt;/a&gt; &lt;a href="http://lmacvittie.posterous.com/"&gt;&lt;img title="Posterous" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_posterous.png" border="0" /&gt;&lt;/a&gt; &lt;a href="http://www.linkedin.com/pub/dir/Lori/MacVittie"&gt;&lt;img src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_linkedin_16.png" border="0" /&gt;&lt;/a&gt; &lt;a title="Subscribe using any feed reader!" href="http://www.addthis.com/feed.php?pub=lmacvittie&amp;amp;h1=http%3A%2F%2Fdevcentral.f5.com%2Fweblogs%2Fmacvittie%2FRss.aspx&amp;amp;t1="&gt;&lt;img height="18" alt="AddThis Feed Button" src="http://s9.addthis.com/button1-fd.gif" width="125" border="0" /&gt;&lt;/a&gt; &lt;a title="Bookmark and Share" onclick="window.open('http://www.addthis.com/bookmark.php?wt=nw&amp;amp;pub=lmacvittie&amp;amp;url='+encodeURIComponent(location.href)+'&amp;amp;title='+encodeURIComponent(document.title), 'addthis', 'scrollbars=yes,menubar=no,width=620,height=520,resizable=yes,toolbar=no,location=no,status=no,screenX=200,screenY=100,left=200,top=100'); return false;" href="http://www.addthis.com/bookmark.php" target="_blank"&gt;&lt;img height="18" alt="Bookmark and Share" src="http://s9.addthis.com/button1-share.gif" width="125" border="0" /&gt;&lt;/a&gt; &lt;/p&gt; &lt;script src="http://track.mybloglog.com/js/jsserv.php?mblID=2008070914270355" type="text/javascript"&gt;&lt;/script&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:3af58f7b-c9ba-4589-b493-896712938fbc" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/MacVittie" rel="tag"&gt;MacVittie&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Twitter" rel="tag"&gt;Twitter&lt;/a&gt;,&lt;a href="http://technorati.com/tags/plurk" rel="tag"&gt;plurk&lt;/a&gt;,&lt;a href="http://technorati.com/tags/social%20networking" rel="tag"&gt;social networking&lt;/a&gt;,&lt;a href="http://technorati.com/tags/karma" rel="tag"&gt;karma&lt;/a&gt;,&lt;a href="http://technorati.com/tags/geek" rel="tag"&gt;geek&lt;/a&gt;&lt;/div&gt;&lt;div class='blogtags'&gt;&lt;br&gt;Categories: &lt;a rel='tag' href='http://technorati.com/tags/Development and General'&gt;Development and General&lt;/a&gt;&amp;nbsp;, &lt;a rel='tag' href='http://technorati.com/tags/Randomness'&gt;Randomness&lt;/a&gt;&amp;nbsp;&lt;/div&gt;&lt;img src="http://devcentral.f5.com/weblogs/macvittie/aggbug/3459.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Lori MacVittie</dc:creator>
            <guid>http://devcentral.f5.com/weblogs/macvittie/archive/2008/07/16/3459.aspx</guid>
            <pubDate>Wed, 16 Jul 2008 21:16:43 GMT</pubDate>
            <wfw:comment>http://devcentral.f5.com/weblogs/macvittie/comments/3459.aspx</wfw:comment>
            <comments>http://devcentral.f5.com/weblogs/macvittie/archive/2008/07/16/3459.aspx#feedback</comments>
            <slash:comments>2</slash:comments>
            <wfw:commentRss>http://devcentral.f5.com/weblogs/macvittie/comments/commentRss/3459.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Horizontal and Vertical Security: Which do you need?</title>
            <category>Development and General</category>
            <category>Security</category>
            <link>http://devcentral.f5.com/weblogs/macvittie/archive/2008/07/16/3456.aspx</link>
            <description>&lt;p&gt;No one questions the need to secure applications today, we just argue over how we should do it. Let's take a break for a minute from that debate to ensure that we don't get so focused on layer 7 (application) that we forget about the rest of the stack and the importance of securing &lt;em&gt;it &lt;/em&gt;as well. &lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:8747F07C-CDE8-481f-B0DF-C6CFD074BF67:829a6cbe-3b82-4bb5-b8a8-610f2693a8e5" style="padding-right: 0px; display: inline; padding-left: 0px; float: right; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;&lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/FullStackSecurity_6C69/weak%20link-8x6.JPG" title="" rel="thumbnail"&gt;&lt;img border="0" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/FullStackSecurity_6C69/weak%20link_24.png" /&gt;&lt;/a&gt;&lt;/div&gt;  &lt;p&gt;Just as a chain is only as strong as its weakest link, an application is only as secured as its most vulnerable layer in the stack. If your application is well secured, but the network layer (IP) is wide open, you're at risk. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://isc.sans.org/" target="_blank"&gt;SANS Internet Storm Center&lt;/a&gt; has some &lt;a href="http://isc.sans.org/survivaltime.html" target="_blank"&gt;interesting stats on the "survival" time&lt;/a&gt; of a Windows-based server on the public internet. The "survival" time is the time it takes for an unpatched Windows server to be p0wned once it's publicly accessible. &lt;/p&gt;  &lt;p&gt;Now no reasonable administrator is going to put an &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2008/06/19/3372.aspx" target="_blank"&gt;unpatched&lt;/a&gt;, unprotected server running any operating system on the public Internet, so this information isn't as interesting as it first sounds. What is exceedingly interesting, however, is the list of "ports" and applications that are attacked when a system is available for public access. The list contains both what we would consider "applications" as well as protocols up and down the &lt;a href="http://www.faqs.org/rfcs/rfc793.html" target="_blank"&gt;TCP&lt;/a&gt;/&lt;a href="http://www.ietf.org/rfc/rfc791.txt" target="_blank"&gt;IP&lt;/a&gt; stack. It includes protocols from layer 4 to layer 7 such as: &lt;a href="http://en.wikipedia.org/wiki/FTP_server" target="_blank"&gt;FTP&lt;/a&gt;, &lt;a href="http://www.w3.org/Protocols/" target="_blank"&gt;HTTP&lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/Domain_Name_System " target="_blank"&gt;DNS&lt;/a&gt;, &lt;a href="http://www.microsoft.com/sqlserver/ " target="_blank"&gt;MSSQL&lt;/a&gt;, and &lt;a href="http://www.faqs.org/rfcs/rfc1001.html" target="_blank"&gt;NetBIOS&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;What this simple exercise should teach us is that it's not enough to just be concerned with application security just at the &lt;em&gt;application&lt;/em&gt; layer; it's imperative that we consider all layers of the stack when we're trying to secure an application and ensure that layer 2, 3, and 4 is just as secure as layer 7. As the recent &lt;a href="http://securosis.com/2008/07/08/dan-kaminsky-discovers-fundamental-issue-in-dns-massive-multivendor-patch-released/" target="_blank"&gt;DNS vulnerability discovered by Dan Kaminsky proved&lt;/a&gt;, it's just as important to be concerned about protocols and their security as it is the application and its (lack of) security. &lt;/p&gt;  &lt;p&gt;That means securing the platforms on which applications are deployed as well as &lt;a href="http://www.f5.com/products/big-ip" target="_blank"&gt;application delivery solutions&lt;/a&gt; through which they are delivered and the routers and switches which ultimately route the data in and out of the data center. Every link in the chain must be secured, and that means vertically (platform and OS) as well as horizontally (network path). Just as you wouldn't consider putting an unpatched server in public reach, you probably wouldn't consider putting putting up a patched server without the protection of a firewall. &lt;/p&gt;  &lt;p&gt;But we also need to consider the rest of the horizontal and the vertical chains that protect our applications to ensure that they are all properly hardened. So the question, "Which do you need?" is fairly easily answered. "You need both." &lt;/p&gt;  &lt;p&gt;Leaving even one weak link in either direction is likely to result in your organization becoming &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2008/06/19/3371.aspx" target="_blank"&gt;yet another statistic&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://twitter.com/lmacvittie"&gt;&lt;img height="18" alt="Follow me on Twitter" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_twitt-twoo-icon.png" width="18" border="0" /&gt;&lt;/a&gt; &lt;a href="http://devcentral.f5.com/weblogs/macvittie/Rss.aspx"&gt;&lt;img src="http://devcentral.f5.com/Portals/0/images/Icons/icon_xml_18.gif" border="0" /&gt;&lt;/a&gt;&lt;a href="http://www.slideshare.net/lmacvittie"&gt;&lt;img height="18" alt="View Lori's profile on SlideShare" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_slideshare.png" width="18" border="0" /&gt;&lt;/a&gt;&lt;a href="http://lmacvittie.tumblr.com" border="0"&gt;&lt;img title="Follow me on Tumblr" height="18" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_tumblr.gif" width="18" border="0" /&gt;&lt;/a&gt; &lt;a href="http://lmacvittie.posterous.com/"&gt;&lt;img title="Posterous" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_posterous.png" border="0" /&gt;&lt;/a&gt; &lt;a href="http://www.linkedin.com/pub/dir/Lori/MacVittie"&gt;&lt;img src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_linkedin_16.png" border="0" /&gt;&lt;/a&gt; &lt;a title="Subscribe using any feed reader!" href="http://www.addthis.com/feed.php?pub=lmacvittie&amp;amp;h1=http%3A%2F%2Fdevcentral.f5.com%2Fweblogs%2Fmacvittie%2FRss.aspx&amp;amp;t1="&gt;&lt;img height="18" alt="AddThis Feed Button" src="http://s9.addthis.com/button1-fd.gif" width="125" border="0" /&gt;&lt;/a&gt; &lt;a title="Bookmark and Share" onclick="window.open('http://www.addthis.com/bookmark.php?wt=nw&amp;amp;pub=lmacvittie&amp;amp;url='+encodeURIComponent(location.href)+'&amp;amp;title='+encodeURIComponent(document.title), 'addthis', 'scrollbars=yes,menubar=no,width=620,height=520,resizable=yes,toolbar=no,location=no,status=no,screenX=200,screenY=100,left=200,top=100'); return false;" href="http://www.addthis.com/bookmark.php" target="_blank"&gt;&lt;img height="18" alt="Bookmark and Share" src="http://s9.addthis.com/button1-share.gif" width="125" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:b1a13bd3-0e21-44f3-a2e0-a48d4213b8c8" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/MacVittie" rel="tag"&gt;MacVittie&lt;/a&gt;,&lt;a href="http://technorati.com/tags/F5" rel="tag"&gt;F5&lt;/a&gt;,&lt;a href="http://technorati.com/tags/security" rel="tag"&gt;security&lt;/a&gt;,&lt;a href="http://technorati.com/tags/applications" rel="tag"&gt;applications&lt;/a&gt;,&lt;a href="http://technorati.com/tags/protocols" rel="tag"&gt;protocols&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/patches" rel="tag"&gt;patches&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Windows" rel="tag"&gt;Windows&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/SANS" rel="tag"&gt;SANS&lt;/a&gt;,&lt;a href="http://technorati.com/tags/DNS" rel="tag"&gt;DNS&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Kaminsky" rel="tag"&gt;Kaminsky&lt;/a&gt;&lt;/div&gt; &lt;script src="http://track.mybloglog.com/js/jsserv.php?mblID=2008070914270355" type="text/javascript"&gt;&lt;/script&gt;&lt;div class='blogtags'&gt;&lt;br&gt;Categories: &lt;a rel='tag' href='http://technorati.com/tags/Development and General'&gt;Development and General&lt;/a&gt;&amp;nbsp;, &lt;a rel='tag' href='http://technorati.com/tags/Security'&gt;Security&lt;/a&gt;&amp;nbsp;&lt;/div&gt;&lt;img src="http://devcentral.f5.com/weblogs/macvittie/aggbug/3456.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Lori MacVittie</dc:creator>
            <guid>http://devcentral.f5.com/weblogs/macvittie/archive/2008/07/16/3456.aspx</guid>
            <pubDate>Wed, 16 Jul 2008 15:24:14 GMT</pubDate>
            <wfw:comment>http://devcentral.f5.com/weblogs/macvittie/comments/3456.aspx</wfw:comment>
            <comments>http://devcentral.f5.com/weblogs/macvittie/archive/2008/07/16/3456.aspx#feedback</comments>
            <wfw:commentRss>http://devcentral.f5.com/weblogs/macvittie/comments/commentRss/3456.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Recession Proofing Your Application Infrastructure</title>
            <category>Development and General</category>
            <link>http://devcentral.f5.com/weblogs/macvittie/archive/2008/07/15/3452.aspx</link>
            <description>&lt;p&gt;Cisco CEO John Chambers &lt;a href="http://money.cnn.com/2008/07/09/technology/cisco.fortune/?postversion=2008070915" target="_blank"&gt;recently announced&lt;/a&gt; that the slowdown in corporate IT spending will continue until 2009. &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;img src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_start_quote_rb.gif" /&gt; NEW YORK (Fortune) -- Cisco chief John Chambers has some bad news for the technology sector: He no longer expects the recent slowdown in tech spending to pick up until next year at the earliest.&lt;img src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_end_quote_rb.gif" /&gt; &lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;IT is still spending dollars, but not as freely as in past years. In a constrained budgetary environment, IT now has to ask the question, "What's going to give me the best bang for my buck?" &lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:8747F07C-CDE8-481f-B0DF-C6CFD074BF67:bcdcec93-3423-4847-8abd-f863f1716b40" style="padding-right: 0px; display: inline; padding-left: 0px; float: left; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;&lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureSpendingthatMakesSense_44F8/money-8x6.jpg" title="When this is all you have, where do you spend it? " rel="thumbnail"&gt;&lt;img border="0" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureSpendingthatMakesSense_44F8/money_42.png" /&gt;&lt;/a&gt;&lt;/div&gt;  &lt;p&gt;What makes this question even more difficult to answer is that IT still has to address all the same concerns it always has: how to increase capacity, improve application performance, and maintain security. It's just that now it has a more limited budget within which it must work. &lt;/p&gt;  &lt;p&gt;Jim Metzler, vice president of Ashton, Metzler &amp;amp; Associates, has an answer to that question. You may recall that Mr. Metzler is a proponent of &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2008/05/14/3262.aspx" target="_blank"&gt;knocking down the silos that exist within IT&lt;/a&gt; in order to successfully deliver applications in a secure, fast, and available manner. &lt;/p&gt;  &lt;p&gt;He recently completed another brief, this time focusing on the best way to maximize IT investments in a constrained economy. &lt;/p&gt; &lt;fieldset style="padding-right: 5px; padding-left: 5px; padding-bottom: 5px; padding-top: 5px"&gt;&lt;legend&gt;From Mr. Metzler's latest brief&lt;/legend&gt;    &lt;p&gt;In demanding economic times, organizations must focus on reducing budgets. This brief will discuss effective technologies that network teams should deploy to help their businesses succeed, even when faced with budget constraints. Also, this brief will point out how these technologies enable network teams to support key business initiatives as well as reduce cost.&lt;/p&gt;    &lt;p&gt;Despite a constrained economy, market research indicates CIOs’ top three business priorities in 2008 are:&lt;/p&gt;    &lt;ul&gt;     &lt;li&gt;Business Process Improvement &lt;/li&gt;      &lt;li&gt;Attracting and retaining new customers &lt;/li&gt;      &lt;li&gt;Creating new products and services &lt;/li&gt;   &lt;/ul&gt;    &lt;p&gt;This research also indicates that CIOs’ top three technology priorities are:&lt;/p&gt;    &lt;ul&gt;     &lt;li&gt;Business intelligence applications &lt;/li&gt;      &lt;li&gt;Enterprise applications such as ERP and CRM &lt;/li&gt;      &lt;li&gt;Servers and storage technologies &lt;/li&gt;   &lt;/ul&gt;    &lt;p&gt;Even in a booming economy, network teams are challenged to support these priorities.&lt;/p&gt; &lt;/fieldset&gt;   &lt;p&gt;Assuming Mr. Chambers is correct, and organizations will continue to be financially constrained throughout 2008 and into 2009, Mr. Metzler's &lt;a href="http://www.f5.com/pdf/analyst-reports/recession-proofing-your-network.pdf" target="_blank"&gt;brief on Maximizing IT Investments&lt;/a&gt; is an excellent read with solid advice on how best to spend what few dollars you may have in order to see the greatest "bang for your buck" while meeting the priorities of the organization. &lt;/p&gt;  &lt;p&gt;Get the brief here: &lt;a href="http://www.f5.com/pdf/analyst-reports/recession-proofing-your-network.pdf" target="_blank"&gt;Maximizing IT Investments: Recession Proofing your Network&lt;/a&gt;&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://twitter.com/lmacvittie"&gt;&lt;img height="18" alt="Follow me on Twitter" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_twitt-twoo-icon.png" width="18" border="0" /&gt;&lt;/a&gt; &lt;a href="http://devcentral.f5.com/weblogs/macvittie/Rss.aspx"&gt;&lt;img src="http://devcentral.f5.com/Portals/0/images/Icons/icon_xml_18.gif" border="0" /&gt;&lt;/a&gt;&lt;a href="http://www.slideshare.net/lmacvittie"&gt;&lt;img height="18" alt="View Lori's profile on SlideShare" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_slideshare.png" width="18" border="0" /&gt;&lt;/a&gt;&lt;a href="http://lmacvittie.tumblr.com" border="0"&gt;&lt;img title="Follow me on Tumblr" height="18" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_tumblr.gif" width="18" border="0" /&gt;&lt;/a&gt; &lt;a href="http://lmacvittie.posterous.com/"&gt;&lt;img title="Posterous" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_posterous.png" border="0" /&gt;&lt;/a&gt; &lt;a href="http://www.linkedin.com/pub/dir/Lori/MacVittie"&gt;&lt;img src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_linkedin_16.png" border="0" /&gt;&lt;/a&gt; &lt;a title="Subscribe using any feed reader!" href="http://www.addthis.com/feed.php?pub=lmacvittie&amp;amp;h1=http%3A%2F%2Fdevcentral.f5.com%2Fweblogs%2Fmacvittie%2FRss.aspx&amp;amp;t1="&gt;&lt;img height="18" alt="AddThis Feed Button" src="http://s9.addthis.com/button1-fd.gif" width="125" border="0" /&gt;&lt;/a&gt; &lt;a title="Bookmark and Share" onclick="window.open('http://www.addthis.com/bookmark.php?wt=nw&amp;amp;pub=lmacvittie&amp;amp;url='+encodeURIComponent(location.href)+'&amp;amp;title='+encodeURIComponent(document.title), 'addthis', 'scrollbars=yes,menubar=no,width=620,height=520,resizable=yes,toolbar=no,location=no,status=no,screenX=200,screenY=100,left=200,top=100'); return false;" href="http://www.addthis.com/bookmark.php" target="_blank"&gt;&lt;img height="18" alt="Bookmark and Share" src="http://s9.addthis.com/button1-share.gif" width="125" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:a360b679-e725-4f80-9f4f-1c300e3a068b" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/MacVittie" rel="tag"&gt;MacVittie&lt;/a&gt;,&lt;a href="http://technorati.com/tags/F5" rel="tag"&gt;F5&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Metzler" rel="tag"&gt;Metzler&lt;/a&gt;,&lt;a href="http://technorati.com/tags/recession" rel="tag"&gt;recession&lt;/a&gt;,&lt;a href="http://technorati.com/tags/applications" rel="tag"&gt;applications&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/spending" rel="tag"&gt;spending&lt;/a&gt;,&lt;a href="http://technorati.com/tags/ROI" rel="tag"&gt;ROI&lt;/a&gt;,&lt;a href="http://technorati.com/tags/investments" rel="tag"&gt;investments&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Chambers" rel="tag"&gt;Chambers&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Cisco" rel="tag"&gt;Cisco&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/internet" rel="tag"&gt;internet&lt;/a&gt;,&lt;a href="http://technorati.com/tags/web" rel="tag"&gt;web&lt;/a&gt;&lt;/div&gt; &lt;script src="http://track.mybloglog.com/js/jsserv.php?mblID=2008070914270355" type="text/javascript"&gt;&lt;/script&gt;&lt;div class='blogtags'&gt;&lt;br&gt;Categories: &lt;a rel='tag' href='http://technorati.com/tags/Development and General'&gt;Development and General&lt;/a&gt;&amp;nbsp;&lt;/div&gt;&lt;img src="http://devcentral.f5.com/weblogs/macvittie/aggbug/3452.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Lori MacVittie</dc:creator>
            <guid>http://devcentral.f5.com/weblogs/macvittie/archive/2008/07/15/3452.aspx</guid>
            <pubDate>Tue, 15 Jul 2008 12:16:32 GMT</pubDate>
            <wfw:comment>http://devcentral.f5.com/weblogs/macvittie/comments/3452.aspx</wfw:comment>
            <comments>http://devcentral.f5.com/weblogs/macvittie/archive/2008/07/15/3452.aspx#feedback</comments>
            <wfw:commentRss>http://devcentral.f5.com/weblogs/macvittie/comments/commentRss/3452.aspx</wfw:commentRss>
        </item>
        <item>
            <title>A queue is a (a) line (b) a pony tail (c) a data structure</title>
            <category>Development and General</category>
            <category>Randomness</category>
            <link>http://devcentral.f5.com/weblogs/macvittie/archive/2008/07/14/3448.aspx</link>
            <description>&lt;p&gt;&lt;a target="_blank" href="http://weblog.infoworld.com/fatalexception/"&gt;Neil McAllister&lt;/a&gt; @ &lt;a target="_blank" href="http://www.infoworld.com"&gt;InfoWorld&lt;/a&gt; has a &lt;a target="_blank" href="http://weblog.infoworld.com/fatalexception/archives/2008/07/the_web_develop.html"&gt;great blog post on The Web development skills crisis&lt;/a&gt;. He postulates at that &lt;em&gt;"The most agile developers, however, are those who approach programming with a firm grounding in computer science."&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Amen, brother. Say it again, only this time loud enough my son hears you. &lt;/p&gt;
&lt;p&gt;The basic premise of Neil's post revolves around the frenetic rate at which programming technology is changing. It isn't just languages, though that is certainly part of the mix, it's also the increasing number of libraries and frameworks from which web developers can choose to develop web applications. &lt;/p&gt;
&lt;p&gt;In order to switch from Python to Java to C to JavaScript, and do so almost seamlessly, requires, as Neil points out, a firm grounding in computer science. The kind of firm grounding that comes from an accredited computer science degree program at an established university. Or does it? &lt;/p&gt;
&lt;div style="margin: 0px; padding: 0px; display: inline; float: left;" id="scid:8747F07C-CDE8-481f-B0DF-C6CFD074BF67:2c3baefe-21bb-4710-a7db-b40cbdce25d1" class="wlWriterSmartContent"&gt;&lt;a rel="thumbnail" title="" href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/Whyyouneedadegreeincomputerscience_5054/code%20small-8x6.jpg"&gt;&lt;img border="0" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/Whyyouneedadegreeincomputerscience_5054/code%20small_4.png" alt="" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;p&gt;If you know young adults studying computer science in college today, you may find it disheartening that even a four year degree at an accredited, reputable university no longer ensures a "firm grounding in computer science." The continued transformation of computer science degrees into web programming degrees replete with CSS and JavaScript courses have become the norm, and traditional theoretical classes like compiler and language theory have gone the route of the dodo bird. The same college where I earned my undergraduate degree no longer offers Compiler Theory or Theory of Programming Languages, or even a Graphics course. It now offers "software design" classes in which students are taught Visual Basic, CSS, and JavaScript. They're taught the concrete implementation of programming, not the abstract theories behind it. Students aren't being taught computer science, they're being taught &lt;em&gt;rote programming &lt;/em&gt;and not computer science. &lt;/p&gt;
&lt;p&gt;That's increasingly disturbing, as it is these theoretical classes in which students build a strong foundational understanding of languages and computer science that can be used to become the agile developer required in today's quickly changing web development environment. If you graduated with a degree in computer science but don't know the difference between a hash table, a stack, and a linked list, then your degree program has failed you. &lt;/p&gt;
&lt;p&gt;If you just "import" a queue, or &lt;a target="_blank" href="http://devcentral.f5.com/weblogs/macvittie/archive/2008/05/19/3273.aspx"&gt;a linked list&lt;/a&gt;, or a vector, and you don't &lt;em&gt;understand &lt;/em&gt;the implementation of these basic data types you might be choosing one that will not only affect the performance of your application, but put limitations on further development down the road. &lt;/p&gt;
&lt;p&gt;The best programmers, agile programmers, are the ones that &lt;em&gt;understand &lt;/em&gt;not only the language but the basic constructs of all programming languages because they are, in essence, the same. They understand the &lt;em&gt;theory&lt;/em&gt; and data structures and algorithms and it is that which enables them to move between languages and environments with alacrity. &lt;/p&gt;
&lt;p&gt;And you network administrators out there - don't think you're off the hook so easily. If you don't know the difference between a queue and a weighted-queue and the advantages and disadvantages of each, then you don't really understand what you're doing when you click that checkbox on a firewall or traffic management device that implements queuing as a method of quality of service. Many of the techniques used to implement network-oriented tasks are based solidly in computer science algorithms, &lt;a target="_blank" href="http://devcentral.f5.com/weblogs/macvittie/archive/2008/05/05/3224.aspx"&gt;like basic routing and load-balancing&lt;/a&gt; that form the basis of application acceleration solutions and good old fashioned routers. That means that you, too, could benefit from a firm foundation in computer science. After all, the software that makes those network devices work in the first place is just that - software. In the end, it's all code and it all boils down to the same thing: data structures, control structures, and compilers. &lt;/p&gt;
&lt;p&gt;Knowing &lt;em&gt;why &lt;/em&gt;something performs the way it does gives you an edge; it gives you insight into why things go wrong and why things go right when you're configuring a device or writing an application or architecting a solution. &lt;/p&gt;
&lt;p&gt;It may be cliché, but it's true: knowing is half the battle. &lt;/p&gt;
&lt;p&gt;The other half is realizing that you need to know in the first place. &lt;/p&gt;
&lt;p&gt; &lt;/p&gt;&lt;br /&gt;
&lt;script type="text/javascript" language="javascript" src="http://s3.polldaddy.com/p/783907.js"&gt;&lt;/script&gt;&lt;noscript&gt; &lt;a href="http://answers.polldaddy.com/poll/783907/"&gt;Do you think a computer science degree is required to be an agile developer? &lt;/a&gt;  &lt;br /&gt; &lt;span style="font-size:9px;"&gt; (&lt;a href="http://www.polldaddy.com"&gt;  surveys&lt;/a&gt;)&lt;/span&gt;&lt;/noscript&gt;&lt;br /&gt;
&lt;p&gt;&lt;a href="http://twitter.com/lmacvittie"&gt;&lt;img width="18" height="18" border="0" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_twitt-twoo-icon.png" alt="Follow me on Twitter" /&gt;&lt;/a&gt; &lt;a href="http://devcentral.f5.com/weblogs/macvittie/Rss.aspx"&gt;&lt;img border="0" src="http://devcentral.f5.com/Portals/0/images/Icons/icon_xml_18.gif" alt="" /&gt;&lt;/a&gt;&lt;a href="http://www.slideshare.net/lmacvittie"&gt;&lt;img width="18" height="18" border="0" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_slideshare.png" alt="View Lori's profile on SlideShare" /&gt;&lt;/a&gt;&lt;a border="0" href="http://lmacvittie.tumblr.com"&gt;&lt;img width="18" height="18" border="0" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_tumblr.gif" title="Follow me on Tumblr" alt="" /&gt;&lt;/a&gt; &lt;a href="http://lmacvittie.posterous.com/"&gt;&lt;img border="0" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_posterous.png" title="Posterous" alt="" /&gt;&lt;/a&gt; &lt;a href="http://www.linkedin.com/pub/dir/Lori/MacVittie"&gt;&lt;img border="0" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_linkedin_16.png" alt="" /&gt;&lt;/a&gt; &lt;a 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=" title="Subscribe using any feed reader!"&gt;&lt;img width="125" height="18" border="0" src="http://s9.addthis.com/button1-fd.gif" alt="AddThis Feed Button" /&gt;&lt;/a&gt; &lt;a target="_blank" href="http://www.addthis.com/bookmark.php" 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;" title="Bookmark and Share"&gt;&lt;img width="125" height="18" border="0" src="http://s9.addthis.com/button1-share.gif" alt="Bookmark and Share" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;script src="http://track.mybloglog.com/js/jsserv.php?mblID=2008070914270355" type="text/javascript"&gt;&lt;/script&gt;
&lt;div style="margin: 0px; padding: 0px; display: inline;" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:e9ce7b5e-8e9c-4aad-9e62-8ead35891f7f" class="wlWriterSmartContent"&gt;Technorati Tags: &lt;a rel="tag" href="http://technorati.com/tags/MacVittie"&gt;MacVittie&lt;/a&gt;,&lt;a rel="tag" href="http://technorati.com/tags/F5"&gt;F5&lt;/a&gt;,&lt;a rel="tag" href="http://technorati.com/tags/developers"&gt;developers&lt;/a&gt;,&lt;a rel="tag" href="http://technorati.com/tags/computer%20science"&gt;computer science&lt;/a&gt;,&lt;a rel="tag" href="http://technorati.com/tags/data%20structures"&gt;data structures&lt;/a&gt;,&lt;a rel="tag" href="http://technorati.com/tags/network"&gt;network&lt;/a&gt;,&lt;a rel="tag" href="http://technorati.com/tags/software"&gt;software&lt;/a&gt;,&lt;a rel="tag" href="http://technorati.com/tags/web"&gt;web&lt;/a&gt;,&lt;a rel="tag" href="http://technorati.com/tags/internet"&gt;internet&lt;/a&gt;,&lt;a rel="tag" href="http://technorati.com/tags/programming"&gt;programming&lt;/a&gt;&lt;/div&gt;&lt;div class='blogtags'&gt;&lt;br&gt;Categories: &lt;a rel='tag' href='http://technorati.com/tags/Development and General'&gt;Development and General&lt;/a&gt;&amp;nbsp;, &lt;a rel='tag' href='http://technorati.com/tags/Randomness'&gt;Randomness&lt;/a&gt;&amp;nbsp;&lt;/div&gt;&lt;img src="http://devcentral.f5.com/weblogs/macvittie/aggbug/3448.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Lori MacVittie</dc:creator>
            <guid>http://devcentral.f5.com/weblogs/macvittie/archive/2008/07/14/3448.aspx</guid>
            <pubDate>Mon, 14 Jul 2008 15:31:38 GMT</pubDate>
            <wfw:comment>http://devcentral.f5.com/weblogs/macvittie/comments/3448.aspx</wfw:comment>
            <comments>http://devcentral.f5.com/weblogs/macvittie/archive/2008/07/14/3448.aspx#feedback</comments>
            <slash:comments>8</slash:comments>
            <wfw:commentRss>http://devcentral.f5.com/weblogs/macvittie/comments/commentRss/3448.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Cloud Computing Infrastructure: Secure Remote Access</title>
            <category>Development and General</category>
            <category>Security</category>
            <link>http://devcentral.f5.com/weblogs/macvittie/archive/2008/07/14/3447.aspx</link>
            <description>&lt;div style="margin: 0px; padding: 0px; display: inline; float: left;" id="scid:8747F07C-CDE8-481f-B0DF-C6CFD074BF67:a95c03d4-93f0-4bdb-87ba-90eb585db843" class="wlWriterSmartContent"&gt;&lt;a rel="thumbnail" title="This would be less amusing if I wasn't writing this post in my bathrobe" href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/Howwilltheenterpriseusethecloud_9059/Telecommutefunny-8x6.gif"&gt;&lt;img border="0" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/Howwilltheenterpriseusethecloud_9059/Telecommutefunny_2816.png" alt="" /&gt;&lt;/a&gt;&lt;/div&gt;
The increasing webification of applications both for external and internal consumption combined with the concept of outsourced data centers and applications, i.e. cloud computing and &lt;a target="_blank" href="http://en.wikipedia.org/wiki/Software_as_a_Service"&gt;Software as a Service&lt;/a&gt; (SaaS), may resolve in a perfect storm for proponents of telecommuting.
&lt;p&gt;Consider the scenario: A small to medium organization needs more horsepower but it really doesn't have the budget yet to build out its own enterprise-class data center. Cloud computing offers an off-site, managed data-center that can be used to deploy applications for use by both external and internal constituents. Take advantage of SaaS offerings such as those from &lt;a target="_blank" href="http://www.salesforce.com"&gt;Salesforce.com&lt;/a&gt; and you've very nearly outsourced all your application needs. It's all off-site, which is allegedly better for your bottom line and saves you the headaches of hiring a lot of IT staff to manage that infrastructure yourself. &lt;/p&gt;
&lt;p&gt;What these means for internal employees, however, is that all the applications they need to use on a daily basis are &lt;em&gt;off-site. &lt;/em&gt;They don't require a lot of internal infrastructure, even mail services could be hosted "in the cloud" for additional efficiencies in storage and infrastructure costs. The question becomes, then, why is the organization wasting more money leasing office space so their employees can commute to the "office" and then spend their day accessing applications &lt;em&gt;outside &lt;/em&gt;the organization? &lt;/p&gt;
&lt;p&gt;The potential is that cloud computing, used liberally, could turn nearly every employee into a telecommuter because once you're accessing an application across the Internet it really doesn't matter from a technological viewpoint from what location you're accessing them. &lt;/p&gt;
&lt;p&gt;I know what you're thinking - there's more to a data center and its infrastructure than just web apps. There's file storage, e-mail and productivity applications, and other network-based applications that are not, perhaps necessarily, web-based. Outsourcing all those responsibilities to a third-party cloud computing provider seems a bit far-fetched without the proper method of accessing them securely across the public internet. That's where a secure remote access solution such as an &lt;a target="_blank" href="http://www.f5.com/glossary/ssl-vpn.html"&gt;SSL VPN&lt;/a&gt; comes in. &lt;/p&gt;
&lt;p&gt;By ensuring access to an &lt;a target="_blank" href="http://www.f5.com/products/firepass/"&gt;SSL VPN&lt;/a&gt; cloud computing infrastructure providers can offer access to &lt;em&gt;all &lt;/em&gt;appropriate data center resources in a secure way without requiring a lot of the PKI overhead that comes from &lt;a target="_blank" href="http://www.f5.com/glossary/ipsec-vpn.html"&gt;IPSEC&lt;/a&gt;-based VPN implementations. Most &lt;a target="_blank" href="http://www.f5.com/products/firepass/"&gt;SSL VPN&lt;/a&gt; gateways provide an &lt;em&gt;on-demand &lt;/em&gt;client, so there's almost no management overhead on the client-side and it's a no-brainer for the end-user no matter how technical or non-technical they may be. &lt;/p&gt;
&lt;p&gt;An SSL VPN would also ensure that end-users are compliant with the provider's &lt;em&gt;and&lt;/em&gt; the organization's security policies through their implementation of endpoint security. This includes actions such as requiring anti-virus solutions to be running, verifying that specific OS patches are installed, and even checking to see if certain applications &lt;em&gt;are &lt;/em&gt;running, such as malware or bots. &lt;/p&gt;
&lt;p&gt;Basically, an SSL VPN is the perfect complement to a nearly complete outsourced data center in the "cloud" because it secures access to the applications and the infrastructure in the cloud in a simple, cost and management efficient way. &lt;/p&gt;
&lt;p&gt;That means an as organization you could offer, if you like, more telecommuting opportunities for employees, which can reduce office costs dramatically and provide a wider selection of employees because you aren't limited to a specific locale or requiring relocation. &lt;/p&gt;
&lt;p&gt;You might want to ditch the video-conferencing idea, though. Just in case. &lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;script type="text/javascript" language="javascript" src="http://s3.polldaddy.com/p/784740.js"&gt;&lt;/script&gt;&lt;noscript&gt; &lt;a href="http://answers.polldaddy.com/poll/784740/"&gt;What are your plans for cloud computing? &lt;/a&gt;  &lt;br /&gt; &lt;span style="font-size:9px;"&gt; (&lt;a href="http://www.polldaddy.com"&gt;  polls&lt;/a&gt;)&lt;/span&gt;&lt;/noscript&gt;
&lt;p&gt;&lt;a href="http://twitter.com/lmacvittie"&gt;&lt;img width="18" height="18" border="0" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_twitt-twoo-icon.png" alt="Follow me on Twitter" /&gt;&lt;/a&gt; &lt;a href="http://devcentral.f5.com/weblogs/macvittie/Rss.aspx"&gt;&lt;img border="0" src="http://devcentral.f5.com/Portals/0/images/Icons/icon_xml_18.gif" alt="" /&gt;&lt;/a&gt;&lt;a href="http://www.slideshare.net/lmacvittie"&gt;&lt;img width="18" height="18" border="0" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_slideshare.png" alt="View Lori's profile on SlideShare" /&gt;&lt;/a&gt;&lt;a border="0" href="http://lmacvittie.tumblr.com"&gt;&lt;img width="18" height="18" border="0" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_tumblr.gif" title="Follow me on Tumblr" alt="" /&gt;&lt;/a&gt; &lt;a href="http://lmacvittie.posterous.com/"&gt;&lt;img border="0" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_posterous.png" title="Posterous" alt="" /&gt;&lt;/a&gt; &lt;a href="http://www.linkedin.com/in/lmacvittie"&gt;&lt;img border="0" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_linkedin_16.png" alt="" /&gt;&lt;/a&gt; &lt;a 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=" title="Subscribe using any feed reader!"&gt;&lt;img width="125" height="18" border="0" src="http://s9.addthis.com/button1-fd.gif" alt="AddThis Feed Button" /&gt;&lt;/a&gt; &lt;a target="_blank" href="http://www.addthis.com/bookmark.php" 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;" title="Bookmark and Share"&gt;&lt;img width="125" height="18" border="0" src="http://s9.addthis.com/button1-share.gif" alt="Bookmark and Share" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;div style="margin: 0px; padding: 0px; display: inline;" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:f1a3ddf2-e13a-468d-bf07-70fcbf6241a0" class="wlWriterSmartContent"&gt;Technorati Tags: &lt;a rel="tag" href="http://technorati.com/tags/MacVittie"&gt;MacVittie&lt;/a&gt;,&lt;a rel="tag" href="http://technorati.com/tags/F5"&gt;F5&lt;/a&gt;,&lt;a rel="tag" href="http://technorati.com/tags/cloud%20computing"&gt;cloud computing&lt;/a&gt;,&lt;a rel="tag" href="http://technorati.com/tags/cloud%20computing%20infrastructure"&gt;cloud computing infrastructure&lt;/a&gt;,&lt;a rel="tag" href="http://technorati.com/tags/secure%20remote%20access"&gt;secure remote access&lt;/a&gt;,&lt;a rel="tag" href="http://technorati.com/tags/SSL%20VPN"&gt;SSL VPN&lt;/a&gt;,&lt;a rel="tag" href="http://technorati.com/tags/VPN"&gt;VPN&lt;/a&gt;,&lt;a rel="tag" href="http://technorati.com/tags/telecommuting"&gt;telecommuting&lt;/a&gt;,&lt;a rel="tag" href="http://technorati.com/tags/web"&gt;web&lt;/a&gt;,&lt;a rel="tag" href="http://technorati.com/tags/internet"&gt;internet&lt;/a&gt;,&lt;a rel="tag" href="http://technorati.com/tags/IPSEC"&gt;IPSEC&lt;/a&gt;&lt;/div&gt;
&lt;script src="http://track.mybloglog.com/js/jsserv.php?mblID=2008070914270355" type="text/javascript"&gt;&lt;/script&gt;&lt;div class='blogtags'&gt;&lt;br&gt;Categories: &lt;a rel='tag' href='http://technorati.com/tags/Development and General'&gt;Development and General&lt;/a&gt;&amp;nbsp;, &lt;a rel='tag' href='http://technorati.com/tags/Security'&gt;Security&lt;/a&gt;&amp;nbsp;&lt;/div&gt;&lt;img src="http://devcentral.f5.com/weblogs/macvittie/aggbug/3447.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Lori MacVittie</dc:creator>
            <guid>http://devcentral.f5.com/weblogs/macvittie/archive/2008/07/14/3447.aspx</guid>
            <pubDate>Mon, 14 Jul 2008 12:15:27 GMT</pubDate>
            <wfw:comment>http://devcentral.f5.com/weblogs/macvittie/comments/3447.aspx</wfw:comment>
            <comments>http://devcentral.f5.com/weblogs/macvittie/archive/2008/07/14/3447.aspx#feedback</comments>
            <wfw:commentRss>http://devcentral.f5.com/weblogs/macvittie/comments/commentRss/3447.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Apple twitters</title>
            <category>Development and General</category>
            <link>http://devcentral.f5.com/weblogs/macvittie/archive/2008/07/11/3445.aspx</link>
            <description>&lt;p&gt;&lt;strong&gt;twitter &lt;/strong&gt;(v) &lt;em&gt;to allow your services go up and down randomly under heavy load due to inadequate architecture or planning, annoying a lot of the known (online) world &lt;/em&gt;&lt;/p&gt;  &lt;p&gt;In case you've been living under a rock (or been heads down coding for the past week), &lt;a href="http://www.apple.com" target="_blank"&gt;Apple&lt;/a&gt; launched its latest iPhone today to the delight and, it appears, consternation of customers. A colleague relates his experience not just purchasing one of the eagerly awaited phones, but the disaster that was the activation process. Apparently Apple wasn't satisfied with all the good press it gets about how hip and trendy its products are so it decided to get some of that embarrassing press that &lt;a href="http://www.twitter.com" target="_blank"&gt;Twitter's&lt;/a&gt; been getting due to unreliable services. At least Twitter is free, so it isn't as if you paid for the pleasure of having its services go down. Apple, on the other hand, well, we all know Apple products ain't cheap. &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;So, some 6 hours after leaving my house, I am now sitting with a fully functional, synching 16Gb iPhone 3G on my desk.  My original AT&amp;amp;T store destination had 30-40 people in line 2.5 hours before opening (and most of them looked wet and cold like they’d been there all night).  I then went to an alternate, which is an AT&amp;amp;T store that has only been open 3 weeks.  At 6 am local time, I became the 4&lt;sup&gt;th&lt;/sup&gt; person in line, by 6:30 there were 30.&lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;Once the store finally opened the first four of us were let in.  It would be 30 minutes before I walked back out with my phone.  The phone I walked out with was still bricked and it did not have my number, but a temporary one.  Why?  First, the phone number:  Some brainiac at AT&amp;amp;T decided that they needed new POS software to be used for the first time today—and guess what?  The number porting function doesn’t appear to work—at all.  Of the first 4 customers, 2 of us were porting numbers and neither of us was able.  Second, the phone was still bricked because the unbricking requires you to connect the phone to iTunes—and guess what?  Yup, the first two activations took 15 minutes each—and the other two still hadn’t gone through.&lt;/p&gt;    &lt;p&gt;So I take my new phone home and after 2 hours of trying to get it to connect to iTunes myself and receiving various network errors (Timeouts and at one point iTunes was just resetting my connection) I finally received a “We are unable to process anymore iPhone registrations at this time” page.  The, encouraged that I actually got a response other than an error code, I tried again and Poof!!  Unbricked.  Now all I have to do is get my number ported.&lt;/p&gt;    &lt;p&gt;Is it just me or does Apple just not get this?  After all the problems they had during the first iPhone launch, you’d think that they would have been prepared.  To me, it just looks like they didn’t even bother.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;According to &lt;a href="http://www.engadget.com/2008/07/11/itunes-activation-servers-go-down-iphone-3g-customers-being-sen/" target="_blank"&gt;Engadget&lt;/a&gt;, Apple's activation servers have indeed been down, with customers instructed to "try again later." And &lt;a href="http://www.cnn.com" target="_blank"&gt;CNN&lt;/a&gt; &lt;a href="http://www.cnn.com/2008/TECH/ptech/07/11/iphone.sales.ap/index.html" target="_blank"&gt;reports similar admissions by the gadget giant&lt;/a&gt;: &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;i&gt;A spokesman for AT&amp;amp;T, the exclusive carrier for the iPhone in the U.S., said there was a global problem with Apple's iTunes servers that prevented the phones from being fully activated in-store, as had been planned.&lt;/i&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;i&gt;&lt;/i&gt;&lt;/p&gt;    &lt;p&gt;&lt;i&gt;Instead, employees are telling buyers to go home and perform the last step by connecting their phones to their own computers, spokesman Michael Coe said. &lt;/i&gt;&lt;i&gt;However, the iTunes servers were equally hard to reach from home, leaving the phones unusable except for emergency calls&lt;/i&gt;&lt;i&gt;&lt;/i&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Apparently Apple hasn't figured out &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2008/06/18/3368.aspx" target="_blank"&gt;how to scale its services to properly handle sudden spikes in volume&lt;/a&gt; such as those that occur when releasing a new, very popular product. Hint: it involves an &lt;a href="http://www.f5.com/products/big-ip" target="_blank"&gt;application delivery controller&lt;/a&gt; and more servers. It's not much different than the experience many teenagers - mine included - have had around Christmas since the explosion of the iPod. After receiving enough Apple cash to keep them happily downloading tunes and movies throughout their vacation, every teenager rushes to their computer to ... play Solitaire or Bejeweled, apparently, because iTunes and its servers can't handle the sudden spike in users. &lt;/p&gt;  &lt;p&gt;&lt;img height="239" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_apple_worm.jpg" width="240" align="left" /&gt;C'mon Apple - you could probably cut out a bit of the money used to promote the launch and put it towards a couple of more servers and a nice &lt;a href="http://www.f5.com/products/big-ip" target="_blank"&gt;application delivery controller&lt;/a&gt; to make sure you can actually service your customers properly. You can meet the &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2008/04/16/3162.aspx" target="_blank"&gt;connection management challenge&lt;/a&gt; that is often the cause of server overload when suddenly faced with high volumes of traffic (e.g. the &lt;a href="http://slashdot.org" target="_blank"&gt;slashdot&lt;/a&gt; or &lt;a href="http://www.fark.com" target="_blank"&gt;fark&lt;/a&gt; effect). &lt;/p&gt;  &lt;p&gt;You aren't a startup, you aren't Twitter, you're APPLE. Surely you can afford to scale up your infrastructure and make sure that using your services isn't a gambling proposition. &lt;/p&gt;  &lt;p&gt;And if you won't do that, you could at least adopt a cool mascot like Twitter's Fail Whale to amuse customers while they're denied access to your services. &lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://twitter.com/lmacvittie"&gt;&lt;img height="18" alt="Follow me on Twitter" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_twitt-twoo-icon.png" width="18" border="0" /&gt;&lt;/a&gt; &lt;a href="http://devcentral.f5.com/weblogs/macvittie/Rss.aspx"&gt;&lt;img src="http://devcentral.f5.com/Portals/0/images/Icons/icon_xml_18.gif" border="0" /&gt;&lt;/a&gt;&lt;a href="http://www.slideshare.net/lmacvittie"&gt;&lt;img height="18" alt="View Lori's profile on SlideShare" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_slideshare.png" width="18" border="0" /&gt;&lt;/a&gt;&lt;a href="http://lmacvittie.tumblr.com" border="0"&gt;&lt;img title="Follow me on Tumblr" height="18" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_tumblr.gif" width="18" border="0" /&gt;&lt;/a&gt; &lt;a href="http://lmacvittie.posterous.com/"&gt;&lt;img title="Posterous" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_posterous.png" border="0" /&gt;&lt;/a&gt; &lt;a href="http://www.linkedin.com/pub/dir/Lori/MacVittie"&gt;&lt;img src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_linkedin_16.png" border="0" /&gt;&lt;/a&gt; &lt;a title="Subscribe using any feed reader!" href="http://www.addthis.com/feed.php?pub=lmacvittie&amp;amp;h1=http%3A%2F%2Fdevcentral.f5.com%2Fweblogs%2Fmacvittie%2FRss.aspx&amp;amp;t1="&gt;&lt;img height="18" alt="AddThis Feed Button" src="http://s9.addthis.com/button1-fd.gif" width="125" border="0" /&gt;&lt;/a&gt; &lt;a title="Bookmark and Share" onclick="window.open('http://www.addthis.com/bookmark.php?wt=nw&amp;amp;pub=lmacvittie&amp;amp;url='+encodeURIComponent(location.href)+'&amp;amp;title='+encodeURIComponent(document.title), 'addthis', 'scrollbars=yes,menubar=no,width=620,height=520,resizable=yes,toolbar=no,location=no,status=no,screenX=200,screenY=100,left=200,top=100'); return false;" href="http://www.addthis.com/bookmark.php" target="_blank"&gt;&lt;img height="18" alt="Bookmark and Share" src="http://s9.addthis.com/button1-share.gif" width="125" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:39d7ce94-8b3d-42f7-ad0a-5f9bdec5ae28" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/MacVittie" rel="tag"&gt;MacVittie&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Apple" rel="tag"&gt;Apple&lt;/a&gt;,&lt;a href="http://technorati.com/tags/iTunes" rel="tag"&gt;iTunes&lt;/a&gt;,&lt;a href="http://technorati.com/tags/iPhone" rel="tag"&gt;iPhone&lt;/a&gt;,&lt;a href="http://technorati.com/tags/3G" rel="tag"&gt;3G&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/scalability" rel="tag"&gt;scalability&lt;/a&gt;,&lt;a href="http://technorati.com/tags/web" rel="tag"&gt;web&lt;/a&gt;,&lt;a href="http://technorati.com/tags/internet" rel="tag"&gt;internet&lt;/a&gt;&lt;/div&gt; &lt;script src="http://track.mybloglog.com/js/jsserv.php?mblID=2008070914270355" type="text/javascript"&gt;&lt;/script&gt;&lt;div class='blogtags'&gt;&lt;br&gt;Categories: &lt;a rel='tag' href='http://technorati.com/tags/Development and General'&gt;Development and General&lt;/a&gt;&amp;nbsp;&lt;/div&gt;&lt;img src="http://devcentral.f5.com/weblogs/macvittie/aggbug/3445.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Lori MacVittie</dc:creator>
            <guid>http://devcentral.f5.com/weblogs/macvittie/archive/2008/07/11/3445.aspx</guid>
            <pubDate>Fri, 11 Jul 2008 21:19:22 GMT</pubDate>
            <wfw:comment>http://devcentral.f5.com/weblogs/macvittie/comments/3445.aspx</wfw:comment>
            <comments>http://devcentral.f5.com/weblogs/macvittie/archive/2008/07/11/3445.aspx#feedback</comments>
            <slash:comments>2</slash:comments>
            <wfw:commentRss>http://devcentral.f5.com/weblogs/macvittie/comments/commentRss/3445.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Persistent and Persistence, What's the Difference?</title>
            <category>Development and General</category>
            <link>http://devcentral.f5.com/weblogs/macvittie/archive/2008/07/11/3443.aspx</link>
            <description>&lt;p&gt;The English language is one of the most expressive, and confusing, in existence. Words can have different meaning based not only on context, but on placement within a given sentence. Add in the twists that come from technical jargon and suddenly you've got words meaning completely different things. This is evident in the use of &lt;em&gt;persistent &lt;/em&gt;and &lt;em&gt;persistence. &lt;/em&gt;&lt;/p&gt;  &lt;p&gt;While the conceptual basis of &lt;em&gt;persistence &lt;/em&gt;and &lt;em&gt;persistent &lt;/em&gt;are essentially the same, in reality they refer to two different technical concepts.&lt;/p&gt;  &lt;p&gt;Both &lt;em&gt;persistent &lt;/em&gt;and &lt;em&gt;persistence &lt;/em&gt;relate to the handling of connections. The former is often used as a general description of the behavior of HTTP and, necessarily, TCP connections, though it is also used in the context of database connections. The latter is most often related to TCP/HTTP connection handling but almost exclusively in the context of load-balancing. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Persistent&lt;/strong&gt;&lt;/p&gt;  &lt;table cellspacing="0" cellpadding="2" width="764" border="0"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="412"&gt;         &lt;p&gt;Persistent connections are connections that are kept open and reused. The most commonly implemented form of persistent connections are HTTP, with database connections a close second. &lt;/p&gt;          &lt;p&gt;Persistent HTTP connections were implemented as part of the HTTP 1.1 specification as a method of improving the efficiency &lt;/p&gt;       &lt;/td&gt;        &lt;td style="border-right: black 1px dashed; padding-right: 5px; border-top: black 1px dashed; padding-left: 5px; padding-bottom: 5px; border-left: black 1px dashed; padding-top: 5px; border-bottom: black 1px dashed; background-color: #ccffff" valign="top" width="351"&gt;&lt;strong&gt;&lt;u&gt;Related Links              &lt;br /&gt;&lt;/u&gt;&lt;/strong&gt;&lt;a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec8.html" target="_blank"&gt;HTTP 1.1 RFC&lt;/a&gt;           &lt;br /&gt;&lt;a href="http://pages.cs.wisc.edu/~cao/papers/persistent-connection.html" target="_blank"&gt;Persistent Connection Behavior of Popular Browsers&lt;/a&gt;           &lt;br /&gt;&lt;a href="http://hostprogressive.com/support/php_5_docs/features.persistent-connections.html" target="_blank"&gt;Persistent Database Connections&lt;/a&gt;           &lt;br /&gt;&lt;a href="http://httpd.apache.org/docs/1.3/keepalive.html" target="_blank"&gt;Apache Keep-Alive Support&lt;/a&gt;           &lt;br /&gt;&lt;a href="http://www.f5.com/pdf/white-papers/cookies-sessions-persistence-wp.pdf" target="_blank"&gt;Cookies, Sessions, and Persistence&lt;/a&gt;&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;of HTTP in general. Before HTTP 1.1 a browser would generally open one connection per object on a page in order to retrieve all the appropriate resources. As the number of objects in 