<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>General SOA</title>
        <link>http://devcentral.f5.com/weblogs/macvittie/category/56.aspx</link>
        <description>Thoughts on SOA, happenings in the SOA market, and the technology that makes it possible. </description>
        <language>en-US</language>
        <copyright>Lori MacVittie</copyright>
        <generator>Subtext Version 2.1.1.1</generator>
        <item>
            <title>The API is the Center of the Application (Integration) Universe</title>
            <link>http://devcentral.f5.com/weblogs/macvittie/archive/2012/01/23/the-api-is-the-center-of-the-application-integration-universe.aspx</link>
            <description>&lt;p&gt;#mobile #fasterapp #ccevent &lt;em&gt;Today, at least. Tomorrow, who knows? &lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/Windows-Live-Writer/The-API-is-the-Center-of-the-Application_3C5B/api%20is%20the%20center%20of%20the%20universe_2.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: left; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="api is the center of the universe" border="0" alt="api is the center of the universe" align="left" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/Windows-Live-Writer/The-API-is-the-Center-of-the-Application_3C5B/api%20is%20the%20center%20of%20the%20universe_thumb.png" width="240" height="163" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Some have tried to distinguish &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2011/12/20/the-magic-of-mobile-cloud.aspx"&gt;between “mobile cloud” and “cloud”&lt;/a&gt; by claiming the former is the use of the web browser on a mobile device to access services while the latter uses device-native applications. Like all things cloud, the marketing fluff is purposefully obfuscating and sweeping under the rug the technology required to make things work for consumers, whether those consumers be your kids or IT professionals. Infrastructure is not eliminated when organizations take to the cloud nor do the constraints of web-based protocols and methodologies become irrelevant when Bob uses a service to store photos of his kid’s piano recital on Flickr. &lt;/p&gt;  &lt;p&gt;The applications and web browsers on a mobile device are using the same technology, the same protocols, suffering under the same constraints as the rest of us in wireline land. If developers are as smart as they are lazy (and I say that as a compliment because it is the laziness of developers that more often than not leads to innovation) they have already moved to an API-centric model in which web site and device native-app interfaces both leverage the same APIs. &lt;/p&gt;  &lt;p&gt;This isn’t just a social integration phenomenon – it isn’t just about Twitter and Facebook and Google. API usage and demand is growing, and it is not expected to stop any time soon. Given the option, developers asked about desire to connect to services (assuming service = API) the overwhelming response was developers would like to connect to “everything, if it were easy.”  (&lt;a href="https://www.yourtrove.com/blog/2011/08/11/api-integration-pain-survey-results/"&gt;API Integration Pain Survey Results&lt;/a&gt;)   &lt;/p&gt;  &lt;p&gt;The API is rapidly becoming (if it isn’t already) the center of the application (integration) universe. This unfortunately has the potential to cause confusion and chaos in the data center. When a single API is consumed by multiple clients – mobile, remote, applications, partners, etc.. – solutions unique to each quickly seem to make their way into the code to deal with “exceptions” and “peculiarities” inherent to the client platform. &lt;/p&gt;  &lt;p&gt;That’s inefficient and, when one considers the growing number of platforms and form-factors associated with mobile communications alone, it is not scalable from a people and process perspective. &lt;/p&gt;  &lt;p&gt;But reality is that these exceptions and peculiarities – often times caused by a lack of feature parity across form-factors and platforms – must be addressed somewhere, and that somewhere is unfortunately almost unilaterally determined to be the application. Do we need to treat mobile devices differently? In terms of performance and delivery concerns, yes. But that’s where we leverage &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2011/11/16/at-the-intersection-of-cloud-and-controlhellip.aspx"&gt;the application delivery tier&lt;/a&gt; to differentiate by device to ensure delivery. That’s the beauty of an abstracted, service-enabled data center – there’s an intelligent and agile layer of application delivery services that mediates between clients (regardless of their form factor) and services to ensure that delivery needs (security, performance, and availability) are met in part by addressing the unique characteristics and reality of access via mobile devices. &lt;/p&gt;  &lt;h4&gt;&lt;font color="#d16349"&gt;&lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/Windows-Live-Writer/The-API-is-the-Center-of-the-Application_3C5B/api%20delivery_2.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 0px 5px 10px 0px; padding-left: 0px; padding-right: 0px; display: inline; float: left; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="api delivery" border="0" alt="api delivery" align="left" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/Windows-Live-Writer/The-API-is-the-Center-of-the-Application_3C5B/api%20delivery_thumb.png" width="459" height="321" /&gt;&lt;/a&gt;ABSTRACT and ISOLATE &lt;/font&gt;&lt;/h4&gt;  &lt;p&gt;This is exactly the type of problem &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2011/11/16/at-the-intersection-of-cloud-and-controlhellip.aspx"&gt;application delivery is designed to address&lt;/a&gt;. Multiple clients, multiple networks, all accessing the same application service or API but requiring specific authentication, security, and delivery characteristics to ensure that &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2011/02/21/operational-risk-comprises-more-than-just-security.aspx"&gt;operational risk&lt;/a&gt; is mitigated in the most efficient manner possible. &lt;/p&gt;  &lt;p&gt;This includes the ability to throttle services based on user and client, a common approach used by mega-sites such as Twitter. This includes the ability to provide single sign-on capabilities to all clients, regardless of platform, form-factor and support for enterprise-grade authentication integration to the same API or application service. This includes leveraging the appropriate security policies to ensure inbound and outbound security of data regardless of client, such that corporate data is not infected and spread to other consumers. &lt;/p&gt;  &lt;p&gt;A flexible, scalable application delivery tier addresses the problem of a single API being utilized by a variety of clients in a way that precludes the need to codify specific functionality on a per-platform or form-factor basis in the application logic itself, making the API simpler and easier to maintain as well as test and upgrade. It makes APIs and application services more scalable in terms of people and processes, which in turn makes the development and deployment process more efficient and able to focus on new services rather than constantly modifying and updating existing ones. &lt;/p&gt;  &lt;p&gt;Service-oriented architecture may have begun in the application demesne as a means to abstract and isolate services such that they could more easily be integrated, maintained, and changed without disruption, but the concept is applicable to the data center as a whole. By leveraging &lt;a title="Service Oriented Architecture definition " href="http://www.f5.com/glossary/soa.html" rel="" target="_blank"&gt;SOA&lt;/a&gt; concepts at the data center architecture level, the entire technological landscape of the business can be transformed into one that is ultimately more adaptable, more scalable, and more secure. &lt;/p&gt;  &lt;hr color="#808080" width="100%" noshade="noshade" /&gt;  &lt;p&gt;&lt;a href="http://www.cloudconnectevent.com/"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 0px 10px 0px 0px; padding-left: 0px; padding-right: 0px; display: inline; float: left; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="CC_logo_CMYK" border="0" alt="CC_logo_CMYK" align="left" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/Windows-Live-Writer/Enterprise-Apps-are-Not-Written-for-Spee_2FD1/cc_logo_265x126_3.jpg" width="86" height="41" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;I’ll be at CloudConnect 2012 and we’ll discuss the subject of cloud and performance a whole lot more at the show! &lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.cloudconnectevent.com/santaclara/2012/speaker-list/?speaker=lori-mac-vittie"&gt;Sessions&lt;/a&gt;&lt;/p&gt;  &lt;hr color="#808080" width="100%" noshade="noshade" /&gt;&lt;center&gt;   &lt;table border="0" cellspacing="0" cellpadding="2" width="324"&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td valign="top" width="168"&gt;Connect with Lori: &lt;/td&gt;          &lt;td valign="top" width="154"&gt;Connect with &lt;a title="F5 Networks" href="http://www.f5.com/" rel="" target="_blank"&gt;F5&lt;/a&gt;: &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="168"&gt;&lt;a href="http://www.linkedin.com/in/lmacvittie"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="o_linkedin[1]" border="0" alt="o_linkedin[1]" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/1086440/o_linkedin.png" width="24" height="24" /&gt;&lt;/a&gt; &lt;a href="https://plus.google.com/110169987847611210070"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="google " border="0" alt="google " src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/Windows-Live-Writer/Why-Cant-We-Have-Nice-Things-Too_37AC/google+_3.jpg" width="24" height="24" /&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/f5/macv"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="o_rss[1]" border="0" alt="o_rss[1]" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/1086440/o_rss.png" width="24" height="24" /&gt;&lt;/a&gt; &lt;a href="http://www.facebook.com/lmacvittie"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="o_facebook[1]" border="0" alt="o_facebook[1]" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/1086440/o_facebook.png" width="24" height="24" /&gt;&lt;/a&gt; &lt;a href="http://twitter.com/lmacvittie"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="o_twitter[1]" border="0" alt="o_twitter[1]" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/1086440/o_twitter.png" width="24" height="24" /&gt;&lt;/a&gt; &lt;/td&gt;          &lt;td valign="top" width="154"&gt; &lt;a href="http://bitly.com/nIsT1z?r=bb"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="o_facebook[1]" border="0" alt="o_facebook[1]" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/1086440/o_facebook.png" width="24" height="24" /&gt;&lt;/a&gt; &lt;a href="http://bitly.com/ne6W2R?r=bb"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="o_twitter[1]" border="0" alt="o_twitter[1]" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/1086440/o_twitter.png" width="24" height="24" /&gt;&lt;/a&gt; &lt;a href="http://bitly.com/nx3XV1?r=bb/"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="o_slideshare[1]" border="0" alt="o_slideshare[1]" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/1086440/o_slideshare.png" width="24" height="24" /&gt;&lt;/a&gt; &lt;a href="http://bitly.com/reFTmf?r=bb"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="o_youtube[1]" border="0" alt="o_youtube[1]" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/1086440/o_youtube.png" width="24" height="24" /&gt;&lt;/a&gt; &lt;a href="http://links.f5.com/f5gplus"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="google " border="0" alt="google " src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/Windows-Live-Writer/Why-Cant-We-Have-Nice-Things-Too_37AC/google+_3.jpg" width="24" height="24" /&gt;&lt;/a&gt;&lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/center&gt;  &lt;p&gt;Related blogs &amp;amp; articles: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/Windows-Live-Writer/c6f51bacf689_E392/Document-icon_26.png"&gt;&lt;img title="Document-icon" border="0" alt="Document-icon" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/Windows-Live-Writer/c6f51bacf689_E392/Document-icon_thumb_8.png" width="16" height="16" /&gt;&lt;/a&gt; &lt;a href="http://techcrunch.com/2011/08/11/facebook-wins-worst-api-in-developer-survey/"&gt;Facebook Wins “Worst API” in Developer Survey&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/Windows-Live-Writer/c6f51bacf689_E392/Document-icon_26.png"&gt;&lt;img title="Document-icon" border="0" alt="Document-icon" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/Windows-Live-Writer/c6f51bacf689_E392/Document-icon_thumb_8.png" width="16" height="16" /&gt;&lt;/a&gt; &lt;a href="https://www.yourtrove.com/blog/2011/08/11/api-integration-pain-survey-results/"&gt;API Integration Pain Survey Results&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/Windows-Live-Writer/c6f51bacf689_E392/Document-icon_26.png"&gt;&lt;img title="Document-icon" border="0" alt="Document-icon" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/Windows-Live-Writer/c6f51bacf689_E392/Document-icon_thumb_8.png" width="16" height="16" /&gt;&lt;/a&gt; &lt;a href="http://www.readwriteweb.com/hack/2011/12/it-survey-businesses-embrace-a.php"&gt;IT Survey: Businesses Embrace APIs for Apps Integration, Not Social&lt;/a&gt;  &lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/Windows-Live-Writer/c6f51bacf689_E392/Document-icon_26.png"&gt;&lt;img title="Document-icon" border="0" alt="Document-icon" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/Windows-Live-Writer/c6f51bacf689_E392/Document-icon_thumb_8.png" width="16" height="16" /&gt;&lt;/a&gt; &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2011/11/23/the-pythagorean-theorem-of-operational-risk.aspx"&gt;The Pythagorean Theorem of Operational Risk&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/Windows-Live-Writer/c6f51bacf689_E392/Document-icon_26.png"&gt;&lt;img title="Document-icon" border="0" alt="Document-icon" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/Windows-Live-Writer/c6f51bacf689_E392/Document-icon_thumb_8.png" width="16" height="16" /&gt;&lt;/a&gt; &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2011/11/16/at-the-intersection-of-cloud-and-controlhellip.aspx"&gt;At the Intersection of Cloud and Control…&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/Windows-Live-Writer/c6f51bacf689_E392/Document-icon_26.png"&gt;&lt;img title="Document-icon" border="0" alt="Document-icon" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/Windows-Live-Writer/c6f51bacf689_E392/Document-icon_thumb_8.png" width="16" height="16" /&gt;&lt;/a&gt; &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2011/02/21/operational-risk-comprises-more-than-just-security.aspx"&gt;Operational Risk Comprises More Than Just Security&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/Windows-Live-Writer/c6f51bacf689_E392/Document-icon_23.png"&gt;&lt;img title="Document-icon" border="0" alt="Document-icon" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/Windows-Live-Writer/c6f51bacf689_E392/Document-icon_thumb_7.png" width="16" height="16" /&gt;&lt;/a&gt; &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2011/10/24/it-services-creating-commodities-out-of-complexity.aspx"&gt;IT Services: Creating Commodities out of Complexity&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/Windows-Live-Writer/c6f51bacf689_E392/Document-icon_23.png"&gt;&lt;img title="Document-icon" border="0" alt="Document-icon" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/Windows-Live-Writer/c6f51bacf689_E392/Document-icon_thumb_7.png" width="16" height="16" /&gt;&lt;/a&gt; &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2012/01/04/the-three-axioms-of-application-delivery.aspx"&gt;The Three Axioms of Application Delivery&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/Windows-Live-Writer/c6f51bacf689_E392/Document-icon_23.png"&gt;&lt;img title="Document-icon" border="0" alt="Document-icon" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/Windows-Live-Writer/c6f51bacf689_E392/Document-icon_thumb_7.png" width="16" height="16" /&gt;&lt;/a&gt; &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2011/12/20/the-magic-of-mobile-cloud.aspx"&gt;The Magic of Mobile Cloud&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;                        &lt;hr color="#808080" width="100%" noshade="noshade" /&gt;   &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:3a658b38-5be3-41ec-aac0-8514b0640156" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/F5" rel="tag"&gt;F5&lt;/a&gt;,&lt;a href="http://technorati.com/tags/MacVittie" rel="tag"&gt;MacVittie&lt;/a&gt;,&lt;a href="http://technorati.com/tags/application+delivery" rel="tag"&gt;application delivery&lt;/a&gt;,&lt;a href="http://technorati.com/tags/data+center" rel="tag"&gt;data center&lt;/a&gt;,&lt;a href="http://technorati.com/tags/architecture" rel="tag"&gt;architecture&lt;/a&gt;,&lt;a href="http://technorati.com/tags/mobile" rel="tag"&gt;mobile&lt;/a&gt;,&lt;a href="http://technorati.com/tags/API" rel="tag"&gt;API&lt;/a&gt;,&lt;a href="http://technorati.com/tags/SOA" rel="tag"&gt;SOA&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/performance" rel="tag"&gt;performance&lt;/a&gt;,&lt;a href="http://technorati.com/tags/availability" rel="tag"&gt;availability&lt;/a&gt;,&lt;a href="http://technorati.com/tags/blog" rel="tag"&gt;blog&lt;/a&gt;&lt;/div&gt;&lt;img src="http://devcentral.f5.com/weblogs/macvittie/aggbug/1102505.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Lori MacVittie</dc:creator>
            <guid>http://devcentral.f5.com/weblogs/macvittie/archive/2012/01/23/the-api-is-the-center-of-the-application-integration-universe.aspx</guid>
            <pubDate>Mon, 23 Jan 2012 12:42:00 GMT</pubDate>
            <wfw:comment>http://devcentral.f5.com/weblogs/macvittie/comments/1102505.aspx</wfw:comment>
            <comments>http://devcentral.f5.com/weblogs/macvittie/archive/2012/01/23/the-api-is-the-center-of-the-application-integration-universe.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://devcentral.f5.com/weblogs/macvittie/comments/commentRss/1102505.aspx</wfw:commentRss>
            <trackback:ping>http://devcentral.f5.com/weblogs/macvittie/services/trackbacks/1102505.aspx</trackback:ping>
        </item>
        <item>
            <title>Infrastructure Architecture: Whitelisting with JSON and API Keys</title>
            <link>http://devcentral.f5.com/weblogs/macvittie/archive/2011/10/12/infrastructure-architecture-whitelisting-with-json-and-api-keys.aspx</link>
            <description>&lt;p&gt;&lt;em&gt;Application delivery infrastructure can be a valuable partner in architecting solutions …. &lt;/em&gt;&lt;/p&gt;  &lt;p&gt;AJAX and JSON have changed the way in which we architect applications, especially with respect to their ascendancy to rule the realm of integration, i.e. the API. Policies are generally focused on the URI, which has effectively become the exposed interface to any given application function. It’s REST-ful, it’s service-oriented, and it works well. &lt;/p&gt;  &lt;p&gt;Because we’ve taken to leveraging the URI as a basic building block, as the entry-point into an application, it affords the opportunity to optimize architectures and make more efficient the use of compute power available for processing. This is an increasingly important point, as capacity has become a focal point around which cost and efficiency is measured. By offloading functions to other systems when possible, we are able to increase the useful processing capacity of an given application instance and ensure a higher ratio of valuable processing to resources is achieved. &lt;/p&gt;  &lt;p&gt;The ability of application delivery infrastructure to intercept, inspect, and manipulate the exchange of data between client and server should not be underestimated. A full-proxy based infrastructure component can provide valuable services to the application architect that can enhance the performance and reliability of applications while abstracting functionality in a way that alleviates the need to modify applications to support new initiatives. &lt;/p&gt;  &lt;h4&gt;&lt;font color="#c0504d"&gt;AN EXAMPLE &lt;/font&gt;&lt;/h4&gt;  &lt;p&gt;Consider, for example, a business requirement specifying that only certain authorized partners (in the integration sense) are allowed to retrieve certain dynamic content via an exposed application API. There are myriad ways in which such a requirement could be implemented, including requiring authentication and subsequent tokens to authorize access – likely the most common means of providing such access management in conjunction with an API. Most of these options require several steps, however, and interaction directly with the application to examine credentials and determine authorization to requested resources. This consumes valuable compute that could otherwise be used to serve requests. &lt;/p&gt;  &lt;p&gt;An alternative approach would be to provide authorized consumers with a more standards-based method of access that includes, in the request, the very means by which authorization can be determined. Taking a lesson from the credit card industry, for example, an algorithm can be used to determine the validity of a particular customer ID or authorization token. An API key, if you will, that is not stored in a database (and thus requires a lookup) but rather is algorithmic and therefore able to be verified as valid without needing a specific lookup at run-time. Assuming such a token or API key were embedded in the URI, the application delivery service can then extract the key, verify its authenticity using an algorithm, and subsequently allow or deny access based on the result. &lt;/p&gt;  &lt;p&gt;This architecture is based on the premise that the application delivery service is capable of responding with the appropriate JSON in the event that the API key is determined to be invalid. Such a service must therefore be network-side scripting capable. Assuming such a platform exists, one can easily implement this architecture and enjoy the improved capacity and resulting performance boost from the offload of &lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/Windows-Live-Writer/Infrastructure-Architecture-Whitelisting_87B5/image_2.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: left; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" align="left" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/Windows-Live-Writer/Infrastructure-Architecture-Whitelisting_87B5/image_thumb.png" width="381" height="329" /&gt;&lt;/a&gt;authorization and access management functions to the infrastructure. &lt;/p&gt;    &lt;p&gt;1. A request is received by the application delivery service. &lt;/p&gt;  &lt;p&gt;2. The application delivery service extracts the API key from the URI and determines validity. &lt;/p&gt;  &lt;p&gt;3. If the API key is not legitimate, a JSON-encoded response is returned. &lt;/p&gt;  &lt;p&gt;4. If the API key is valid, the request is passed on to the appropriate web/application server for processing. &lt;/p&gt;  &lt;p&gt;Such an approach can also be used to enable or disable functionality within an application, including live-streams. Assume a site that serves up streaming content, but only to authorized (registered) users. When requests for that content arrive, the application delivery service can dynamically determine, using an embedded key or some portion of the URI, whether to serve up the content or not. If it deems the request invalid, it can return a JSON response that effectively “turns off” the streaming content, thereby eliminating the ability of non-registered (or non-paying) customers to access live content. &lt;/p&gt;  &lt;p&gt;Such an approach could also be useful in the event of a service failure; if content is not available, the application delivery service can easily turn off and/or respond to the request, providing feedback to the user that is valuable in reducing their frustration with AJAX-enabled sites that too often simply “stop working” without any kind of feedback or message to the end user. &lt;/p&gt;  &lt;p&gt;The application delivery service could, of course, perform other actions based on the in/validity of the request, such as directing the request be fulfilled by a service generating older or non-dynamic streaming content, using its ability to perform application level routing. &lt;/p&gt;  &lt;p&gt;The possibilities are quite extensive and implementation depends entirely on goals and requirements to be met. &lt;/p&gt;  &lt;p&gt;Such features become more appealing when they are, through their capabilities, able to intelligently make use of resources in various locations. Cloud-hosted services may be more or less desirable for use in an application, and thus leveraging application delivery services to either enable or reduce the traffic sent to such services may be financially and operationally beneficial. &lt;/p&gt;  &lt;h4&gt;&lt;font color="#c0504d"&gt;ARCHITECTURE is KEY &lt;/font&gt;&lt;/h4&gt;  &lt;p&gt;The core principle to remember here is that ultimately infrastructure architecture plays (or can and should play) a vital role in designing and deploying applications today. With the increasing interest and use of &lt;a title="" href="http://www.f5.com/solutions/cloud-computing" rel=""&gt;cloud computing &lt;/a&gt; and APIs, it is rapidly becoming necessary to leverage resources and services external to the application as a means to rapidly deploy new functionality and support for new features. The abstraction offered by application delivery services provides an effective, cross-site and cross-application means of enabling what were once application-only services within the infrastructure. This abstraction and service-oriented approach reduces the burden on the application as well as its developers. &lt;/p&gt;  &lt;p&gt;The application delivery service is almost always the first service in the oft-times lengthy chain of services required to respond to a client’s request. Leveraging its capabilities to inspect and manipulate as well as route and respond to those requests allows architects to formulate new strategies and ways to provide their own services, as well as  leveraging existing and integrated resources for maximum efficiency, with minimal effort. &lt;/p&gt;  &lt;hr color="#808080" width="100%" noshade="noshade" /&gt;&lt;center&gt;   &lt;table border="0" cellspacing="0" cellpadding="2" width="308"&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td valign="top" width="168"&gt;Connect with Lori: &lt;/td&gt;          &lt;td valign="top" width="138"&gt;Connect with &lt;a title="F5 Networks" href="http://www.f5.com/" rel="" target="_blank"&gt;F5&lt;/a&gt;: &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="168"&gt;&lt;a href="http://www.linkedin.com/in/lmacvittie"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="o_linkedin[1]" border="0" alt="o_linkedin[1]" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/1086440/o_linkedin.png" width="24" height="24" /&gt;&lt;/a&gt; &lt;a href="https://plus.google.com/110169987847611210070"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="google " border="0" alt="google " src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/Windows-Live-Writer/Why-Cant-We-Have-Nice-Things-Too_37AC/google+_3.jpg" width="24" height="24" /&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/f5/macv"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="o_rss[1]" border="0" alt="o_rss[1]" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/1086440/o_rss.png" width="24" height="24" /&gt;&lt;/a&gt; &lt;a href="http://www.facebook.com/lmacvittie"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="o_facebook[1]" border="0" alt="o_facebook[1]" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/1086440/o_facebook.png" width="24" height="24" /&gt;&lt;/a&gt; &lt;a href="http://twitter.com/lmacvittie"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="o_twitter[1]" border="0" alt="o_twitter[1]" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/1086440/o_twitter.png" width="24" height="24" /&gt;&lt;/a&gt; &lt;/td&gt;          &lt;td valign="top" width="138"&gt; &lt;a href="http://bitly.com/nIsT1z?r=bb"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="o_facebook[1]" border="0" alt="o_facebook[1]" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/1086440/o_facebook.png" width="24" height="24" /&gt;&lt;/a&gt; &lt;a href="http://bitly.com/ne6W2R?r=bb"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="o_twitter[1]" border="0" alt="o_twitter[1]" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/1086440/o_twitter.png" width="24" height="24" /&gt;&lt;/a&gt; &lt;a href="http://bitly.com/nx3XV1?r=bb/"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="o_slideshare[1]" border="0" alt="o_slideshare[1]" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/1086440/o_slideshare.png" width="24" height="24" /&gt;&lt;/a&gt; &lt;a href="http://bitly.com/reFTmf?r=bb"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="o_youtube[1]" border="0" alt="o_youtube[1]" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/1086440/o_youtube.png" width="24" height="24" /&gt;&lt;/a&gt;&lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/center&gt;  &lt;h5&gt;&lt;strong&gt;Related blogs &amp;amp; articles: &lt;/strong&gt;&lt;/h5&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2010/08/18/the-inevitable-eventual-consistency-of-cloud-computing.aspx"&gt;&lt;img title="Document-icon" border="0" alt="Document-icon" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/Windows-Live-Writer/e911749ccdec_929B/Document-icon_887463e5-cd11-4f42-a5c5-28bdb2b60f94.png" width="16" height="16" /&gt;&lt;/a&gt; &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2011/08/15/html5-going-like-gangbusters-but-will-anyone-notice.aspx"&gt;HTML5 Going Like Gangbusters But Will Anyone Notice?&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2010/08/18/the-inevitable-eventual-consistency-of-cloud-computing.aspx"&gt;&lt;img title="Document-icon" border="0" alt="Document-icon" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/Windows-Live-Writer/e911749ccdec_929B/Document-icon_887463e5-cd11-4f42-a5c5-28bdb2b60f94.png" width="16" height="16" /&gt;&lt;/a&gt; &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2011/07/26/web-2-and-cloud-make-paas-middleware-obsolete.aspx"&gt;Web 2.0 Killed the Middleware Star&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2010/08/18/the-inevitable-eventual-consistency-of-cloud-computing.aspx"&gt;&lt;img title="Document-icon" border="0" alt="Document-icon" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/Windows-Live-Writer/e911749ccdec_929B/Document-icon_887463e5-cd11-4f42-a5c5-28bdb2b60f94.png" width="16" height="16" /&gt; The Inevitable Eventual Consistency of Cloud Computing&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2010/08/18/the-inevitable-eventual-consistency-of-cloud-computing.aspx"&gt;&lt;img title="Document-icon" border="0" alt="Document-icon" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/Windows-Live-Writer/e911749ccdec_929B/Document-icon_a4be0173-3333-4395-b6e2-92c59b65c00f.png" width="16" height="16" /&gt;&lt;/a&gt; &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2010/07/21/paas-is-just-soa-for-platforms-without-the-baggage.aspx"&gt;Let’s Face It: PaaS is Just SOA for Platforms Without the Baggage&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2010/08/18/the-inevitable-eventual-consistency-of-cloud-computing.aspx"&gt;&lt;img title="Document-icon" border="0" alt="Document-icon" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/Windows-Live-Writer/e911749ccdec_929B/Document-icon_30330ee1-1885-4c4b-9f2f-ea07030282e5.png" width="16" height="16" /&gt;&lt;/a&gt; &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2011/02/09/cloud-tiered-architectural-models-are-bad-except-when-they-arenrsquot.aspx"&gt;Cloud-Tiered Architectural Models are Bad Except When They Aren’t&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2010/08/18/the-inevitable-eventual-consistency-of-cloud-computing.aspx"&gt;&lt;img title="Document-icon" border="0" alt="Document-icon" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/Windows-Live-Writer/e911749ccdec_929B/Document-icon_bc4b1586-4cba-44b9-8e71-e84a3955b223.png" width="16" height="16" /&gt;&lt;/a&gt; &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2010/12/01/the-database-tier-is-not-elastic.aspx"&gt;The Database Tier is Not Elastic&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2010/08/18/the-inevitable-eventual-consistency-of-cloud-computing.aspx"&gt;&lt;img title="Document-icon" border="0" alt="Document-icon" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/Windows-Live-Writer/e911749ccdec_929B/Document-icon_49f296a9-4318-4656-b243-ab8e28d75382.png" width="16" height="16" /&gt;&lt;/a&gt; &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2010/07/08/new-three-tiered-architecture-changes-everything.aspx"&gt;The New Distribution of The 3-Tiered Architecture Changes Everything&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2010/08/18/the-inevitable-eventual-consistency-of-cloud-computing.aspx"&gt;&lt;img title="Document-icon" border="0" alt="Document-icon" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/Windows-Live-Writer/e911749ccdec_929B/Document-icon_dbe3554a-80d3-4666-adea-274d632826e8.png" width="16" height="16" /&gt;&lt;/a&gt; &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2010/09/22/sessions-sessions-everywhere.aspx"&gt;Sessions, Sessions Everywhere&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;    &lt;hr color="#808080" width="100%" noshade="noshade" /&gt;   &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:90f1e098-bf23-45cf-95df-e76ce63e4f35" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/F5" rel="tag"&gt;F5&lt;/a&gt;,&lt;a href="http://technorati.com/tags/MacVittie" rel="tag"&gt;MacVittie&lt;/a&gt;,&lt;a href="http://technorati.com/tags/JSON" rel="tag"&gt;JSON&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/architecture" rel="tag"&gt;architecture&lt;/a&gt;,&lt;a href="http://technorati.com/tags/integration" rel="tag"&gt;integration&lt;/a&gt;,&lt;a href="http://technorati.com/tags/application+delivery" rel="tag"&gt;application delivery&lt;/a&gt;,&lt;a href="http://technorati.com/tags/cloud+computing" rel="tag"&gt;cloud computing&lt;/a&gt;,&lt;a href="http://technorati.com/tags/devops" rel="tag"&gt;devops&lt;/a&gt;,&lt;a href="http://technorati.com/tags/network-side+scripting" rel="tag"&gt;network-side scripting&lt;/a&gt;,&lt;a href="http://technorati.com/tags/dynamic+infrastructure" rel="tag"&gt;dynamic infrastructure&lt;/a&gt;&lt;/div&gt;&lt;img src="http://devcentral.f5.com/weblogs/macvittie/aggbug/1098418.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Lori MacVittie</dc:creator>
            <guid>http://devcentral.f5.com/weblogs/macvittie/archive/2011/10/12/infrastructure-architecture-whitelisting-with-json-and-api-keys.aspx</guid>
            <pubDate>Wed, 12 Oct 2011 11:31:00 GMT</pubDate>
            <wfw:comment>http://devcentral.f5.com/weblogs/macvittie/comments/1098418.aspx</wfw:comment>
            <comments>http://devcentral.f5.com/weblogs/macvittie/archive/2011/10/12/infrastructure-architecture-whitelisting-with-json-and-api-keys.aspx#feedback</comments>
            <wfw:commentRss>http://devcentral.f5.com/weblogs/macvittie/comments/commentRss/1098418.aspx</wfw:commentRss>
            <trackback:ping>http://devcentral.f5.com/weblogs/macvittie/services/trackbacks/1098418.aspx</trackback:ping>
        </item>
        <item>
            <title>The Infrastructure Turk: Lessons in Services</title>
            <link>http://devcentral.f5.com/weblogs/macvittie/archive/2011/09/28/the-infrastructure-turk-lessons-in-services.aspx</link>
            <description>&lt;p&gt;&lt;em&gt;#devops #cloud If your goal is IT as a Service, then at some point you have to actually service-enable the policies that govern IT infrastructure. &lt;/em&gt;&lt;/p&gt;
&lt;h4&gt;My eldest shared the story of “The Turk” recently and it was a fine example of how appearances can be deceiving – and of the power of abstraction. If you aren’t familiar with the story, let me briefly share before we dive in to how this relates to infrastructure and, specifically, IT as a Service.&lt;/h4&gt;
&lt;blockquote style="border-left: black 5px solid; margin: 10px; padding-left: 10px; padding-right: 10px; background: white; border-right: black 5px solid"&gt;
&lt;p&gt;&lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_start_quote_rb.gif"&gt;&lt;img width="24" height="13" border="0" align="left" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_start_quote_rb.gif" alt="quote-badge" title="quote-badge" style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" /&gt;&lt;/a&gt; &lt;strong&gt;The Turk&lt;/strong&gt;, the &lt;strong&gt;Mechanical Turk&lt;/strong&gt; or &lt;strong&gt;Automaton Chess Player&lt;/strong&gt; was a fake &lt;a href="http://en.wikipedia.org/wiki/Chess"&gt;chess&lt;/a&gt;-playing &lt;a href="http://en.wikipedia.org/wiki/Artificial_intelligence"&gt;machine&lt;/a&gt; constructed in the late 18th century. &lt;/p&gt;
&lt;p&gt;The Turk was in fact a mechanical &lt;a href="http://en.wikipedia.org/wiki/Magic_%28illusion%29"&gt;illusion&lt;/a&gt; that allowed a human chess master hiding inside to operate the machine. With a skilled operator, the Turk won most of the games played during its demonstrations around &lt;a href="http://en.wikipedia.org/wiki/Europe"&gt;Europe&lt;/a&gt; and the Americas for nearly 84 years, playing and defeating many challengers including statesmen such as &lt;a href="http://en.wikipedia.org/wiki/Napoleon_I_of_France"&gt;Napoleon Bonaparte&lt;/a&gt; and &lt;a href="http://en.wikipedia.org/wiki/Benjamin_Franklin"&gt;Benjamin Franklin&lt;/a&gt;. Although many had suspected the hidden human operator, the hoax was initially revealed only in the 1820s by the Londoner Robert Willis.&lt;sup&gt;&lt;a href="http://en.wikipedia.org/wiki/The_Turk#cite_note-1"&gt;[2]&lt;/a&gt; &lt;/sup&gt;&lt;img src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_end_quote_rb.gif" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;-- Wikipedia, &lt;a href="http://en.wikipedia.org/wiki/The_Turk"&gt;“The Turk”&lt;/a&gt;       &lt;br /&gt;
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The Automaton was actually automated in the sense that the operator was able to, via mechanical means, move the arm of the Automaton and thus give the impression the Automaton was moving pieces around the board. The operator could also nod and shake its head and offer rudimentary facial expressions. But the Automaton was not making decisions in any way, shape or form. The operator made the decisions and did so quite well, defeating many a chess champion of the day. &lt;/p&gt;
&lt;p&gt;[ You might also recall this theme appeared in the “Wizard of Oz”, wherein the Professor sat behind a “curtain” and “automated” what appeared to the inhabitants to be the great Wizard of Oz. ] &lt;/p&gt;
&lt;p&gt;The Turk was never really automated in the sense that &lt;em&gt;it &lt;/em&gt;could make decisions and actually play chess. Unlike &lt;a href="http://en.wikipedia.org/wiki/Watson_%28computer%29"&gt;Watson&lt;/a&gt;, the centuries old Automaton was never imbued with the ability to dynamically determine what moves to make itself. &lt;/p&gt;
&lt;p&gt;This is strikingly similar to modern “automation” and in particular the automation being enabled in modern data centers today. While automated configuration and set up of components and applications is becoming more and more common, the actual decisions and configuration are still handled by operators who push the necessary levers and turn the right knobs to enable infrastructure to react. &lt;/p&gt;
&lt;h4&gt;&lt;font color="#d16349"&gt;&lt;font style="font-weight: bold"&gt;IT as a SERVICE needs POLICIES as well as RESOURCES &lt;/font&gt;&lt;/font&gt;&lt;/h4&gt;
&lt;h4&gt;We need to change this model. We need to automate the Automaton in a way that enables automated provisioning initiated by the end-user, i.e. application owner. We need infrastructure and ultimately operational services not only to configure and manage infrastructure, but to provision it.  More importantly, end-users need to be able to provision the appropriate infrastructure &lt;em&gt;services (policies) &lt;/em&gt;as well. &lt;/h4&gt;
&lt;p&gt;&lt;img vspace="5" hspace="5" align="left" src="/weblogs/images/devcentral_f5_com/weblogs/macvittie/provisioning-service-stack.png" style="width: 403px; height: 191px;" alt="" /&gt;Right now, devops is doing a great job enabling deployment automation; that is, creating scripts and recipes that are repeatable with respect to provisioning the appropriate infrastructure &lt;em&gt;resources&lt;/em&gt; necessary to successfully deploy an application. But what we aren’t doing (yet) is enabling those as services. We’re currently the 18&lt;sup&gt;th&lt;/sup&gt; century version of the Automaton, when we want is the 21&lt;sup&gt;st&lt;/sup&gt; century equivalent – automation from top to bottom (or underneath, as the analogy would require). &lt;/p&gt;
&lt;p&gt;What we’ve done thus far is put a veneer over what is still a very manual process. Ops still determines the configuration on a per-application basis and subsequently customizes the configurations before pushing out the script. Certainly that script reduces operational costs and time whenever additional capacity is required for that application as it becomes possible to simply replicate the configuration, but it does not alleviate the need for manual configuration in the first place. Nor does it leave room for end-users to tweak or otherwise alter the &lt;em&gt;policies &lt;/em&gt;that govern myriad operational functions across network, storage, and server infrastructure that have a direct impact – for good and for ill –on the performance, security, and stability of applications.     &lt;br /&gt;
End users must still wait for the operator hidden inside the Automaton to make a move. &lt;/p&gt;
&lt;p&gt;IT as a Service needs services. And not just services for devops, but services for end users, for the consumers of IT. The application owner, the business stakeholder, the admin. These services need to not only take into consideration the basic provisioning of the resources required, but the policies that govern them. The intelligence behind the Automaton needs to be codified and encapsulated in a way that makes &lt;em&gt;them&lt;/em&gt;  as reusable as the basic provisionable resources. We need not only provision resources – an IP address, network bandwidth, and the pool of resources from which applications are served and scale, but the policies governing access, security, and even performance. These policies are at the heart of what IT provides for its consumers; the security that enables compliance and protects applications from intrusions and downtime, the dynamic adjustments required to keep applications performing within specified business requirements, the thresholds that determine the ebb and flow of compute capacity required to keep the application available. &lt;/p&gt;
&lt;p&gt;These policies should be service-enabled and provisionable by the end-user, by the consumers of IT services. &lt;/p&gt;
&lt;p&gt;The definitions of &lt;a title="" href="http://www.f5.com/solutions/cloud-computing" rel=""&gt;cloud computing &lt;/a&gt;, from wherever they originate, tend to focus on resources and lifecycle management of those resources. If one construes that to include applicable policies as well, then we are on the right track. But if we do not, then we need to consider from a more strategic point of view what is required of a successful application deployment. It is not just the provisioning of resources, but policies, as well, that make a deployment successful. &lt;/p&gt;
&lt;p&gt;The Automaton is a great reminder of the power of automation, but it is just as powerful a reminder of the failure to encapsulate the intelligence and decision-making capabilities required. In the 18th century it was nearly impossible to imagine a mechanical system that could make intelligent, real-time decisions. That’s one of the reasons the Automaton was such a fascinating and popular exhibition. The revelation of the Automaton was a disappointment, because it revealed that under the hood, that touted mechanical system was still relying on manual and very human intelligence to function. If we do not pay attention to this lesson, we run the risk of the dynamic data center also being exposed as a hoax one day, still primarily enabled by manual and very human processes to function. Service-enablement of policy lifecycle management is a key component to liberating the data center and an integral part of enabling IT as a Service. &lt;/p&gt;
&lt;hr width="100%" noshade="noshade" color="#808080" /&gt;
&lt;center&gt;
&lt;table width="308" cellspacing="0" cellpadding="2" border="0"&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;td width="168" valign="top"&gt;Connect with Lori: &lt;/td&gt;
            &lt;td width="138" valign="top"&gt;Connect with &lt;a title="F5 Networks" href="http://www.f5.com/" rel="" target="_blank"&gt;F5&lt;/a&gt;: &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td width="168" valign="top"&gt;&lt;a href="http://www.linkedin.com/in/lmacvittie"&gt;&lt;img width="24" height="24" border="0" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/1086440/o_linkedin.png" alt="o_linkedin[1]" title="o_linkedin[1]" style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" /&gt;&lt;/a&gt; &lt;a href="https://plus.google.com/110169987847611210070"&gt;&lt;img width="24" height="24" border="0" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/Windows-Live-Writer/Why-Cant-We-Have-Nice-Things-Too_37AC/google+_3.jpg" alt="google " title="google " style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" /&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/f5/macv"&gt;&lt;img width="24" height="24" border="0" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/1086440/o_rss.png" alt="o_rss[1]" title="o_rss[1]" style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" /&gt;&lt;/a&gt; &lt;a href="http://www.facebook.com/lmacvittie"&gt;&lt;img width="24" height="24" border="0" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/1086440/o_facebook.png" alt="o_facebook[1]" title="o_facebook[1]" style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" /&gt;&lt;/a&gt; &lt;a href="http://twitter.com/lmacvittie"&gt;&lt;img width="24" height="24" border="0" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/1086440/o_twitter.png" alt="o_twitter[1]" title="o_twitter[1]" style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" /&gt;&lt;/a&gt; &lt;/td&gt;
            &lt;td width="138" valign="top"&gt; &lt;a href="http://bitly.com/nIsT1z?r=bb"&gt;&lt;img width="24" height="24" border="0" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/1086440/o_facebook.png" alt="o_facebook[1]" title="o_facebook[1]" style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" /&gt;&lt;/a&gt; &lt;a href="http://bitly.com/ne6W2R?r=bb"&gt;&lt;img width="24" height="24" border="0" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/1086440/o_twitter.png" alt="o_twitter[1]" title="o_twitter[1]" style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" /&gt;&lt;/a&gt; &lt;a href="http://bitly.com/nx3XV1?r=bb/"&gt;&lt;img width="24" height="24" border="0" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/1086440/o_slideshare.png" alt="o_slideshare[1]" title="o_slideshare[1]" style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" /&gt;&lt;/a&gt; &lt;a href="http://bitly.com/reFTmf?r=bb"&gt;&lt;img width="24" height="24" border="0" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/1086440/o_youtube.png" alt="o_youtube[1]" title="o_youtube[1]" style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" /&gt;&lt;/a&gt;&lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;/center&gt;
&lt;p align="center"&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;p&gt;Related blogs &amp;amp; articles: &lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/f5news/archive/2011/07/25/able-infrastructure-the-next-generation-ndash-introducing-v11.aspx"&gt;&lt;img width="16" height="16" border="0" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/Windows-Live-Writer/F5-Friday--on-a-Monday_510F/Document-icon_14310b6f-543f-4f8e-963e-dbd088f76811.png" alt="Document-icon" title="Document-icon" /&gt;&lt;/a&gt; &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2011/09/12/scalability-cloud-computing-dynamic-infrastructure-architecture.aspx"&gt;Resolution to the Case (For &amp;amp; Against) X-Driven Scalability in Cloud Computing Environments&lt;/a&gt;  &lt;/li&gt;
    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/f5news/archive/2011/07/25/able-infrastructure-the-next-generation-ndash-introducing-v11.aspx"&gt;&lt;img width="16" height="16" border="0" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/Windows-Live-Writer/F5-Friday--on-a-Monday_510F/Document-icon_14310b6f-543f-4f8e-963e-dbd088f76811.png" alt="Document-icon" title="Document-icon" /&gt;&lt;/a&gt; &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2011/08/03/the-cloud-configuration-management-conundrum.aspx"&gt;The Cloud Configuration Management Conundrum&lt;/a&gt; &lt;/li&gt;
    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/f5news/archive/2011/07/25/able-infrastructure-the-next-generation-ndash-introducing-v11.aspx"&gt;&lt;img width="16" height="16" border="0" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/Windows-Live-Writer/F5-Friday--on-a-Monday_510F/Document-icon_14310b6f-543f-4f8e-963e-dbd088f76811.png" alt="Document-icon" title="Document-icon" /&gt;&lt;/a&gt; &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2011/06/13/it-as-a-service-a-stateless-infrastructure-architecture-model.aspx"&gt;IT as a Service: A Stateless Infrastructure Architecture Model&lt;/a&gt; &lt;/li&gt;
    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/f5news/archive/2011/07/25/able-infrastructure-the-next-generation-ndash-introducing-v11.aspx"&gt;&lt;img width="16" height="16" border="0" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/Windows-Live-Writer/F5-Friday--on-a-Monday_510F/Document-icon_8147a237-b203-4f2e-bc8d-ba9aaea9a514.png" alt="Document-icon" title="Document-icon" /&gt;&lt;/a&gt; &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2011/05/04/if-a-network-canrsquot-go-virtual-then-virtual-must-come.aspx"&gt;If a Network Can’t Go Virtual Then Virtual Must Come to the Network&lt;/a&gt; &lt;/li&gt;
    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/f5news/archive/2011/07/25/able-infrastructure-the-next-generation-ndash-introducing-v11.aspx"&gt;&lt;img width="16" height="16" border="0" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/Windows-Live-Writer/F5-Friday--on-a-Monday_510F/Document-icon_d0680d1b-a11e-45e7-9648-8acee96739fd.png" alt="Document-icon" title="Document-icon" /&gt;&lt;/a&gt; &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2010/09/08/you-canrsquot-have-it-as-a-service-until-it-has.aspx"&gt;You Can’t Have IT as a Service Until IT Has Infrastructure as a Service&lt;/a&gt; &lt;/li&gt;
    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/f5news/archive/2011/07/25/able-infrastructure-the-next-generation-ndash-introducing-v11.aspx"&gt;&lt;img width="16" height="16" border="0" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/Windows-Live-Writer/F5-Friday--on-a-Monday_510F/Document-icon_40c1d4b7-4bcf-4d77-bb57-cdb080880288.png" alt="Document-icon" title="Document-icon" /&gt;&lt;/a&gt; &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2011/07/11/this-is-why-we-canrsquot-have-nice-things.aspx"&gt;This is Why We Can’t Have Nice Things&lt;/a&gt; &lt;/li&gt;
    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/f5news/archive/2011/07/25/able-infrastructure-the-next-generation-ndash-introducing-v11.aspx"&gt;&lt;img width="16" height="16" border="0" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/Windows-Live-Writer/F5-Friday--on-a-Monday_510F/Document-icon_40c1d4b7-4bcf-4d77-bb57-cdb080880288.png" alt="Document-icon" title="Document-icon" /&gt;&lt;/a&gt; &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2011/05/18/the-consumerization-of-it-the-opsstore.aspx"&gt;The Consumerization of IT: The OpsStore&lt;/a&gt;  &lt;/li&gt;
    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2011/04/06/now-witness-the-power-of-this-fully-operational-feedback-loop.aspx"&gt;&lt;img width="16" height="16" border="0" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/Windows-Live-Writer/The-Consumerization-of-IT-The-OpsStore_4A29/Document-icon_3bb86900-934e-44c7-8fca-c007c987bd83.png" alt="Document-icon" title="Document-icon" /&gt;&lt;/a&gt; &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2011/03/16/an-aristotlean-approach-to-devops-and-infrastructure-integration.aspx"&gt;An Aristotlean Approach to Devops and Infrastructure Integration&lt;/a&gt; &lt;/li&gt;
    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2011/04/06/now-witness-the-power-of-this-fully-operational-feedback-loop.aspx"&gt;&lt;img width="16" height="16" border="0" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/Windows-Live-Writer/The-Consumerization-of-IT-The-OpsStore_4A29/Document-icon_510c4ac7-688b-42b1-9b91-e5e37e44611f.png" alt="Document-icon" title="Document-icon" /&gt;&lt;/a&gt; &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2010/10/27/the-impact-of-security-on-infrastructure-integration.aspx"&gt;The Impact of Security on Infrastructure Integration&lt;/a&gt; &lt;/li&gt;
    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2011/04/06/now-witness-the-power-of-this-fully-operational-feedback-loop.aspx"&gt;&lt;img width="16" height="16" border="0" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/Windows-Live-Writer/The-Consumerization-of-IT-The-OpsStore_4A29/Document-icon_2db6fb7a-ea2d-4f0b-a095-67ae72d3412c.png" alt="Document-icon" title="Document-icon" /&gt;&lt;/a&gt; &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2010/09/15/infrastructure-2-enables-cloud-enables-it-as-a-service.aspx"&gt;Infrastructure 2.0 + Cloud + IT as a Service = An Architectural Parfait&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;
&lt;hr width="100%" noshade="noshade" color="#808080" /&gt;
&lt;div class="wlWriterEditableSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:2ca2561f-65da-490c-922d-5e7aca1f7b05" style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px"&gt;Technorati Tags: &lt;a rel="tag" href="http://technorati.com/tags/F5"&gt;F5&lt;/a&gt;,&lt;a rel="tag" href="http://technorati.com/tags/MacVittie"&gt;MacVittie&lt;/a&gt;,&lt;a rel="tag" href="http://technorati.com/tags/cloud+computing"&gt;cloud computing&lt;/a&gt;,&lt;a rel="tag" href="http://technorati.com/tags/devops"&gt;devops&lt;/a&gt;,&lt;a rel="tag" href="http://technorati.com/tags/cloud"&gt;cloud&lt;/a&gt;,&lt;a rel="tag" href="http://technorati.com/tags/dynamic+infrastructure"&gt;dynamic infrastructure&lt;/a&gt;,&lt;a rel="tag" href="http://technorati.com/tags/automation"&gt;automation&lt;/a&gt;,&lt;a rel="tag" href="http://technorati.com/tags/IT+as+a+Service"&gt;IT as a Service&lt;/a&gt;,&lt;a rel="tag" href="http://technorati.com/tags/provisioning"&gt;provisioning&lt;/a&gt;,&lt;a rel="tag" href="http://technorati.com/tags/architecture"&gt;architecture&lt;/a&gt;,&lt;a rel="tag" href="http://technorati.com/tags/services"&gt;services&lt;/a&gt;&lt;/div&gt;&lt;img src="http://devcentral.f5.com/weblogs/macvittie/aggbug/1098382.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Lori MacVittie</dc:creator>
            <guid>http://devcentral.f5.com/weblogs/macvittie/archive/2011/09/28/the-infrastructure-turk-lessons-in-services.aspx</guid>
            <pubDate>Wed, 28 Sep 2011 13:40:23 GMT</pubDate>
            <wfw:comment>http://devcentral.f5.com/weblogs/macvittie/comments/1098382.aspx</wfw:comment>
            <comments>http://devcentral.f5.com/weblogs/macvittie/archive/2011/09/28/the-infrastructure-turk-lessons-in-services.aspx#feedback</comments>
            <wfw:commentRss>http://devcentral.f5.com/weblogs/macvittie/comments/commentRss/1098382.aspx</wfw:commentRss>
            <trackback:ping>http://devcentral.f5.com/weblogs/macvittie/services/trackbacks/1098382.aspx</trackback:ping>
        </item>
        <item>
            <title>Forget Hyper-Scale. Think Hyper-Local Scale.</title>
            <link>http://devcentral.f5.com/weblogs/macvittie/archive/2011/07/06/forget-hyper-scale.-think-hyper-local-scale.aspx</link>
            <description>&lt;p&gt;&lt;em&gt;It’s kind of like thinking globally but acting locally…  &lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/Windows-Live-Writer/Hyper-scale-and-Cloud-Computing_542D/hyper%20scalability_2.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: left; border-top: 0px; border-right: 0px; padding-top: 0px" title="hyper scalability" border="0" alt="hyper scalability" align="left" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/Windows-Live-Writer/Hyper-scale-and-Cloud-Computing_542D/hyper%20scalability_thumb.jpg" width="258" height="316" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;h4&gt;While I rail against the use of the too vague and cringe-inducing descriptor “workload” with respect to scalability and &lt;a title="" href="http://www.f5.com/solutions/cloud-computing" rel=""&gt;cloud computing &lt;/a&gt;, it is perhaps at least bringing to the fore an important distinction that needs to be made: that of the impact of different compute resource utilization patterns on scalability. &lt;/h4&gt;  &lt;p&gt;What categorizing workloads has done is to separate “types” of processing and resource needs: some applications require more I/O, some less. Others are CPU hogs while others chew up memory at an alarming rate. Applications have different resource utilization needs across the network, storage and compute spectrum that have a profound impact on their scalability. This leads to models in which some applications scale better horizontally and others vertically. Unfortunately, there are very few “pure” applications that can be dissected down to a simple model in which it is simply a case of providing more “X” as a means to scale. It is more often the case that some portions of the application are more network intensive while others require more compute. Functional partitioning is certainly a better option for scaling out such applications, but is an impractical design methodology during development as the overhead resulting from separation of duties at the functional level requires a more service-oriented approach, one that is not currently aligned with modern web application development practices. &lt;/p&gt;  &lt;p&gt;Yet we see the need on a daily basis for hyper-scalability of applications. Applications are being pushed to their resource limits with more users, more devices, more environments in which they must perform without delay. The “one size fits all” scalability model offered by cloud computing providers today is inadequate as a means to scale our rapidly and nearly infinitely, without overrunning budgets. This is because along with resource consumption patterns comes constraints on concurrency. Cloud computing offers an easy button to this problem – auto-scalability. Concurrency demands are easily met, just spin up another instance. While certainly one answer, it can be an expensive one and it’s absolutely an inefficient model of scalability.&lt;/p&gt;  &lt;h3&gt;&lt;font color="#c0504d"&gt;&lt;font style="font-weight: bold"&gt;HYPER-LOCAL SCALE &lt;/font&gt;&lt;/font&gt;&lt;/h3&gt;  &lt;h4&gt;The lessons we should learn from cloud computing and hyper-scalability demands is that different functional processing scales, well, differently. The resource consumption patterns of one functional process &lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/Windows-Live-Writer/Hyper-scale-and-Cloud-Computing_542D/image_2.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" align="right" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/Windows-Live-Writer/Hyper-scale-and-Cloud-Computing_542D/image_thumb.png" width="346" height="332" /&gt;&lt;/a&gt;may differ dramatically from another, and &lt;em&gt;both &lt;/em&gt;need to be addressed in order to efficiently scale the application. &lt;/h4&gt;  &lt;p&gt;If it is impractical to functionally separate “workloads” in the design and development process, then it is necessary to do so during the deployment phase leveraging those identifying contextual clues indicating the type of workload being invoked, i.e. hyper-local scale. &lt;/p&gt;  &lt;p&gt;Hyperlocal scalability requires leveraging &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2010/06/23/service-virtualization-helps-localize-impact-of-elastic-scalability.aspx"&gt;scalability domains&lt;/a&gt;, those functional workload divisions that are similar in nature and require similar resources to scale. Scalability domains allow functional partitioning as a scalability pattern to be applied to an application without requiring function level separation (and all the management, maintenance and deployment headaches that go along with it). Scalability domains are discrete pools of similar processing workloads, partitioned as part of the architecture, that allow specific configuration and architectural techniques to be applied to the underlying network and platform that specifically increase the performance and scalability of those workloads. &lt;/p&gt;  &lt;p&gt;This is the notion of hyperlocal scalability: an architectural scaling strategy that leverages scalability domains to isolate similar functional partitions requiring hyper-scale from those partitions that do not. In doing so, highly efficient scalability domains can be used to scale up or out those functional partitions requiring it while allowing other functional partitions to scale at a more nominal rate, incurring therefore less costs. Consider the notion a form of offload, where high resource impact processing is offloaded to another instance, thereby increasing the available resources on the first instance which results in higher concurrency. The offloaded processing can hyper-scale as necessary in a purpose-configured instance at higher efficiency, resulting in better concurrency. Where a traditional scalability pattern – effectively replication – may have required ten instances to meet demand, a hyper-localized scalability pattern may require only six or seven, with the plurality of those serving the high resource consuming processing. Fewer instances results in lower costs whilst simultaneously improving performance and efficiency. &lt;/p&gt;  &lt;h3&gt;&lt;font color="#c0504d"&gt;&lt;font style="font-weight: bold"&gt;INFRASTRUCTURE REQUIRED &lt;/font&gt;&lt;/font&gt;&lt;/h3&gt;  &lt;h4&gt;Hyper-localized scalability architectures can leverage a variety of infrastructure scalability patterns, but the fact that they are dependent upon infrastructure and its ability to perform application layer routing and switching is paramount to success. &lt;/h4&gt;  &lt;p&gt;Today’s demanding business and operational requirements cannot be met with the simple scalability strategies of yesterday. Not only are legacy strategies based on infinite resources and budgets, they are inherently based on legacy application design in which functional partitioning was not only difficult, it was nearly impossible without the aid of methodologies like &lt;a title="Service Oriented Architecture definition " href="http://www.f5.com/glossary/soa.html" rel="" target="_blank"&gt;SOA&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;Web applications are uniquely positioned such that they are perfectly suited to partitioning strategies whether at the functional or type or session layers. The contextual data shared by web applications with infrastructure capable of intercepting, inspecting and acting upon that data means more modern, architectural-based scaling strategies can be put into play. Doing so affords organizations the means to achieve higher efficiency and utilization rates, while in turn improving the performance, resiliency and availability of those applications. &lt;/p&gt;  &lt;p&gt;These strategies require infrastructure services and an understanding of the resource needs and usage patterns of the application as well as the ability to implement that architecture using infrastructure services and platform optimization. &lt;/p&gt;  &lt;p&gt;It’s a job for devops. &lt;/p&gt;  &lt;p&gt;   &lt;/p&gt;&lt;hr color="#808080" width="100%" noshade="noshade" /&gt;    &lt;center&gt;   &lt;table border="0" cellspacing="0" cellpadding="2" width="263"&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td valign="top" width="129"&gt;Connect with Lori: &lt;/td&gt;          &lt;td valign="top" width="132"&gt;Connect with &lt;a title="F5 Networks" href="http://www.f5.com/" rel="" target="_blank"&gt;F5&lt;/a&gt;: &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="129"&gt;&lt;a href="http://www.linkedin.com/in/lmacvittie"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="o_linkedin[1]" border="0" alt="o_linkedin[1]" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/1086440/o_linkedin.png" width="24" height="24" /&gt;&lt;/a&gt; &lt;a href="http://devcentral.f5.com/weblogs/macvittie/Rss.aspx"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="o_rss[1]" border="0" alt="o_rss[1]" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/1086440/o_rss.png" width="24" height="24" /&gt;&lt;/a&gt; &lt;a href="http://www.facebook.com/lmacvittie"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="o_facebook[1]" border="0" alt="o_facebook[1]" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/1086440/o_facebook.png" width="24" height="24" /&gt;&lt;/a&gt; &lt;a href="http://twitter.com/lmacvittie"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="o_twitter[1]" border="0" alt="o_twitter[1]" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/1086440/o_twitter.png" width="24" height="24" /&gt;&lt;/a&gt; &lt;/td&gt;          &lt;td valign="top" width="132"&gt; &lt;a href="http://www.facebook.com/f5networksinc"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="o_facebook[1]" border="0" alt="o_facebook[1]" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/1086440/o_facebook.png" width="24" height="24" /&gt;&lt;/a&gt; &lt;a href="http://twitter.com/f5networks"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="o_twitter[1]" border="0" alt="o_twitter[1]" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/1086440/o_twitter.png" width="24" height="24" /&gt;&lt;/a&gt; &lt;a href="http://www.slideshare.net/f5dotcom/"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="o_slideshare[1]" border="0" alt="o_slideshare[1]" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/1086440/o_slideshare.png" width="24" height="24" /&gt;&lt;/a&gt; &lt;a href="http://www.youtube.com/f5networksinc"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="o_youtube[1]" border="0" alt="o_youtube[1]" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/1086440/o_youtube.png" width="24" height="24" /&gt;&lt;/a&gt;&lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/center&gt;  &lt;p align="center"&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 border="0" alt="AddThis Feed Button" src="http://s9.addthis.com/button1-fd.gif" width="125" height="18" /&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 border="0" alt="Bookmark and Share" src="http://s9.addthis.com/button1-share.gif" width="125" height="18" /&gt;&lt;/a&gt; &lt;script type="text/javascript" src="http://track.mybloglog.com/js/jsserv.php?mblID=2008070914270355"&gt;&lt;/script&gt;&lt;/p&gt;  &lt;p&gt;Related blogs &amp;amp; articles: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/10/22/wils-why-does-load-balancing-improve-application-performance.aspx"&gt;&lt;img title="Document-icon" border="0" alt="Document-icon" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/Windows-Live-Writer/Load-Balancing-Fu-Beware-the-Algorithm-a_30F5/Document-icon_3da35ae1-c9f8-4fab-a0f2-6c9f5071336b.png" width="16" height="16" /&gt;&lt;/a&gt; &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2010/06/23/service-virtualization-helps-localize-impact-of-elastic-scalability.aspx"&gt;Service Virtualization Helps Localize Impact of Elastic Scalability&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/10/22/wils-why-does-load-balancing-improve-application-performance.aspx"&gt;&lt;img title="Document-icon" border="0" alt="Document-icon" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/Windows-Live-Writer/Load-Balancing-Fu-Beware-the-Algorithm-a_30F5/Document-icon_3da35ae1-c9f8-4fab-a0f2-6c9f5071336b.png" width="16" height="16" /&gt;&lt;/a&gt; &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2011/06/27/intercloud-are-you-moving-applications-or-architectures.aspx"&gt;Intercloud: Are You Moving Applications or Architectures?&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/10/22/wils-why-does-load-balancing-improve-application-performance.aspx"&gt;&lt;img title="Document-icon" border="0" alt="Document-icon" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/Windows-Live-Writer/Load-Balancing-Fu-Beware-the-Algorithm-a_30F5/Document-icon_3da35ae1-c9f8-4fab-a0f2-6c9f5071336b.png" width="16" height="16" /&gt;&lt;/a&gt; &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2011/06/13/it-as-a-service-a-stateless-infrastructure-architecture-model.aspx"&gt;IT as a Service: A Stateless Infrastructure Architecture Model&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/10/22/wils-why-does-load-balancing-improve-application-performance.aspx"&gt;&lt;img title="Document-icon" border="0" alt="Document-icon" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/Windows-Live-Writer/Load-Balancing-Fu-Beware-the-Algorithm-a_30F5/Document-icon_3da35ae1-c9f8-4fab-a0f2-6c9f5071336b.png" width="16" height="16" /&gt;&lt;/a&gt; &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2011/06/06/load-balancing-fu-beware-the-algorithm-and-sticky-sessions.aspx"&gt;Load Balancing Fu: Beware the Algorithm and Sticky Sessions&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/10/22/wils-why-does-load-balancing-improve-application-performance.aspx"&gt;&lt;img title="Document-icon" border="0" alt="Document-icon" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/Windows-Live-Writer/Load-Balancing-Fu-Beware-the-Algorithm-a_30F5/Document-icon_3da35ae1-c9f8-4fab-a0f2-6c9f5071336b.png" width="16" height="16" /&gt;&lt;/a&gt; &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2010/11/01/infrastructure-scalability-pattern-sharding-sessions.aspx"&gt;Infrastructure Scalability Pattern: Sharding Sessions&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/10/22/wils-why-does-load-balancing-improve-application-performance.aspx"&gt;&lt;img title="Document-icon" border="0" alt="Document-icon" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/Windows-Live-Writer/Load-Balancing-Fu-Beware-the-Algorithm-a_30F5/Document-icon_23d56711-5fac-4ebf-901b-e616786852e0.png" width="16" height="16" /&gt;&lt;/a&gt; &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2010/10/04/infrastructure-scalability-pattern-partition-by-function-or-type.aspx"&gt;Infrastructure Scalability Pattern: Partition by Function or Type&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/10/22/wils-why-does-load-balancing-improve-application-performance.aspx"&gt;&lt;img title="Document-icon" border="0" alt="Document-icon" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/Windows-Live-Writer/Load-Balancing-Fu-Beware-the-Algorithm-a_30F5/Document-icon_8aa4e837-0207-41ba-8ceb-a6d20732ac81.png" width="16" height="16" /&gt;&lt;/a&gt; &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2010/01/05/itrsquos-2am-do-you-know-what-algorithm-your-load-balancer.aspx"&gt;It’s 2am: Do You Know What Algorithm Your Load Balancer is Using?&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/10/22/wils-why-does-load-balancing-improve-application-performance.aspx"&gt;&lt;img title="Document-icon" border="0" alt="Document-icon" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/Windows-Live-Writer/Load-Balancing-Fu-Beware-the-Algorithm-a_30F5/Document-icon_36a49430-28c2-4f6a-a23c-29e3173e60b1.png" width="16" height="16" /&gt;&lt;/a&gt; &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2010/02/18/lots-of-little-virtual-web-applications-scale-out-better-than.aspx"&gt;Lots of Little Virtual Web Applications Scale Out Better than Scaling Up&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/10/22/wils-why-does-load-balancing-improve-application-performance.aspx"&gt;&lt;img title="Document-icon" border="0" alt="Document-icon" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/Windows-Live-Writer/Load-Balancing-Fu-Beware-the-Algorithm-a_30F5/Document-icon_c1ce56f1-7607-4f60-b4de-7d68ec8f9e34.png" width="16" height="16" /&gt;&lt;/a&gt; &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2010/09/22/sessions-sessions-everywhere.aspx"&gt;Sessions, Sessions Everywhere&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/10/22/wils-why-does-load-balancing-improve-application-performance.aspx"&gt;&lt;img title="Document-icon" border="0" alt="Document-icon" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/Windows-Live-Writer/Load-Balancing-Fu-Beware-the-Algorithm-a_30F5/Document-icon_6663ae2a-c8d8-448b-9b42-7e9196f7257a.png" width="16" height="16" /&gt;&lt;/a&gt; &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2010/09/07/choosing-a-load-balancing-algorithm-requires-devops-fu.aspx"&gt;Choosing a Load Balancing Algorithm Requires DevOps Fu&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;                      &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:e2bfc1ea-7d7f-4051-ad80-65a6d3d20680" class="wlWriterEditableSmartContent"&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/scalability+domain" rel="tag"&gt;scalability domain&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/hyperscale" rel="tag"&gt;hyperscale&lt;/a&gt;,&lt;a href="http://technorati.com/tags/hyperlocal+scale" rel="tag"&gt;hyperlocal scale&lt;/a&gt;,&lt;a href="http://technorati.com/tags/load+balancing" rel="tag"&gt;load balancing&lt;/a&gt;,&lt;a href="http://technorati.com/tags/cloud+computing" rel="tag"&gt;cloud computing&lt;/a&gt;,&lt;a href="http://technorati.com/tags/devops" rel="tag"&gt;devops&lt;/a&gt;,&lt;a href="http://technorati.com/tags/infrastructure+2.0" rel="tag"&gt;infrastructure 2.0&lt;/a&gt;,&lt;a href="http://technorati.com/tags/dynamic+infrastructure" rel="tag"&gt;dynamic infrastructure&lt;/a&gt;&lt;/div&gt;&lt;img src="http://devcentral.f5.com/weblogs/macvittie/aggbug/1094519.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Lori MacVittie</dc:creator>
            <guid>http://devcentral.f5.com/weblogs/macvittie/archive/2011/07/06/forget-hyper-scale.-think-hyper-local-scale.aspx</guid>
            <pubDate>Wed, 06 Jul 2011 10:43:57 GMT</pubDate>
            <wfw:comment>http://devcentral.f5.com/weblogs/macvittie/comments/1094519.aspx</wfw:comment>
            <comments>http://devcentral.f5.com/weblogs/macvittie/archive/2011/07/06/forget-hyper-scale.-think-hyper-local-scale.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://devcentral.f5.com/weblogs/macvittie/comments/commentRss/1094519.aspx</wfw:commentRss>
            <trackback:ping>http://devcentral.f5.com/weblogs/macvittie/services/trackbacks/1094519.aspx</trackback:ping>
        </item>
        <item>
            <title>5 Years Later: OpenAJAX Who?</title>
            <link>http://devcentral.f5.com/weblogs/macvittie/archive/2011/06/29/5-years-later-openajax-who.aspx</link>
            <description>&lt;p&gt;&lt;em&gt;Five years ago the OpenAjax Alliance was founded with the intention of providing interoperability between what was quickly becoming a morass of AJAX-based libraries and APIs. Where is it today, and why has it failed to achieve more prominence? &lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/Windows-Live-Writer/5-Years-Later--What-Happened-to-the-Open_7B04/openajax-alliance_2.gif"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px 10px 0px 0px; padding-left: 0px; padding-right: 0px; display: inline; float: left; border-top: 0px; border-right: 0px; padding-top: 0px" title="openajax-alliance" border="0" alt="openajax-alliance" align="left" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/Windows-Live-Writer/5-Years-Later--What-Happened-to-the-Open_7B04/openajax-alliance_thumb.gif" width="120" height="60" /&gt;&lt;/a&gt;I stumbled recently over a nearly five year old article I wrote in 2006 for Network Computing on the OpenAjax initiative. Remember, AJAX and Web 2.0 were just coming of age then, and mentions of Web 2.0 or AJAX were much like that of “cloud” today. You couldn’t turn around without hearing someone promoting their solution by associating with Web 2.0 or AJAX. After reading the opening paragraph I remembered clearly writing the article and being skeptical, even then, of what impact such an alliance would have on the industry. Being a developer by trade I’m well aware of how impactful “standards” and “specifications” really are in the real world, but the problem – interoperability across a growing field of JavaScript libraries – seemed at the time real and imminent, so there was a need for someone to address it before it completely got out of hand. &lt;/p&gt;  &lt;blockquote style="border-left: black 5px solid; margin: 10px; padding-left: 10px; padding-right: 10px; background: white; border-right: black 5px solid"&gt;   &lt;p&gt;&lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_start_quote_rb.gif"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="quote-badge" border="0" alt="quote-badge" align="left" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_start_quote_rb.gif" width="24" height="13" /&gt;&lt;/a&gt; With the OpenAjax Alliance comes the possibility for a unified language, as well as a set of APIs, on which developers could easily implement dynamic Web applications. A unified &lt;a href="http://www.techweb.com/encyclopedia/defineterm.jhtml?term=toolkit&amp;amp;x=&amp;amp;y="&gt;toolkit&lt;/a&gt; would offer consistency in a market that has myriad Ajax-based technologies in play, providing the enterprise with a broader pool of developers able to offer long term support for applications and a stable base on which to build applications. As is the case with many fledgling technologies, one toolkit will become the standard—whether through a standards body or by de facto adoption—and Dojo is one of the favored entrants in the race to become that standard.&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;p&gt;-- &lt;a href="http://www.networkcomputing.com/data-networking-management/229611108"&gt;AJAX-based Dojo Toolkit&lt;/a&gt; , Network Computing, Oct 2006       &lt;br /&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;The goal was simple: interoperability. The way in which the alliance went about achieving that goal, however, may have something to do with its lackluster performance lo these past five years and its descent into obscurity. &lt;/p&gt;  &lt;h4&gt;&lt;font color="#c0504d"&gt;&lt;font style="font-weight: bold"&gt;5 YEAR ACCOMPLISHMENTS of the OPENAJAX ALLIANCE &lt;/font&gt;&lt;/font&gt;&lt;/h4&gt;  &lt;p&gt;The OpenAjax Alliance members have not been idle. They have published several very complete and well-defined specifications including one “industry standard”: OpenAjax Metadata. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;OpenAjax Hub&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;The OpenAjax Hub is a set of standard JavaScript functionality defined by the OpenAjax Alliance that addresses key interoperability and security issues that arise when multiple Ajax libraries and/or components are used within the same web page. &lt;a href="http://www.openajax.org/member/wiki/OpenAjax_Hub_2.0_Specification"&gt;(OpenAjax Hub 2.0 Specification)&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;OpenAjax Metadata &lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;OpenAjax Metadata represents a set of industry-standard metadata defined by the OpenAjax Alliance that enhances interoperability across Ajax toolkits and Ajax products (&lt;a href="http://www.openajax.org/member/wiki/OpenAjax_Metadata_1.0_Specification"&gt;OpenAjax Metadata 1.0 Specification&lt;/a&gt;) &lt;/li&gt;    &lt;li&gt;OpenAjax Metadata &lt;font style="background-color: #ffff00"&gt;defines Ajax industry standards for an XML format&lt;/font&gt; that describes the JavaScript APIs and widgets found within Ajax toolkits.  (&lt;a href="http://www.openajax.org/index.php"&gt;OpenAjax Alliance Recent News&lt;/a&gt;) &lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/Windows-Live-Writer/5-Years-Later--What-Happened-to-the-Open_7B04/image7.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 10px 10px 0px 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" align="right" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/Windows-Live-Writer/5-Years-Later--What-Happened-to-the-Open_7B04/image7_thumb.png" width="446" height="338" /&gt;&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;It is interesting to see the calling out of XML as the format of choice on the OpenAjax Metadata (OAM) specification given the recent &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2011/04/27/the-stealthy-ascendancy-of-json.aspx"&gt;rise to ascendancy of JSON&lt;/a&gt; as the preferred format for developers for APIs. Granted, when the alliance was formed XML was all the rage and it was believed it would be the dominant format for quite some time given the popularity of similar technological models such as &lt;a title="Service Oriented Architecture definition " href="http://www.f5.com/glossary/soa.html" rel="" target="_blank"&gt;SOA&lt;/a&gt;, but still – the reliance on XML while the plurality of developers race to JSON may provide some insight on why OpenAjax has received very little notice since its inception. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/Windows-Live-Writer/5-Years-Later--What-Happened-to-the-Open_7B04/image_5.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px 10px 0px 0px; padding-left: 0px; padding-right: 0px; display: inline; float: left; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" align="left" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/Windows-Live-Writer/5-Years-Later--What-Happened-to-the-Open_7B04/image_thumb.png" width="413" height="401" /&gt;&lt;/a&gt;Ignoring the XML factor (which undoubtedly is a fairly impactful one) there is still the matter of how the alliance chose to address run-time interoperability with OpenAjax Hub (OAH) – a hub. A publish-subscribe hub, to be more precise, in which OAH mediates for various toolkits on the same page. &lt;a href="http://devcentral.f5.com/weblogs/dmacvittie/"&gt;Don&lt;/a&gt; summed it up nicely during a discussion on the topic: it’s page-level integration. This is a very different approach to the problem than it first appeared the alliance would take. &lt;/p&gt;  &lt;p&gt;The article on the alliance and its intended purpose five years ago clearly indicate where I thought this was going – and where it should go: an industry standard  model and/or set of APIs to which other toolkit developers would design and write such that the interface (the method calls) would be unified across all toolkits while the implementation would remain whatever the toolkit designers desired. &lt;/p&gt;  &lt;p&gt;I was clearly under the influence of SOA and its decouple everything premise. Come to think of it, &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2011/06/27/intercloud-are-you-moving-applications-or-architectures.aspx"&gt;I still am, because interoperability assumes such a model&lt;/a&gt; – always has, likely always will. Even in the network, at the IP layer, we have standardized interfaces with vendor implementation being decoupled and completely different at the code base. An Ethernet header is always in a specified format, and it is that standardized interface that makes the Net go over, under, around and through the various routers and switches and components that make up the Internets with alacrity. Routing problems today are caused by human error in configuration or failure – never incompatibility in form or function. &lt;/p&gt;  &lt;p&gt;Neither specification has really taken that direction. OAM – as previously noted – standardizes on XML and is primarily used to describe APIs and components - it isn’t an API or model itself. The Alliance wiki describes the specification: “The primary target consumers of OpenAjax Metadata 1.0 are software products, particularly Web page developer tools targeting Ajax developers.” Very few software products have implemented support for OAM. IBM, a key player in the Alliance, &lt;a href="http://publib.boulder.ibm.com/infocenter/wsmashin/v1r0/index.jsp?topic=/com.ibm.websphere.sMash.doc/core/openajax.hub/docs/en/ClientsideSecureMashup.html"&gt;leverages the OpenAjax Hub for secure mashup development&lt;/a&gt; and also implements OAM in several of its products, including Rational Application Developer (RAD) and IBM Mashup Center. &lt;a href="http://ajaxian.com/archives/openajax-metadata-and-adobe-widget-browser"&gt;Eclipse also includes support for OAM, as does Adobe Dreamweaver CS4.&lt;/a&gt; The IDE working group has developed an open source set of tools based on OAM, but what appears to be missing is adoption of OAM by producers of favored toolkits such as jQuery, Prototype and MooTools. Doing so would certainly make development of AJAX-based applications within development environments much simpler and more consistent, but it does not appear to gaining widespread support or mindshare despite IBM’s efforts. &lt;/p&gt;  &lt;p&gt;The focus of the OpenAjax interoperability efforts appears to be on a hub / integration method of interoperability, one that is certainly not in line with reality. While certainly developers may at times combine JavaScript libraries to build the rich, interactive interfaces demanded by consumers of a Web 2.0 application, this is the exception and not the rule and the pub/sub basis of OpenAjax which implements a secondary event-driven framework seems overkill. Conflicts between libraries, performance issues with load-times dragged down by the inclusion of multiple files and simplicity tend to drive developers to a single library when possible (which is most of the time). It appears, simply, that the OpenAJAX Alliance – driven perhaps by active members for whom solutions providing integration and hub-based interoperability is typical (IBM, BEA (now Oracle), Microsoft and other enterprise heavyweights – has chosen a target in another field; one on which developers today are just not playing. &lt;/p&gt;  &lt;p&gt;It appears OpenAjax tried to bring an enterprise application integration (EAI) solution to a problem that didn’t – and likely won’t ever – exist.  So it’s no surprise to discover that references to and activity from OpenAjax are nearly zero since 2009. Given the statistics showing the rise of JQuery – both as a percentage of site usage and developer usage – to the top of the JavaScript library heap, it appears that at least the prediction that “one toolkit will become the standard—whether through a standards body or by de facto adoption” was accurate.  &lt;/p&gt;  &lt;p&gt;Of course, since that’s always the way it works in technology, it was kind of a sure bet, wasn’t it? &lt;img style="border-bottom-style: none; border-right-style: none; border-top-style: none; border-left-style: none" class="wlEmoticon wlEmoticon-winkingsmile" alt="Winking smile" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/Windows-Live-Writer/5-Years-Later--What-Happened-to-the-Open_7B04/wlEmoticon-winkingsmile_2.png" /&gt; &lt;/p&gt;  &lt;h3&gt;&lt;font color="#c0504d"&gt;&lt;font style="font-weight: bold"&gt;WHY INFRASTRUCTURE SERVICE PROVIDERS and VENDORS CARE ABOUT DEVELOPER STANDARDS &lt;/font&gt;&lt;/font&gt;&lt;/h3&gt;  &lt;p&gt;You might notice in the list of members of the OpenAJAX alliance several infrastructure vendors. Folks who produce application delivery controllers, switches and routers and security-focused solutions. This is not uncommon nor should it seem odd to the casual observer. All data flows, ultimately, through the network and thus, every component that might need to act in some way upon that data needs to be aware of and knowledgeable regarding the methods used by developers to perform such data exchanges. In the age of hyper-scalability and über security, it behooves infrastructure vendors – and increasingly &lt;a title="" href="http://www.f5.com/solutions/cloud-computing" rel=""&gt;cloud computing &lt;/a&gt; providers that offer infrastructure services – to be very aware of the methods and toolkits being used by developers to build applications. Applying security policies to JSON-encoded data, for example, requires very different techniques and skills than would be the case for XML-formatted data. AJAX-based applications, a.k.a. Web 2.0, requires different scalability patterns to achieve maximum performance and utilization of resources than is the case for traditional form-based, HTML applications. The type of content as well as the usage patterns for applications can dramatically impact the application delivery policies necessary to achieve operational and business objectives for that application. &lt;/p&gt;  &lt;p&gt;As developers standardize through selection and implementation of toolkits, vendors and providers can then begin to focus solutions specifically for those choices. Templates and policies geared toward optimizing and accelerating JQuery, for example, is possible and probable. Being able to provide pre-developed and tested security profiles specifically for JQuery, for example, reduces the time to deploy such applications in a production environment by eliminating the test and tweak cycle that occurs when applications are tossed over the wall to operations by developers. For example, the &lt;a href="http://api.jquery.com/jQuery.ajax/"&gt;jQuery.ajax() documentation &lt;/a&gt; states: &lt;/p&gt;  &lt;blockquote style="border-left: black 5px solid; margin: 10px; padding-left: 10px; padding-right: 10px; background: white; border-right: black 5px solid"&gt;   &lt;p&gt;&lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_start_quote_rb.gif"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="quote-badge" border="0" alt="quote-badge" align="left" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_start_quote_rb.gif" width="24" height="13" /&gt;&lt;/a&gt; &lt;/p&gt;    &lt;p&gt;By default, Ajax requests are sent using the GET HTTP method. If the POST method is required, the method can be specified by setting a value for the &lt;code&gt;type&lt;/code&gt; option. This option affects how the contents of the &lt;code&gt;data&lt;/code&gt; option are sent to the server. POST data will always be transmitted to the server using UTF-8 charset, per the W3C XMLHTTPRequest standard.&lt;/p&gt;    &lt;p&gt;The &lt;code&gt;data&lt;/code&gt; option can contain either a query string of the form &lt;code&gt;key1=value1&amp;amp;key2=value2&lt;/code&gt;, or a map of the form &lt;code&gt;{key1: 'value1', key2: 'value2'}&lt;/code&gt;. If the latter form is used, the data is converted into a query string using &lt;code&gt;&lt;a href="http://api.jquery.com/jQuery.param/"&gt;jQuery.param()&lt;/a&gt;&lt;/code&gt; before it is sent. This processing can be circumvented by setting &lt;code&gt;processData&lt;/code&gt; to &lt;code&gt;false&lt;/code&gt;. The processing might be undesirable if you wish to send an XML object to the server; in this case, change the &lt;code&gt;contentType&lt;/code&gt; option from &lt;code&gt;application/x-www-form-urlencoded&lt;/code&gt; to a more appropriate MIME type.  &lt;img src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_end_quote_rb.gif" /&gt;      &lt;br /&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Web application firewalls that may be configured to detect exploitation of such data – attempts at SQL injection, for example – must be able to parse this data in order to make a determination regarding the legitimacy of the input. Similarly, application delivery controllers and &lt;a title="" href="http://www.f5.com/glossary/load-balancing.html" rel=""&gt;load balancing&lt;/a&gt; services configured to perform application layer switching based on data values or submission URI will also need to be able to parse and act upon that data. That requires an understanding of how jQuery formats its data and what to expect, such that it can be parsed, interpreted and processed.  &lt;/p&gt;  &lt;p&gt;By understanding jQuery – and other developer toolkits and standards used to exchange data – infrastructure service providers and vendors can more readily provide security and delivery policies tailored to those formats natively, which greatly reduces the impact of intermediate processing on performance while ensuring the secure, healthy delivery of applications.     &lt;/p&gt;&lt;hr color="#808080" width="100%" noshade="noshade" /&gt;    &lt;center&gt;   &lt;table border="0" cellspacing="0" cellpadding="2" width="263"&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td valign="top" width="129"&gt;Connect with Lori: &lt;/td&gt;          &lt;td valign="top" width="132"&gt;Connect with &lt;a title="F5 Networks" href="http://www.f5.com/" rel="" target="_blank"&gt;F5&lt;/a&gt;: &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="129"&gt;&lt;a href="http://www.linkedin.com/in/lmacvittie"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="o_linkedin[1]" border="0" alt="o_linkedin[1]" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/1086440/o_linkedin.png" width="24" height="24" /&gt;&lt;/a&gt; &lt;a href="http://devcentral.f5.com/weblogs/macvittie/Rss.aspx"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="o_rss[1]" border="0" alt="o_rss[1]" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/1086440/o_rss.png" width="24" height="24" /&gt;&lt;/a&gt; &lt;a href="http://www.facebook.com/lmacvittie"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="o_facebook[1]" border="0" alt="o_facebook[1]" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/1086440/o_facebook.png" width="24" height="24" /&gt;&lt;/a&gt; &lt;a href="http://twitter.com/lmacvittie"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="o_twitter[1]" border="0" alt="o_twitter[1]" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/1086440/o_twitter.png" width="24" height="24" /&gt;&lt;/a&gt; &lt;/td&gt;          &lt;td valign="top" width="132"&gt; &lt;a href="http://www.facebook.com/f5networksinc"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="o_facebook[1]" border="0" alt="o_facebook[1]" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/1086440/o_facebook.png" width="24" height="24" /&gt;&lt;/a&gt; &lt;a href="http://twitter.com/f5networks"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="o_twitter[1]" border="0" alt="o_twitter[1]" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/1086440/o_twitter.png" width="24" height="24" /&gt;&lt;/a&gt; &lt;a href="http://www.slideshare.net/f5dotcom/"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="o_slideshare[1]" border="0" alt="o_slideshare[1]" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/1086440/o_slideshare.png" width="24" height="24" /&gt;&lt;/a&gt; &lt;a href="http://www.youtube.com/f5networksinc"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="o_youtube[1]" border="0" alt="o_youtube[1]" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/1086440/o_youtube.png" width="24" height="24" /&gt;&lt;/a&gt;&lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/center&gt;  &lt;p align="center"&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 border="0" alt="AddThis Feed Button" src="http://s9.addthis.com/button1-fd.gif" width="125" height="18" /&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 border="0" alt="Bookmark and Share" src="http://s9.addthis.com/button1-share.gif" width="125" height="18" /&gt;&lt;/a&gt; &lt;script type="text/javascript" src="http://track.mybloglog.com/js/jsserv.php?mblID=2008070914270355"&gt;&lt;/script&gt;&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;Related blogs &amp;amp; articles: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/Windows-Live-Writer/5-Years-Later--What-Happened-to-the-Open_7B04/Document-icon_14.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="Document-icon" border="0" alt="Document-icon" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/Windows-Live-Writer/5-Years-Later--What-Happened-to-the-Open_7B04/Document-icon_thumb_4.png" width="16" height="16" /&gt;&lt;/a&gt; &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2011/04/25/api-jabberwocky-service-oriented-operations-standards.aspx"&gt;API Jabberwocky: You Say Tomay-to and I Say Potah-to&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/Windows-Live-Writer/5-Years-Later--What-Happened-to-the-Open_7B04/Document-icon_26.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="Document-icon" border="0" alt="Document-icon" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/Windows-Live-Writer/5-Years-Later--What-Happened-to-the-Open_7B04/Document-icon_thumb_8.png" width="16" height="16" /&gt;&lt;/a&gt; &lt;a href="http://ajaxian.com/archives/openajax-metadata-and-adobe-widget-browser"&gt;OpenAjax Metadata 1.0 and the Adobe Dreamweaver Widget Browser&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/Windows-Live-Writer/5-Years-Later--What-Happened-to-the-Open_7B04/Document-icon_29.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="Document-icon" border="0" alt="Document-icon" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/Windows-Live-Writer/5-Years-Later--What-Happened-to-the-Open_7B04/Document-icon_thumb_9.png" width="16" height="16" /&gt;&lt;/a&gt; &lt;a href="http://www.openajax.org/index.php"&gt;OpenAjax Alliance&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/Windows-Live-Writer/5-Years-Later--What-Happened-to-the-Open_7B04/Document-icon_32.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="Document-icon" border="0" alt="Document-icon" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/Windows-Live-Writer/5-Years-Later--What-Happened-to-the-Open_7B04/Document-icon_thumb_10.png" width="16" height="16" /&gt;&lt;/a&gt; &lt;a href="http://www.networkcomputing.com/data-networking-management/229611108"&gt;AJAX-based Dojo Toolkit&lt;/a&gt;  &lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/Windows-Live-Writer/5-Years-Later--What-Happened-to-the-Open_7B04/Document-icon_17.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="Document-icon" border="0" alt="Document-icon" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/Windows-Live-Writer/5-Years-Later--What-Happened-to-the-Open_7B04/Document-icon_thumb_5.png" width="16" height="16" /&gt;&lt;/a&gt; &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2011/04/27/the-stealthy-ascendancy-of-json.aspx"&gt;The Stealthy Ascendancy of JSON&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/Windows-Live-Writer/5-Years-Later--What-Happened-to-the-Open_7B04/Document-icon_2.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="Document-icon" border="0" alt="Document-icon" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/Windows-Live-Writer/5-Years-Later--What-Happened-to-the-Open_7B04/Document-icon_thumb.png" width="16" height="16" /&gt;&lt;/a&gt; &lt;a href="http://blog.programmableweb.com/2010/12/03/json-continues-its-winning-streak-over-xml/"&gt;JSON Continues its Winning Streak Over XML&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/Windows-Live-Writer/5-Years-Later--What-Happened-to-the-Open_7B04/Document-icon_5.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="Document-icon" border="0" alt="Document-icon" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/Windows-Live-Writer/5-Years-Later--What-Happened-to-the-Open_7B04/Document-icon_thumb_1.png" width="16" height="16" /&gt;&lt;/a&gt; &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/12/10/json-versus-xml-your-choice-matters-more-than-you-think.aspx"&gt;JSON versus XML: Your Choice Matters More Than You Think&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/Windows-Live-Writer/5-Years-Later--What-Happened-to-the-Open_7B04/Document-icon_8.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="Document-icon" border="0" alt="Document-icon" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/Windows-Live-Writer/5-Years-Later--What-Happened-to-the-Open_7B04/Document-icon_thumb_2.png" width="16" height="16" /&gt;&lt;/a&gt; &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/01/15/i-am-in-your-http-headers-attacking-your-application.aspx"&gt;I am in your HTTP headers, attacking your application&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/Windows-Live-Writer/5-Years-Later--What-Happened-to-the-Open_7B04/Document-icon_11.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="Document-icon" border="0" alt="Document-icon" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/Windows-Live-Writer/5-Years-Later--What-Happened-to-the-Open_7B04/Document-icon_thumb_3.png" width="16" height="16" /&gt;&lt;/a&gt; &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/04/01/the-web-2.0-api-from-collaborating-to-compromised.aspx"&gt;The Web 2.0 API: From collaborating to compromised&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/Windows-Live-Writer/5-Years-Later--What-Happened-to-the-Open_7B04/Document-icon_20.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="Document-icon" border="0" alt="Document-icon" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/Windows-Live-Writer/5-Years-Later--What-Happened-to-the-Open_7B04/Document-icon_thumb_6.png" width="16" height="16" /&gt;&lt;/a&gt; &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2011/06/13/it-as-a-service-a-stateless-infrastructure-architecture-model.aspx"&gt;IT as a Service: A Stateless Infrastructure Architecture Model&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/Windows-Live-Writer/5-Years-Later--What-Happened-to-the-Open_7B04/Document-icon_23.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="Document-icon" border="0" alt="Document-icon" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/Windows-Live-Writer/5-Years-Later--What-Happened-to-the-Open_7B04/Document-icon_thumb_7.png" width="16" height="16" /&gt;&lt;/a&gt; &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2011/06/15/json-activity-streams-and-the-other-consumerization-of-it.aspx"&gt;JSON Activity Streams and the Other Consumerization of IT&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:9e62b408-c3b9-493e-9ae7-29feb513622d" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/F5" rel="tag"&gt;F5&lt;/a&gt;,&lt;a href="http://technorati.com/tags/MacVittie" rel="tag"&gt;MacVittie&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Ajax" rel="tag"&gt;Ajax&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Dojo" rel="tag"&gt;Dojo&lt;/a&gt;,&lt;a href="http://technorati.com/tags/OpenAjax+Alliance" rel="tag"&gt;OpenAjax Alliance&lt;/a&gt;,&lt;a href="http://technorati.com/tags/IBM" rel="tag"&gt;IBM&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Microsoft" rel="tag"&gt;Microsoft&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Adobe" rel="tag"&gt;Adobe&lt;/a&gt;,&lt;a href="http://technorati.com/tags/development" rel="tag"&gt;development&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Web+2.0" rel="tag"&gt;Web 2.0&lt;/a&gt;,&lt;a href="http://technorati.com/tags/SOA" rel="tag"&gt;SOA&lt;/a&gt;,&lt;a href="http://technorati.com/tags/integration" rel="tag"&gt;integration&lt;/a&gt;,&lt;a href="http://technorati.com/tags/interoperability" rel="tag"&gt;interoperability&lt;/a&gt;,&lt;a href="http://technorati.com/tags/infrastructure" rel="tag"&gt;infrastructure&lt;/a&gt;&lt;/div&gt;&lt;img src="http://devcentral.f5.com/weblogs/macvittie/aggbug/1094509.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Lori MacVittie</dc:creator>
            <guid>http://devcentral.f5.com/weblogs/macvittie/archive/2011/06/29/5-years-later-openajax-who.aspx</guid>
            <pubDate>Wed, 29 Jun 2011 10:43:56 GMT</pubDate>
            <wfw:comment>http://devcentral.f5.com/weblogs/macvittie/comments/1094509.aspx</wfw:comment>
            <comments>http://devcentral.f5.com/weblogs/macvittie/archive/2011/06/29/5-years-later-openajax-who.aspx#feedback</comments>
            <wfw:commentRss>http://devcentral.f5.com/weblogs/macvittie/comments/commentRss/1094509.aspx</wfw:commentRss>
            <trackback:ping>http://devcentral.f5.com/weblogs/macvittie/services/trackbacks/1094509.aspx</trackback:ping>
        </item>
        <item>
            <title>IT as a Service: A Stateless Infrastructure Architecture Model</title>
            <link>http://devcentral.f5.com/weblogs/macvittie/archive/2011/06/13/it-as-a-service-a-stateless-infrastructure-architecture-model.aspx</link>
            <description>&lt;p&gt;&lt;em&gt;The dynamic data center of the future, enabled by IT as a Service, is stateless. &lt;/em&gt;&lt;/p&gt;  &lt;p&gt;One of the core concepts associated with &lt;a title="Service Oriented Architecture definition " href="http://www.f5.com/glossary/soa.html" rel="" target="_blank"&gt;SOA&lt;/a&gt; – and one that failed to really take hold, unfortunately – was the ability to bind, i.e. invoke, a service &lt;em&gt;at run-time&lt;/em&gt;. WSDL was designed to loosely couple services to clients, whether they were systems, applications or users, in a way that was dynamic. The information contained in the WSDL provided everything necessary to interface with a service on-demand without requiring hard-coded integration techniques used in the past. The theory was you’d find an appropriate service, hopefully in a registry (UDDI-based), grab the WSDL, set up the call, and  then invoke the service. In this way, the service could “migrate” because its location and invocation specific meta-data was in the WSDL, not hard-coded in the client, and the client could “reconfigure”, as it were, on the fly. &lt;/p&gt;  &lt;p&gt;There are myriad reasons why this failed to really take hold (notably that IT culture inhibited the enforcement of a strong and consistent governance strategy) but the idea was and remains sound. The goal of a “stateless” architecture, as it were, remains a key characteristic of what is increasingly being called IT as a Service – or “private” &lt;a title="" href="http://www.f5.com/solutions/cloud-computing" rel=""&gt;cloud computing &lt;/a&gt;. &lt;/p&gt;  &lt;h3&gt;&lt;font color="#c0504d"&gt;&lt;font style="font-weight: bold"&gt;&lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/Windows-Live-Writer/Cloud-Will-Kill-the-Need-for-Configurati_95C2/image_4.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px 10px 2px 0px; padding-left: 0px; padding-right: 0px; display: inline; float: left; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" align="left" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/Windows-Live-Writer/Cloud-Will-Kill-the-Need-for-Configurati_95C2/image_thumb_1.png" width="397" height="336" /&gt;&lt;/a&gt;TODAY: STATEFUL INFRASTRUCTURE ARCHITECTURE &lt;/font&gt;&lt;/font&gt;&lt;/h3&gt;  &lt;p&gt;The reason the concept of a “stateless” infrastructure architecture is so vital to a successful IT as a Service initiative is the volatility inherent in both the application and network infrastructure needed to support such an agile ecosystem. IP addresses, often used to bypass the latency induced by resolution of host names at run-time from DNS calls, tightly couple systems together – including network services. Routing and layer 3 switching use IP addresses to create a virtual topology of the architecture and ensure the flow of data from one component to the next, based on policy or pre-determine routes as meets the needs of the IT organization. It is those &lt;strong&gt;policies&lt;/strong&gt; that in many cases can be eliminated; replaced with a more service-oriented approach that provisions resources on-demand, in real-time. This eliminates the “state” of an application architecture by removing delivery dependencies on myriad policies hard-coded throughout the network. &lt;/p&gt;  &lt;p&gt;Policies are inexorably tied to configurations, which are the infrastructure equivalent of state in the infrastructure architecture. &lt;/p&gt;  &lt;p&gt;Because of the reliance on IP addresses imposed by the very nature of network and Internet architectural design, we’ll likely never reach full independence from IP addresses. But we can move closer to a “stateless” run-time infrastructure architecture inside the data center by considering those policies that can be eliminated and instead invoked at run-time. Not only would such an architecture remove the tight coupling between policies and infrastructure, but also between applications and the infrastructure tasked with delivering them. In this way, applications could more easily be migrated across environments, because they are not tightly bound to the networking and security policies deployed on infrastructure components across the data center. &lt;/p&gt;  &lt;p&gt;The pre-positioning of policies across the infrastructure requires codifying topological and architectural meta-data in a configuration. That configuration requires management; it requires resources on the infrastructure – storage and memory – while the device is active. It is an extra step in the operational process of deploying, migrating and generally managing an application. It is “state” and it can be reduced – though not eliminated – in such a way as to make the run-time environment, at least, stateless and thus more motile. &lt;/p&gt;  &lt;h3&gt;&lt;font color="#c0504d"&gt;&lt;font style="font-weight: bold"&gt;&lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/Windows-Live-Writer/Cloud-Will-Kill-the-Need-for-Configurati_95C2/image_6.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px 10px 2px 0px; padding-left: 0px; padding-right: 0px; display: inline; float: left; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" align="left" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/Windows-Live-Writer/Cloud-Will-Kill-the-Need-for-Configurati_95C2/image_thumb_2.png" width="407" height="346" /&gt;&lt;/a&gt;TOMORROW: STATELESS INFRASTRUCTURE ARCHITECTURE &lt;/font&gt;&lt;/font&gt;&lt;/h3&gt;  &lt;p&gt;What’s needed to move from a state-dependent infrastructure architecture to one that is more stateless is to start viewing infrastructure &lt;strong&gt;functions&lt;/strong&gt; as &lt;strong&gt;services&lt;/strong&gt;. Services can be invoked, they are loosely coupled, they are independent of solution and product. Much in the same way that stateless application architectures address the problems associated with persistence and impede real-time migration of applications across disparate environments, so too does stateless infrastructure architectures address the same issues inherent in policy-based networking – policy persistence. &lt;/p&gt;  &lt;p&gt;While standardized APIs and common meta-data models can alleviate much of the pain associated with migration of architectures between environments, they still assume the existence of specific types of components (unless, of course, a truly service-oriented model in which services, not product functions, are encapsulated). Such a model extends the coupling between components and in fact can “break” if said service does not exist. Conversely, a stateless architecture assumes nothing; it does not assume the existence of any specific component but merely indicates the need for a particular service as part of the application session flow that can be fulfilled by any appropriate infrastructure providing such a service. This allows the provider more flexibility as they can implement the service without exposing the underlying implementation – exactly as a service-oriented architecture intended. It further allows providers – and customers – to move fluidly between implementations without concern as only the &lt;em&gt;service &lt;/em&gt;need exist. The difficulty is determining what services can be de-coupled from infrastructure components and invoked on-demand, at run-time. This is not just an application concern, it becomes an infrastructure component concern, as well, as each component in the flow might invoke an upstream – or downstream – service depending on the &lt;strong&gt;context&lt;/strong&gt; of the request or response being processed. &lt;/p&gt;  &lt;p&gt;Assuming that such services exist and can be invoked dynamically through a component and implementation-agnostic mechanism, it is then possible to eliminate many of the pre-positioned, hard-coded policies across the infrastructure and instead invoke them dynamically. Doing so reduces the configuration management required to maintain such policies, as well as eliminating complexity in the provisioning process which must, necessarily, include policy configuration across the infrastructure in a well-established and integrated enterprise-class architecture. &lt;/p&gt;  &lt;p&gt;Assuming as well that providers have implemented support for similar services, one can begin to see the migratory issues are more easily redressed and the complications caused by needed to pre-provision services and address policy persistence during migration mostly eliminated. &lt;/p&gt;  &lt;h3&gt;&lt;font color="#c0504d"&gt;&lt;font style="font-weight: bold"&gt;SERVICE-ORIENTED THINKING &lt;/font&gt;&lt;/font&gt;&lt;/h3&gt;          &lt;p&gt;One way of accomplishing such a major transformation in the data center – from policy to service-oriented architecture – is to shift our thinking from functions to services. It is not necessarily efficient to simply transplant a software service-oriented approach to infrastructure because the demands on performance and aversion to latency makes a dynamic, run-time binding to services unappealing. It also requires a radical change in infrastructure architecture by adding the components and services necessary to support such a model – registries and the ability of infrastructure components to take advantage of them. An in-line, transparent invocation method for infrastructure services offers the same flexibility and motility for applications and infrastructure without imposing performance or additional dependency constraints on implementers. &lt;/p&gt;  &lt;p&gt;But to achieve a stateless infrastructure architectural model, one must first shift their thinking from functions to services and begin to visualize a data center in which application requests and responses communicate the need for particular downstream and upstream services with them, rather than completely in hard-coded policies stored in component configurations. It is unlikely that in the near-term we can completely eliminate the need for hard-coded configuration, we’re just no where near that level of dynamism and may never be. But for many services – particularly those associated with run-time delivery of applications, we can achieve the stateless architecture necessary to realize a more mobile and dynamic data center. &lt;/p&gt;  &lt;hr color="#808080" width="100%" noshade="noshade" /&gt;    &lt;center&gt;   &lt;table border="0" cellspacing="0" cellpadding="2" width="263"&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td valign="top" width="129"&gt;Connect with Lori: &lt;/td&gt;          &lt;td valign="top" width="132"&gt;Connect with &lt;a title="F5 Networks" href="http://www.f5.com/" rel="" target="_blank"&gt;F5&lt;/a&gt;: &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="129"&gt;&lt;a href="http://www.linkedin.com/in/lmacvittie"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="o_linkedin[1]" border="0" alt="o_linkedin[1]" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/1086440/o_linkedin.png" width="24" height="24" /&gt;&lt;/a&gt; &lt;a href="http://devcentral.f5.com/weblogs/macvittie/Rss.aspx"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="o_rss[1]" border="0" alt="o_rss[1]" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/1086440/o_rss.png" width="24" height="24" /&gt;&lt;/a&gt; &lt;a href="http://www.facebook.com/lmacvittie"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="o_facebook[1]" border="0" alt="o_facebook[1]" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/1086440/o_facebook.png" width="24" height="24" /&gt;&lt;/a&gt; &lt;a href="http://twitter.com/lmacvittie"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="o_twitter[1]" border="0" alt="o_twitter[1]" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/1086440/o_twitter.png" width="24" height="24" /&gt;&lt;/a&gt; &lt;/td&gt;          &lt;td valign="top" width="132"&gt; &lt;a href="http://www.facebook.com/f5networksinc"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="o_facebook[1]" border="0" alt="o_facebook[1]" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/1086440/o_facebook.png" width="24" height="24" /&gt;&lt;/a&gt; &lt;a href="http://twitter.com/f5networks"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="o_twitter[1]" border="0" alt="o_twitter[1]" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/1086440/o_twitter.png" width="24" height="24" /&gt;&lt;/a&gt; &lt;a href="http://www.slideshare.net/f5dotcom/"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="o_slideshare[1]" border="0" alt="o_slideshare[1]" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/1086440/o_slideshare.png" width="24" height="24" /&gt;&lt;/a&gt; &lt;a href="http://www.youtube.com/f5networksinc"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="o_youtube[1]" border="0" alt="o_youtube[1]" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/1086440/o_youtube.png" width="24" height="24" /&gt;&lt;/a&gt;&lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/center&gt;  &lt;p align="center"&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 border="0" alt="AddThis Feed Button" src="http://s9.addthis.com/button1-fd.gif" width="125" height="18" /&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 border="0" alt="Bookmark and Share" src="http://s9.addthis.com/button1-share.gif" width="125" height="18" /&gt;&lt;/a&gt; &lt;script type="text/javascript" src="http://track.mybloglog.com/js/jsserv.php?mblID=2008070914270355"&gt;&lt;/script&gt;&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;Related blogs &amp;amp; articles: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2011/04/06/now-witness-the-power-of-this-fully-operational-feedback-loop.aspx"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="Document-icon" border="0" alt="Document-icon" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/Windows-Live-Writer/Cloud-Will-Kill-the-Need-for-Configurati_95C2/Document-icon_70567905-b4a2-48cd-b5f1-3edebf4f5cf0.png" width="16" height="16" /&gt; Now Witness the Power of this Fully Operational Feedback Loop&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2011/04/06/now-witness-the-power-of-this-fully-operational-feedback-loop.aspx"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="Document-icon" border="0" alt="Document-icon" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/Windows-Live-Writer/Cloud-Will-Kill-the-Need-for-Configurati_95C2/Document-icon_688ec830-8436-4358-97b1-249c01531104.png" width="16" height="16" /&gt;&lt;/a&gt; &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2011/03/09/cloud-is-the-how-not-the-what.aspx"&gt;Cloud is the How not the What&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2011/04/06/now-witness-the-power-of-this-fully-operational-feedback-loop.aspx"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="Document-icon" border="0" alt="Document-icon" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/Windows-Live-Writer/Cloud-Will-Kill-the-Need-for-Configurati_95C2/Document-icon_b158eecd-767c-4b9f-af21-588ad85afd29.png" width="16" height="16" /&gt;&lt;/a&gt; &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2011/02/16/challenging-the-firewall-data-center-dogma.aspx"&gt;Challenging the Firewall Data Center Dogma&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2011/04/06/now-witness-the-power-of-this-fully-operational-feedback-loop.aspx"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="Document-icon" border="0" alt="Document-icon" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/Windows-Live-Writer/Cloud-Will-Kill-the-Need-for-Configurati_95C2/Document-icon_00a56ff0-b9c5-48e4-adb1-f338cba04c3f.png" width="16" height="16" /&gt;&lt;/a&gt; &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2011/02/09/cloud-tiered-architectural-models-are-bad-except-when-they-arenrsquot.aspx"&gt;Cloud-Tiered Architectural Models are Bad Except When They Aren’t&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2011/04/06/now-witness-the-power-of-this-fully-operational-feedback-loop.aspx"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="Document-icon" border="0" alt="Document-icon" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/Windows-Live-Writer/Cloud-Will-Kill-the-Need-for-Configurati_95C2/Document-icon_88a1e50f-8ab3-4377-90a0-c33728cc82d9.png" width="16" height="16" /&gt;&lt;/a&gt; &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2011/02/02/cloud-chemistry-101.aspx"&gt;Cloud Chemistry 101&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2011/04/06/now-witness-the-power-of-this-fully-operational-feedback-loop.aspx"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="Document-icon" border="0" alt="Document-icon" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/Windows-Live-Writer/Cloud-Will-Kill-the-Need-for-Configurati_95C2/Document-icon_0fff0b89-a267-4c86-9d01-0ee95cefe61e.png" width="16" height="16" /&gt;&lt;/a&gt; &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2010/09/08/you-canrsquot-have-it-as-a-service-until-it-has.aspx"&gt;You Can’t Have IT as a Service Until IT Has Infrastructure as a Service&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2011/04/06/now-witness-the-power-of-this-fully-operational-feedback-loop.aspx"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="Document-icon" border="0" alt="Document-icon" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/Windows-Live-Writer/Cloud-Will-Kill-the-Need-for-Configurati_95C2/Document-icon_1a18a8bd-e7e4-4caf-96d0-6b4986886918.png" width="16" height="16" /&gt;&lt;/a&gt; &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2010/07/21/paas-is-just-soa-for-platforms-without-the-baggage.aspx"&gt;Let’s Face It: PaaS is Just SOA for Platforms Without the Baggage&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2011/04/06/now-witness-the-power-of-this-fully-operational-feedback-loop.aspx"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="Document-icon" border="0" alt="Document-icon" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/Windows-Live-Writer/Cloud-Will-Kill-the-Need-for-Configurati_95C2/Document-icon_31f15547-27f1-44e1-b83a-7efe0b1192d7.png" width="16" height="16" /&gt;&lt;/a&gt; &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2010/07/08/new-three-tiered-architecture-changes-everything.aspx"&gt;The New Distribution of The 3-Tiered Architecture Changes Everything&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;                  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:eca5dc27-2b98-4cd2-8e90-07b30ef3c77e" class="wlWriterEditableSmartContent"&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/IT+as+a+Service" rel="tag"&gt;IT as a Service&lt;/a&gt;,&lt;a href="http://technorati.com/tags/cloud+computing" rel="tag"&gt;cloud computing&lt;/a&gt;,&lt;a href="http://technorati.com/tags/SOA" rel="tag"&gt;SOA&lt;/a&gt;,&lt;a href="http://technorati.com/tags/service-oriented" rel="tag"&gt;service-oriented&lt;/a&gt;,&lt;a href="http://technorati.com/tags/infrastructure" rel="tag"&gt;infrastructure&lt;/a&gt;,&lt;a href="http://technorati.com/tags/architecture" rel="tag"&gt;architecture&lt;/a&gt;,&lt;a href="http://technorati.com/tags/stateless" rel="tag"&gt;stateless&lt;/a&gt;&lt;/div&gt;&lt;img src="http://devcentral.f5.com/weblogs/macvittie/aggbug/1094473.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Lori MacVittie</dc:creator>
            <guid>http://devcentral.f5.com/weblogs/macvittie/archive/2011/06/13/it-as-a-service-a-stateless-infrastructure-architecture-model.aspx</guid>
            <pubDate>Mon, 13 Jun 2011 10:02:25 GMT</pubDate>
            <wfw:comment>http://devcentral.f5.com/weblogs/macvittie/comments/1094473.aspx</wfw:comment>
            <comments>http://devcentral.f5.com/weblogs/macvittie/archive/2011/06/13/it-as-a-service-a-stateless-infrastructure-architecture-model.aspx#feedback</comments>
            <wfw:commentRss>http://devcentral.f5.com/weblogs/macvittie/comments/commentRss/1094473.aspx</wfw:commentRss>
            <trackback:ping>http://devcentral.f5.com/weblogs/macvittie/services/trackbacks/1094473.aspx</trackback:ping>
        </item>
        <item>
            <title>Infrastructure 2.0 + Cloud + IT as a Service = An Architectural Parfait</title>
            <link>http://devcentral.f5.com/weblogs/macvittie/archive/2010/09/15/infrastructure-2-enables-cloud-enables-it-as-a-service.aspx</link>
            <description>&lt;p&gt;&lt;em&gt;Infrastructure 2.0 ≠ &lt;a title="" href="http://www.f5.com/solutions/cloud-computing" rel=""&gt;cloud computing &lt;/a&gt; ≠ IT as a Service. There is a difference between Infrastructure 2.0 and cloud. There is also a difference between cloud and IT as a Service. But they do go together, like a parfait. And everybody likes a parfait…&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;script type="text/javascript"&gt;&lt;![CDATA[
tweetmeme_source = 'f5networks';
tweetmeme_style = 'compact';
tweetmeme_service = 'bit.ly';
service_api = 'R_782503f4d9754dae4543383cee6ad988';
]]&gt;&lt;/script&gt;&lt;script type="text/javascript" src="http://tweetmeme.com/i/scripts/button.js"&gt;&lt;/script&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/TheSubtleDifferenceBetweenComponentandCl_25C8/image_14.png"&gt;&lt;img style="border-right-width: 0px; margin: 0px 0px 0px 10px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" align="right" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/TheSubtleDifferenceBetweenComponentandCl_25C8/image_thumb_6.png" width="240" height="214" /&gt;&lt;/a&gt; The introduction of the newest member of the cloud computing buzzword family is “IT as a Service.” It is &lt;a href="http://www.ebizq.net/blogs/ebizq_forum/2010/09/will-it-as-a-service-be-the-next-phase-for-the-cloud.php" target="_blank"&gt;understandably causing some confusion&lt;/a&gt; because, after all, isn’t that just another way to describe “private cloud”?  No, actually it isn’t. There’s a lot more to it than that, and it’s very applicable to both private and public models. Furthermore, equating “cloud computing” to “IT as a Service” does both a big a disservice as making synonyms of “Infrastructure 2.0” and “cloud computing.” These three [ concepts | models | technologies ] are highly intertwined and in some cases even interdependent, but they are not the same. &lt;/p&gt;  &lt;p&gt;In the simplest explanation possible: infrastructure 2.0 enables cloud computing which enables IT as a service. &lt;/p&gt;  &lt;p&gt;Now that we’ve got &lt;em&gt;that &lt;/em&gt;out of the way, let’s dig in. &lt;/p&gt;  &lt;h3&gt;&lt;font color="#800000"&gt;ENABLE DOES NOT MEAN EQUAL TO &lt;/font&gt;&lt;/h3&gt;  &lt;p&gt;One of the core issues seems to be the rush to equate “enable” with “equal”. There is a relationship between these three technological concepts but they are in no wise equivalent nor should be they be treated as such. Like &lt;a title="Service Oriented Architecture definition " href="http://www.f5.com/glossary/soa.html" rel="" target="_blank"&gt;SOA&lt;/a&gt;, the differences between them revolve primarily around the level of abstraction and the layers at which they operate. Not the layers of the OSI model or the technology stack, but the layers of a data center &lt;em&gt;architecture. &lt;/em&gt;&lt;/p&gt;  &lt;p&gt;Let’s start at the bottom, shall we? &lt;/p&gt;  &lt;h4&gt;&lt;font color="#800000"&gt;INFRASTRUCTURE 2.0 &lt;/font&gt;&lt;/h4&gt;  &lt;p&gt;At the very lowest layer of the architecture is &lt;a href="http://www.infra20.com" target="_blank"&gt;Infrastructure 2.0&lt;/a&gt;. Infrastructure 2.0 is focused on enabling dynamism and collaboration across the network and application delivery network infrastructure. It is the way in which traditionally disconnected (from a communication and management point of view) data center foundational components are imbued with the ability to connect and collaborate. This is primarily accomplished via &lt;a href="http://devcentral.f5.com/iControl" target="_blank"&gt;open, standards-based APIs&lt;/a&gt; that provide a granular set of operational functions that can be invoked from a variety of programmatic methods such as orchestration systems, custom applications, and via integration with traditional data center management solutions. Infrastructure 2.0 is about making the network &lt;em&gt;smarter &lt;/em&gt;both from a management and a run-time (execution) point of view, but in the case of its relationship to cloud and &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2010/09/08/you-canrsquot-have-it-as-a-service-until-it-has.aspx" target="_blank"&gt;IT as a Service&lt;/a&gt; the view is primarily focused on &lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/TheSubtleDifferenceBetweenComponentandCl_25C8/image_10.png"&gt;&lt;img style="border-right-width: 0px; margin: 10px 10px 10px 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" align="left" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/TheSubtleDifferenceBetweenComponentandCl_25C8/image_thumb_4.png" width="549" height="352" /&gt;&lt;/a&gt;management. &lt;/p&gt;  &lt;p&gt;Infrastructure 2.0 includes the service-enablement of everything from routers to switches, from load balancers to &lt;a href="http://www.f5.com/solutions/acceleration" target="_blank"&gt;application acceleration&lt;/a&gt;, from firewalls to web &lt;a href="http://www.f5.com/solutions/security/" target="_blank"&gt;application security&lt;/a&gt; components to server (physical and virtual) infrastructure. It is, distilled to its core essence, API-enabled components. &lt;/p&gt;  &lt;h4&gt;&lt;font color="#800000"&gt;CLOUD COMPUTING &lt;/font&gt;&lt;/h4&gt;  &lt;p&gt;Cloud computing is the closest to SOA in that it is about enabling operational services in much the same way as SOA was about enabling business services. Cloud computing takes the infrastructure layer services and orchestrates them together to codify an operational process that provides a more efficient means by which compute, network, storage, and security resources can be provisioned and managed. This, like Infrastructure 2.0, is an enabling technology. Alone, these operational services are generally discrete and are packaged up specifically as the means to an end – on-demand provisioning of IT services. &lt;/p&gt;  &lt;p&gt;Cloud computing is the service-enablement of operational services and also carries along the notion of an API. In the case of cloud computing, this API serves as a framework through which specific operations can be accomplished in a push-button like manner. &lt;/p&gt;  &lt;h4&gt;&lt;font color="#800000"&gt;IT as a SERVICE &lt;/font&gt;&lt;/h4&gt;  &lt;p&gt;At the top of our technology pyramid, as it is likely obvious at this point we are building up to the “pinnacle” of IT by laying more aggressively focused layers atop one another, we have IT as a Service. IT as a Service, unlike cloud computing, is designed not only to be consumed by other IT-minded folks, but also by (allegedly) business folks. IT as a Service broadens the provisioning and management of resources and begins to include not only operational services but those services that are more, well, businessy, such as identity management and &lt;em&gt;access &lt;/em&gt;to resources. &lt;/p&gt;  &lt;p&gt;IT as a Service builds on the services provided by cloud computing, which is often called a “cloud framework” or a “cloud API” and provides the means by which resources can be provisioned and managed. Now that &lt;em&gt;sounds &lt;/em&gt;an awful lot like “cloud computing” but the abstraction is a bit higher than what we expect with cloud. Even in a cloud computing API we are steal interacting more directly with operational and compute-type resources. We’re provisioning, primarily, infrastructure services but we are doing so at a much higher layer and in a way that makes it easy for both business and application developers and analysts to do so. &lt;/p&gt;  &lt;p&gt;An example is probably in order at this point. &lt;/p&gt;  &lt;h3&gt;&lt;font color="#800000"&gt;THE THREE LAYERS in the ARCHITECTURAL PARFAIT &lt;/font&gt;&lt;/h3&gt;  &lt;p&gt;&lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/TheSubtleDifferenceBetweenComponentandCl_25C8/image_12.png"&gt;&lt;img style="border-right-width: 0px; margin: 10px 15px 10px 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" align="left" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/TheSubtleDifferenceBetweenComponentandCl_25C8/image_thumb_5.png" width="479" height="371" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p /&gt;  &lt;p /&gt;  &lt;p /&gt;  &lt;p /&gt;  &lt;p&gt;Let us imagine a simple “application” which itself requires only one server and which must be available at all times. &lt;/p&gt;  &lt;p&gt;That’s the “service” IT is going to provide to the business. &lt;/p&gt;  &lt;p&gt;In order to accomplish this seemingly simple task, there’s a lot that actually has to go on under the hood, within the bowels of IT. &lt;/p&gt;  &lt;h4&gt;&lt;font color="#800000"&gt;LAYER ONE &lt;/font&gt;&lt;/h4&gt;  &lt;p&gt;Consider, if you will, what fulfilling that request means. You need at least two servers and a &lt;a title="" href="http://www.f5.com/glossary/load-balancer.html" rel=""&gt;Load balancer&lt;/a&gt;, you need a server and some storage, and you need – albeit unknown to the business user – firewall rules to ensure the application is only accessible to those whom you designate. So at the bottom layer of the stack (Infrastructure 2.0) you need a set of components that match these functions &lt;em&gt;and &lt;/em&gt;they must be all be enabled with an API (or at a minimum by able to be automated via traditional scripting methods). Now the actual task of configuring a load balancer is not just a single API call. Ask &lt;a href="http://www.rackspace.com" target="_blank"&gt;RackSpace&lt;/a&gt;, or &lt;a href="http://www.gogrid.com" target="_blank"&gt;GoGrid&lt;/a&gt;, or &lt;a href="http://www.terremark.com" target="_blank"&gt;Terremark&lt;/a&gt;, or any other cloud provider. It takes multiple steps to authenticate and configure – in the right order – that component. The same is true of many components at the infrastructure layer: the APIs are necessarily granular enough to provide the flexibility necessary to be combined in a way as to be customizable for each unique environment in which they may be deployed. So what you end up with is a set of infrastructure &lt;em&gt;services &lt;/em&gt;that comprise the appropriate API calls for each component based on the specific operational policies in place. &lt;/p&gt;  &lt;h4&gt;&lt;font color="#800000"&gt;LAYER TWO &lt;/font&gt;&lt;/h4&gt;  &lt;p&gt;At the next layer up you’re providing even more abstract frameworks. The “&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2010/07/27/the-world-doesnrsquot-care-about-apis.aspx" target="_blank"&gt;cloud API&lt;/a&gt;” at this layer may provide services such as “auto-scaling” that require a great deal of configuration and registration of components with other components. There’s automation and orchestration occurring at this layer of the IT Service Stack, as it were, that is much more complex but narrowly focused than at the previous infrastructure layer. It is at &lt;em&gt;this &lt;/em&gt;layer that the services become more customized and able to provide business and customer specific options. It is also at this layer where things become more operationally focused, with the provisioning of “application resources” comprising perhaps the provisioning of both compute and storage resources. This layer also lays the foundation for metering and monitoring (cause you want to provide visibility, right?) which essentially overlays, i.e. makes a service of, multiple infrastructure resource monitoring services. &lt;/p&gt;  &lt;h4&gt;&lt;font color="#800000"&gt;LAYER THREE &lt;/font&gt;&lt;/h4&gt;  &lt;p&gt;At the top layer is IT as a Service, and this is where systems become very abstracted and get turned into the &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/05/07/cloud-computing-is-not-burger-king.-you-canrsquot-have-it.aspx" target="_blank"&gt;IT King “A La Carte” Menu&lt;/a&gt; that is the ultimate goal according to everyone who’s anyone (and a few people who aren’t). This layer offers an interface to the cloud in such a way as to make self-service possible. It &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/12/04/next-generation-management-of-data-centers-should-be-modeled-on-social.aspx" target="_blank"&gt;may not be Infrabook or even very pretty&lt;/a&gt;, but as long as it gets the job done cosmetics are just enhancing the value of what exists in the first place. IT as a Service is the culmination of all the work done at the previous layers to fine-tune services until they are at the point where they are consumable – in the sense that they are easy to understand and require no real technical understanding of what’s actually going on. After all, a business user or application developer doesn’t really need to know &lt;em&gt;how &lt;/em&gt;the server and storage resources are provisioned, just in what sizes and how much it’s going to cost. &lt;/p&gt;  &lt;p&gt;IT as a Service ultimately enables the end-user – whomever that may be – to easily “order” IT services to fulfill the application specific requirements associated with an application deployment. That means availability, scalability, security, monitoring, and performance. &lt;/p&gt;  &lt;h3&gt;&lt;font color="#800000"&gt;A DYNAMIC DATA CENTER ARCHITECTURE &lt;/font&gt;&lt;/h3&gt;  &lt;p&gt;One of the first questions that should come to mind is: why does it matter? After all, one could cut out the “cloud computing” layer and go straight from infrastructure services to IT as a Service. While that’s &lt;em&gt;technically&lt;/em&gt; true it eliminates one of the biggest benefits of a layered and highly abstracted architecture : &lt;strong&gt;agility&lt;/strong&gt;. By presenting each layer to the layer above as services, we are effectively employing the principles of a service-oriented architecture and separating the implementation from the interface. This provides the ability to modify the implementation without impacting the interface, which means less down-time and very little – if any – modification in layers above the layer being modified. This translates into, at the lowest level, vender agnosticism and the ability to avoid vendor-lock in. If two components, say a &lt;a href="http://www.juniper.net" target="_blank"&gt;Juniper&lt;/a&gt; switch and a &lt;a href="http://www.cisco.com" target="_blank"&gt;Cisco&lt;/a&gt; switch, are enabled with the means by which they can be enabled as services, then it becomes possible to switch the two at the &lt;em&gt;implementation &lt;/em&gt;layer without requiring the changes to trickle upward through the interface and into the higher layers of the architecture. &lt;/p&gt;  &lt;p&gt;It’s polymorphism applied to an data center operation rather than a single object’s operations, to put it in developer’s terms. It’s SOA applied to a data center rather than an application, to put it in an architect’s terms. &lt;/p&gt;  &lt;p&gt;It’s an architectural parfait and, as we all know, everybody loves a parfait, right? &lt;/p&gt;  &lt;hr color="#808080" width="100%" noshade="noshade" /&gt;  &lt;table border="0" cellspacing="0" cellpadding="2" width="100%"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="70%"&gt;Related blogs &amp;amp; articles:          &lt;br /&gt;          &lt;br /&gt;          &lt;ul class="ArrowList"&gt;           &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2010/09/13/applying-scalability-patterns-to-infrastructure-architecture.aspx"&gt;Applying Scalability Patterns to Infrastructure Architecture&lt;/a&gt; &lt;/li&gt;            &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2010/04/09/the-other-hybrid-cloud-architecture.aspx"&gt;The Other Hybrid Cloud Architecture&lt;/a&gt; &lt;/li&gt;            &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2010/07/08/new-three-tiered-architecture-changes-everything.aspx"&gt;The New Distribution of The 3-Tiered Architecture Changes Everything&lt;/a&gt; &lt;/li&gt;            &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2008/11/10/infrastructure-2.0-aligning-the-network-with-the-business-and-the.aspx"&gt;Infrastructure 2.0: Aligning the network with the business (and ...&lt;/a&gt; &lt;/li&gt;            &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/01/28/infrastructure-2.0-as-a-matter-of-fact-that-isnt-what.aspx"&gt;Infrastructure 2.0: As a matter of fact that isn't what it means&lt;/a&gt; &lt;/li&gt;            &lt;li&gt;&lt;a href="https://devcentral.f5.com/weblogs/macvittie/archive/2009/01/06/infrastructure-2.0-flexibility-is-key-to-dynamic-infrastructure.aspx"&gt;Infrastructure 2.0: Flexibility is Key to Dynamic Infrastructure&lt;/a&gt; &lt;/li&gt;            &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2008/11/24/infrastructure-2.0-the-diseconomy-of-scale-virus.aspx"&gt;Infrastructure 2.0: The Diseconomy of Scale Virus&lt;/a&gt; &lt;/li&gt;            &lt;li&gt;&lt;a href="https://devcentral.f5.com/weblogs/macvittie/category/1082349.aspx"&gt;Lori MacVittie - Infrastructure 2.0&lt;/a&gt; &lt;/li&gt;            &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2010/01/18/infrastructure-2.0-squishy-name-for-a-squishy-concept.aspx"&gt;Infrastructure 2.0: Squishy Name for a Squishy Concept&lt;/a&gt; &lt;/li&gt;            &lt;li&gt;&lt;a href="https://devcentral.f5.com/weblogs/macvittie/archive/2010/02/26/pay-no-attention-to-the-infrastructure-behind-the-cloudy-curtain.aspx"&gt;Pay No Attention to the Infrastructure Behind the Cloudy Curtain&lt;/a&gt; &lt;/li&gt;            &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2008/10/22/making-infrastructure-2.0-reality-may-require-new-standards.aspx"&gt;Making Infrastructure 2.0 reality may require new standards&lt;/a&gt; &lt;/li&gt;            &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2010/08/18/the-inevitable-eventual-consistency-of-cloud-computing.aspx"&gt;The Inevitable Eventual Consistency of Cloud Computing&lt;/a&gt; &lt;/li&gt;            &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/05/07/cloud-computing-is-not-burger-king.-you-canrsquot-have-it.aspx"&gt;Cloud computing is not Burger King. You can't have it your way. Yet.&lt;/a&gt; &lt;/li&gt;         &lt;/ul&gt;       &lt;/td&gt;        &lt;td valign="top" width="30%"&gt;         &lt;p&gt;&lt;a href="http://twitter.com/lmacvittie"&gt;&lt;img border="0" 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" height="18" /&gt;&lt;/a&gt; &lt;a title="Follow F5 Networks on Twitter" href="http://tweepml.org/F5-Networks-Tweeple/"&gt;&lt;img border="0" src="http://tweepml.org/s/tweepml16.png" width="18" height="18" /&gt;&lt;/a&gt; &lt;a title="Follow F5 DevCentral on Twitter" href="http://tweepml.org/F5-DevCentral/"&gt;&lt;img border="0" src="http://tweepml.org/s/tweepml16.png" width="18" height="18" /&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" /&gt;&lt;/a&gt; &lt;a href="http://www.slideshare.net/lmacvittie"&gt;&lt;img border="0" 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" height="18" /&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" /&gt;&lt;/a&gt; &lt;a href="http://www.friendfeed.com/lmacvittie"&gt;&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="friendfeed" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/friendfeed_3.jpg" width="18" height="18" /&gt;&lt;/a&gt; &lt;a href="http://www.facebook.com/lmacvittie"&gt;&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="icon_facebook" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/icon_facebook_4.png" width="18" height="18" /&gt;&lt;/a&gt; &lt;/p&gt;          &lt;p&gt;&lt;a title="Subscribe using any feed reader!" href="http://www.addthis.com/feed.php?pub=lmacvittie&amp;amp;h1=http%3A%2F%2Fdevcentral.f5.com%2Fweblogs%2Fmacvittie%2FRss.aspx&amp;amp;t1="&gt;&lt;img border="0" alt="AddThis Feed Button" src="http://s9.addthis.com/button1-fd.gif" width="125" height="18" /&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 border="0" alt="Bookmark and Share" src="http://s9.addthis.com/button1-share.gif" width="125" height="18" /&gt;&lt;/a&gt; &lt;script type="text/javascript" src="http://track.mybloglog.com/js/jsserv.php?mblID=2008070914270355"&gt;&lt;/script&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p /&gt;  &lt;p&gt; &lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:67cb5b15-ec96-4530-8bc4-9ed235467fa6" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Macvittie" rel="tag"&gt;Macvittie&lt;/a&gt;,&lt;a href="http://technorati.com/tags/F5" rel="tag"&gt;F5&lt;/a&gt;,&lt;a href="http://technorati.com/tags/cloud+computing" rel="tag"&gt;cloud computing&lt;/a&gt;,&lt;a href="http://technorati.com/tags/virtualization" rel="tag"&gt;virtualization&lt;/a&gt;,&lt;a href="http://technorati.com/tags/IaaS" rel="tag"&gt;IaaS&lt;/a&gt;,&lt;a href="http://technorati.com/tags/IT+as+a+Service" rel="tag"&gt;IT as a Service&lt;/a&gt;,&lt;a href="http://technorati.com/tags/architecture" rel="tag"&gt;architecture&lt;/a&gt;,&lt;a href="http://technorati.com/tags/services" rel="tag"&gt;services&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/infrastructure+2.0" rel="tag"&gt;infrastructure 2.0&lt;/a&gt;,&lt;a href="http://technorati.com/tags/infrastructure" rel="tag"&gt;infrastructure&lt;/a&gt;&lt;/div&gt;&lt;img src="http://devcentral.f5.com/weblogs/macvittie/aggbug/1088426.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Lori MacVittie</dc:creator>
            <guid>http://devcentral.f5.com/weblogs/macvittie/archive/2010/09/15/infrastructure-2-enables-cloud-enables-it-as-a-service.aspx</guid>
            <pubDate>Wed, 15 Sep 2010 14:42:39 GMT</pubDate>
            <wfw:comment>http://devcentral.f5.com/weblogs/macvittie/comments/1088426.aspx</wfw:comment>
            <comments>http://devcentral.f5.com/weblogs/macvittie/archive/2010/09/15/infrastructure-2-enables-cloud-enables-it-as-a-service.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://devcentral.f5.com/weblogs/macvittie/comments/commentRss/1088426.aspx</wfw:commentRss>
            <trackback:ping>http://devcentral.f5.com/weblogs/macvittie/services/trackbacks/1088426.aspx</trackback:ping>
        </item>
        <item>
            <title>You Can&amp;rsquo;t Have IT as a Service Until IT Has Infrastructure as a Service</title>
            <link>http://devcentral.f5.com/weblogs/macvittie/archive/2010/09/08/you-canrsquot-have-it-as-a-service-until-it-has.aspx</link>
            <description>&lt;p&gt;&lt;em&gt;The underlying premise of delivering information technology “as a service” is that the services exist to be delivered in the first place. &lt;/em&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
 
&lt;p&gt;&lt;script type="text/javascript"&gt;&lt;![CDATA[
tweetmeme_source = 'f5networks';
tweetmeme_style = 'compact';
tweetmeme_service = 'bit.ly';
service_api = 'R_782503f4d9754dae4543383cee6ad988';
]]&gt;&lt;/script&gt;&lt;script type="text/javascript" src="http://tweetmeme.com/i/scripts/button.js"&gt;&lt;/script&gt;&lt;/p&gt;
 
&lt;p&gt; Oh, it’s on now. IT has been served with a declaration of intent and that is to eliminate IT and its associated bottlenecks that are apparently at the heart of a long application deployment lifecycle. Ignoring reality, the concept of IT as a Service in many ways is well-suited to solving both issues (real and perceived) on the business and the IT sides of the house. By making the acquisition and deployment of server infrastructure a self-service process, IT abrogates responsibility for deploying applications. It means if a project is late, business stakeholders can no longer point to the easy scapegoat of IT and must accept accountability. &lt;/p&gt;
 
&lt;p&gt;Or does it? &lt;/p&gt;
 
&lt;h3&gt;&lt;font color="#800000"&gt;WHAT does “IT as a SERVICE” MEAN ANYWAY? &lt;/font&gt;&lt;/h3&gt;

&lt;p&gt;We can’t really answer that question until we understand what all this “IT as a Service” hype is about, can we?&lt;/p&gt;

&lt;p&gt;The way tech journalists report on “IT as a Service” and its underlying business drivers you’d think the concept is essentially centered on the elimination of IT in general. That’s not the case, not really. On the surface it appears to be, but appearances are only skin deep. What businesses want is a faster provisioning cycle across IT: access, server infrastructure, applications, data. They want “push-button IT”, they want IT as a vending machine with a cornucopia of services available for their use with as little human interaction as possible.&lt;/p&gt;

&lt;p&gt;What that all boils down is this: the business stakeholders want efficiency of process.  &lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.infoworld.com/blogs/eric-knorr" target="_blank"&gt;Eric Knorr&lt;/a&gt; of &lt;a href="http://www.infoworld.com" target="_blank"&gt;InfoWorld&lt;/a&gt; summed it well when he recently wrote in “&lt;a href="http://www.infoworld.com/t/cloud-computing/what-the-private-cloud-really-means-463?page=0,2&amp;amp;source=IFWNLE_nlt_daily_2010-09-06" target="_blank"&gt;What the ‘private cloud’ really means&lt;/a&gt;”: &lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/YouCantHaveITasaServiceUntilITisaService_3343/blockquote_2.gif"&gt;&lt;img height="28" border="0" align="left" width="46" style="border-width: 0px; display: inline; margin-left: 0px; margin-right: 0px;" title="blockquote" alt="blockquote" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/YouCantHaveITasaServiceUntilITisaService_3343/blockquote_thumb.gif" /&gt;&lt;/a&gt; Nonetheless, the model of providing commodity services on top of pooled, well-managed virtual resources has legs, because it has the potential to take a big chunk of cost and menial labor out of the IT equation. The lights in the data center will never go out. The drive for greater efficiency, though, has had a dozen names in the history of IT, and the private cloud just happens to be the latest one.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;In reality all we’re talking about with “IT as a Service” really is private cloud, but it appears that “IT as a Service” has a strong(er) set of legs upon which to stand primarily because purists and pundits prefer to distinguish between the two. So be it, what you call it is not nearly as important as what it does – or is intended to do.&lt;/p&gt;

&lt;p&gt;Interestingly enough, &lt;a href="http://www.vmware.com" target="_blank"&gt;VMware&lt;/a&gt; made a huge push for “IT as a Service” at &lt;a href="http://www.vmworld.com" target="_blank"&gt;VMworld&lt;/a&gt; last month and, in conjunction with that, released a number of product offerings to support the vision of “IT as a Service.” But while there was much brouhaha regarding the flexibility of a virtualized infrastructure there was very little to support the longer vision of “IT as a Service.” It was more “IT as a Bunch of Virtual Machines and Provisioning Services” than anything else. Now, that’s not to say that virtualization of infrastructure doesn’t enable “IT as a Service”; it does in the sense that it makes one piece of the overall concept possible: self-service provisioning. But it &lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/YouCantHaveITasaServiceUntilITisaService_3343/image_4.png"&gt;&lt;img height="257" border="0" align="left" width="354" style="border-width: 0px; margin: 15px 10px 10px 0px; display: inline;" title="image" alt="image" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/YouCantHaveITasaServiceUntilITisaService_3343/image_thumb_1.png" /&gt;&lt;/a&gt;does not in any way, shape or form assist in the much larger and complex task of actually enabling the services that need to be provisioned. Even the integration across the application delivery network with the core server infrastructure provisioning services – so necessary to accomplish something like &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2010/09/03/f5-friday-elastic-applications-are-enabled-by-dynamic-infrastructure.aspx" target="_blank"&gt;live cloudbursting on-demand&lt;/a&gt; – relies upon virtualization only for the server/application resources. The integration to instruct and integrate the application delivery network is accomplished via services, &lt;a href="http://devcentral.f5.com/iControl" target="_blank"&gt;via an API&lt;/a&gt;, and whether the underlying form-factor is virtual or iron is completely irrelevant. &lt;/p&gt;

&lt;h3&gt;&lt;font color="#800000"&gt;IT as a SERVICE REALLY MEANS a SERVICE-ORIENTED OPERATIONAL INFRASTRUCTURE&lt;/font&gt;&lt;font color="#800000"&gt; &lt;/font&gt;&lt;/h3&gt;

&lt;p&gt;I’m going to go out on a limb and say that what we’re really doing here is applying the principles of &lt;a title="Service Oriented Architecture definition " href="http://www.f5.com/glossary/soa.html" rel="" target="_blank"&gt;SOA&lt;/a&gt; to IT and departmental function. Yeah, I said that. Again. &lt;/p&gt;

&lt;p&gt;Take a close look at this diagram and tell me what you see. No, never mind, I’ll tell you what I see: a set of service across the entire IT infrastructure landscape that, when integrated together, form a holistic application deployment and delivery architecture. A service-oriented architecture. And what this whole “IT as a Service” thing is about is really offering up operational processes as a service to business folks. Just as SOA was meant to encapsulate business functions as services when it’s IT being pushed into the service-oriented mold you get operational functions as services: provisioning, metering, migration, scalability.&lt;/p&gt;

&lt;p&gt;It’s Infrastructure as a Service, when you get down to it.&lt;/p&gt;

&lt;p&gt;In order for IT to be a push-button, self-service, never-talk-to-the-geeks-in-the-basement again organization (which admittedly looks just as good from the other side as a never-talk-to-the-overly-demanding-business-folks again organization) IT not only has to enable provisioning of compute resources suitable for automated billing and management, but it also has to make available the rest of the infrastructure as services that can be (1) provisioned just as easily, (2) managed uniformly, and (3) integrated with some sort of human-readable/configurable policy creation tool that can translate business language, a la “make it faster”, into something that can actually be implemented in the infrastructure, a la “apply an application acceleration policy”. I’m simplifying, of course, but ultimately we really do want it &lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/YouCantHaveITasaServiceUntilITisaService_3343/image_6.png"&gt;&lt;img height="240" border="0" align="right" width="198" style="border-width: 0px; margin: 0px 0px 0px 10px; display: inline;" title="image" alt="image" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/YouCantHaveITasaServiceUntilITisaService_3343/image_thumb_2.png" /&gt;&lt;/a&gt;that simply, don’t we? We’ll never get there if we don’t have the services available in the first place. &lt;/p&gt;

&lt;p&gt;Sound familiar, SOA architects? Business analysts? It should. A complete application deployment consists of a set of dynamic services that can be provisioned in conjunction with application resources that provide for a unified “application” that is fast, reliable, and secure. A composite “application” that is essentially a mash-up comprised of infrastructure &lt;u&gt;services&lt;/u&gt; that enforce application specific policies to meet the requirements of the business stakeholder. &lt;/p&gt;

&lt;p&gt;It’s SOA. Pure and simple. And while rapid provisioning is made easier by virtualization of those components, it’s not a necessity. What’s necessary is that the components provide for and are managed through services. Remember, there’s &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2010/03/26/magic-virtualization-fairy-dust-and-the-new-network.aspx" target="_blank"&gt;no magical fairy dust that goes along with the hardware/software –&amp;gt; virtual network appliance transformation&lt;/a&gt; that suddenly springs forth a set of services like a freaking giant beanstalk out of a magic bean. The components must be enabled to both be and provide services and from those the components can be deployed, configured, integrated, and managed as a service. &lt;/p&gt;

&lt;h3&gt;&lt;font color="#800000"&gt;WITHOUT the SERVICES IT IS IT as USUAL &lt;/font&gt;&lt;/h3&gt;

&lt;p&gt;If the only services available in this new “IT as a Service” paradigm are provisioning and metering and possibly migration, then IT as a Service does not actually exist. What happens then is the angst of the business regarding the lengthy acquisition cycles for compute resources simply becomes focused on the next phase of the deployment – the network, or the security, or the application delivery components. And as each set of components is servified and made available in the &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/05/07/cloud-computing-is-not-burger-king.-you-canrsquot-have-it.aspx" target="_blank"&gt;Burger King IT Infrastructure menu&lt;/a&gt;, the business will turn its baleful eye on the next set of components..and the next…and the next. &lt;/p&gt;

&lt;p&gt;Until there exists an end-to-end set of services for deploying, managing, and migrating applications, “IT as a Service” will not truly exist and the role of IT will remain largely the same – manual configuration, integration, and management of a large and varied set of infrastructure components. &lt;/p&gt;
&lt;hr noshade="noshade" color="#808080" width="100%" /&gt;

&lt;table cellspacing="0" cellpadding="2" border="0" width="100%"&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;td width="70%" valign="top"&gt;Related blogs &amp;amp; articles:          &lt;br /&gt;
            &lt;br /&gt;
            &lt;ul class="ArrowList"&gt;
                &lt;li&gt;&lt;a href="http://www.infoworld.com/t/cloud-computing/what-the-private-cloud-really-means-463?page=0,0&amp;amp;source=IFWNLE_nlt_daily_2010-09-06" target="_blank"&gt;What the ‘private cloud’ really means | InfoWorld&lt;/a&gt; &lt;/li&gt;
                &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/01/26/cloud-interoperability-must-dig-deeper-than-the-virtualization-layer.aspx"&gt;Cloud interoperability must dig deeper than the virtualization layer&lt;/a&gt; &lt;/li&gt;
                &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/06/16/virtual-network-infrastructure-virtually-good-enough.aspx"&gt;Virtual Network Infrastructure: Virtually Good Enough?&lt;/a&gt; &lt;/li&gt;
                &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2008/08/07/3522.aspx"&gt;Server Virtualization versus Server Virtualization&lt;/a&gt; &lt;/li&gt;
                &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2010/06/23/service-virtualization-helps-localize-impact-of-elastic-scalability.aspx"&gt;Service Virtualization Helps Localize Impact of Elastic Scalability&lt;/a&gt; &lt;/li&gt;
                &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/05/07/cloud-computing-is-not-burger-king.-you-canrsquot-have-it.aspx"&gt;Cloud computing is not Burger King. You can't have it your way. Yet.&lt;/a&gt; &lt;/li&gt;
                &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2008/11/03/cloud-computing-its-the-destination-not-the-journey-that-is.aspx"&gt;Cloud Computing: It's the destination, not the journey that is ...&lt;/a&gt; &lt;/li&gt;
                &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/10/28/to-take-advantage-of-cloud-computing-you-must-unlearn.aspx"&gt;To Take Advantage of Cloud Computing You Must Unlearn, Luke.&lt;/a&gt; &lt;/li&gt;
                &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/12/17/cloud-computing-application-acceleration-connection.aspx"&gt;The Cloud Computing – Application Acceleration Connection&lt;/a&gt; &lt;/li&gt;
                &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2008/11/12/cloud-computing-whats-stopping-service-oriented-clouds.aspx"&gt;Cloud Computing: What's stopping service-oriented clouds?&lt;/a&gt; &lt;/li&gt;
                &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2008/10/17/cloud-computing-and-infrastructure-2.0.aspx"&gt;Cloud Computing and Infrastructure 2.0&lt;/a&gt; &lt;/li&gt;
            &lt;/ul&gt;
            &lt;/td&gt;
            &lt;td width="30%" valign="top"&gt;
            &lt;p&gt;&lt;a href="http://twitter.com/lmacvittie"&gt;&lt;img height="18" border="0" width="18" alt="Follow me on Twitter" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_twitt-twoo-icon.png" /&gt;&lt;/a&gt; &lt;a title="Follow F5 Networks on Twitter" href="http://tweepml.org/F5-Networks-Tweeple/"&gt;&lt;img height="18" border="0" width="18" alt="" src="http://tweepml.org/s/tweepml16.png" /&gt;&lt;/a&gt; &lt;a title="Follow F5 DevCentral on Twitter" href="http://tweepml.org/F5-DevCentral/"&gt;&lt;img height="18" border="0" width="18" alt="" src="http://tweepml.org/s/tweepml16.png" /&gt;&lt;/a&gt; &lt;a href="http://devcentral.f5.com/weblogs/macvittie/Rss.aspx"&gt;&lt;img border="0" alt="" src="http://devcentral.f5.com/Portals/0/images/Icons/icon_xml_18.gif" /&gt;&lt;/a&gt; &lt;a href="http://www.slideshare.net/lmacvittie"&gt;&lt;img height="18" border="0" width="18" alt="View Lori's profile on SlideShare" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_slideshare.png" /&gt;&lt;/a&gt; &lt;a href="http://www.linkedin.com/in/lmacvittie"&gt;&lt;img border="0" alt="" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/125/o_linkedin_16.png" /&gt;&lt;/a&gt; &lt;a href="http://www.friendfeed.com/lmacvittie"&gt;&lt;img height="18" border="0" width="18" style="border-width: 0px;" alt="friendfeed" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/friendfeed_3.jpg" /&gt;&lt;/a&gt; &lt;a href="http://www.facebook.com/lmacvittie"&gt;&lt;img height="18" border="0" width="18" style="border-width: 0px;" alt="icon_facebook" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/icon_facebook_4.png" /&gt;&lt;/a&gt; &lt;/p&gt;
            &lt;p&gt;&lt;a title="Subscribe using any feed reader!" href="http://www.addthis.com/feed.php?pub=lmacvittie&amp;amp;h1=http%3A%2F%2Fdevcentral.f5.com%2Fweblogs%2Fmacvittie%2FRss.aspx&amp;amp;t1="&gt;&lt;img height="18" border="0" width="125" alt="AddThis Feed Button" src="http://s9.addthis.com/button1-fd.gif" /&gt;&lt;/a&gt; &lt;a title="Bookmark and Share" onclick="window.open('http://www.addthis.com/bookmark.php?wt=nw&amp;amp;pub=lmacvittie&amp;amp;url='+encodeURIComponent(location.href)+'&amp;amp;title='+encodeURIComponent(document.title), 'addthis', 'scrollbars=yes,menubar=no,width=620,height=520,resizable=yes,toolbar=no,location=no,status=no,screenX=200,screenY=100,left=200,top=100'); return false;" href="http://www.addthis.com/bookmark.php" target="_blank"&gt;&lt;img height="18" border="0" width="125" alt="Bookmark and Share" src="http://s9.addthis.com/button1-share.gif" /&gt;&lt;/a&gt; &lt;script type="text/javascript" src="http://track.mybloglog.com/js/jsserv.php?mblID=2008070914270355"&gt;&lt;/script&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;

&lt;p /&gt;

&lt;div style="margin: 0px; padding: 0px; display: inline; float: none;" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:93c75d29-a8c3-498e-8748-b873a2a987fa" class="wlWriterEditableSmartContent"&gt;&lt;em&gt;&lt;em&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/MacVittie" rel="tag"&gt;MacVittie&lt;/a&gt;,&lt;a href="http://technorati.com/tags/F5" rel="tag"&gt;F5&lt;/a&gt;,&lt;a href="http://technorati.com/tags/cloud+computing" rel="tag"&gt;cloud computing&lt;/a&gt;,&lt;a href="http://technorati.com/tags/virtualization" rel="tag"&gt;virtualization&lt;/a&gt;,&lt;a href="http://technorati.com/tags/IT+as+a+Service" rel="tag"&gt;IT as a Service&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/dynamic+services+model" rel="tag"&gt;dynamic services model&lt;/a&gt;,&lt;a href="http://technorati.com/tags/infrastructure+as+a+service" rel="tag"&gt;infrastructure as a service&lt;/a&gt;,&lt;a href="http://technorati.com/tags/IaaS" rel="tag"&gt;IaaS&lt;/a&gt;,&lt;a href="http://technorati.com/tags/integration" rel="tag"&gt;integration&lt;/a&gt;&lt;/em&gt;&lt;/em&gt;&lt;/div&gt;&lt;img src="http://devcentral.f5.com/weblogs/macvittie/aggbug/1088414.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Lori MacVittie</dc:creator>
            <guid>http://devcentral.f5.com/weblogs/macvittie/archive/2010/09/08/you-canrsquot-have-it-as-a-service-until-it-has.aspx</guid>
            <pubDate>Wed, 08 Sep 2010 10:57:19 GMT</pubDate>
            <wfw:comment>http://devcentral.f5.com/weblogs/macvittie/comments/1088414.aspx</wfw:comment>
            <comments>http://devcentral.f5.com/weblogs/macvittie/archive/2010/09/08/you-canrsquot-have-it-as-a-service-until-it-has.aspx#feedback</comments>
            <wfw:commentRss>http://devcentral.f5.com/weblogs/macvittie/comments/commentRss/1088414.aspx</wfw:commentRss>
            <trackback:ping>http://devcentral.f5.com/weblogs/macvittie/services/trackbacks/1088414.aspx</trackback:ping>
        </item>
        <item>
            <title>Cloud + BPM = Business Process Scalability</title>
            <link>http://devcentral.f5.com/weblogs/macvittie/archive/2010/08/25/cloud-based-bpm-offers-business-process-scalability.aspx</link>
            <description>&lt;p&gt;&lt;em&gt;Cloud is more likely to make an application deployment more – not less – complex, but the benefits are ultimately worth it. &lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;script type="text/javascript"&gt;&lt;![CDATA[
tweetmeme_source = 'f5networks';
tweetmeme_style = 'compact';
tweetmeme_service = 'bit.ly';
service_api = 'R_782503f4d9754dae4543383cee6ad988';
]]&gt;&lt;/script&gt;&lt;script type="text/javascript" src="http://tweetmeme.com/i/scripts/button.js"&gt;&lt;/script&gt;&lt;/p&gt;  &lt;p&gt;I was a bit disconcerted by the notion put forward that cloud-based applications are somehow less complex than their non-cloud, non-virtualized predecessors. In reality, it’s the &lt;em&gt;same application&lt;/em&gt;, after all, and the only thing that has really changed is the infrastructure and &lt;em&gt;its &lt;/em&gt;complexity. Take BPM (Business Process Management) as an example. It was recently asserted on &lt;a href="http://www.twitter.com" target="_blank"&gt;Twitter&lt;/a&gt; that cloud-based BPM “enables agility”, followed directly by the statement, “There’s no long rollout of a complex app.” &lt;/p&gt;  &lt;p&gt;That statement should be followed by the question: “How, exactly, does cloud do anything to address the complexity of an application?” It still needs the same configuration, the same tweaks, the same integration work, the same testing. The only thing that changed is that physical deployment took less time, which is hardly the bulk of the time involved in rolling out an application anyway. &lt;/p&gt;  &lt;p&gt;BPM applications themselves are not that complex. I spent &lt;a href="http://www.networkcomputing.com/other/business-process-management-suites.php" target="_blank"&gt;more than six months of my life rolling out and implementing just about every BPM solution on the market&lt;/a&gt;. Trust me, deploying one of these babies is just the beginning of what can only be described as anything but a sanguine experience. In fact, I’d say very rarely is the actual deployment of &lt;em&gt;any application&lt;/em&gt; difficult. Now getting it to work – and integrated with other systems and data sources – that’s a whole different ball game. And maybe that’s the disconnect – my definition of deployment is the installation and basic connectivity. Everything after that is customization and not intrinsic to the application but to its run-time behavior. Suffice to say cloud does absolutely &lt;em&gt;nothing&lt;/em&gt; to change the integration and configuration and testing required to orchestrate business processes which, if you recall, is the purpose of BPM in the first place. &lt;/p&gt;  &lt;h3&gt;&lt;font color="#800000"&gt;CLOUD MORE LIKELY TO INCREASE not DECREASE COMPLEXITY &lt;/font&gt;&lt;/h3&gt;  &lt;p&gt;If truth be told, using a cloud-based BPM is likely to introduce &lt;em&gt;more &lt;/em&gt;complexity due to the very nature of these beasties; they all about orchestration of business processes. In the post-SOA world this generally means the orchestration of a series of services (REST or SOAP or POX, choose your poison) &lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/CloudBPMScalableComplexity_E03F/WC_326775_39_image_2.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px" title="WC_326775_39_image" border="0" alt="WC_326775_39_image" align="left" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/CloudBPMScalableComplexity_E03F/WC_326775_39_image_thumb.jpg" width="240" height="158" /&gt;&lt;/a&gt;designed to codify a well-described process through which a customer or employee or whomever might “walk” to complete some task. Spread that across a cloud in which you have very little control over the infrastructure, or need to integrate back into data center deployed systems; add in a healthy helping of dynamism in a system that relies on distributed services and voila! Greater complexity. &lt;/p&gt;  &lt;p&gt;And agility? The agility benefit of BPM comes from the capability to rapidly change business processes, which actually comes from the fact that most modern BPM leverage &lt;a title="Service Oriented Architecture definition " href="http://www.f5.com/glossary/soa.html" rel="" target="_blank"&gt;SOA&lt;/a&gt;. Even allowing that the definition of “rollout” includes “doing something useful” I’d still say it’s little more than rainbows and unicorns. If it isn’t the politics of trying to figure out &lt;em&gt;what&lt;/em&gt; the process actually is then it’s the integration nightmare of trying to make them all work together. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Devops&lt;/strong&gt;, are you paying attention? Cause this is your future, if you aren’t already there. While automation systems and existing open source solutions like &lt;a href="http://wiki.opscode.com/display/chef/Home" target="_blank"&gt;Chef&lt;/a&gt; and &lt;a href="http://www.puppetlabs.com/ " target="_blank"&gt;Puppet&lt;/a&gt; are certainly helpful, you’re only scratching the surface of what a full data center orchestration implementation is going to require. &lt;/p&gt;  &lt;h3&gt;&lt;font color="#800000"&gt;ALIGNING IT with the BUSINESS &lt;/font&gt;&lt;/h3&gt;  &lt;p&gt;Lest you think I’m all “BPM in the cloud is useless” there is a definite benefit in leveraging the elastic scalability of both infrastructure and services with BPM. Consider that if you distill BPM down it’s really a sophisticated integration bus that guides a user through a specific process, like checking the status of an order. Thus there is a definitive set of entry and exit points, with a series of steps (activities) that occur to gather the data required and return an answer. It’s a service-oriented &lt;em&gt;architecture &lt;/em&gt;that may or may not leverage SOAP/REST/XML; the key is individual services that make up a larger system, each of which should align nicely with a specific business activity. &lt;/p&gt;  &lt;p&gt;Each activity is often represented by a service, whether it be via integration with another application, a remote API call, or a direct service interface to a data source. Each of these is generally an individual service, each with their own unique compute resource needs. Thus the scalability of a business process&lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/CloudBPMScalableComplexity_E03F/image_9.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; margin: 10px 0px 0px 10px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" align="right" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/CloudBPMScalableComplexity_E03F/image_thumb_2.png" width="432" height="367" /&gt;&lt;/a&gt; is directly impacted by the scalability (and availability) of &lt;em&gt;each&lt;/em&gt; of those services, regardless of where they may be located. It is likely that one or two of the steps in a business process may be more computationally intense than others, and it is almost certainly the case that each service will have its own   scalability profile. &lt;/p&gt;  &lt;p&gt;Therefore, cloud – with its notion of application scalability really being virtual machine scalability (or instance) at this point – is inherently well-positioned to enable the scalability of individual services within an overall business process composition. Each service can scale as necessary, insuring that the overall (business) process scales on-demand. Consider that a single business process may have two different entry points: one for customer service reps (CSRs) and one for users via a web interface. During the week the CSR entry point may need to scale on-demand to meet the inevitable Monday morning rush. But on the weekend it may be the web interface that needs scaling because there are no CSRs to be had. This pattern could be manually handled by devops changing the resources pools assigned to each activity on Friday to a weekend-profile and then back again early Monday morning to a weekday-profile, but cloud and automation offer the means by which this can be handled without manual intervention and prevents any “surprise” scalability demands from cropping up and driving availability (and customer satisfaction) down. It scales the process from a &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2010/04/19/the-cloudy-enterprise-hours-more-important-than-dollars.aspx" target="_blank"&gt;business perspective without incurring IT hours, which keeps costs down&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;This aligns IT with the business, which is rarely so clear-cut as to show the value of an implementation as is evident with BPM and SOA. &lt;/p&gt;  &lt;h3&gt;&lt;font color="#800000"&gt;IT IS STILL ABOUT the ARCHITECTURE&lt;/font&gt;&lt;/h3&gt;  &lt;p&gt;Ultimately the agility and reduction in complexity offered by cloud is tied to the infrastructure, and the alleged ease with which scale and enforcement of delivery policies can be applied at strategic points of control throughout the architecture. BPM, CRM, SFA, home-grown applications. None of these are necessarily made less complex by &lt;a title="" href="http://www.f5.com/solutions/cloud-computing" rel=""&gt;cloud computing &lt;/a&gt; and in fact governing the intricate relationships of such applications is made more difficult by cloud because of the dynamism inherent in the underlying network, application network, and server infrastructure upon which such environments are built. &lt;/p&gt;  &lt;p&gt;But it does provide the opportunity to architect that infrastructure in such a way as to align technological capabilities with business needs and serve as a means to ensure business scalability through more efficient scalability of applications and infrastructure. Automation is necessary in these more complex environments to eliminate the increased risk of human error as a cause of downtime and performance impeding problems and to assist in realizing the benefits of more efficient use of compute resources. &lt;/p&gt;  &lt;p&gt;   &lt;/p&gt;&lt;hr color="#808080" width="100%" noshade="noshade" /&gt;    &lt;table border="0" cellspacing="0" cellpadding="2" width="100%"&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td valign="top" width="70%"&gt;           &lt;h3&gt;Related Posts&lt;/h3&gt;            &lt;div class="wlw_related_posts"&gt;from tag &lt;a href="http://del.icio.us/lmacvittie/agility"&gt;agility&lt;/a&gt;               &lt;br /&gt;              &lt;ul&gt;               &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2010/02/22/knowing-is-half-the-battle.aspx"&gt;Knowing is Half the Battle&lt;/a&gt; &lt;/li&gt;                &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/06/03/the-secret-of-the-security-safety-dance.aspx"&gt;The Secret of the Security Safety Dance&lt;/a&gt; &lt;/li&gt;                &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/05/26/f5-and-the-cloud.aspx"&gt;F5 and the Cloud&lt;/a&gt; &lt;/li&gt;                &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/05/04/the-real-meaning-of-cloud-security-revealed.aspx"&gt;The Real Meaning of Cloud Security Revealed&lt;/a&gt; &lt;/li&gt;                &lt;li&gt;&lt;a href="http://www.baselinemag.com/c/a/Virtualization/State-Street-Puts-Agility-in-The-Fast-Lane/"&gt;State Street Puts Agility in The Fast Lane - Virtualization&lt;/a&gt; &lt;/li&gt;                &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2008/11/10/infrastructure-2.0-aligning-the-network-with-the-business-and-the.aspx"&gt;Infrastructure 2.0: Aligning the network with the business (and the rest of IT)&lt;/a&gt; &lt;/li&gt;                &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2008/11/03/cloud-computing-its-the-destination-not-the-journey-that-is.aspx"&gt;Cloud Computing: It's the destination, not the journey that is important&lt;/a&gt; &lt;/li&gt;             &lt;/ul&gt; from tag &lt;a href="http://del.icio.us/lmacvittie/services"&gt;services&lt;/a&gt;               &lt;br /&gt;              &lt;ul&gt;               &lt;li&gt;&lt;a href="http://www.zdnet.com/blog/service-oriented/does-it-matter-if-its-soa-or-cloud-services-not-to-the-business/5415"&gt;Does it matter if it's SOA or cloud services? Not to the business | ZDNet&lt;/a&gt; &lt;/li&gt;                &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2008/11/12/cloud-computing-whats-stopping-service-oriented-clouds.aspx"&gt;Cloud Computing: What's stopping service-oriented clouds?&lt;/a&gt; &lt;/li&gt;                &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2008/09/09/3600.aspx"&gt;Governance in the Cloud&lt;/a&gt; &lt;/li&gt;                &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/08/10/cloud-is-not-a-big-switch.aspx"&gt;Cloud is Not a Big Switch&lt;/a&gt; &lt;/li&gt;                &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/07/13/the-end-of-3-teared-architectures.aspx"&gt;The End of 3-Teared Architectures&lt;/a&gt; &lt;/li&gt;             &lt;/ul&gt;             &lt;a href="http://del.icio.us/lmacvittie/services"&gt;(more..)&lt;/a&gt;&lt;/div&gt;         &lt;/td&gt;          &lt;td valign="top" width="30%"&gt;           &lt;p&gt;&lt;a href="http://twitter.com/lmacvittie"&gt;&lt;img border="0" 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" height="18" /&gt;&lt;/a&gt; &lt;a title="Follow F5 Networks on Twitter" href="http://tweepml.org/F5-Networks-Tweeple/"&gt;&lt;img border="0" src="http://tweepml.org/s/tweepml16.png" width="18" height="18" /&gt;&lt;/a&gt; &lt;a title="Follow F5 DevCentral on Twitter" href="http://tweepml.org/F5-DevCentral/"&gt;&lt;img border="0" src="http://tweepml.org/s/tweepml16.png" width="18" height="18" /&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" /&gt;&lt;/a&gt; &lt;a href="http://www.slideshare.net/lmacvittie"&gt;&lt;img border="0" 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" height="18" /&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" /&gt;&lt;/a&gt; &lt;a href="http://www.friendfeed.com/lmacvittie"&gt;&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="friendfeed" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/friendfeed_3.jpg" width="18" height="18" /&gt;&lt;/a&gt; &lt;a href="http://www.facebook.com/lmacvittie"&gt;&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="icon_facebook" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/icon_facebook_4.png" width="18" height="18" /&gt;&lt;/a&gt; &lt;/p&gt;            &lt;p&gt;&lt;a title="Subscribe using any feed reader!" href="http://www.addthis.com/feed.php?pub=lmacvittie&amp;amp;h1=http%3A%2F%2Fdevcentral.f5.com%2Fweblogs%2Fmacvittie%2FRss.aspx&amp;amp;t1="&gt;&lt;img border="0" alt="AddThis Feed Button" src="http://s9.addthis.com/button1-fd.gif" width="125" height="18" /&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 border="0" alt="Bookmark and Share" src="http://s9.addthis.com/button1-share.gif" width="125" height="18" /&gt;&lt;/a&gt; &lt;script type="text/javascript" src="http://track.mybloglog.com/js/jsserv.php?mblID=2008070914270355"&gt;&lt;/script&gt;&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt;   &lt;p /&gt;  &lt;p /&gt;  &lt;p /&gt;  &lt;h3&gt;   &lt;div class="wlw_related_posts"&gt;&lt;a href="http://del.icio.us/lmacvittie/services"&gt;&lt;/a&gt;&lt;/div&gt; &lt;/h3&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:79da10f1-b40e-45ad-9b9a-c7cc0c36f012" class="wlWriterEditableSmartContent"&gt;del.icio.us Tags: &lt;a href="http://del.icio.us/popular/MacVittie" rel="tag"&gt;MacVittie&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/F5" rel="tag"&gt;F5&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/cloud" rel="tag"&gt;cloud&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/BPM" rel="tag"&gt;BPM&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/SOA" rel="tag"&gt;SOA&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/agility" rel="tag"&gt;agility&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/scalability" rel="tag"&gt;scalability&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/services" rel="tag"&gt;services&lt;/a&gt;&lt;/div&gt;&lt;img src="http://devcentral.f5.com/weblogs/macvittie/aggbug/1090245.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Lori MacVittie</dc:creator>
            <guid>http://devcentral.f5.com/weblogs/macvittie/archive/2010/08/25/cloud-based-bpm-offers-business-process-scalability.aspx</guid>
            <pubDate>Wed, 25 Aug 2010 10:23:54 GMT</pubDate>
            <wfw:comment>http://devcentral.f5.com/weblogs/macvittie/comments/1090245.aspx</wfw:comment>
            <comments>http://devcentral.f5.com/weblogs/macvittie/archive/2010/08/25/cloud-based-bpm-offers-business-process-scalability.aspx#feedback</comments>
            <wfw:commentRss>http://devcentral.f5.com/weblogs/macvittie/comments/commentRss/1090245.aspx</wfw:commentRss>
            <trackback:ping>http://devcentral.f5.com/weblogs/macvittie/services/trackbacks/1090245.aspx</trackback:ping>
        </item>
        <item>
            <title>Get Out Your Crayons. We Need to Color Us Some Bits</title>
            <link>http://devcentral.f5.com/weblogs/macvittie/archive/2010/07/22/the-crayola-network.aspx</link>
            <description>&lt;p&gt;&lt;em&gt;Those eight bits in the IP header aren’t doing much of anything these days, perhaps it’s time to put them to work &lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/OperationsPerformanceManagement_9714/image_8.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; margin-left: 0px; border-top: 0px; margin-right: 0px; border-right: 0px" title="image" border="0" alt="image" align="left" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/OperationsPerformanceManagement_9714/image_thumb_3.png" width="210" height="240" /&gt;&lt;/a&gt; Back in the early days of bandwidth management, when quality of service and prioritization of traffic were on everyone’s minds because we were stuck with low throughput connectivity, there was a brief discussion about the use of IP’s &lt;a href="http://www.rhyshaden.com/ipdgram.htm"&gt;TOS (Type of Service) bits&lt;/a&gt; as a means to meet specific application performance needs. I say brief because, well, it never really got anywhere. See, even though the creators of the IP specification had looked into the future and provided a technical solution to prioritization of traffic they couldn’t have looked into the future and seen the organizational roadblocks to leveraging such a simple but effective method of managing traffic. &lt;/p&gt;  &lt;p&gt;The biggest problem was that you could ensure that TOS bits were honored within the organization, but once those packets passed through the organization’s boundary of control, i.e. onto the Internet, there was no guarantee or requirement that any other organization honor those bits. And because packets flow through many, many different routers and switches along its very long yet ironically very short travels from datacenter to client, if just one fails to honor the bits then the packets go gray and prioritization is lost. &lt;/p&gt;  &lt;p&gt;Hence it was that bandwidth management moved up the stack, with queuing and rate shaping at the transport and application layers of the stack becoming the norm and the “coloring” of TOS bits fell into disuse, like childhood crayons set aside in favor of cool gel pens and clicky-mechanical pencils. &lt;/p&gt;  &lt;h3 /&gt;  &lt;h3&gt;&lt;strong&gt;&lt;font color="#800000"&gt;THE NEED STILL EXISTS &lt;/font&gt;&lt;/strong&gt;&lt;/h3&gt;  &lt;h4&gt;Interestingly enough, the need for prioritization and bandwidth management still exists and, in many cases, it could become of paramount importance to the successful implementation of a mature cloud. &lt;/h4&gt;  &lt;p&gt;It is easy to forget that when you look under the covers of a &lt;a title="" href="http://www.f5.com/solutions/cloud-computing" rel=""&gt;cloud computing &lt;/a&gt; environment that there still exist physical network connections that comprise that environment. Despite the magnitude of virtualization in use at all layers that abstracts the entire infrastructure from its physical implementations, that network is still there. It’s massive, it’s huge, and it’s a spider’s web of connectivity. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/OperationsPerformanceManagement_9714/image_2.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; margin: 0px 0px 10px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" align="left" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/OperationsPerformanceManagement_9714/image_thumb.png" width="362" height="335" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;I am not the only one thinking about this, I’m fairly certain. An InformationWeek Analytics survey last year included a concern rarely seen in cloud computing surveys: “&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2010/05/17/when-microseconds-matter.aspx"&gt;speed to activate new services/expand capacity&lt;/a&gt;.” And folks are apparently somewhat concerned about this. Less so than other “problem” areas of cloud but enough concerned that it made the chart. &lt;/p&gt;  &lt;p&gt;The problem is that because everyone is still actually sharing a physical network connection all that traffic gets mixed up on the wire. At the physical layer, every packet is the same regardless of what payload it’s carrying. But the reality is that some packets are more “important” in the sense that some will be extremely time sensitive. A request to provision a service that’s under increasing load is more important than many application requests but both look the same to the routers and switches that get those packets from point A to point B within a cloud computing environment. &lt;/p&gt;  &lt;p&gt;As cloud computing providers and enterprises get better at automating the provisioning and elastic scalability processes, the packets that make up requests for such operational tasks will become increasingly time sensitive and important to ensuring operational efficiency and success. &lt;/p&gt;  &lt;p&gt;The problem, as once reared its ugly head before, is that all that traffic – customer and operational – is &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2010/07/20/http-now-serving-everything.aspx"&gt;running over HTTP&lt;/a&gt;. REST, SOAP, whatever. The APIs that make it possible to provide “compute as a service” are almost unilaterally implemented using a combination of &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2010/07/21/paas-is-just-soa-for-platforms-without-the-baggage.aspx"&gt;HTTP and REST or SOAP-based architectural principles&lt;/a&gt;. And so are the applications running in the cloud. Everything is running over HTTP and thus, as with bandwidth management challenges in the past, it becomes increasingly difficult to distinguish traffic without inspecting its payload. &lt;/p&gt;  &lt;p&gt;And payload inspection always adds latency. It may be only microseconds but it’s still latency. And if every router has to do it, well, microseconds eventually add up to seconds. And when we’re talking about ensuring the order of operations in a provisioning process, those seconds can make a big difference. &lt;/p&gt;  &lt;h3&gt;&lt;strong&gt;&lt;font color="#800000"&gt;BACK to BEGINNING&lt;/font&gt; &lt;/strong&gt;&lt;/h3&gt;  &lt;h4&gt;Sometimes the solution really is to go back to the beginning, to our roots, to the network.&lt;/h4&gt;  &lt;p&gt;It could be that the solution lies in &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2010/06/01/the-rise-of-the-out-of-band-management-network.aspx"&gt;out-of-band management networks&lt;/a&gt;. If not physically at least logically separated network channels that are by default prioritized and therefore will never get stuck in a traffic jam trying to get to location “C” because the application at location “A” is physically on the same network and heavily oversubscribed at the moment an important management request is trying to get to “C”. This would, however, add another layer of complexity to the management of not just the physical but the logical network. Complexity that is almost always translated into higher costs, which of course gets passed on to the customer. &lt;/p&gt;  &lt;p&gt;It could be that DCSP (&lt;a href="http://www.ietf.org/rfc/rfc2474.txt"&gt;DiffServ or Differentiated Services Code Point (DSCP)&lt;/a&gt;) – what eventually became of TOS because it was basically unused - could become the solution precisely because a single provider “owns” the entire network. Because a provider has control over all the components comprising the underlying &lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/OperationsPerformanceManagement_9714/image_6.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; margin: 10px 0px 0px 20px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" align="right" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/OperationsPerformanceManagement_9714/image_thumb_2.png" width="296" height="178" /&gt;&lt;/a&gt;network infrastructure it could enforce the honoring of DSCP bits across its network and thus prioritize traffic at the IP layer. &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/OperationsPerformanceManagement_9714/blockquote_2.gif"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; margin: 0px 10px 0px 0px; display: inline; border-top: 0px; border-right: 0px" title="blockquote" border="0" alt="blockquote" align="left" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/OperationsPerformanceManagement_9714/blockquote_thumb.gif" width="46" height="28" /&gt;&lt;/a&gt; DiffServ is concerned with classifying packets as they enter the local network. This classification then applies to &lt;b&gt;Flow&lt;/b&gt; of traffic where a Flow is defined by 5 elements; Source IP address, Destination IP, Source port, Destination port and the transport protocol. A flow that has been classified or marked can then be acted upon by other QoS mechanisms. Multiple flows can therefore be dealt with in a multitude of ways depending on the requirements of each flow. Packets are first Classified according to their current DSCP. Then they are separated into queues where one queue may be routed via a marking mechanism and another queue may be examined more closely. &lt;/p&gt;    &lt;p&gt;-- &lt;a href="http://www.rhyshaden.com/qos.htm"&gt;Quality of Service&lt;/a&gt; overview &lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;If a provider segments by port “cloud management” traffic from “normal” traffic, this solution would be fairly easy to implement. If not, well, then we’re going to need something else. It’s the concept behind DiffServ and TOS that’s important to leverage in such a solution – the recognition that some traffic must be prioritized to ensure delivery in a timely fashion. &lt;/p&gt;  &lt;h3&gt;&lt;strong&gt;&lt;font color="#800000"&gt;EIGHT BITS&lt;/font&gt;&lt;/strong&gt;&lt;/h3&gt;  &lt;h4&gt;What seems clear, to me at least, is that eventually we’re going to run into scenarios in which we need something akin to Operations Performance Management (OPM) to ensure that management and control messages are delivered in a timely fashion.&lt;/h4&gt;  &lt;p&gt; This is especially true as cloud computing matures and we start to see the dynamism inherent in infrastructure 2.0 components put into broader use. Real-time enforcement of security and delivery policies must be &lt;em&gt;real-time. &lt;/em&gt;They can’t be near-time, they must happen &lt;em&gt;now&lt;/em&gt;. When we start relying on existing open standards like HTTP and messaging hubs and event-driven networking architectures we have to remember we get the good &lt;em&gt;and &lt;/em&gt;the bad from those existing standards and implementations. We get the ease of use and integration, the flexibility, and the ubiquity of support, but we also get the problems that have plagued quality of service implementations forever: when everything is delivered via HTTP then everything looks like HTTP. Differentiation is nice, but we need to have a way to do that that doesn’t impede performance in a cloud computing environment. &lt;/p&gt;  &lt;p&gt;In this case, it seems wise to look down the stack and return to a perhaps less sophisticated but absolutely more elegant and simple means of distinguishing not only traffic but precedence and terms of service. DSCP or TOS or whatever we might decide to slap into those 8 bits in the IP header (perhaps there’s room for a new specification and use of those bits?) would be infinitely more scalable and easily supported in a cloud computing environment for distinguishing between the small subset of internal “traffic types” that need to be managed. &lt;/p&gt;  &lt;hr color="#808080" width="100%" noshade="noshade" /&gt;  &lt;table border="0" cellspacing="0" cellpadding="2" width="100%"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="70%"&gt;         &lt;h3&gt;Related Posts&lt;/h3&gt;          &lt;ul&gt;           &lt;li&gt;             &lt;p&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2010/06/01/the-rise-of-the-out-of-band-management-network.aspx"&gt;The Rise of the Out-of-Band Management Network&lt;/a&gt;&lt;/p&gt;           &lt;/li&gt;         &lt;/ul&gt;          &lt;div class="wlw_related_posts"&gt;from tag &lt;a href="http://del.icio.us/lmacvittie/ethernet"&gt;ethernet&lt;/a&gt;            &lt;br /&gt;&lt;/div&gt;          &lt;div class="wlw_related_posts"&gt;           &lt;ul&gt;             &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2010/05/03/thatrsquos-awesome-and-by-awesome-i-mean-stupid.aspx"&gt;That’s Awesome! And By Awesome I Mean Stupid&lt;/a&gt;&lt;/li&gt;           &lt;/ul&gt;         &lt;/div&gt; from tag &lt;a href="http://del.icio.us/lmacvittie/management"&gt;management&lt;/a&gt;          &lt;br /&gt;          &lt;ul&gt;           &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2010/05/27/why-it-needs-to-take-control-of-public-cloud-computing.aspx"&gt;Why IT Needs to Take Control of Public Cloud Computing&lt;/a&gt;&lt;/li&gt;            &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2010/05/17/when-microseconds-matter.aspx"&gt;When (Micro)Seconds Matter&lt;/a&gt;&lt;/li&gt;            &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/07/22/beware-the-availability-rat-hole-in-the-cloud.aspx"&gt;Beware the Availability Rat Hole in the Cloud&lt;/a&gt;&lt;/li&gt;            &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2008/10/01/virtual-server-sprawl-fud-or-fact.aspx"&gt;Virtual Server Sprawl: FUD or FACT?&lt;/a&gt;&lt;/li&gt;            &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2008/11/24/infrastructure-2.0-the-diseconomy-of-scale-virus.aspx"&gt;Infrastructure 2.0: The Diseconomy of Scale Virus&lt;/a&gt;&lt;/li&gt;            &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/12/04/next-generation-management-of-data-centers-should-be-modeled-on-social.aspx"&gt;Next-Generation Management of Data Centers Should be Modeled on Social Networking&lt;/a&gt;&lt;/li&gt;            &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2008/09/30/how-to-instrument-your-java-ee-applications-for-a-virtualized.aspx"&gt;How to instrument your Java EE applications for a virtualized environment&lt;/a&gt;&lt;/li&gt;            &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2008/12/01/managing-virtual-infrastructure-requires-an-application-centric-approach.aspx"&gt;Managing Virtual Infrastructure Requires an Application Centric Approach&lt;/a&gt;&lt;/li&gt;            &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/06/08/and-the-killer-app-for-private-cloud-computing-ishellip.aspx"&gt;And the Killer App for Private Cloud Computing Is...&lt;/a&gt;&lt;/li&gt;            &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2009/11/11/drowsy-networking-green-it.aspx"&gt;‘Drowsy’ Networking&lt;/a&gt;&lt;/li&gt;            &lt;li&gt;&lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2010/02/24/as-deep-as-a-puddle.aspx"&gt;As Deep as a Puddle&lt;/a&gt;&lt;/li&gt;         &lt;/ul&gt;         &lt;a href="http://del.icio.us/lmacvittie/management"&gt;(more..)&lt;/a&gt;&lt;/td&gt;        &lt;td valign="top" width="30%"&gt;         &lt;p&gt;&lt;a href="http://twitter.com/lmacvittie"&gt;&lt;img border="0" 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" height="18" /&gt;&lt;/a&gt; &lt;a title="Follow F5 Networks on Twitter" href="http://tweepml.org/F5-Networks-Tweeple/"&gt;&lt;img border="0" src="http://tweepml.org/s/tweepml16.png" width="18" height="18" /&gt;&lt;/a&gt; &lt;a title="Follow F5 DevCentral on Twitter" href="http://tweepml.org/F5-DevCentral/"&gt;&lt;img border="0" src="http://tweepml.org/s/tweepml16.png" width="18" height="18" /&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" /&gt;&lt;/a&gt; &lt;a href="http://www.slideshare.net/lmacvittie"&gt;&lt;img border="0" 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" height="18" /&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" /&gt;&lt;/a&gt; &lt;a href="http://www.friendfeed.com/lmacvittie"&gt;&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="friendfeed" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/friendfeed_3.jpg" width="18" height="18" /&gt;&lt;/a&gt; &lt;a href="http://www.facebook.com/lmacvittie"&gt;&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="icon_facebook" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/macvittie/WindowsLiveWriter/InfrastructureasaServiceHowcontextawares_69CD/icon_facebook_4.png" width="18" height="18" /&gt;&lt;/a&gt; &lt;/p&gt;          &lt;p&gt;&lt;a title="Subscribe using any feed reader!" href="http://www.addthis.com/feed.php?pub=lmacvittie&amp;amp;h1=http%3A%2F%2Fdevcentral.f5.com%2Fweblogs%2Fmacvittie%2FRss.aspx&amp;amp;t1="&gt;&lt;img border="0" alt="AddThis Feed Button" src="http://s9.addthis.com/button1-fd.gif" width="125" height="18" /&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 border="0" alt="Bookmark and Share" src="http://s9.addthis.com/button1-share.gif" width="125" height="18" /&gt;&lt;/a&gt; &lt;script type="text/javascript" src="http://track.mybloglog.com/js/jsserv.php?mblID=2008070914270355"&gt;&lt;/script&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p /&gt;  &lt;p&gt; &lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:c8c568f3-aec3-4ed4-84ee-d3c6b9f96874" class="wlWriterEditableSmartContent"&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/performance" rel="tag"&gt;performance&lt;/a&gt;,&lt;a href="http://technorati.com/tags/management" rel="tag"&gt;management&lt;/a&gt;,&lt;a href="http://technorati.com/tags/TOS" rel="tag"&gt;TOS&lt;/a&gt;,&lt;a href="http://technorati.com/tags/ethernet" rel="tag"&gt;ethernet&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/operations+performance+management" rel="tag"&gt;operations performance management&lt;/a&gt;,&lt;a href="http://technorati.com/tags/OPM" rel="tag"&gt;OPM&lt;/a&gt;,&lt;a href="http://technorati.com/tags/DSCP" rel="tag"&gt;DSCP&lt;/a&gt;,&lt;a href="http://technorati.com/tags/DiffServ" rel="tag"&gt;DiffServ&lt;/a&gt;,&lt;a href="http://technorati.com/tags/cloud+computing" rel="tag"&gt;cloud computing&lt;/a&gt;&lt;/div&gt;&lt;img src="http://devcentral.f5.com/weblogs/macvittie/aggbug/1090191.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Lori MacVittie</dc:creator>
            <guid>http://devcentral.f5.com/weblogs/macvittie/archive/2010/07/22/the-crayola-network.aspx</guid>
            <pubDate>Thu, 22 Jul 2010 11:10:56 GMT</pubDate>
            <wfw:comment>http://devcentral.f5.com/weblogs/macvittie/comments/1090191.aspx</wfw:comment>
            <comments>http://devcentral.f5.com/weblogs/macvittie/archive/2010/07/22/the-crayola-network.aspx#feedback</comments>
            <slash:comments>2</slash:comments>
            <wfw:commentRss>http://devcentral.f5.com/weblogs/macvittie/comments/commentRss/1090191.aspx</wfw:commentRss>
            <trackback:ping>http://devcentral.f5.com/weblogs/macvittie/services/trackbacks/1090191.aspx</trackback:ping>
        </item>
    </channel>
</rss>
