<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">
    <title>Nati Shalom's Blog</title>
    
    <link rel="alternate" type="text/html" href="http://natishalom.typepad.com/nati_shaloms_blog/" />
    <id>tag:typepad.com,2003:weblog-1309908</id>
    <updated>2013-05-19T13:13:22+02:00</updated>
    <subtitle>Thoughts on Scalability, NoSQL, Big Data, DevOps, Cloud, PaaS </subtitle>
    <generator uri="http://www.typepad.com/">TypePad</generator>
    <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/NatiShalom" /><feedburner:info uri="natishalom" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry>
        <title>Ramping Up for the 3rd OpenStack Israel - the Biggest One Yet</title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/NatiShalom/~3/CSjzko9Q-WE/ramping-up-for-the-3rd-openstack-israel-the-biggest-one-yet.html" />
        <link rel="replies" type="text/html" href="http://natishalom.typepad.com/nati_shaloms_blog/2013/05/ramping-up-for-the-3rd-openstack-israel-the-biggest-one-yet.html" thr:count="0" />
        <id>tag:typepad.com,2003:post-6a00d835457b7453ef0192aa16524d970d</id>
        <published>2013-05-19T13:13:22+02:00</published>
        <updated>2013-05-19T13:16:59+02:00</updated>
        <summary>OpenStack is one of the fastest growing open source projects in the history and is quickly becoming the de-facto standard for Open Cloud Data Center. The project is gaining maturity quickly with major companies such as PayPal, eBay, BestBuy, Intel,...</summary>
        <author>
            <name>Nati Shalom</name>
        </author>
        <category scheme="http://www.sixapart.com/ns/types#category" term="Cloud" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Cloud Computing" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Community" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Conference" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Open Source" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="OpenStack" />
        
        
<content type="html" xml:lang="he" xml:base="http://natishalom.typepad.com/nati_shaloms_blog/">&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;p&gt;OpenStack is one of the fastest growing open source projects in the history and is quickly becoming the de-facto standard for Open Cloud Data Center. The project is gaining maturity quickly with major companies such as PayPal, eBay, BestBuy, Intel, Samsung, Bloomberg and HubSpot using it in production, with major vendors such as HP, Rackspace, IBM, Redhat, Ubuntu and GigaSpaces behind the technology.&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://natishalom.typepad.com/.a/6a00d835457b7453ef01901c57ecea970b-pi"&gt;&lt;img alt="OpenStack-Israel-home-page" border="0" height="158" src="http://natishalom.typepad.com/.a/6a00d835457b7453ef0191024df115970c-pi" style="display: block; float: none; margin-left: auto; margin-right: auto; border-width: 0px;" title="OpenStack-Israel-home-page" width="407"&gt;&lt;/img&gt;&lt;/a&gt; &lt;/p&gt;&#xD;
&lt;p&gt;On May 27th, we will open the doors for &lt;a href="http://www.openstack-israel.org/" target="_blank"&gt;OpenStack Israel&lt;/a&gt; for what will our biggest OpenStack Israel yet with over 350 attendees. We welcome top industry leaders to Israel to discuss the latest news in OpenStack, as well as showcase real life case studies from Intel, LivePerson, Alcatel , Mirantis and eNovance. This event would not be possible without support from the OpenStack Foundation and the IGTCloud as well as from our sponsors: GigaSpaces, HP, IBM, Rackspace, Cloudsoft, eNovance and CICC. The conference will be held in the Herzilya Arts Center in Herzilya, Israel on May 27th, 2013.&lt;/p&gt;&#xD;
&lt;p&gt;As a member of the &lt;a href="http://www.openstack-israel.org/#!openstack-israel-committee/c1kik" target="_blank"&gt;OpenStack Israel Committee&lt;/a&gt;, I am excited to see that Israel is one of the three locations leading the adoption of OpenStack in Europe (with Germany and Hungary), with more startups, ISVs and organizations joining this year. Unlike in previous years, this year we have had tremendous support for the event, bringing in new committee members, building an agenda with a record number of speakers from all over the world as well as an unprecedented number of attendee registrations. The event will exhibit great content with fresh case studies as well as technical sessions covering the core aspects of OpenStack. For those who want to get their hands "dirty" with OpenStack, we have also arranged a three day training session following the event through collaboration with StackOps.  For details on the schedule see the &lt;a href="http://www.openstack-israel.org/#!agenda/cee5"&gt;event agenda&lt;/a&gt;.&lt;/p&gt;&#xD;
&lt;p&gt;With a focus on OpenStack technology, innovation and implementations, attendees will hear actual case studies as speakers from Intel, LivePerson, Alcatel and others will share their user experiences with OpenStack. Guests will learn how leading OpenStack cloud providers, software vendors and system integrators  are now delivering OpenStack-based clouds and solutions to the market. The session tracks will take guests on a technological deep-dive into the inner workings and frameworks around OpenStack technology.&lt;/p&gt;&#xD;
&lt;p&gt;This is sure to be a big event, both in size and in success. I encourage everyone to come out and see how OpenStack has had an impact on countless organizations, both here in Israel and abroad. &lt;a href="http://www.openstack-israel.org/"&gt;Register today&lt;/a&gt; for your spot at OpenStack Israel. I hope to see you all there.&lt;/p&gt;&#xD;
&lt;p&gt;References:&lt;/p&gt;&#xD;
&lt;ul&gt;&#xD;
&lt;li&gt;&lt;a href="http://www.reversim.com/2013/05/181-carburetors-7.html" target="_blank"&gt;Podcast&lt;/a&gt; &lt;/li&gt;&#xD;
&lt;/ul&gt;&#xD;
&lt;ul&gt;&#xD;
&lt;li&gt;&lt;a href="https://wiki.openstack.org/wiki/ReleaseNotes/Grizzly#OpenStack_2013.1_.28Grizzly.29_Release_Notes" target="_blank"&gt;OpenStack Grizzly&lt;/a&gt; &lt;/li&gt;&#xD;
&lt;/ul&gt;&#xD;
&lt;ul&gt;&#xD;
&lt;li&gt;&lt;a href="https://www.openstack.org/summit/portland-2013/"&gt;OpenStack Portland&lt;/a&gt; &lt;/li&gt;&#xD;
&lt;/ul&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/NatiShalom?a=CSjzko9Q-WE:VzwmBOR2i4c:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/NatiShalom?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/NatiShalom?a=CSjzko9Q-WE:VzwmBOR2i4c:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/NatiShalom?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/NatiShalom/~4/CSjzko9Q-WE" height="1" width="1"/&gt;</content>



    <feedburner:origLink>http://natishalom.typepad.com/nati_shaloms_blog/2013/05/ramping-up-for-the-3rd-openstack-israel-the-biggest-one-yet.html</feedburner:origLink></entry>
    <entry>
        <title>Using the Cloudify Player as an Open Source Framework for Building Your Own Cloud Application Marketplace on OpenStack</title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/NatiShalom/~3/n9qED-WdFiI/using-the-cloudify-player-as-an-open-source-framework-for-building-your-own-cloud-application-marketplace-on-openstack.html" />
        <link rel="replies" type="text/html" href="http://natishalom.typepad.com/nati_shaloms_blog/2013/05/using-the-cloudify-player-as-an-open-source-framework-for-building-your-own-cloud-application-marketplace-on-openstack.html" thr:count="0" />
        <id>tag:typepad.com,2003:post-6a00d835457b7453ef017eeb1e042d970d</id>
        <published>2013-05-13T16:44:41+02:00</published>
        <updated>2013-05-13T17:45:26+02:00</updated>
        <summary>In the previous post, I outlined the main lessons learned from the Amazon Cloud Marketplace and suggested an alternative approach for building an open marketplace. In this post I'll refer to a specific implementation of that alternative approach through a...</summary>
        <author>
            <name>Nati Shalom</name>
        </author>
        <category scheme="http://www.sixapart.com/ns/types#category" term="Amazon Web Services" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="AWS" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Cloud" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Cloud Computing" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Cloudify" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Community" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="GigaSpaces" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Open Source" />
        
        
<content type="html" xml:lang="he" xml:base="http://natishalom.typepad.com/nati_shaloms_blog/">&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;p&gt;&lt;a href="http://natishalom.typepad.com/nati_shaloms_blog/2013/05/amazon-marketplace-not-a-fair-play-thoughts-on-an-open-marketplace-alternative-with-openstack.html"&gt;In the previous post&lt;/a&gt;, I outlined the main lessons learned from the Amazon Cloud Marketplace and suggested an alternative approach for building an open marketplace.&lt;/p&gt;&#xD;
&lt;p&gt;In this post I'll refer to a specific implementation of that alternative approach through a new Cloudify Service called the Cloudify Player.&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;Introduction to the Cloudify Player&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;Cloudify Player is a new patent-based service that makes the experience of trying and deploying even the most complex, multi-tier big data applications as simple as playing a video on YouTube. The new service currently supports OpenStack-based clouds and is available as a free online service from &lt;a href="https://www.hpcloud.com/"&gt;&lt;strong&gt;HP&lt;/strong&gt; Cloud Services&lt;/a&gt; and GigaSpaces’ &lt;a href="http://www.cloudifysource.org/"&gt;Cloudify&lt;/a&gt;. The source code for the service is also available as an open source project on Github. The Player was developed in collaboration with HP Cloud Services, GigaSpaces’ cloud partner and leading provider of OpenStack-based public cloud services.&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;Cloudify Player an End User Perspective&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;The Cloudify Player provides a user-friendly and hassle-free user experience in which applications are "played" in similar fashion to the way you play a video online. Users can choose and browse applications from public catalogs that are based on Github. Similarly to YouTube, users can share the applications or embed them easily on their blog or website.&lt;/p&gt;&#xD;
&lt;p&gt;Users can choose to play any application as a free trial or for full production under their account.&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://natishalom.typepad.com/.a/6a00d835457b7453ef017eeb1e03c3970d-pi"&gt;&lt;img alt="clip_image002" border="0" height="181" src="http://natishalom.typepad.com/.a/6a00d835457b7453ef01910216a10b970c-pi" style="display: inline; border: 0px;" title="clip_image002" width="244"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;Technical Overview&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;The Cloudify Player consists of the following components as outlined below:&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;&lt;a href="http://natishalom.typepad.com/.a/6a00d835457b7453ef01910216a128970c-pi"&gt;&lt;img alt="clip_image004" border="0" height="142" src="http://natishalom.typepad.com/.a/6a00d835457b7453ef01901c209ab5970b-pi" style="display: inline; border: 0px;" title="clip_image004" width="244"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;Web Front End&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;The Web Front End is based on two main interfaces: a widget interface which allows users to browse through a list of applications and deploy them, and a widget management form is provided to allow users to easily publish new applications.&lt;/p&gt;&#xD;
&lt;p&gt;Users can use one of the two deployment options - a trial deployment provides a free non-gated experience for running the selected application on a single machine. Registered users can provide their cloud credentials and route the application into their cloud environment. In this way, they can also monitor the deployed instances through their cloud management console.&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;Multi&lt;/strong&gt;&lt;strong&gt;-&lt;/strong&gt;&lt;strong&gt;Tenant Orchestrator and Monitoring&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;The multi-tenant orchestration and monitoring service is responsible for parsing the selected application recipe and for executing the deployment of that application based on the description provided in the recipe. The web-based management allows users to monitor and manage the deployed application.&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;&lt;a href="http://natishalom.typepad.com/.a/6a00d835457b7453ef01910216a14b970c-pi"&gt;&lt;img alt="clip_image006" border="0" height="107" src="http://natishalom.typepad.com/.a/6a00d835457b7453ef017eeb1e03f8970d-pi" style="display: inline; border: 0px;" title="clip_image006" width="244"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;Application Analytics&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;Application activities are sent into an analytics service that produce real-time usage reports on the most-active application, as well as the user experience activities.&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;&lt;a href="http://natishalom.typepad.com/.a/6a00d835457b7453ef01910216a15f970c-pi"&gt;&lt;img alt="clip_image008" border="0" height="141" src="http://natishalom.typepad.com/.a/6a00d835457b7453ef01901c209ae1970b-pi" style="display: inline; border: 0px;" title="clip_image008" width="244"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;Service Catalogue Repository&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;The Service Catalogue is based on a Github clone.&lt;/p&gt;&#xD;
&lt;p&gt;Users use the repository to store their application recipes, track versions, manage history of updates, etc.&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://natishalom.typepad.com/.a/6a00d835457b7453ef01910216a17a970c-pi"&gt;&lt;img alt="clip_image010" border="0" height="244" src="http://natishalom.typepad.com/.a/6a00d835457b7453ef01910216a18a970c-pi" style="display: inline; border: 0px;" title="clip_image010" width="100"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;Cloud Pools&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;Cloudify can be integrated with various public and private clouds using out-of-the-box plug-ins.&lt;/p&gt;&#xD;
&lt;p&gt;There are basically two main cloud pools that are used in this architecture:&lt;/p&gt;&#xD;
&lt;p&gt;1. Free Trial Pool - The free trial pool is used to speed up the deployment experience during the trial stage. This pool is limited for time and is initially set for a single VM per deployment to avoid quick exhaustion of resources from the free pool.&lt;/p&gt;&#xD;
&lt;p&gt;2. Production User Cloud - Users that pass their credentials could use the same interface for deploying application under their account. In this case they are not limited in time nor the number of nodes per application.&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;Product Overview for IT Managers and DevOps&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;The Cloudify Player was designed to fit into a DevOps environment in which applications are expected to be modified on a continuous basis after they have been deployed. Users can add new applications easily by wrapping them with a simple script, called a recipe. Recipes can be based on either Chef or Puppet.  Recipes can be modified after they have been published by each end user before the deployment takes place.&lt;/p&gt;&#xD;
&lt;p&gt;Users can monitor and manage their applications using a single management dashboard. The management dashboard allows users to monitor the application topology and behavior as well as view real time logging and even open SSH console if needed.&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;Summary of the &lt;/strong&gt;&lt;strong&gt;M&lt;/strong&gt;&lt;strong&gt;ain &lt;/strong&gt;&lt;strong&gt;F&lt;/strong&gt;&lt;strong&gt;eatures&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;ul&gt;&#xD;
&lt;li&gt;Out-of-the-box support for 100s of products (Leveraging the existing Chef/Puppet support)&lt;/li&gt;&#xD;
&lt;li&gt;Supports full life cycle of user experience from simple free trial to full production&lt;/li&gt;&#xD;
&lt;li&gt;Specific support for Big Data clusters, including Database as a Service, Hadoop as a Service, MongoDB as a Service, etc.&lt;/li&gt;&#xD;
&lt;li&gt;Can run clusters rather than just individual VMs&lt;/li&gt;&#xD;
&lt;li&gt;Application can run outside of the marketplace using the same tools&lt;/li&gt;&#xD;
&lt;li&gt;Users can easily customize the services from the catalog for their own purposes, including the possibility to run their own version of each item in the catalog. Advanced users can leverage the built-in Chef &amp;amp; Puppet support for advanced configuration management.&lt;/li&gt;&#xD;
&lt;li&gt;Built in multi-tenant application management so that each user can monitor and manage all of the products under his/her account using a single application-centric dashboard&lt;/li&gt;&#xD;
&lt;li&gt;Built-in integration with analytics tools to support tracking of user activity&lt;/li&gt;&#xD;
&lt;/ul&gt;&#xD;
&lt;p&gt;&lt;strong&gt;Using Cloudify to &lt;/strong&gt;&lt;strong&gt;B&lt;/strong&gt;&lt;strong&gt;uild &lt;/strong&gt;&lt;strong&gt;Y&lt;/strong&gt;&lt;strong&gt;our &lt;/strong&gt;&lt;strong&gt;O&lt;/strong&gt;&lt;strong&gt;wn &lt;/strong&gt;&lt;strong&gt;M&lt;/strong&gt;&lt;strong&gt;arketplace&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;The Cloudify Player was designed to simplify the deployment of applications in the cloud. The open nature of the Cloudify Player provides many of the features required for building a marketplace in your own environment under your brand and with the application of your choice. In addition, we’ve put a lot of emphasise on making the user experience simple while ensuring a smooth transition from a hassle-free trial to full production usage.&lt;/p&gt;&#xD;
&lt;p&gt;You can try out the OpenStack version that we launched in collaboration with HP at &lt;a href="http://www.cloudifysource.org/cloudifyRecipeCatalog.html"&gt;www.cloudifysoure.org&lt;/a&gt;&lt;strong&gt;&lt;/strong&gt;.&lt;/p&gt;&#xD;
&lt;p&gt;For more information about the Cloudify Player and how it works, please see Uri Cohen’s blog post &lt;a href="http://www.cloudifysource.org/2013/05/15/introducing_the_cloudify_player.html"&gt;Introducing the Cloudify Player&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/NatiShalom?a=n9qED-WdFiI:wEitUlqRTXA:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/NatiShalom?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/NatiShalom?a=n9qED-WdFiI:wEitUlqRTXA:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/NatiShalom?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/NatiShalom/~4/n9qED-WdFiI" height="1" width="1"/&gt;</content>



    <feedburner:origLink>http://natishalom.typepad.com/nati_shaloms_blog/2013/05/using-the-cloudify-player-as-an-open-source-framework-for-building-your-own-cloud-application-marketplace-on-openstack.html</feedburner:origLink></entry>
    <entry>
        <title>Amazon Marketplace - Not a Fair Play, Thoughts on an Open Marketplace Alternative with OpenStack</title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/NatiShalom/~3/cKgjTKxxs_s/amazon-marketplace-not-a-fair-play-thoughts-on-an-open-marketplace-alternative-with-openstack.html" />
        <link rel="replies" type="text/html" href="http://natishalom.typepad.com/nati_shaloms_blog/2013/05/amazon-marketplace-not-a-fair-play-thoughts-on-an-open-marketplace-alternative-with-openstack.html" thr:count="1" thr:updated="2013-05-24T22:18:32+02:00" />
        <id>tag:typepad.com,2003:post-6a00d835457b7453ef01901c20784f970b</id>
        <published>2013-05-13T16:25:25+02:00</published>
        <updated>2013-05-13T16:28:02+02:00</updated>
        <summary>The Promise of a Cloud Application Marketplace The cloud has clearly emerged as the new world. Today, we find ourselves in an era of land-grabbing in which everyone wants the bigger piece of this new world. Amazon has the advantage...</summary>
        <author>
            <name>Nati Shalom</name>
        </author>
        <category scheme="http://www.sixapart.com/ns/types#category" term="Amazon Web Services" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="AWS" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Cloud" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Cloud Computing" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Cloudify" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Community" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Continuous Deployment" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Open Source" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="OpenStack" />
        
        
<content type="html" xml:lang="he" xml:base="http://natishalom.typepad.com/nati_shaloms_blog/">&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;p&gt;&lt;strong&gt;The &lt;/strong&gt;&lt;strong&gt;P&lt;/strong&gt;&lt;strong&gt;romise of a Cloud Application Market&lt;/strong&gt;&lt;strong&gt;p&lt;/strong&gt;&lt;strong&gt;lace&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;The cloud has clearly emerged as the new world. Today, we find ourselves in an era of land-grabbing in which everyone wants the bigger piece of this new world.&lt;/p&gt;&#xD;
&lt;p&gt;Amazon has the advantage of being the first to grab. Others would like to follow in Amazon’s footsteps, but are met with the challenge of not being able to out-pace Amazon.&lt;/p&gt;&#xD;
&lt;p&gt;For those of us who aren’t Amazon, forming a coalition of some sort could be a good strategy.&lt;/p&gt;&#xD;
&lt;p&gt;One way of forming a coalition is through a marketplace, a system that enables faster growth through ecosystem partners.&lt;/p&gt;&#xD;
&lt;p&gt;A good example of how such a dynamic will work can be seen in today's world of mobile applications. Both Apple and Google were able to create strong marketplaces that grow much faster than they would have organically and add significant stickiness to their platforms.&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://natishalom.typepad.com/.a/6a00d835457b7453ef019102167e0f970c-pi"&gt;&lt;img alt="clip_image002" border="0" height="140" src="http://natishalom.typepad.com/.a/6a00d835457b7453ef019102167e49970c-pi" style="display: inline; border-width: 0px;" title="clip_image002" width="244"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;Challenges of &lt;/strong&gt;&lt;strong&gt;B&lt;/strong&gt;&lt;strong&gt;uilding a &lt;/strong&gt;&lt;strong&gt;M&lt;/strong&gt;&lt;strong&gt;arketplace - Lessons from the Mobile Application Market&lt;/strong&gt;&lt;strong&gt;p&lt;/strong&gt;&lt;strong&gt;lace&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;A marketplace can be an excellent strategy for forming a coalition of partners and growing your offering significantly faster than you would if you were to try to grow organically.&lt;/p&gt;&#xD;
&lt;p&gt;Having said that, there is a significant advantage to being the first. As we have seen in the mobile application world, others who have tried to build a similar marketplace to that of Google and Apple are facing significant difficulties in attracting partners to their marketplaces (See Microsoft Surface as an example).&lt;/p&gt;&#xD;
&lt;p&gt;The main reason for these challenges is the Chicken vs. the Egg problem. In other words, for any marketplace to work, two essential factors must be in place: suppliers and consumers. Apple and Google already had their consumer-base and, therefore, it was easier for them to attract suppliers. Microsoft, on the other hand, does not yet have the mobile consumer-base on its side and is therefore facing a hard battle to bring in the suppliers.&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;A Cloud Application Market&lt;/strong&gt;&lt;strong&gt;p&lt;/strong&gt;&lt;strong&gt;lace&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;A Cloud Application Marketplace is similar in concept to that of mobile applications, but aims at cloud data-center services such as Database services, Application Containers, Messaging, CMS, CRM etc which are deployed on a cloud.&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;Amazon Cloud Market&lt;/strong&gt;&lt;strong&gt;p&lt;/strong&gt;&lt;strong&gt;lace&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;The marketplace concept is nothing new to Amazon and is already running a successful marketplace for its eCommerce business.&lt;/p&gt;&#xD;
&lt;p&gt;It only made sense for Amazon to latch on that model and use it as a basis for building its Cloud Application Marketplace, as described &lt;a href="http://thenextweb.com/insider/2012/04/19/amazon-launches-aws-marketplace-provides-third-party-tools-and-services-for-customers-in-the-cloud/"&gt;&lt;strong&gt;here&lt;/strong&gt;&lt;/a&gt;.&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;The Limitation&lt;/strong&gt;&lt;strong&gt;s&lt;/strong&gt;&lt;strong&gt; of Amazon Market&lt;/strong&gt;&lt;strong&gt;p&lt;/strong&gt;&lt;strong&gt;lace&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;While the promise of the a Cloud Marketplace as an ecosystem play is a no-brainer, an over-simplified implementation of it can yield a diminishing return as noted in &lt;a href="http://cloudstory.in/author/janakiramm/"&gt;&lt;strong&gt;Janakiram MSV&lt;/strong&gt;&lt;/a&gt; article &lt;a href="http://cloudstory.in/2012/04/aws-marketplace-an-oversimplification-of-the-cloud/"&gt;&lt;strong&gt;AWS Marketplace – An Oversimplification of the Cloud?&lt;/strong&gt;&lt;/a&gt; Janakiram points specifically to the following limitations:&lt;/p&gt;&#xD;
&lt;p&gt;· Persistent Services Limitation:&lt;/p&gt;&#xD;
&lt;blockquote&gt;&#xD;
&lt;p&gt;By default, the database and other persistence-dependent services are confined to the ephemeral storage or instance storage of the EC2 instance. This is a very risky proposition as the data will be lost completely in the case of an instance failure. I wouldn’t be comfortable even running a non-mission-critical application like a WordPress blog on EC2 without attaching an EBS volume.&lt;/p&gt;&#xD;
&lt;/blockquote&gt;&#xD;
&lt;p&gt;· Not Designed for Real Production:&lt;/p&gt;&#xD;
&lt;blockquote&gt;&#xD;
&lt;p&gt;Launching a LAMP or Tomcat stack with 1-Click is great for a small proof-of-concept or a demo, but no one would attempt this for a production application. Moving to the Cloud is not just about forklifting an app from on-premise server or a host to a VM. It is definitely much more than that! AWS Marketplace squarely focuses just on compute by launching an EC2 instance with pre-configured stack without considering any of the essential building block services like storage, networking and databases.&lt;/p&gt;&#xD;
&lt;/blockquote&gt;&#xD;
&lt;p&gt;· Loadbalancer Limitations:&lt;/p&gt;&#xD;
&lt;blockquote&gt;&#xD;
&lt;p&gt;For example, the Amazon EC2 instances launched through the Marketplace cannot be added to an Elastic Loadbalancer. I attempted to launch 2 instances of the free Tomcat 6.0/MySQL Stack provided by OpenLogic and adding them to an Elastic Loadbalancer. ELB threw an error and refused to add the instances. This is a huge limitation for any real-world web application that intends to run on a Tomcat instance launched via the Marketplace. I wouldn’t be comfortable running my web application in just one instance without any possibility of scaling out in the future.&lt;/p&gt;&#xD;
&lt;/blockquote&gt;&#xD;
&lt;p&gt;&lt;strong&gt;The &lt;/strong&gt;&lt;strong&gt;L&lt;/strong&gt;&lt;strong&gt;imitation&lt;/strong&gt;&lt;strong&gt;s&lt;/strong&gt;&lt;strong&gt; of the VM&lt;/strong&gt;&lt;strong&gt;-&lt;/strong&gt;&lt;strong&gt;Centric Approach&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;Cloud applications are often packaged and run on VMs. It seems only natural that if applications are packaged on VMs, a marketplace would be a repository of pre-packed VMs, as in the case of the AWS marketplace.&lt;/p&gt;&#xD;
&lt;p&gt;Having said that, there are some basic flaws in this assumption - cloud applications and services are much more complex. Many of the services and applications need to run on high-availability mode, which often means that they need to run in more than one availability zone with inter-connectivity between them. In addition, many of the services, such as database services or web-services, need to run in a cluster deployment. In order to do so, multiple instances of VMs must be deployed. As real life applications tend to be multi-tier, there needs to be a way to deploy a set of VMs with some level of interdependency between them. When running an application on the cloud, we often need to think of it as a living organism that continues to change and evolve, rather than one-off deployment.&lt;/p&gt;&#xD;
&lt;p&gt;All these factors make the VM-centric approach a good trial and demo tool, but as Jankiram pointed out, a significant over-simplification of what cloud applications tend to be.&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;AWS Market&lt;/strong&gt;&lt;strong&gt;p&lt;/strong&gt;&lt;strong&gt;lace - Not a &lt;/strong&gt;&lt;strong&gt;F&lt;/strong&gt;&lt;strong&gt;air&lt;/strong&gt;&lt;strong&gt; P&lt;/strong&gt;&lt;strong&gt;lay&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;In order for a marketplace to be successful, it is essential that all players will get a fair shot to win consumers.&lt;/p&gt;&#xD;
&lt;p&gt;A marketplace owner in this context needs to take the role of "honest broker."&lt;/p&gt;&#xD;
&lt;p&gt;Amazon offers a long list of its own set of services as products outside the marketplace that don't face the limitations I listed above, in contrast to the applications that do run on the marketplace and are met with these challenges. This gives Amazon an unfair advantage over its own partners.&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://natishalom.typepad.com/.a/6a00d835457b7453ef017eeb1de1b7970d-pi"&gt;&lt;img alt="clip_image004" border="0" height="236" src="http://natishalom.typepad.com/.a/6a00d835457b7453ef01901c20782b970b-pi" style="display: inline; border-width: 0px;" title="clip_image004" width="244"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt; &lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt; &lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;Building an &lt;/strong&gt;&lt;strong&gt;O&lt;/strong&gt;&lt;strong&gt;pen Market&lt;/strong&gt;&lt;strong&gt;p&lt;/strong&gt;&lt;strong&gt;lace on OpenStack&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;The creation of an open marketplace would serve as an alternative to that of Amazon. A good substrate for that alternative approach would be to use open cloud frameworks like OpenStack. OpenStack already has a growing community of users and a growing support of cloud providers which provide an excellent starting point for the marketplace.&lt;/p&gt;&#xD;
&lt;p&gt;Below are some of the principles that I believe should serve as a foundation for building an open marketplace.&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;A Recipe&lt;/strong&gt;&lt;strong&gt;-&lt;/strong&gt;&lt;strong&gt;Based Marketp&lt;/strong&gt;&lt;strong&gt;l&lt;/strong&gt;&lt;strong&gt;ace&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;While the basic unit of deployment in many clouds tends to be based on VMs in many *real* deployments, the VM is used mostly as a generic container of the operating-system. The actual application services are deployed through a DevOps automation tool such as Chef, Puppet or Cloud Formation (Heat is the OpenStack alternative for CloudFormation on OpenStack) after the VM has been created. In this way, the deployment unit is the recipe rather than the VM. The recipe is used to describe the application services that will be deployed into the VM after it has been created. Unlike a VM, a recipe can be extended beyond the boundary of a VM and can describe fairly complex, multi-tier, clustered applications. It can also deal with the automation of post-deployment processes such as upgrades, monitoring, fail-over etc.&lt;/p&gt;&#xD;
&lt;p&gt;Based on that description, it only makes sense that we will use recipes as the unit of deployment instead of VMs. In this way, we can overcome many of the AWS marketplace limitations that are outlined above. As there is no standard recipe model as of yet, we'll need to be able to integrate with existing recipes such as Chef, Puppet and CloudFormation.&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;Other &lt;/strong&gt;&lt;strong&gt;C&lt;/strong&gt;&lt;strong&gt;onsiderations&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;Having a recipe-based marketplace is a good starting point. However, there is much more to building a marketplace than to choosing the recipe-based engine upon which to run an application. The main challenge is around the user experience and mastering the balancing act of keeping the marketplace attractive for both the consumers and suppliers.&lt;/p&gt;&#xD;
&lt;p&gt;Below are some of the key principles that I believe should be taken into consideration when building an open marketplace:&lt;/p&gt;&#xD;
&lt;ul&gt;&#xD;
&lt;li&gt;Open source - An open source marketplace would enable different cloud providers to offer and share similar applications and services across different cloud providers. &lt;/li&gt;&#xD;
&lt;li&gt;Popular frameworks – The marketplace should be based on popular open frameworks such as Chef, Puppet or CloudFormation/Heat templates. &lt;/li&gt;&#xD;
&lt;li&gt;Reduce the barrier to entry - Make the investment of porting the application to the marketplace worth the effort beyond the marketplace. To reduce the barrier of porting applications into the marketplace we need to design it in such a way that we could use the same elements for deploying our application outside the marketplace. &lt;/li&gt;&#xD;
&lt;li&gt;Support both multi-tier and cluster deployments &lt;/li&gt;&#xD;
&lt;li&gt;Extensible - Users can pick a service from the marketplace and easily customize it to their needs. &lt;/li&gt;&#xD;
&lt;li&gt;Fair play - Applications that are running through the marketplace should have the exact same capabilities as any application that is running outside of the marketplace. &lt;/li&gt;&#xD;
&lt;/ul&gt;&#xD;
&lt;p&gt;&lt;strong&gt;If You &lt;/strong&gt;&lt;strong&gt;Build &lt;/strong&gt;&lt;strong&gt;I&lt;/strong&gt;&lt;strong&gt;t&lt;/strong&gt;&lt;strong&gt;,&lt;/strong&gt;&lt;strong&gt; &lt;/strong&gt;&lt;strong&gt;T&lt;/strong&gt;&lt;strong&gt;hey &lt;/strong&gt;&lt;strong&gt;W&lt;/strong&gt;&lt;strong&gt;ill &lt;/strong&gt;&lt;strong&gt;C&lt;/strong&gt;&lt;strong&gt;ome - &lt;/strong&gt;&lt;strong&gt;D&lt;/strong&gt;&lt;strong&gt;oesn't &lt;/strong&gt;&lt;strong&gt;W&lt;/strong&gt;&lt;strong&gt;ork&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;These days I'm seeing many cloud providers trying to mimic Amazon’s success and launch their own marketplace. As in the case of Amazon, they also start with a VM-centric approach and thus, inherit many of its limitations. Furthermore, the main problem that I see with many of those attempts is that they seem to be taking the "if you build it, they will come" approach, not realizing that they don't have the advantage of being first and, more importantly, are not at the same point where Amazon was when it launched its marketplace ( i.e. with a huge consumer-base running on their platform).&lt;/p&gt;&#xD;
&lt;p&gt;As a result, I personally believe that many of those attempts are doomed to fail.&lt;/p&gt;&#xD;
&lt;p&gt;The real opportunity IMHO is to take a more open approach that could work outside the boundaries of a specific cloud provider. OpenStack could serve as a great starting point for forming this ecosystem.&lt;/p&gt;&#xD;
&lt;p&gt;To illustrate the points from this post on what an Open Marketplace could look like, in the next post I'll refer to how we use Cloudify as an open source framework for building your own cloud application marketplace on OpenStack.&lt;/p&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/NatiShalom?a=cKgjTKxxs_s:_WKS6ERgYh0:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/NatiShalom?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/NatiShalom?a=cKgjTKxxs_s:_WKS6ERgYh0:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/NatiShalom?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/NatiShalom/~4/cKgjTKxxs_s" height="1" width="1"/&gt;</content>



    <feedburner:origLink>http://natishalom.typepad.com/nati_shaloms_blog/2013/05/amazon-marketplace-not-a-fair-play-thoughts-on-an-open-marketplace-alternative-with-openstack.html</feedburner:origLink></entry>
    <entry>
        <title>Real-Time Big Data with Storm, Cassandra, and XAP</title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/NatiShalom/~3/osmHEm2uCXA/real-time-big-data-with-storm-cassandra-and-xap-1.html" />
        <link rel="replies" type="text/html" href="http://natishalom.typepad.com/nati_shaloms_blog/2013/04/real-time-big-data-with-storm-cassandra-and-xap-1.html" thr:count="1" thr:updated="2013-05-09T09:52:23+02:00" />
        <id>tag:typepad.com,2003:post-6a00d835457b7453ef017c386a54ba970b</id>
        <published>2013-04-07T15:01:11+02:00</published>
        <updated>2013-04-07T15:03:20+02:00</updated>
        <summary>Real-time Big Data is becoming more and more common in Big Data systems. One of the most common frameworks used for running real-time Big Data system is Twitter Storm backed by a NoSQL database, as shown in the diagram below:...</summary>
        <author>
            <name>Nati Shalom</name>
        </author>
        <category scheme="http://www.sixapart.com/ns/types#category" term="Architecture" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Availability" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Big Data" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Cassandra" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Cloud" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Cloud Computing" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Cloudify" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Data Grid" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="databases" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="GigaSpaces" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Grid" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Java/J2EE" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="latency" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="NOSQL" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="real-time" />
        
        
<content type="html" xml:lang="he" xml:base="http://natishalom.typepad.com/nati_shaloms_blog/">&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;p&gt;Real-time Big Data is becoming more and more common in Big Data systems.&lt;/p&gt;&#xD;
&lt;p&gt;One of the most common frameworks used for running real-time Big Data system is Twitter Storm backed by a NoSQL database, as shown in the diagram below:&lt;/p&gt;&#xD;
&lt;p&gt; &lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://natishalom.typepad.com/.a/6a00d835457b7453ef017d429921f8970c-pi"&gt;&lt;img alt="Natis blog" border="0" height="322" src="http://natishalom.typepad.com/.a/6a00d835457b7453ef017d429921f8970c-800wi" title="Natis blog" width="375"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;In this architecture, Storm is used for processing data as it comes in and the NoSQL data store is used as the output for that processing as well as for reference data storage.&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;Challenges&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;This architecture presents a couple of challenges:&lt;/p&gt;&#xD;
&lt;ul&gt;&#xD;
&lt;li&gt;&lt;strong&gt;Performance&lt;/strong&gt; - Storm runs in-memory, and is therefore set to process large volumes of data at in-memory speed. However, a typical storm architecture needs to interface with a data source for its input and a data source for its output. In this context, the overall performance is now determined not by Storm itself but by the data input and output sources. Quite often these interfaces rely on file-based message queues for streaming, and NoSQL for data storage. These interfaces are at least an order of magnitude slower than Storm itself, and therefore become the limiting factor. &lt;/li&gt;&#xD;
&lt;li&gt;&lt;strong&gt;Complexity&lt;/strong&gt; - Storm itself consists of several moving parts, such as a coordinator  (ZooKeeper), state manager (Nimbus), and processing nodes (Supervisor). The NoSQL data store also comes with its own cluster management. In addition, a typical Big Data system comes with more components such as the application front end, a reporting database, and more. This makes the process of managing the deployment, configuration, fail-over and scaling of such a system quite complex.&lt;/li&gt;&#xD;
&lt;/ul&gt;&#xD;
&lt;p&gt;&lt;strong&gt;Meeting the &lt;/strong&gt;&lt;strong&gt;P&lt;/strong&gt;&lt;strong&gt;erformance Challenge&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;Given that Storm itself runs in memory, it only makes sense that in order for Storm to run at maximum capacity the streaming and data store interfaces should be implemented in-memory as well, as shown below:&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://natishalom.typepad.com/.a/6a00d835457b7453ef017c386a0b34970b-pi"&gt;&lt;img alt="Natisblog2" border="0" height="313" src="http://natishalom.typepad.com/.a/6a00d835457b7453ef017c386a0b34970b-800wi" title="Natisblog2" width="441"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;As you can see in the above architecture, we added two interfaces that rely on a built-in Storm plug-in - one for the data inputs and the second for data output. In both cases, the underlying implementation is memory-based, and thus removing the impedance that the previous architecture included.&lt;/p&gt;&#xD;
&lt;p&gt;You can read the full details on how this integration works, including a code example, in DeWayne Filppi's post &lt;a href="http://blog.gigaspaces.com/gigaspaces-and-storm-part-2-xap-integration/"&gt;&lt;strong&gt;on integration of in-memory computing with Cassandra.&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;The second optimization that can be added is to the NoSQL data store.&lt;/p&gt;&#xD;
&lt;p&gt;As most analytics applications tend to be read-mostly, we can speed up access to the NoSQL data store using an in-memory local cache. This architecture speeds up read performance between 10 to 1000 times as outlined by Shay Hassidim in his post &lt;a href="http://datastax.fmsfoundry.com/2013/03/big-data-real-time-performance-2%0A%0A%0A"&gt;&lt;strong&gt;on real-time Big Data performance&lt;/strong&gt;&lt;/a&gt;.&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://natishalom.typepad.com/.a/6a00d835457b7453ef017eea0d5f4f970d-pi"&gt;&lt;img alt="Natisblog3" border="0" src="http://natishalom.typepad.com/.a/6a00d835457b7453ef017eea0d5f4f970d-800wi" title="Natisblog3"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;Meeting the &lt;/strong&gt;&lt;strong&gt;C&lt;/strong&gt;&lt;strong&gt;omplexity Challenge&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;To meet the complexity challenge, we will use a DevOps automation approach using &lt;a href="http://www.cloudifysource.org/"&gt;&lt;strong&gt;Cloudify&lt;/strong&gt;&lt;/a&gt; in conjunction with Chef or Puppet.&lt;/p&gt;&#xD;
&lt;p&gt;With this approach, we wrap every service with a deployment recipe that abstracts the underlying details on how to manage Storm, Cassandra, and our in-memory data store. Cloudify uses these recipes to automate the deployment of the entire stack. In this way, you only need to interact with Cloudify for the deployment, configuration, and also scaling and fail-over of your stack rather than separately manage each individual component. In addition, we use Cloudify to abstract the underlying infrastructure. This enables us to use the same deployment recipe across different environments. One for testing, another for production, etc. We can also use the same approach to deploy our apps based on the type of workload. We can use a public cloud for running sporadic workload, and thus leverage the elasticity of the cloud and also enable us to create and scale the environment as well as rip it off completely when done. At the same time, we can choose bare-metal machines for I/O intensive workloads, and so on.&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://natishalom.typepad.com/.a/6a00d835457b7453ef017d4299133d970c-pi"&gt;&lt;img alt="Natisblog4" border="0" height="419" src="http://natishalom.typepad.com/.a/6a00d835457b7453ef017d4299133d970c-800wi" title="Natisblog4" width="534"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;You can read more on how you can set Storm using Cloudify on DeWayne's post on &lt;strong&gt;&lt;a href="http://blog.gigaspaces.com/gigaspaces-and-storm-part-1-storm-clouds/"&gt;Storm and the cloud&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;&#xD;
&lt;p&gt; Cloudify comes with a rich set of built-in recipes for other Big Data services as well, making the integration process an out of the box experience. The main ones are listed below:&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://natishalom.typepad.com/.a/6a00d835457b7453ef017d429913e7970c-pi"&gt;&lt;img alt="Natisblog5" border="0" height="381" src="http://natishalom.typepad.com/.a/6a00d835457b7453ef017d429913e7970c-800wi" title="Natisblog5" width="653"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;Final Notes - Optimi&lt;/strong&gt;&lt;strong&gt;z&lt;/strong&gt;&lt;strong&gt;ing without &lt;/strong&gt;&lt;strong&gt;C&lt;/strong&gt;&lt;strong&gt;ode &lt;/strong&gt;&lt;strong&gt;C&lt;/strong&gt;&lt;strong&gt;hange&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;Many real-time Big Data systems are now based on Twitter Storm and a NoSQL data store such as Cassandra.&lt;/p&gt;&#xD;
&lt;p&gt;In this post I tried to outline how we can optimize this architecture by addressing two areas: performance, and management.&lt;/p&gt;&#xD;
&lt;p&gt;The good news is that all this is possible to achieve seamlessly, without any code change. Let me explain:&lt;/p&gt;&#xD;
&lt;p&gt; In the case of Storm we used built-in plug-ins - Spout for streaming and Trident as the data store interface. In this way we can simply plug our memory-based plug-ins under these two integration points. All our existing Storm business logic would work pretty much the same.&lt;/p&gt;&#xD;
&lt;p&gt;We use the same plug-in approach to integrate our in-memory data store with our NoSQL data. This integration makes the data flow between our real time streaming to our NoSQL storage fairly transparently. In addition, it allows us to plug in different NoSQL data stores such as MongoDB, CouchBase, etc., giving us another degree of flexibility.&lt;/p&gt;&#xD;
&lt;p&gt; The same applies to our management layer. Existing Storm and NoSQL deployments are wrapped into plugged in recipes, and don't require any specific code changes.&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;Not Mutual&lt;/strong&gt;&lt;strong&gt;ly&lt;/strong&gt;&lt;strong&gt; Exclusive&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt; We don't have to implement all of the optimizations to gain the benefit of this architecture. Each of the optimization points can be plugged in  independently of the others. For  example, if your main pain point is complexity, you can start by only by adding the DevOps automation first. At the same time if your main pain point is performance, you can use the memory-based plug-ins to speed up processing.&lt;/p&gt;&#xD;
&lt;p&gt;The other advantage of the combined architecture that I haven't discussed in this post is that it provides more flexibility in the degrees of consistency and availability in which you set your system, as I outlined in one of my recent posts on the subject &lt;a href="http://natishalom.typepad.com/nati_shaloms_blog/2013/01/in-memory-computing-data-grid-for-big-data.html"&gt;&lt;strong&gt;In Memory Computing (Data Grid) for Big Data&lt;/strong&gt;&lt;/a&gt;. &lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;References&lt;/strong&gt;:&lt;/p&gt;&#xD;
&lt;ul&gt;&#xD;
&lt;li&gt;&lt;a href="http://datastax.fmsfoundry.com/2013/03/big-data-real-time-performance-2%0A%0A%0A"&gt;&lt;strong&gt;Big Data Real-Time Performance&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&#xD;
&lt;li&gt;&lt;a href="http://blog.gigaspaces.com/gigaspaces-and-storm-part-2-xap-integration/"&gt;&lt;strong&gt;GigaSpaces and Storm Part 2: XAP Integration&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&#xD;
&lt;li&gt;&lt;a href="http://blog.gigaspaces.com/gigaspaces-and-storm-part-1-storm-clouds/"&gt;&lt;strong&gt;GigaSpaces And Storm Part 1: Storm Clouds&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&#xD;
&lt;li&gt;&lt;a href="http://natishalom.typepad.com/nati_shaloms_blog/2013/01/in-memory-computing-data-grid-for-big-data.html"&gt;&lt;strong&gt;In Memory Computing (Data Grid) for Big Data&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&#xD;
&lt;li&gt;&lt;a href="http://blog.gigaspaces.com/xap-9-5-ga-is-here/" target="_blank"&gt;&lt;strong&gt;Check out how GigaSpaces XAP and Cassandra integration works&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&#xD;
&lt;/ul&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/NatiShalom?a=osmHEm2uCXA:vy768wiy4e4:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/NatiShalom?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/NatiShalom?a=osmHEm2uCXA:vy768wiy4e4:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/NatiShalom?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/NatiShalom/~4/osmHEm2uCXA" height="1" width="1"/&gt;</content>



    <feedburner:origLink>http://natishalom.typepad.com/nati_shaloms_blog/2013/04/real-time-big-data-with-storm-cassandra-and-xap-1.html</feedburner:origLink></entry>
    <entry>
        <title>Paypal To Drop VMware From 80,000 Servers and Replace It With OpenStack - My Take</title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/NatiShalom/~3/oXJ7kaA2TSg/paypal-to-drop-vmware-from-80000-servers-and-replace-it-with-openstack-my-take.html" />
        <link rel="replies" type="text/html" href="http://natishalom.typepad.com/nati_shaloms_blog/2013/03/paypal-to-drop-vmware-from-80000-servers-and-replace-it-with-openstack-my-take.html" thr:count="1" thr:updated="2013-04-05T08:21:35+02:00" />
        <id>tag:typepad.com,2003:post-6a00d835457b7453ef017d425eb1d1970c</id>
        <published>2013-03-29T09:19:55+01:00</published>
        <updated>2013-03-29T09:19:55+01:00</updated>
        <summary>Ruven Cohen published an article on Forbes pointing to Paypal's plan to move a large part of its servers from VMware to OpenStack. This is aligned also with what seems to be a general trend where enterprises use OpenStack to...</summary>
        <author>
            <name>Nati Shalom</name>
        </author>
        <category scheme="http://www.sixapart.com/ns/types#category" term="Current Affairs" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="databases" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="IBM" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Open Source" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="OpenStack" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Paypal" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Rackspace" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="VMware" />
        
        
<content type="html" xml:lang="he" xml:base="http://natishalom.typepad.com/nati_shaloms_blog/">&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;p&gt;&lt;a href="https://twitter.com/rUv" target="_blank"&gt;Ruven Cohen &lt;/a&gt;published an &lt;a href="http://www.forbes.com/sites/reuvencohen/2013/03/26/paypal-to-drop-vmware-from-80000-servers-and-replace-it-with-openstack/" target="_blank"&gt;article&#xD;
on Forbes&lt;/a&gt; pointing to Paypal's plan to move a large part of its&#xD;
servers from VMware to OpenStack.&lt;/p&gt;&#xD;
&lt;p&gt;This is aligned also&#xD;
with what seems to be a general trend where enterprises&lt;span style="color: #ff0000;"&gt; &lt;/span&gt;use OpenStack to reduce&#xD;
their VMware cost. They often start with a hybrid approach in which they move&#xD;
the less mission critical apps to OpenStack and keep the rest for VMware. I assume that this is only a transitional stage until we will see almost all the&#xD;
workload moving to OpenStack as soon as the organization will feel confident&#xD;
with the technology. &lt;/p&gt;&#xD;
&lt;p&gt;Paypal is not the only&#xD;
one who's moving away from VMware; &lt;a href="http://www.openstack-israel.org/#!about/cjg9" target="_blank"&gt;Koby Holzer&lt;/a&gt; from Live Person will be&#xD;
speaking on how Live Person uses OpenStack internally to reduce their VMware&#xD;
cost during the upcoming &lt;a href="http://www.openstack-israel.org" target="_blank"&gt;OpenStack&#xD;
Israel&lt;/a&gt; event. I'm sure that there are many others who have already taken that path, but were not as public about it.&lt;/p&gt;&#xD;
&lt;p&gt;&#xD;
&lt;a class="asset-img-link" href="http://natishalom.typepad.com/.a/6a00d835457b7453ef017c382f5767970b-pi" style="display: inline;"&gt;&lt;img alt="OpenStack_takes_out_VMWare" border="0" class="asset  asset-image at-xid-6a00d835457b7453ef017c382f5767970b" src="http://natishalom.typepad.com/.a/6a00d835457b7453ef017c382f5767970b-800wi" title="OpenStack_takes_out_VMWare"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;While the article&#xD;
focuses on the general trend, I thought that there is a bigger opportunity here worth noting.&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;The Opportunity&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;Clearly a failure of&#xD;
one player (VMware in this specific case) is an opportunity for others.&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: #111111;"&gt;The opportunity is for&#xD;
OpenStack providers, such as HP, Redhat, Rackspace and IBM, to take-on VMware&#xD;
directly rather than focus on winning on Amazon.&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;Why?&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;ul&gt;&#xD;
&lt;li&gt;VMware has a huge enterprise footprint&lt;/li&gt;&#xD;
&lt;li&gt;Private and hybrid clouds are at the heart of&#xD;
     enterprise cloud strategy&lt;/li&gt;&#xD;
&lt;li&gt;OpenStack is well positioned for the private cloud, given&#xD;
     its open source foundation&lt;/li&gt;&#xD;
&lt;li&gt;Having organizations such as HP, Rackspace,&#xD;
     Redhat, Mirantis and recently IBM behind OpenStack should also provide&#xD;
     enough comfort that the gaps that still exist will be bridged&#xD;
     shortly in a way that will fit the enterprise requirements.&lt;/li&gt;&#xD;
&lt;/ul&gt;&#xD;
&lt;p&gt;&lt;strong&gt;Timing is Everything..&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;OpenStack was created initially by Rackspace and NASA as a response to the strong dominance of Amazon&#xD;
as the leader in the cloud space. At that time, Amazon was the benchmark and the&#xD;
reference for the OpenStack project.&lt;/p&gt;&#xD;
&lt;p&gt;Many things have&#xD;
changed since OpenStack was fir&lt;span style="color: #111111;"&gt;st born that, IMHO, need to change some of the&#xD;
fundamental strategies for many of the OpenStack players.&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;ul&gt;&#xD;
&lt;li&gt;Amazon was quick to realize the threat and moved&#xD;
     remarkably fast up the stack, leaving &lt;span style="color: #111111;"&gt;enough of a gap to preserve its&#xD;
     leadership position.&lt;/span&gt;&lt;/li&gt;&#xD;
&lt;li&gt;&lt;span style="color: #111111;"&gt;VMware's response, on the other hand, was fairly poor, despite various attempts to move up the stack, including major acquisition&#xD;
     of SpringSource in 400M$, followed by a few other failed attempts, such as&#xD;
     VMforce which was later forked into CloudFondry which recently moved out&#xD;
     to a new pivotal fork under EMC.&lt;/span&gt; Now VMware seems to be taking another turn&#xD;
     with its continuously changing cloud strategy, but without real substance. This creates lots of skeptisim in the market over their ability to execute their plans, as noted in Bernard Golden's report: &lt;a href="http://news.idg.no/cw/art.cfm?id=B74026BA-DC3C-4784-AEA4B4B6BCFADAD2" target="_blank"&gt;VMware&#xD;
     Tantrum Shows It's Not Connecting With Cloud Buyers or Sellers&lt;/a&gt;&lt;/li&gt;&#xD;
&lt;/ul&gt;&#xD;
&lt;p&gt;Like VMware, many of the&#xD;
traditional enterprise players are now threatened by Amazon and need to fight&#xD;
back to defend their current position in the enterprise space.&lt;/p&gt;&#xD;
&lt;p&gt;From a technology&#xD;
perspective, the gap between OpenStack and VMware's offering is much smaller than&#xD;
with AWS. Most of those gaps can be easily bridged by the likes of HP, Redhat,&#xD;
Ubuntu, IBM and Rackspace.&lt;/p&gt;&#xD;
&lt;p&gt;All this makes VMware&#xD;
the right target for OpenStack providers rather than Amazon, at least at this&#xD;
point in time. With that in mind, the right strategy for OpenStack providers is&#xD;
to offer a VMware alternative based on OpenStack and have both a private and&#xD;
public offering of OpenStack that can be easily plugged together as a single&#xD;
compute cloud.&lt;/p&gt;&#xD;
&lt;h3&gt;&lt;strong&gt;References&lt;/strong&gt;&lt;/h3&gt;&#xD;
&lt;ul&gt;&#xD;
&lt;li&gt;&lt;a href="http://www.mirantis.com/why-mirantis/openstack-" target="_blank"&gt;Comparing VMware&#xD;
     and OpenStack&lt;/a&gt;&lt;/li&gt;&#xD;
&lt;li&gt;&lt;a href="http://www.forbes.com/sites/reuvencohen/2013/03/26/paypal-to-drop-vmware-from-80000-servers-and-replace-it-with-openstack/" target="_blank"&gt;Paypal&#xD;
     To Drop VMware From 80,000 Servers and Replace It With OpenStack (Updated)&lt;/a&gt;&lt;/li&gt;&#xD;
&lt;li&gt;&lt;a href="http://www.openstack-israel.org/" target="_blank"&gt;Moving&#xD;
     from VMware to OpenStack talk - Live Person &lt;/a&gt;&lt;/li&gt;&#xD;
&lt;li&gt;&lt;a href="http://news.idg.no/cw/art.cfm?id=B74026BA-DC3C-4784-AEA4B4B6BCFADAD2" target="_blank"&gt;VMware&#xD;
     Tantrum Shows It's Not Connecting With Cloud Buyers or Sellers&lt;/a&gt;&lt;/li&gt;&#xD;
&lt;li&gt;&lt;a href="http://www.theregister.co.uk/2013/01/29/vmware_q4_2012_numbers_layoffs/" target="_blank"&gt;VMWARE'S&#xD;
     GROWTH STALLS – LAYOFFS COMING, BUT SO ARE NEW HIRES&lt;/a&gt;&lt;/li&gt;&#xD;
&lt;/ul&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/NatiShalom?a=oXJ7kaA2TSg:lMHjkOLO-bw:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/NatiShalom?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/NatiShalom?a=oXJ7kaA2TSg:lMHjkOLO-bw:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/NatiShalom?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/NatiShalom/~4/oXJ7kaA2TSg" height="1" width="1"/&gt;</content>



    <feedburner:origLink>http://natishalom.typepad.com/nati_shaloms_blog/2013/03/paypal-to-drop-vmware-from-80000-servers-and-replace-it-with-openstack-my-take.html</feedburner:origLink></entry>
    <entry>
        <title>DevOps, PaaS and Everything in Between</title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/NatiShalom/~3/peTIhiQrQHw/devops-paas-and-everything-in-between.html" />
        <link rel="replies" type="text/html" href="http://natishalom.typepad.com/nati_shaloms_blog/2013/03/devops-paas-and-everything-in-between.html" thr:count="1" thr:updated="2013-03-22T09:03:40+01:00" />
        <id>tag:typepad.com,2003:post-6a00d835457b7453ef017ee9800d2e970d</id>
        <published>2013-03-18T19:41:36+01:00</published>
        <updated>2013-03-18T19:41:36+01:00</updated>
        <summary>This month Amazon announced AWS OpsWorks, which is the result of their acquisition of Peritor and the embedding of its Scalarium platform within AWS. OpsWorks is a new framework for simplifying the deployment of applications on the cloud. Given that...</summary>
        <author>
            <name>Nati Shalom</name>
        </author>
        <category scheme="http://www.sixapart.com/ns/types#category" term="Amazon Web Services" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="AWS" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Cloud" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Cloud Computing" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="DevOps" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="IaaS" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="PaaS" />
        
        
<content type="html" xml:lang="he" xml:base="http://natishalom.typepad.com/nati_shaloms_blog/">&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;p&gt;This&#xD;
month &lt;a href="http://gigaom.com/2013/02/19/amazon-adds-opsworks-application-life-cycle-management-to-aws-cloud/"&gt;Amazon announced&#xD;
AWS OpsWorks&lt;/a&gt;, which is the result of their acquisition of Peritor and the&#xD;
embedding of its Scalarium platform within AWS. OpsWorks is&lt;strong&gt; &lt;/strong&gt;a new framework for&#xD;
simplifying the deployment of applications on the cloud.&lt;/p&gt;&#xD;
&lt;p&gt;Given&#xD;
that Amazon already has a few frameworks automating application deployment,&#xD;
such as CloudFormation and Elastic Beanstalk, I find the addition of OpsWorks&#xD;
to the mix to be an important recognition of the void that exists between the&#xD;
existing PaaS and Automation frameworks.&lt;/p&gt;&#xD;
&lt;p&gt; &#xD;
&lt;a class="asset-img-link" href="http://natishalom.typepad.com/.a/6a00d835457b7453ef017d420ba3a5970c-pi" style="display: inline;"&gt;&lt;img alt="AWSOpsWorks" border="0" class="asset  asset-image at-xid-6a00d835457b7453ef017d420ba3a5970c image-full" src="http://natishalom.typepad.com/.a/6a00d835457b7453ef017d420ba3a5970c-800wi" title="AWSOpsWorks"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;In&#xD;
this post I'll try to zoom in to that void between PaaS and DevOps.&lt;/p&gt;&#xD;
&lt;p&gt;I'll&#xD;
start with a post that I wrote a few months back - &lt;a href="http://natishalom.typepad.com/nati_shaloms_blog/2012/01/there-are-currently-two-main-approaches-for-developing-and-managing-application-in-the-cloudpaas-paas-takes-a-developer-ap.html"&gt;PaaS Jailbreaker&lt;/a&gt;, in which I pointed out the two models for&#xD;
delivering applications in the cloud, from PaaS to DevOps. In this post I&#xD;
suggested that rather than thinking of the two models as separate entities, it&#xD;
would make sense to combine the two.&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://gigaom.com/author/jurquhart/"&gt;James&#xD;
Urquhart&lt;/a&gt; wrote an excellent article on GigaOM - &lt;a href="http://gigaom.com/2013/02/16/devops-complexity-and-anti-fragility-in-it-context-and-composition/" target="_blank"&gt;Is your PaaS &lt;em&gt;composable&lt;/em&gt; or &lt;/a&gt;&lt;em&gt;&lt;a href="http://gigaom.com/2013/02/16/devops-complexity-and-anti-fragility-in-it-context-and-composition/" target="_blank"&gt;contextual?&lt;/a&gt; &lt;/em&gt;In his article,&#xD;
Urquhart refers to the differences between the two approaches to PaaS as &lt;a href="http://gigaom.com/2013/02/16/devops-complexity-and-anti-fragility-in-it-context-and-composition/"&gt;composable&lt;/a&gt; vs contextual. A&#xD;
good example for a contextual approach is the plugin-based approach implemented by Heroku or &lt;a href="http://force.com/"&gt;Force.com&lt;/a&gt;. Plugins provide a&#xD;
flexible way to extend the platform, but the extension needs to fit&#xD;
into a certain model. For example, in the case of Heroku you don't control the&#xD;
actual VM or underlying cloud infrastructure, nor the network that is provided for that infrastructure. A composable approach, on the other hand, is focused on the composition of the different application components and, as such, doesn't&#xD;
need to assume anything about the underlying infrastructure that runs&#xD;
the components of our application. Amazon OpsWorks fits&#xD;
into that second category.&lt;/p&gt;&#xD;
&lt;p&gt;Urquhart specifically pointed out &lt;strong&gt;Dietzler’s Law for Access &lt;/strong&gt;as&#xD;
a way to illustrate the limitation of the contextual approach.  While the&#xD;
contextual approach (customization via plugins) provides some degree of&#xD;
flexibility, it is the 10% of the things that you can't control that matters most,&#xD;
as they define whether you'll be able to be deliver your application the way you&#xD;
want to:&lt;/p&gt;&#xD;
&lt;blockquote&gt;&#xD;
&lt;p&gt;Every Access project will eventually fail because, while 80% of what the&#xD;
user wants is fast and easy to create, and the next 10% is possible with difficulty,&#xD;
ultimately the last 10% is impossible because you can’t get far enough&#xD;
underneath the built-in abstractions, and users always want 100% of what they&#xD;
want.&lt;/p&gt;&#xD;
&lt;/blockquote&gt;&#xD;
&lt;p&gt;Interestingly&#xD;
enough, Amazon launched OpsWorks a week later.&lt;/p&gt;&#xD;
The introduction of OpsWorks&#xD;
was quite interesting as it came two years after Amazon launched its Heroku/GAE&#xD;
equivalent - Elastic Beanstalk. I found the announcement by Amazon quite&#xD;
interesting. The fact that they had a PaaS offering already and still found it&#xD;
necessary to launch a new platform for delivering applications is:&lt;ol&gt;&#xD;
&lt;li&gt;Acknowledgement that the current PaaS offering isn't a one-size-fits-all&#xD;
solution, and despite the various extensions that Amazon delivered to support&#xD;
other languages within the platform, there are still many applications, and consequently&#xD;
organizations, that do not fit into the Elastic Beanstalk model.&lt;/li&gt;&#xD;
&lt;li&gt;Recognition of the fact that within the realm of the application&#xD;
delivery, there is a need for a more open framework for delivering applications,&#xD;
and that realm needs to take a more "composable" approach. In the&#xD;
case of OpsWorks, the composable approach happens to rely on Chef and the&#xD;
OpsWorks orchestration layer on top of it.&lt;/li&gt;&#xD;
&lt;/ol&gt;&#xD;
&lt;p&gt;Werner Vogels uses the control vs convenience tradeoff as a way to&#xD;
position the various AWS offerings, as he pointed out in his post: &lt;a href="http://www.allthingsdistributed.com/2013/02/aws-opsworks.html"&gt;Expanding the Cloud - Introducing AWS OpsWorks, a Powerful&#xD;
Application Management Solution&lt;/a&gt;:&lt;/p&gt;&#xD;
&lt;blockquote&gt;&#xD;
&lt;p&gt;With the launch of AWS OpsWorks customers now have a very powerful&#xD;
solution that allows them to manage their application easily without giving up&#xD;
control. &lt;/p&gt;&#xD;
&lt;/blockquote&gt;&#xD;
&lt;p&gt;In other words, OpsWorks is aimed at filling a void between the Beanstalk&#xD;
model and the DIY (do it yourself) model.&lt;/p&gt;&#xD;
&lt;p&gt;&#xD;
&lt;a class="asset-img-link" href="http://natishalom.typepad.com/.a/6a00d835457b7453ef017ee97f9868970d-pi" style="display: inline;"&gt;&lt;img alt="HighLevelServicesvsDIY" border="0" class="asset  asset-image at-xid-6a00d835457b7453ef017ee97f9868970d image-full" src="http://natishalom.typepad.com/.a/6a00d835457b7453ef017ee97f9868970d-800wi" title="HighLevelServicesvsDIY"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;Interestingly&#xD;
enough, I used to describe the various solutions in the cloud stack in very&#xD;
similar terms to the way Vogels does, with the slight difference that I used&#xD;
the term &lt;a href="http://natishalom.typepad.com/nati_shaloms_blog/2012/05/mapping-the-cloudpaas-stack.html"&gt;Control vs Productivity&lt;/a&gt; and looked at a broader&#xD;
scope between IaaS and PaaS.&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;OpsWorks vs Other Kinds of PaaS&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;In a discussion I had on that subject last week with Ran Tavory and Ori&#xD;
Lahav as part of the Reversim podcast, we seemed to agree that currently, there&#xD;
is space for both models of PaaS - the OpsWorks model (composable) and the Beanstalk&#xD;
model (contextual). Having said that, when I framed the question "which of&#xD;
the frameworks/approaches will run 80% of the cloud workload in the future?"&#xD;
we all seemed to agree that the answer would more likely be OpsWorks. The last&#xD;
point led me to believe that while there is space for the two models right now,&#xD;
this may be only a transition stage, while over time we’ll see that first&#xD;
generation PaaS and the likes of Beanstalk will be replaced with second generation&#xD;
PaaS offerings, as in the case of OpsWorks.&lt;strong&gt;&lt;br&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;OpsWorks and the blurring line between PaaS and IaaS&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;The&#xD;
fact that OpsWorks runs on Chef, as do many of the IaaS services in many cloud&#xD;
infrastructures, also raises the question whether it is right to draw a line&#xD;
between our IaaS services and applications, as I pointed out here: &lt;a href="http://natishalom.typepad.com/nati_shaloms_blog/2012/10/paas-as-an-infrastructure.html"&gt;The blurring line between PaaS and IaaS&lt;/a&gt;.&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;OpsWorks and Cloudify&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;OpsWorks and &lt;a href="http://cloudifysource.org/"&gt;Cloudify&lt;/a&gt; follow the same foundational concepts from an&#xD;
architecture perspective - both frameworks integrate with DevOps tools like&#xD;
Chef and add an orchestration layer on top of it, making it easier to compose&#xD;
various parts of the application stack. In many ways you can think of Cloudify&#xD;
as a framework for building your own OpsWorks.&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;PaaS, DevOps and Everything in Between&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;Vogels seems to avoid labeling either Beanstalk or OpsWorks as belonging&#xD;
to the PaaS category. Urquhart, on the other hand, looked at the two as two kinds&#xD;
of PaaS solutions - Contextual (Beanstalk) vs Composable (OpsWorks).&lt;/p&gt;&#xD;
&lt;p&gt;One thing that is clear to me is that the current PaaS category is too&#xD;
narrow to fit all the different kinds of PaaS.&lt;/p&gt;&#xD;
&lt;p&gt;Looking&#xD;
at the definition of PaaS in a broader context, I would frame it as a&#xD;
"Platform for running and managing applications on the Cloud." In&#xD;
that context, the way we choose to run those apps becomes an implementation&#xD;
detail. Having that context in mind, I tend to look at both Beanstalk and&#xD;
OpsWorks as two kinds of PaaS offerings. What we’re missing at this point is a&#xD;
simple way to label those different categories.&lt;/p&gt;&#xD;
&lt;p&gt;One approach would be to use Urquhart’s definition (“Contextual vs&#xD;
Composable) which categorizes the different PaaS solutions based on the&#xD;
approach through which they choose to deliver the apps. We can also look at&#xD;
CloudFoundry vs GAE as open vs closed. Another possible category is PaaS&#xD;
frameworks (i.e. frameworks that provide middleware to build your own PaaS), vs&#xD;
PaaS as a self-service solution.&lt;/p&gt;&#xD;
&lt;p&gt;RightScale,&#xD;
on the other hand, uses the term Cloud Application Management to define a&#xD;
similar category and looks at PaaS as a private use-case for using the Cloud&#xD;
Application Management framework. We also had internal debate on that&#xD;
subject at GigaSpaces and couldn't come to a final agreement on where to draw&#xD;
the line between the different categories.&lt;/p&gt;&#xD;
&lt;p&gt;What&#xD;
do you think? Is OpsWorks a new kind of (Composable) PaaS or Cloud Application&#xD;
Management Platform?&lt;/p&gt;&#xD;
&lt;p&gt;Does&#xD;
it really matter?&lt;/p&gt;&#xD;
&lt;h3&gt;References:&lt;/h3&gt;&#xD;
&lt;ul&gt;&#xD;
&lt;li&gt;&lt;a href="http://natishalom.typepad.com/nati_shaloms_blog/2012/01/there-are-currently-two-main-approaches-for-developing-and-managing-application-in-the-cloudpaas-paas-takes-a-developer-ap.html"&gt;GigaSpaces Cloudify &amp;amp; VMware Cloud Foundry the new&#xD;
PaaS Jailbreaker&lt;/a&gt;&lt;/li&gt;&#xD;
&lt;li&gt;&lt;a href="http://gigaom.com/2013/02/16/devops-complexity-and-anti-fragility-in-it-context-and-composition/" target="_blank"&gt;Is your PaaS &lt;em&gt;composable&lt;/em&gt; or &lt;em&gt;contextual&lt;/em&gt;?&#xD;
(Hint: the answer matters)&lt;/a&gt;&lt;/li&gt;&#xD;
&lt;li&gt;&lt;a href="http://natishalom.typepad.com/nati_shaloms_blog/2012/05/mapping-the-cloudpaas-stack.html" target="_blank"&gt;Mapping the Cloud/PaaS Stack&lt;/a&gt;&lt;/li&gt;&#xD;
&lt;li&gt;&lt;a href="http://natishalom.typepad.com/nati_shaloms_blog/2012/10/paas-as-an-infrastructure.html" target="_self"&gt;The blurring line between PaaS and IaaS&lt;/a&gt;&lt;/li&gt;&#xD;
&lt;li&gt;&lt;a href="http://www.allthingsdistributed.com/2013/02/aws-opsworks.html" target="_self"&gt;Expanding the Cloud - Introducing AWS OpsWorks,&#xD;
a Powerful Application Management Solution&lt;/a&gt;&lt;/li&gt;&#xD;
&lt;li&gt;&lt;a href="http://gigaom.com/2013/02/19/amazon-adds-opsworks-application-life-cycle-management-to-aws-cloud/" target="_self"&gt;Amazon adds OpsWorks application life cycle&#xD;
management to AWS cloud&lt;/a&gt;&lt;strong&gt;&lt;br&gt;&lt;/strong&gt;&lt;/li&gt;&#xD;
&lt;/ul&gt;&#xD;
&lt;p&gt; &lt;/p&gt;&#xD;
&lt;p&gt; &lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;&lt;br&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt; &lt;/p&gt;&#xD;
&lt;p&gt; &lt;/p&gt;&#xD;
&lt;p&gt; &lt;/p&gt;&#xD;
&lt;p&gt; &lt;/p&gt;&#xD;
&lt;p&gt; &lt;/p&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/NatiShalom?a=peTIhiQrQHw:pYMhvryberc:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/NatiShalom?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/NatiShalom?a=peTIhiQrQHw:pYMhvryberc:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/NatiShalom?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/NatiShalom/~4/peTIhiQrQHw" height="1" width="1"/&gt;</content>



    <feedburner:origLink>http://natishalom.typepad.com/nati_shaloms_blog/2013/03/devops-paas-and-everything-in-between.html</feedburner:origLink></entry>
    <entry>
        <title>Carrier Grade Cloud/PaaS</title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/NatiShalom/~3/Aspp8Vog_ko/carrier-grade-cloudpaas.html" />
        <link rel="replies" type="text/html" href="http://natishalom.typepad.com/nati_shaloms_blog/2013/03/carrier-grade-cloudpaas.html" thr:count="1" thr:updated="2013-03-15T11:15:29+01:00" />
        <id>tag:typepad.com,2003:post-6a00d835457b7453ef017d4189216b970c</id>
        <published>2013-03-07T10:20:30+01:00</published>
        <updated>2013-03-10T14:58:22+01:00</updated>
        <summary>Cloud is becoming the next-generation backbone for running the web. As the technology for building and running cloud infrastructure matures, it is starting to spread out into more industries and revolutionizing how even the most conservative organizations are running their...</summary>
        <author>
            <name>Nati Shalom</name>
        </author>
        <category scheme="http://www.sixapart.com/ns/types#category" term="Cloud" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Cloud Computing" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Cloudify" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Disaster Recovery" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="GigaSpaces" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="IaaS" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="OpenStack" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="PaaS" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Web/Tech" />
        
        
<content type="html" xml:lang="he" xml:base="http://natishalom.typepad.com/nati_shaloms_blog/">&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;div&gt;Cloud is becoming the next-generation backbone for running the web.&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
&lt;p&gt;As the technology for building and running cloud infrastructure matures, it is starting to spread out into more industries and revolutionizing how even the most conservative organizations are running their entire operations.&lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
&lt;p&gt;One of the areas undergoing a transformation is the carrier backbone services. For those who are not familiar, carrier backbone services includes services like cell and network services (DHCP, DNS, …), content serving (SMS, MMS, …), activation services, CRM, call centers, etc. Moving these critical carrier services from the existing environment tends to be labor intensive and proprietary. Selecting to move applications into a more open and virtualized environment such as cloud could yield a significant cost saving. An open cloud environment also enables Carrier organizations to reduce their time to market for delivering new services.&lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
&lt;p&gt;At time where the Telco/Carrier market is increasingly competitive, moving to a cloud-based carrier backbone can be more than a cost saving initiative. It can be a differentiator from the competition and is critical for survivability and success of the business.&lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;That said, running carrier grade services requires special care to meet the required SLAs in terms of  latency, deterministic behavior, performance, location awareness, etc. These challenges are unique enough not to fit into your mom-and-pop cloud.&#xD;
&lt;p&gt;The purpose of the Carrier Grade Cloud and Carrier Grade PaaS is to address these gaps and challenges.&lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
&lt;p&gt;In this post I'll try to provide a more detailed overview on what Carrier Grade Cloud and PaaS actually means. I will use examples based on GigaSpaces’ &lt;a href="http://vmblog.com/archive/2013/02/27/alcatel-lucent-joins-forces-with-gigaspaces-to-accelerate-delivery-of-carrier-cloud-paas.aspx" target="_blank"&gt;joint work with Alcate&lt;/a&gt;l. Alcatel-Lucent recently launched a new product in this space named CloudBand which is using Cloudify for its Carrier PaaS layer.&lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
&lt;p&gt;&lt;strong&gt;What does Carrier Grade mean? &lt;br&gt;Learning from the Weather Chanel experience during the Sandy super-storm&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
&lt;p&gt;The Weather Channel’s experience during Sandy is an excellent example of the need for carrier grade services. Below is a list of some of the key statistics during Hurricane Sandy:&lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;ul&gt;&#xD;
&lt;li&gt;1000% - The Weather Company’s traffic increase during Hurricane Sandy&lt;/li&gt;&#xD;
&lt;li&gt;110 GB- The amount of data, served every second during Sandy&lt;/li&gt;&#xD;
&lt;li&gt;170,000 - Peak number of simultaneous streams of video served during Sandy&lt;/li&gt;&#xD;
&lt;li&gt;1 - The amount of data centers that went bust during the storm&lt;/li&gt;&#xD;
&lt;/ul&gt;&#xD;
&lt;div&gt;To address this demand during the storm, the Weather Chanel was running from &lt;em&gt;13 Data &lt;/em&gt;&lt;em&gt;Centers&lt;/em&gt; managed by Verizon across North America, all with load balancing between them. During the storm Verizon increased their bandwidth capacity to meet the peak demand.&lt;/div&gt;&#xD;
&lt;div&gt;This sort of increased traffic behavior wasn't unique to the weather channel, as noted below:&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
&lt;p&gt;&lt;img alt="" src="https://www.evernote.com/shard/s94/sh/fec62b4b-0279-4d6e-8878-58cd9387d170/aaa8cc6b242a01e9b68e0378936b30b1/res/596295d6-cd37-476b-b462-172f4f274efe.png?resizeSmall&amp;amp;width=832"&gt;&lt;/img&gt;&lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&lt;strong&gt;So what can be learned from this process?&lt;/strong&gt; &lt;strong&gt;What makes a service Carrier Grade?&lt;/strong&gt;&lt;/div&gt;&#xD;
&lt;div&gt;&lt;strong&gt;&lt;br&gt;&lt;/strong&gt;&lt;/div&gt;&#xD;
&lt;div&gt;Learning from the Weather Channel experience we can define a Carrier Grade service as a service with the following attributes:&lt;/div&gt;&#xD;
&lt;ul&gt;&#xD;
&lt;li&gt;Critical to the business function&lt;/li&gt;&#xD;
&lt;li&gt;Designed for massive scale&lt;/li&gt;&#xD;
&lt;li&gt;Designed to deal with major usage spikes&lt;/li&gt;&#xD;
&lt;li&gt;Location sensitive&lt;/li&gt;&#xD;
&lt;li&gt;Designed to provide deterministic response during extreme condition&lt;/li&gt;&#xD;
&lt;/ul&gt;&#xD;
&lt;div&gt;This is obviously a fairly simplistic definition, but for the sake of this discussion I think it will suffice.&lt;/div&gt;&#xD;
&lt;h3&gt;&lt;strong&gt;What Makes a Cloud/PaaS Carrier Grade?&lt;/strong&gt;&lt;/h3&gt;&#xD;
&lt;p&gt;There are various attributes that makes a Cloud/PaaS carrier grade, as I noted earlier. The two most important attributes IMO are the network and multi-site deployments. Let me explain why:&lt;/p&gt;&#xD;
&lt;h4&gt;&lt;strong&gt;The Network&lt;/strong&gt;&lt;/h4&gt;&#xD;
&lt;div&gt;One of the main elements that is extremely important in in a Carrier Grade environment is the ability to assert control over the network.&lt;/div&gt;&#xD;
&lt;div&gt;That include the control over:&lt;/div&gt;&#xD;
&lt;ul&gt;&#xD;
&lt;li&gt;Isolation&lt;/li&gt;&#xD;
&lt;li&gt;Bandwidth&lt;/li&gt;&#xD;
&lt;li&gt;Latency&lt;/li&gt;&#xD;
&lt;/ul&gt;&#xD;
&lt;h4&gt;&lt;strong&gt;Cross-Cloud/Data Center Deployments:&lt;/strong&gt;&lt;/h4&gt;&#xD;
&lt;div&gt;Another critical element of a successful Carrier environment is the multi-site deployment. As seen with the Weather Channel’s use of 13 sites, multi-site deployment is important to address continues availability and scaling. Optimizing the latency by surveying the content closer to the location of the end user also helps to deal with challenges of data delivery.&lt;/div&gt;&#xD;
&lt;h3&gt;&lt;strong&gt;So how &lt;/strong&gt;&lt;strong&gt;are things done today?&lt;/strong&gt;&lt;/h3&gt;&#xD;
&lt;div&gt;The current Carrier backbone runs on physical appliances which basically maps to lots of irons. In this environment scaling capacity means buying more appliances. While this model works, it has two main drawbacks:&lt;/div&gt;&#xD;
&lt;div&gt;&lt;ol&gt;&#xD;
&lt;li&gt;cost (infrastructure/operation)&lt;/li&gt;&#xD;
&lt;li&gt;lack of agility (i.e. it takes months and sometimes years to launch new service in this environment).&lt;/li&gt;&#xD;
&lt;/ol&gt;&lt;/div&gt;&#xD;
&lt;h3&gt;&lt;strong&gt;Alcatel CloudBand -- Carrier Grade IaaS/PaaS&lt;/strong&gt;&lt;/h3&gt;&#xD;
&lt;div&gt;Alcatel CloudBand is a new platform  that let Telco apps easily leverage the carrier cloud services.&lt;/div&gt;&#xD;
&lt;div&gt;It is comprised of a few main elements.&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
&lt;p&gt;&lt;strong&gt;Multi node/site IaaS&lt;/strong&gt; -- a multi-site/Cloud infrastructure. The CloudBand infrastructure is essentially a policy based management on large numbers of cloud nodes. Each cloud node can run either an OpenStack or CloudStack-based infrastructure. These nodes can live in many disparate data centers. Alcatel CloudBand glues all of the disparate nodes together into a single big cloud that is accessible through an OpenStack API.&lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
&lt;p&gt;&lt;img alt="" src="https://www.evernote.com/shard/s94/sh/fec62b4b-0279-4d6e-8878-58cd9387d170/aaa8cc6b242a01e9b68e0378936b30b1/res/3c9c90a5-2e2d-4f72-8a81-28394d0b0cbe.png?resizeSmall&amp;amp;width=832"&gt;&lt;/img&gt;&lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
&lt;p&gt;&lt;strong&gt;CPaaS&lt;/strong&gt; -- Stands for Carrier Grade PaaS, which is essentially the framework enabling the on-boarding of the carrier services into the CloudBand infrastructure via a simple click and run user interface. Cloudify is integrated into this as an integral part of the CloudBand offering.&lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&lt;img alt="" src="https://www.evernote.com/shard/s94/sh/fec62b4b-0279-4d6e-8878-58cd9387d170/aaa8cc6b242a01e9b68e0378936b30b1/res/a5602991-8fae-46cd-893f-6aca24d24301.png?resizeSmall&amp;amp;width=832"&gt;&lt;/img&gt;&lt;/div&gt;&#xD;
&lt;div&gt;&lt;strong&gt;&lt;br&gt;CloudBand's Unique Approach: Putting Network and Application Together&lt;/strong&gt;&lt;/div&gt;&#xD;
&lt;div&gt;&lt;strong&gt;&lt;br&gt;&lt;/strong&gt;&lt;/div&gt;&#xD;
&lt;div&gt;One of the unique aspects of the CloudBand architecture is its holistic approach to Network and Application. Standard cloud infrastructures tend to look at the two pieces as separate black boxes that run one on top of the other.&lt;/div&gt;&#xD;
&lt;h4&gt;&lt;strong&gt;What does this&lt;/strong&gt;&lt;strong&gt; &lt;/strong&gt;&lt;strong&gt;new approach to Network and Applications&lt;/strong&gt;&lt;strong&gt; really means?&lt;/strong&gt;&lt;/h4&gt;&#xD;
&lt;p&gt;&lt;span style="font-size: 1em;"&gt;Two example scenarios that I often use to describe the value of putting network and application together is in the areas of Disaster Recovery and Cloud Bursting. In today’s cloud, DR involves lots of wiring in which i need to explicitly point a segment of the application into a particular cloud zone and the other to another zone. Beyond the complexity of setting these zones up, it also means that there is a good degree of manual intervention required to handle a recovery or a scaling process in this environment.&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;h4&gt;&lt;strong&gt;Taking an automated SLA-driven approach to IaaS&lt;/strong&gt;&lt;/h4&gt;&#xD;
&lt;p&gt;Instead of identifying explicitly the zones in our cloud, with automated SLA we can simply ask the cloud to figure out the right zone for the job based on our application SLA. For example, a user could simply say something like "deploy RingTone service" where continuous availability=true redundancy=3 and distance between sites=100km". Most of that information is known to the CloudBand management at the time of deployment and it can therefore allocate machine instances not solely on image ID and zone ID, but also based on those SLA requirements.&lt;/p&gt;&#xD;
&lt;h4&gt;&lt;strong&gt;Integrating the PaaS with the network&lt;/strong&gt;&lt;/h4&gt;&#xD;
&lt;p&gt;Many of the current PaaS solutions were designed to work with a simple cloud infrastructure.&lt;/p&gt;&#xD;
&lt;div&gt;If we design our PaaS solutions to work on top of a more intelligent infrastructure, like CloudBand, that can accept SLA-driven calls to coordinate infrastructure management, a revolution will happen. We can start looking at  offloading some of the responsibility for allocating the right machine instance to a particular application tier to the infrastructure. The infrastructure could be made aware that we're deploying a data service and would therefore ensure that the nodes of that database don't reside on the same physical machine or even the same data center. Another area where the responsibility could be delegated to the infrastructure is the network isolation. Instead of dealing with security groups, the system can attach a particular network for a given application or a tier within that application and the infrastructure will make sure that any machine that is allocated for this service would be attached to this network.&lt;/div&gt;&#xD;
&lt;h3&gt;&lt;strong&gt;Final Words&lt;/strong&gt;&lt;/h3&gt;&#xD;
&lt;p&gt;&lt;span style="font-size: 10pt;"&gt;For years there has been discussion on the missing piece in the cloud puzzle - the network. Today we're at a point where this gap is starting to be filled up by projects like Quantum in OpenStack. In addition to OpenStack the Telco industry is also launching a new initiative titled NFV which stand for &lt;a href="http://en.wikipedia.org/wiki/Network_Functions_Virtualization" style="font-size: 1.17em;" target="_blank"&gt;Network Function Virtualization&lt;/a&gt;. NFV was born in October of 2012 when AT&amp;amp;T, BT, China Mobile, Deutsche Telekom and many other Telcos introduced the NFV Call to Action document. It basically aims to combine new network API with virtualization and thus provide a standard model for a virtulized Carrier Cloud.&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;div&gt;&lt;img alt="" src="https://www.evernote.com/shard/s94/sh/fec62b4b-0279-4d6e-8878-58cd9387d170/aaa8cc6b242a01e9b68e0378936b30b1/res/d407dc84-bb32-4a0f-b782-ae378854c5ce.jpg?resizeSmall&amp;amp;width=832"&gt;&lt;/img&gt;&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
&lt;p&gt;While it seems that the industry is moving in the right direction toward the Virtualization of the backbone systems, most of the effort seem to be focused on standardisation at the lower level of stack. Very little has been done to draw the real end game i.e. how would an end to end Carrier backbone would look like given that new virtualized infrastructure in place. More importantly we haven't yet began to think of what would be the implication of that infrastructure change on the application and services ontop of it.&lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
&lt;p&gt;This is what excites me in the CloudBand project. CloudBand doesn't just end up with yet another fancy infrastructure piece that we don't necessarily know how and what do with it. It actually takes the holistic approach and maps those fancy features into a real end to end solution which at the most basic level maps to the fact that setting up data and network clusters, disaster recovery or cloud bursting scenarios can now be fully automated in a much simpler fashion than in most of the current cloud infrastructure environment.&lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
&lt;p&gt;At a more strategic level that means that Carrier can now rely on the the cloud as an infrastructure that could manage their backbone services and thus leverage the cloud economics to meet their cost and business challenges.&lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
&lt;p&gt;&lt;strong&gt;References&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;ul&gt;&#xD;
&lt;li&gt;&lt;a href="http://www.slideshare.net/uri1803/carrier-paas-cloudstack-collaboration-event-2012%0A" target="_blank"&gt;Carrier Grade PaaS presentation&lt;/a&gt; by Uri Cohen&lt;/li&gt;&#xD;
&lt;li&gt;&lt;a href="http://wikibon.org/wiki/v/Network_Function_Virtualization_or_NFV_Explained" target="_blank"&gt;Network Function Virtualization or NFV Explained&lt;/a&gt;&lt;/li&gt;&#xD;
&lt;li&gt;&lt;a href="http://vmblog.com/archive/2013/02/27/alcatel-lucent-joins-forces-with-gigaspaces-to-accelerate-delivery-of-carrier-cloud-paas.aspx" target="_blank"&gt;Alcatel &amp;amp; Gigaspaces Joint partnership&lt;/a&gt;&lt;/li&gt;&#xD;
&lt;li&gt;&lt;a href="http://www.cloudifysource.org/" target="_blank"&gt;GigaSpaces Cloudify&lt;/a&gt;&lt;/li&gt;&#xD;
&lt;li&gt;&lt;a href="http://www.alcatel-lucent.com/solutions/carrier-cloud" target="_blank"&gt;Alcatel Carrier Cloud&lt;/a&gt;&lt;/li&gt;&#xD;
&lt;/ul&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/NatiShalom?a=Aspp8Vog_ko:wAbHG6KKVx4:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/NatiShalom?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/NatiShalom?a=Aspp8Vog_ko:wAbHG6KKVx4:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/NatiShalom?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/NatiShalom/~4/Aspp8Vog_ko" height="1" width="1"/&gt;</content>



    <feedburner:origLink>http://natishalom.typepad.com/nati_shaloms_blog/2013/03/carrier-grade-cloudpaas.html</feedburner:origLink></entry>
    <entry>
        <title>What is Cloudify? an End User Perspective</title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/NatiShalom/~3/UCO4b9JLccQ/what-is-cloudify-an-end-user-view.html" />
        <link rel="replies" type="text/html" href="http://natishalom.typepad.com/nati_shaloms_blog/2013/02/what-is-cloudify-an-end-user-view.html" thr:count="1" thr:updated="2013-03-07T12:20:00+01:00" />
        <id>tag:typepad.com,2003:post-6a00d835457b7453ef017ee8c4c334970d</id>
        <published>2013-02-27T19:09:00+01:00</published>
        <updated>2013-02-27T19:16:07+01:00</updated>
        <summary>I just finished a great call with Joseph Weitekamp Joe got introduced to Cloudify by one of my friends and shared with me his perspective on what is Cloudify. I realy liked the way he was able to put this...</summary>
        <author>
            <name>Nati Shalom</name>
        </author>
        <category scheme="http://www.sixapart.com/ns/types#category" term="Cloudify" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="DevOps" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="GigaSpaces" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="PaaS" />
        
        
<content type="html" xml:lang="he" xml:base="http://natishalom.typepad.com/nati_shaloms_blog/">&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;p&gt;I just finished a great call with &lt;a href="http://www.linkedin.com/pub/joseph-weitekamp/4/5a7/435" target="_self"&gt;Joseph Weitekamp&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&#xD;
&lt;a class="asset-img-link" href="http://featherfiles.aviary.com/2013-02-27/f77694d11/bcaab9579aad4df2b08ccd279b83363b_hires.png" style="float: right;"&gt;&lt;img alt="CloudifyLogoRGBDark" class="asset  asset-image at-xid-6a00d835457b7453ef017d4150f5f7970c" src="http://natishalom.typepad.com/.a/6a00d835457b7453ef017d4150f5f7970c-320wi" style="margin: 0px 0px 5px 5px;" title="CloudifyLogoRGBDark"&gt;&lt;/img&gt;&lt;/a&gt;Joe got introduced to Cloudify by one of my friends and shared with me his perspective on what is Cloudify. I realy liked the way he was able to put this togather and thought that the rest of you would be intrested in his perspective as well, so here it is..&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;What is Cloudify:&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;Cloudify &lt;/strong&gt;is a software runtime lifecycle management system for cloud-hosted services.&lt;/em&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;em&gt;-          It manages in an automated fashion:&lt;/em&gt;&lt;/p&gt;&#xD;
&lt;ul&gt;&#xD;
&lt;li&gt;&lt;em&gt;The provisioning of cloud infrastructure&lt;/em&gt;&lt;/li&gt;&#xD;
&lt;li&gt;&lt;em&gt;The installation and configuration of services on that infrastructure&lt;/em&gt;&lt;/li&gt;&#xD;
&lt;li&gt;&lt;em&gt;Monitors those services for health and parameters.  Respond to SLA violations.&lt;/em&gt;&lt;/li&gt;&#xD;
&lt;li&gt;&lt;em&gt;The uninstallation of service software and deprovisioning of cloud infrastructure&lt;/em&gt;&lt;/li&gt;&#xD;
&lt;li&gt;&lt;em&gt;Provide customized ways to interact with the running system that hide its cloudy deployment.&lt;/em&gt;&lt;/li&gt;&#xD;
&lt;/ul&gt;&#xD;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;Summary&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;em&gt;-          &lt;strong&gt;Cloud-provider agnostic&lt;/strong&gt; through abstraction layer.   Public or private, ie, Amazon, Rackspace…&lt;/em&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;em&gt;-          &lt;strong&gt;Recipe-based definition of deployments&lt;/strong&gt;: end-state and means for achieving it&lt;/em&gt;&lt;/p&gt;&#xD;
&lt;ul&gt;&#xD;
&lt;li&gt;&lt;em&gt;Recipes are parameters + app lifecycle event handlers written in Groovy, a Python-like JVM-hosted language.&lt;/em&gt;&lt;/li&gt;&#xD;
&lt;li&gt;&lt;em&gt;Recipes for complex suites of services can be declared, which manages the coordinated configuration of these services.&lt;/em&gt;&lt;/li&gt;&#xD;
&lt;li&gt;&lt;em&gt;Service interdependencies declarable and respected.  Services don’t start until those they depend one are up.&lt;/em&gt;&lt;/li&gt;&#xD;
&lt;li&gt;&lt;em&gt;Recipe parameterization and inheritance (generalization / specialization) allow re-use and standardization&lt;/em&gt;&lt;/li&gt;&#xD;
&lt;/ul&gt;&#xD;
&lt;p&gt;&lt;em&gt;-          &lt;strong&gt;Custom Commands&lt;/strong&gt; can be defined in Groovy and run interactively in a shell or web browser&lt;/em&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;em&gt;-          &lt;strong&gt;Probes&lt;/strong&gt; can be defined to surface &lt;strong&gt;telemetry&lt;/strong&gt; on the services.  Standard probes for standard telemetry are provided.  Custom probe can be coded in Groovy or Java&lt;/em&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;em&gt;-          &lt;strong&gt;Web Service Dashboard&lt;/strong&gt; (meters and time-series graphs) can be declared to monitor service health/performance&lt;/em&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;em&gt;-          &lt;strong&gt;Automated SLA Assurance&lt;/strong&gt; can be declared to assure required number of service instances are always running.  Additional service instances are provisioned, installed and started as necessary&lt;/em&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;em&gt;-          &lt;strong&gt;Auto-scaling&lt;/strong&gt; based on telemetry can similar drive the provisioning, installation and startup / shutdown of service instances.&lt;/em&gt;&lt;/p&gt;&#xD;
&lt;p&gt; &lt;/p&gt;&#xD;
&lt;p&gt; &lt;/p&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/NatiShalom?a=UCO4b9JLccQ:5loGWx6J5Ik:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/NatiShalom?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/NatiShalom?a=UCO4b9JLccQ:5loGWx6J5Ik:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/NatiShalom?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/NatiShalom/~4/UCO4b9JLccQ" height="1" width="1"/&gt;</content>



    <feedburner:origLink>http://natishalom.typepad.com/nati_shaloms_blog/2013/02/what-is-cloudify-an-end-user-view.html</feedburner:origLink></entry>
    <entry>
        <title>A Groovy Kind of Java</title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/NatiShalom/~3/jrNEAQpWlxU/a-groovy-kind-of-java.html" />
        <link rel="replies" type="text/html" href="http://natishalom.typepad.com/nati_shaloms_blog/2013/02/a-groovy-kind-of-java.html" thr:count="1" thr:updated="2013-03-19T11:34:13+01:00" />
        <id>tag:typepad.com,2003:post-6a00d835457b7453ef017c36faf2bb970b</id>
        <published>2013-02-19T23:35:36+01:00</published>
        <updated>2013-02-19T23:38:52+01:00</updated>
        <summary>Today's application stack is a much more complex environment than the traditional JEE one. Moving from a Spring/JEE background to the cloud can be a complicated transition. In talk given at the San Francisco Java Meetup Group i tried to...</summary>
        <author>
            <name>Nati Shalom</name>
        </author>
        <category scheme="http://www.sixapart.com/ns/types#category" term="Cloud" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Cloud Computing" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Cloudify" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="GigaSpaces" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Java/J2EE" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="JClouds" />
        
        
<content type="html" xml:lang="he" xml:base="http://natishalom.typepad.com/nati_shaloms_blog/">&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;p class="p1"&gt;Today's application stack is a much more complex environment than the traditional JEE one. Moving from a Spring/JEE background to the cloud can be a complicated transition.&lt;/p&gt;&#xD;
&lt;p class="p1"&gt;In talk given at the &lt;span class="s1"&gt;&lt;a href="http://www.sfjava.org/events/88246212/"&gt;San Francisco Java Meetup Group&lt;/a&gt;&lt;/span&gt; i tried to outline how &lt;a href="http://groovy.codehaus.org/"&gt;&lt;span class="s1"&gt;Groovy&lt;/span&gt;&lt;/a&gt; can help you map and translate an old JEE evironment to a new cloud-based one using  &lt;span class="s1"&gt;&lt;a href="http://www.gigaspaces.com/cloudify-open-paas-stack"&gt;Cloudify&lt;/a&gt; &lt;/span&gt;in a way that anyone can adapt to their own needs. You can find the slides from the talk &lt;a href="http://www.slideshare.net/giganati/a-groovy-kind-of-java-sf-jug"&gt;here&lt;/a&gt;.&lt;/p&gt;&#xD;
&lt;p&gt;&lt;iframe frameborder="0" height="360" src="http://www.youtube.com/embed/oY4S0l4yCPg?rel=0" width="640"&gt;&lt;/iframe&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/NatiShalom?a=jrNEAQpWlxU:ht3dmvGnCnI:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/NatiShalom?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/NatiShalom?a=jrNEAQpWlxU:ht3dmvGnCnI:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/NatiShalom?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/NatiShalom/~4/jrNEAQpWlxU" height="1" width="1"/&gt;</content>



    <feedburner:origLink>http://natishalom.typepad.com/nati_shaloms_blog/2013/02/a-groovy-kind-of-java.html</feedburner:origLink></entry>
    <entry>
        <title>Living with cloud outages as a way of life...and being ok with it</title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/NatiShalom/~3/3Cwv62Ybj_w/living-with-cloud-outages-as-a-way-of-lifeand-being-ok-with-it.html" />
        <link rel="replies" type="text/html" href="http://natishalom.typepad.com/nati_shaloms_blog/2013/02/living-with-cloud-outages-as-a-way-of-lifeand-being-ok-with-it.html" thr:count="0" />
        <id>tag:typepad.com,2003:post-6a00d835457b7453ef017c36e00bc2970b</id>
        <published>2013-02-14T19:11:44+01:00</published>
        <updated>2013-04-09T09:16:30+02:00</updated>
        <summary>Learning from the experience of others has always been a great source for many of the posts in this blog. I happened to have had a meeting with Ron Zavner, Applications Architect at GigaSpaces when he reviewed his planned presentation...</summary>
        <author>
            <name>Nati Shalom</name>
        </author>
        <category scheme="http://www.sixapart.com/ns/types#category" term="Amazon Web Services" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Availability" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="AWS" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Cloud" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Cloud Computing" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Cloudify" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="DevOps" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Disaster Recovery" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="EC2" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Failover" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Redundancy" />
        
        
<content type="html" xml:lang="he" xml:base="http://natishalom.typepad.com/nati_shaloms_blog/">&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;p&gt;Learning from the experience of others has always been a great source for many of the posts in this blog.&lt;/p&gt;&#xD;
&lt;p&gt;I happened to have had a meeting with &lt;a href="http://www.linkedin.com/pub/ron-zavner/3/54/690"&gt;&lt;strong&gt;Ron Zavner&lt;/strong&gt;&lt;/a&gt;, Applications Architect at GigaSpaces when he reviewed his planned presentation for the &lt;a href="http://www.meetup.com/AWSUGUK/events/96133402/"&gt;&lt;strong&gt;AWS Meetup &lt;/strong&gt;&lt;/a&gt;this week in London.&lt;/p&gt;&#xD;
&lt;p&gt;I thought that the information that Ron gathered for this purpose could be extremely beneficial for everyone who is either running, or plans to run their application in the cloud.&lt;/p&gt;&#xD;
&lt;p&gt;In this post I tried to capture in words, the content of Ron’s presentation on the lessons from recent cloud outages.&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;Recap - History of Cloud Outages&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;ul&gt;&#xD;
&lt;li&gt;&lt;strong&gt;21 April 2011&lt;/strong&gt; - Some parts of Amazon Web Services suffered a major outage. A portion of volumes utilizing the Elastic Block Store (EBS) service became "stuck" and were unable to fulfill read/write requests. It took at least two days for service to be fully restored. Reddit, one of the better-known sites to go down due to the error, said it has 700 EBS volumes with Amazon. Sites like Quora and Reddit were able to come back online in "read-only" mode, but users couldn't post new content for many hours.&lt;/li&gt;&#xD;
&lt;li&gt;&lt;strong&gt;29 June 2012&lt;/strong&gt; - Several websites that rely on Amazon Web Services were taken offline due to a severe storm of historic proportions in the Northern Virginia area where Amazon's largest data center is located.&lt;/li&gt;&#xD;
&lt;li&gt;&lt;strong&gt;22 October 2012&lt;/strong&gt; - A major outage occurred, affecting many sites, again  such as Reddit, Foursquare, Pinterest, and others. The cause was a latent bug in an operational data collection agent.&lt;/li&gt;&#xD;
&lt;li&gt;&lt;strong&gt;Christmas Eve 2012&lt;/strong&gt; - Amazon AWS again suffered an outage, causing websites such as Netflix instant video to be unavailable for some customers, particularly in the Northeastern US. Amazon later issued a statement detailing the issues with the Elastic Load Balancing service that led up to the outage.&lt;/li&gt;&#xD;
&lt;/ul&gt;&#xD;
&lt;p&gt;&lt;a href="http://natishalom.typepad.com/.a/6a00d835457b7453ef017d410f5159970c-pi"&gt;&lt;img alt="clip_image001[4]" border="0" height="270" src="http://natishalom.typepad.com/.a/6a00d835457b7453ef017c36e00b97970b-pi" style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="clip_image001[4]" width="344"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;Cloud outages are not the sole property of Amazon – they’re everywhere&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;While most of the more notable failure events happened to be related to Amazon AWS, failures tend be in direct proportion to the usage of the infrastructure, and right now Amazon is probably running the biggest workloads on their cloud, and is growing pretty fast. With these statistics, it’s very likely that their failure would be more notable than others simply because they simply have a wider impact.&lt;/p&gt;&#xD;
&lt;p&gt;As we have experienced, failure has dropped a visit to other cloud infrastructure providers as well.&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;Microsoft Azure outage&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;ul&gt;&#xD;
&lt;li&gt;&lt;strong&gt;28 December 2012&lt;/strong&gt; -  some owners of Microsoft's XBox 360 &lt;a name="itxthook0"&gt;&lt;/a&gt;&lt;a href="http://www.neowin.net/news/windows-azure-still-suffering-from-partial-outage"&gt;&lt;strong&gt;&lt;span style="text-decoration: underline;"&gt;gaming console&lt;/span&gt;&lt;/strong&gt;&lt;/a&gt; were unable to access some of their cloud-based storage files.&lt;/li&gt;&#xD;
&lt;li&gt;&lt;strong&gt;26 July 2012&lt;/strong&gt; - Service for Microsoft’s Windows Azure Europe region went down for more than two hours&lt;/li&gt;&#xD;
&lt;li&gt;&lt;strong&gt;29 February 2012&lt;/strong&gt; - The ultimate result was service impacts of 8-10 hours for users of Azure data centers in Dublin, Ireland, Chicago, and San Antonio.&lt;/li&gt;&#xD;
&lt;/ul&gt;&#xD;
&lt;p&gt;&lt;strong&gt;Main take way &lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;Looking at all of these failures, it becomes apparent that they don't quite follow a common pattern.&lt;/p&gt;&#xD;
&lt;p&gt;Failure tends to happens when and where you least expect it.&lt;/p&gt;&#xD;
&lt;p&gt;Rather than relying on the infrastructure to prevent such failure from happening, we need to learn how to cope with them as a way of living.&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;What does 99% availability mean anyway?&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;Quite often when we talk about availability, we’re referring to % of uptime.&lt;/p&gt;&#xD;
&lt;p&gt;In this context, for most people 99% uptime sounds good enough. Is it? &lt;/p&gt;&#xD;
&lt;p&gt;Let's examine what that means in days:&lt;/p&gt;&#xD;
&lt;ul&gt;&#xD;
&lt;li&gt;99% - 3.65 days downtime&lt;/li&gt;&#xD;
&lt;li&gt;99.9% - 8.76 hours downtime&lt;/li&gt;&#xD;
&lt;li&gt;99.99% - 53 minutes downtime&lt;/li&gt;&#xD;
&lt;li&gt;99.999% - 5.26 minutes downtime&lt;/li&gt;&#xD;
&lt;/ul&gt;&#xD;
&lt;p&gt;99% downtime means that we need to be ready to tolerate almost &lt;strong&gt;4 days of downtime,&lt;/strong&gt; and no one can ensure how those 4 days will be spread across the year.&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;The impact of cloud outages &lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;Although AWS went offline for a few hours only, the downtime experience did have an impact on customers’ businesses. There is no known data for the number of people affected by a cloud computing service outage. It is estimated that the travel service provider Amadeus loses $89,000 per hour during any cloud computing outage, while Paypal loses around $225,000 per hour.&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;How to survive cloud outages - (Lessons from RightScale &amp;amp; Netflix) &lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;A good source for learning how to survive cloud outages is Netflix and RightScale who have had a good track record for surviving many of the previously mentioned cloud outages.&lt;/p&gt;&#xD;
&lt;p&gt;Below is a summary of the main takeaways.&lt;/p&gt;&#xD;
&lt;ul&gt;&#xD;
&lt;li&gt;Make sure to have a dedicated expert to manage your disaster recovery (DR) architecture, processes and testing.&lt;/li&gt;&#xD;
&lt;li&gt;Define what your target recovery time and recovery point is.&lt;/li&gt;&#xD;
&lt;li&gt;Be pessimistic and design for failures – (assume everything will fail and design a solution that is capable of handling it).&lt;/li&gt;&#xD;
&lt;li&gt;Avoid single points of failures – all parts of your app should be highly available (different AZ / regions / cloud) – load balancers, app servers, web servers, message bus, database.&lt;/li&gt;&#xD;
&lt;li&gt;Use monitoring and alerts for failover processes and for every change in state.&lt;/li&gt;&#xD;
&lt;li&gt;Document your DR operational processes and automations.&lt;/li&gt;&#xD;
&lt;li&gt;Try to “break” different parts in your application. From unplugging the network, to turning off machines…then try it again.&lt;/li&gt;&#xD;
&lt;/ul&gt;&#xD;
&lt;p&gt;Netflix didn't just provided its share of advice but has started to open source many of the tools it uses internally. The first one of them is  ”Chaos Monkey.”  This tool was designed to purposely cause failure in order to increase the resiliency of an application in Amazon Web Services (AWS.)&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;Designing your application to survive failure – It’s all about redundancy&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;Netflix provides an excellent toolset for surviving outages on Amazon on the operational level.&lt;/p&gt;&#xD;
&lt;p&gt;In this section, I wanted to zoom-in more on the design implications on our application.&lt;/p&gt;&#xD;
&lt;p&gt;The core principle for surviving failure is actually fairly simple, and in fact, applies to any system - not just cloud -  whether they happen to be airplanes, missiles, cars. At the end of the day, it’s all about redundancy. The degree of tolerance is often determined by how many alternate systems or parts of the system we have in our design, and how separate they are from one another. The degree of tolerance is also determined by how fast we can detect the broken part in our system and make the switch.&lt;/p&gt;&#xD;
&lt;p&gt;In software terms, the common parts that comprise our system are built out of two main groups - the business logic and the data.&lt;/p&gt;&#xD;
&lt;p&gt;Making a redundant software application that can survive failure is often based on setting up clones for two of those  parts of our system.&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;Cloning your data&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt; There are two models for creating redundant data systems.&lt;/p&gt;&#xD;
&lt;p&gt;     1. Use database replication&lt;/p&gt;&#xD;
&lt;p&gt;     2. Use generic replication as in the case of CDN &lt;/p&gt;&#xD;
&lt;p&gt;For database replication - each database tends to have a different replication scheme.  Amazon RDS is based on a read replica that can take over when the master node fails. More modern databases, such as Cassandra and MongoDB, tend to have more flexibility and control for setting up the database replication. So the first choice that you need to make for setting up your data redundancy, is choosing the right database. &lt;/p&gt;&#xD;
&lt;p&gt;Quite often, using database replication tends to be good enough within a certain geography but can be too fragile for geo-redundancy. A model that has proven itself for replicating data across WAN is CDN. &lt;/p&gt;&#xD;
&lt;p&gt;What’s more, CDN is not tied to a specific data source, and therefore can use a generic service for replicating data from multiple sources that doesn't necessarily reside within a certain database.&lt;/p&gt;&#xD;
&lt;p&gt;Having said that, CDN is fit mostly to read data and doesn't ensure the consistency of the data. For that purpose, we need to use a generic replication service that could plug into any data source and replicate it to other locations in a way that will allow us to control the replication route, the latency, and consistency.&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;Cloning your application&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;To clone our application business logic, we need to be able to ensure that all parts of our system run the exact same version of all of our software components. That includes not just the binaries, but also the configuration, the scripts that run our application, and more importantly that all our post-deployment procedures such as failover, scaling and monitoring are also kept consistent.&lt;/p&gt;&#xD;
&lt;p&gt;Quite often the things that makes the cloning of our business logic complex, are due to the fact that the information on how to run our application is often scattered across many different sources such as scripts, as well as the mind of the people that runs these apps.&lt;/p&gt;&#xD;
&lt;p&gt;To make the job of cloning our application much simpler, and thus more consistent we need to be able to capture all parts of the information for running our apps in the same place.&lt;/p&gt;&#xD;
&lt;p&gt;Configuration management tools such as Chef, Puppet and in the case of Amazon CloudFormation can help in this regard. &lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;Making it simpler through Cloudify &lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;To make the work of setting all this up simpler, we tried to bake all those patterns into ready-made tools scripted into out of the box recipes.&lt;/p&gt;&#xD;
&lt;p&gt;Cloudify recipes include:&lt;/p&gt;&#xD;
&lt;ul&gt;&#xD;
&lt;li&gt;Database cluster recipes with support for MySQL, MongoDB, Cassandra, Postgress...&lt;/li&gt;&#xD;
&lt;li&gt;Integration with Chef and Puppet &lt;/li&gt;&#xD;
&lt;li&gt;Automation of failover, scaling and continuous maintenance of our application.&lt;/li&gt;&#xD;
&lt;li&gt;Application recipes that allow you to capture all the aspect of running your application, including the post-deployment aspects such as failover, scaling and monitoring.&lt;/li&gt;&#xD;
&lt;/ul&gt;&#xD;
&lt;p&gt;This is a good example for setting a &lt;a href="http://natishalom.typepad.com/nati_shaloms_blog/2012/08/lessons-from-herokuamazon-outage-on-your-choice-of-a-paas-platform.html"&gt;&lt;strong&gt;redundant web application&lt;/strong&gt;&lt;/a&gt; between sites using Cloudify.&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://natishalom.typepad.com/.a/6a00d835457b7453ef017c36e00bb1970b-pi"&gt;&lt;img alt="clip_image002[4]" border="0" height="217" src="http://natishalom.typepad.com/.a/6a00d835457b7453ef017d410f5181970c-pi" style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="clip_image002[4]" width="381"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;Final words&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;Cloud brings lots of promise for making our business more agile.&lt;/p&gt;&#xD;
&lt;p&gt;Cloud has also become a huge shared infrastructure in which every failure has a much more significant impact on our business worldwide.&lt;/p&gt;&#xD;
&lt;p&gt;The experience in the past year has taught us that even a robust cloud infrastructure such as Amazon can fail. &lt;/p&gt;&#xD;
&lt;p&gt;Through this experience we've learned that rather than relying on the infrastructure for preventing failure we need to design our system to cope with failure and get used to failure as away of life.&lt;/p&gt;&#xD;
&lt;p&gt;Having said that, the investment required to build a robust application can be fairly large and not something that everyone can afford.&lt;/p&gt;&#xD;
&lt;p&gt;Using tools like Cloudify, Chef, Puppet and if you’re a pure Amazon shop Netflix  could help to greatly reduce this effort by pre-baking a lot of these patterns into recipes.&lt;/p&gt;&#xD;
&lt;p&gt; &lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;References&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;ul&gt;&#xD;
&lt;li&gt;&lt;a href="http://www.cloudifysource.org/2013/03/04/cloudifying_high_availability.html" target="_self"&gt;Cloudifying High Availability&lt;/a&gt;&lt;/li&gt;&#xD;
&lt;li&gt;&lt;a href="http://www.cloudifysource.org/2012/10/24/aws-outage-multi-availability-zone-multi-cloud.html" target="_self"&gt;AWS Outage - Moving from Multi-Availability-Zone to Multi-Cloud&lt;/a&gt;&lt;/li&gt;&#xD;
&lt;li&gt;&lt;a href="http://www.cloudifysource.org/2012/06/18/lessons-from-heroku-amazon-outage.html" target="_self"&gt;Lessons From The Heroku Amazon Outage&lt;/a&gt;&lt;/li&gt;&#xD;
&lt;/ul&gt;&#xD;
&lt;p&gt;&lt;a href="http://www.cloudifysource.org/2012/10/24/aws-outage-multi-availability-zone-multi-cloud.html" target="_self"&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt; &lt;/p&gt;&#xD;
&lt;p&gt; &lt;/p&gt;&#xD;
&lt;p&gt;&lt;img align="left" alt="1311765722_picons03" height="42" src="http://natishalom.typepad.com/.a/6a00d835457b7453ef017c329cd14f970b-75wi" title="1311765722_picons03" width="42"&gt;&lt;/img&gt;    &lt;br&gt;&lt;strong&gt;&lt;a href="https://twitter.com/intent/follow?screen_name=natishalom"&gt;Follow Nati &lt;/a&gt;on Twitter!&lt;/strong&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/NatiShalom?a=3Cwv62Ybj_w:Ejjn23UJD04:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/NatiShalom?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/NatiShalom?a=3Cwv62Ybj_w:Ejjn23UJD04:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/NatiShalom?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/NatiShalom/~4/3Cwv62Ybj_w" height="1" width="1"/&gt;</content>



    <feedburner:origLink>http://natishalom.typepad.com/nati_shaloms_blog/2013/02/living-with-cloud-outages-as-a-way-of-lifeand-being-ok-with-it.html</feedburner:origLink></entry>
    <entry>
        <title>Notes from DevOpsCon Israel</title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/NatiShalom/~3/Z3R7IaJPPk0/notes-from-devopscon-israel.html" />
        <link rel="replies" type="text/html" href="http://natishalom.typepad.com/nati_shaloms_blog/2013/01/notes-from-devopscon-israel.html" thr:count="1" thr:updated="2013-05-09T10:58:02+02:00" />
        <id>tag:typepad.com,2003:post-6a00d835457b7453ef017d40a290a6970c</id>
        <published>2013-01-31T12:58:36+01:00</published>
        <updated>2013-01-31T19:16:04+01:00</updated>
        <summary>The first DevOps conference in Israel turned out to be a great success. With a room filled to capacity, and even people sitting on the floor just to take part - the energy level just hit the roof. A great...</summary>
        <author>
            <name>Nati Shalom</name>
        </author>
        <category scheme="http://www.sixapart.com/ns/types#category" term="Agile" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Community" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Conference" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Continuous Delivery" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Continuous Deployment" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Continuous Integration" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="DevOps" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Events" />
        
        
<content type="html" xml:lang="he" xml:base="http://natishalom.typepad.com/nati_shaloms_blog/">&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;p&gt;The first &lt;a href="http://devopscon.com/"&gt;&lt;strong&gt;DevOps conference&lt;/strong&gt;&lt;/a&gt; in Israel turned out to be a great success.&lt;/p&gt;&#xD;
&lt;p&gt;With a room filled to capacity, and even people sitting on the floor just to take part - the energy level just hit the roof.&lt;/p&gt;&#xD;
&lt;p&gt;A great testimony to that is the number of comments on the &lt;a href="http://www.meetup.com/IGTCloud/events/85273942/"&gt;&lt;strong&gt;Meetup page&lt;/strong&gt;&lt;/a&gt; and tweets in the &lt;a href="https://twitter.com/search?q=%23devopscon&amp;amp;src=hash"&gt;&lt;strong&gt;#devopscon&lt;/strong&gt;&lt;/a&gt; twitter thread.&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://natishalom.typepad.com/.a/6a00d835457b7453ef017d40a2908f970c-pi"&gt;&lt;img alt="clip_image001" border="0" height="197" src="http://natishalom.typepad.com/.a/6a00d835457b7453ef017ee8175efc970d-pi" style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="clip_image001" width="638"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;First thing first - in this post I'm going to focus only things that were covered in the main hall, as I  wasn't able to attend all tracks.&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;Main take away&lt;/strong&gt; (In 140 Characters)&lt;/p&gt;&#xD;
&lt;ul&gt;&#xD;
&lt;li&gt;Ben Kepes - &lt;a href="http://devopscon.com/wordpress/presentation/devops-keepers-of-the-keys-to-the-kingdom-ben-kepes/" target="_self"&gt;Keepers of the Keys to the Kingdom&lt;/a&gt; - IT as manufacturing pipeline, undeployed code as wasted goods in inventory &lt;/li&gt;&#xD;
&lt;li&gt;Ran Tavory - &lt;a href="http://devopscon.com/wordpress/presentation/a-devops-jungle-of-tools-infrastructure-vs-deployment-automation/"&gt;DevOps a Jungle of Tools&lt;/a&gt; - Infra management and application deployment are two distinct things&lt;/li&gt;&#xD;
&lt;li&gt;Uri Cohen - &lt;a href="http://devopscon.com/wordpress/presentation/chef-as-a-foundation-for-paas/"&gt;One Does Not Simply Walk Into DevOps&lt;/a&gt;: There are three parts to DevOps. Culture &amp;amp; Processes, Infrastructure as Code, Application as Services. &lt;/li&gt;&#xD;
&lt;li&gt;Clive Foley - &lt;a href="http://devopscon.com/wordpress/presentation/we-tried-to-build-a-devops-team-and-all-we-got-was-this-lousy-t-shirt/"&gt;We Tried to Build a DevOps Team and All We Got was this Lousy T-shirt&lt;/a&gt; - Having a DevOps team that is responsible for DevOps, is the wrong way to run DevOps &lt;/li&gt;&#xD;
&lt;li&gt;Yosef Dinerstein - &lt;a href="http://devopscon.com/wordpress/presentation/continuous-deployment-at-microsoft/"&gt;Continuous Deployment with Node.js over Azure&lt;/a&gt; - Microsoft Azure is not a .Net shop anymore &lt;/li&gt;&#xD;
&lt;/ul&gt;&#xD;
&lt;p&gt;&lt;strong&gt;Common takeaways&lt;/strong&gt; (Some, in slightly more than 140 Characters)&lt;/p&gt;&#xD;
&lt;ul&gt;&#xD;
&lt;li&gt;NoOps? What's the role of IT in a DevOps world? The role of IT is to build tools and infrastructure that will allow developers to run their stuff straight into production. &lt;/li&gt;&#xD;
&lt;li&gt;DevOps is about culture not tools. &lt;/li&gt;&#xD;
&lt;li&gt;Applications need to be designed as loosely coupled services, otherwise it becomes impossible to manage continuous changes. &lt;/li&gt;&#xD;
&lt;li&gt;It’s about accountability - Developers need to be accountable for running their code in production. &lt;/li&gt;&#xD;
&lt;/ul&gt;&#xD;
&lt;p&gt;&lt;strong&gt;Panel discussion:&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;ul&gt;&#xD;
&lt;li&gt;Why do most applications in the cloud run outside of PaaS &amp;lt;- most people build their own kind of *private* PaaS &lt;/li&gt;&#xD;
&lt;li&gt;Will (public) PaaS makes ops obsolete? &amp;lt;- heated debate - my personal view, probably in 3-5 years if nothing gets in the way &amp;lt;- Avishai you can relax, you have plenty of time before you'll need to find a new Job :) &lt;/li&gt;&#xD;
&lt;li&gt;How to convince your management that DevOps is the right thing? – It’s about culture. You need to get the buy-in from top management. A useful way to get that buy-in is through the "build-it and they will come" approach. Once people "see the light" it’s much easier to get their buy-in for an idea. &lt;/li&gt;&#xD;
&lt;/ul&gt;&#xD;
&lt;p&gt;&lt;strong&gt;Quotes of the day:&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;em&gt;If it moves graph it, if it matters alert it (Allspaw)&lt;/em&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;em&gt;You build it, You run it (Werner Vogels)&lt;/em&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;em&gt;Done means Released (Jez Humble)&lt;/em&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;em&gt;"Code that has been written but not yet deployed is very similar to inventory, you’ve paid the cost to develop the software but are not yet getting any of the benefit from it”- Mark Imbriaco, GitHub&lt;/em&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;Final Words - DevOps as a Movement&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;The are three elements that makes a movement IMO -  Frustration-&amp;gt;Disruption-&amp;gt;Passion&lt;/p&gt;&#xD;
&lt;p&gt;DevOps certainly fits into all three.&lt;/p&gt;&#xD;
&lt;ul&gt;&#xD;
&lt;li&gt;&lt;strong&gt;Frustration (Pain)&lt;/strong&gt; - many of us have been frustrated by not being able to do our Job, but rather get stacked by someone else’s job. &lt;/li&gt;&#xD;
&lt;li&gt;&lt;strong&gt;Disruption&lt;/strong&gt; &lt;strong&gt;(Cure)-&lt;/strong&gt; DevOps leads to a complete disruption on many fronts - the way we design our apps (Services), the way our organization works (breaking up silos),  the way we run our business (agile, continuous delivery) &lt;/li&gt;&#xD;
&lt;li&gt;&lt;strong&gt;Passion (Tell the world)&lt;/strong&gt; – as a human being when we go through such pain and we feel that we’ve found a cure for that pain, we get passionate about it and we want to share it with others who share the same pain. DevOps seems to be that cure. &lt;/li&gt;&#xD;
&lt;/ul&gt;&#xD;
&lt;p&gt;To put it in &lt;a href="http://natishalom.typepad.com/nati_shaloms_blog/2009/03/leadership-is-not-management.html"&gt;&lt;strong&gt;Seth Godin’s words&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;Leaders make movements, movements make change.&lt;/p&gt;&#xD;
&lt;p&gt;Now it’s your turn to become a leader or a messenger, and there are now many tools to make your job easier - you can start by proposing meetups, sessions, blogging, tweeting, and of course RT... or if you’re too shy for all that, just click Like or simply RSVP to the next event..&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;Where do we go from here?&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;There are currently two scheduled (local) events that are worth noting in this context:&lt;/p&gt;&#xD;
&lt;p&gt;- &lt;a href="http://www.reversim.com/search/label/carburetor"&gt;&lt;strong&gt;Check out the next Carburetor podcast &lt;/strong&gt;&lt;/a&gt;- Ran Tavory, Ori Lahav and Myself will be sharing thoughts from the event on DevOps&lt;/p&gt;&#xD;
&lt;p&gt;- &lt;a href="http://summit2013.reversim.com/#/"&gt;&lt;strong&gt;Reversim Summit 2013&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;If you have a great story that you want to share suggest a new DevOps meetup on the &lt;a href="http://www.meetup.com/IGTCloud/"&gt;&lt;strong&gt;IGT Meetup page&lt;/strong&gt;&lt;/a&gt; and we’ll take care of the rest..&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;Reference&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;ul&gt;&#xD;
&lt;li&gt;&lt;a href="http://blog.bigpanda.io/devops-conference-israel-take-aways/"&gt;&lt;strong&gt;DevOps Conference Israel take-aways&lt;/strong&gt;&lt;/a&gt; (Shahar Kedar) &lt;/li&gt;&#xD;
&lt;li&gt;&lt;a href="http://alonaizenberg.blogspot.co.uk/2013/01/my-talk-about-continuous-delivery-at.html"&gt;&lt;strong&gt;My talk about continuous delivery at SAP IT&lt;/strong&gt;&lt;/a&gt; (Alon Aizenberg's) &lt;/li&gt;&#xD;
&lt;li&gt;&lt;a href="http://shar1z.tumblr.com/post/41783803448/impressions-from-devops-con-2013"&gt;&lt;strong&gt;Impressions from DevOps Con 2013&lt;/strong&gt;&lt;/a&gt; (Sharon Revah Zitzman) &lt;/li&gt;&#xD;
&lt;li&gt;&lt;a href="http://www.devopscon.com/"&gt;&lt;strong&gt;DevOpscon website&lt;/strong&gt;&lt;/a&gt; &lt;/li&gt;&#xD;
&lt;/ul&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/NatiShalom?a=Z3R7IaJPPk0:b6_xnv7ybDI:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/NatiShalom?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/NatiShalom?a=Z3R7IaJPPk0:b6_xnv7ybDI:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/NatiShalom?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/NatiShalom/~4/Z3R7IaJPPk0" height="1" width="1"/&gt;</content>



    <feedburner:origLink>http://natishalom.typepad.com/nati_shaloms_blog/2013/01/notes-from-devopscon-israel.html</feedburner:origLink></entry>
    <entry>
        <title>DevOps Con Israel - Behind the Scenes</title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/NatiShalom/~3/t3FzkJVxI3g/devops-con-israel.html" />
        <link rel="replies" type="text/html" href="http://natishalom.typepad.com/nati_shaloms_blog/2013/01/devops-con-israel.html" thr:count="0" />
        <id>tag:typepad.com,2003:post-6a00d835457b7453ef017d4039ff84970c</id>
        <published>2013-01-20T12:18:38+01:00</published>
        <updated>2013-01-20T12:35:10+01:00</updated>
        <summary>I'm happy to announce the first DevOps conference in Israel that will take place on the 28th of January. In this post I wanted to share with you a bit of the stories behind the scene on how it all...</summary>
        <author>
            <name>Nati Shalom</name>
        </author>
        <category scheme="http://www.sixapart.com/ns/types#category" term="Cloud" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Community" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="DevOps" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Events" />
        
        
<content type="html" xml:lang="he" xml:base="http://natishalom.typepad.com/nati_shaloms_blog/">&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;p&gt;I'm happy to announce the first &lt;a href="http://www.devopscon.com"&gt;&lt;strong&gt;DevOps conference &lt;/strong&gt;&lt;/a&gt;in Israel that will take place on the 28th of January.&lt;/p&gt;&#xD;
&lt;p&gt;In this post I wanted to share with you a bit of the stories behind the scene on how it all started. &lt;/p&gt;&#xD;
&lt;h2&gt;&lt;strong&gt;How it all started - The story behind the scenes &lt;/strong&gt;&lt;/h2&gt;&#xD;
&lt;p&gt;For those who are not familiar with the topic of DevOps, it can basically be categorized as a movement more than a technology per se. &lt;/p&gt;&#xD;
&lt;p&gt;As with any movement, it comes with a disruptive message that aims to change many of the existing dogmas for how to run Development and IT, in order to improve agility and shorten time to market for launching new features and products. Cloud is not directly related to DevOps, but was a major accelerator, since with Cloud we’re no longer dependent on our IT to do the basic stuff such as setting up machines and networks. Which presented the opportunity to think about doing things differently, and finally break the wall between Development and Operations.&lt;/p&gt;&#xD;
&lt;p&gt;Netflix has been one of the main advocates behind this philosophy, and has served as a great inspiration for many of us who felt that the current setup between devs and ops just isn’t working, but didn't necessarily know how to deal with this. (A good reference on Netflix can be found in Adrian Cockcroft's post - &lt;a href="http://perfcap.blogspot.co.il/2012/03/ops-devops-and-noops-at-netflix.html"&gt;&lt;strong&gt;NoOps&lt;/strong&gt;&lt;/a&gt;)&lt;/p&gt;&#xD;
&lt;p&gt;We got involved in DevOps through our work with the &lt;a href="http://cloudifysource.org"&gt;&lt;strong&gt;Cloudify project&lt;/strong&gt;&lt;/a&gt; which was highly inspired by that same Netflix experience. Through this work we took part in many DevOps related meetups and came to learn and appreciate the people behind the movement both here in Israel and abroad. There was something common that we could all identify with at all of those DevOps meetups - everyone that got involved felt very passionate about it. While this was the case, we still felt that most of the industry events just don’t cover the topic well enough, and we throughout that the community, would be better served if we’d set up a conference that would be dedicated solely to DevOps. &lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://natishalom.typepad.com/.a/6a00d835457b7453ef017d4039ff4d970c-pi"&gt;&lt;img align="left" alt="Screenshot_2013-01-17-17-27-18" border="0" height="332" src="http://natishalom.typepad.com/.a/6a00d835457b7453ef017c360b0643970b-pi" style="background-image: none; margin: 7px 7px 7px 0px; padding-left: 0px; padding-right: 0px; display: inline; float: left; padding-top: 0px; border: 0px;" title="Screenshot_2013-01-17-17-27-18" width="201"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;h2&gt;&lt;strong&gt;The Team Behind the Vision&lt;/strong&gt;&lt;/h2&gt;&#xD;
&lt;p&gt;&lt;a href="http://www.linkedin.com/profile/view?id=4140596&amp;amp;authType=NAME_SEARCH&amp;amp;authToken=_VxQ&amp;amp;locale=en_US&amp;amp;srchid=f4017f5d-fe08-4480-ad5e-2bb5a8e1d2fd-0&amp;amp;srchindex=1&amp;amp;srchtotal=51&amp;amp;goback=%2Efps_PBCK_*1_Uri_Cohen_*1_*1_*1_*1_*2_*1_Y_*1_*1_*1_false_1_R_*1_*51_*1_*51_true_*2_*2_*2_*2_*2_*2_*2_*2_*2_*2_*2_*2_*2_*2_*2_*2_*2_*2_*2_*2_*2&amp;amp;pvs=ps&amp;amp;trk=pp_profile_name_link"&gt;&lt;strong&gt;Uri Cohen&lt;/strong&gt;&lt;/a&gt; -  Uri was the first to come with the idea for setting up a DevOps event in Israel and was and still is, the leading force behind it.&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://www.linkedin.com/in/rantav"&gt;&lt;strong&gt;Ran Tavory&lt;/strong&gt;&lt;/a&gt; - Not sure that I have enough words to express how much has Ran contributed to the event. I'm sure that everyone that knows Ran, and how completely he dedicates himself to a cause he believes in,  would know what I mean. I simply can't imagine a DevOps event without Ran.&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://www.linkedin.com/profile/view?id=11111194&amp;amp;locale=en_US&amp;amp;trk=tyah"&gt;&lt;strong&gt;Sharone Revah Zitzman&lt;/strong&gt;&lt;/a&gt; - Sharone took on the challenge of setting up the event, and has been extremely passionate about it. Everything that you see starting from the website,  through the t-shirts are her making.&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://www.linkedin.com/profile/view?id=84896&amp;amp;locale=en_US&amp;amp;trk=tyah"&gt;&lt;strong&gt;Avner Algom&lt;/strong&gt;&lt;/a&gt; and &lt;a href="http://www.meetup.com/IGTCloud/"&gt;&lt;strong&gt;IGTCloud&lt;/strong&gt;&lt;/a&gt; who helped us deal with many of the logistics such as setting the venues and getting the word out.&lt;/p&gt;&#xD;
&lt;p&gt;I also had the honor to be a part of this great team as Uri's and Sharone right arm.&lt;/p&gt;&#xD;
&lt;h2&gt;&lt;/h2&gt;&#xD;
&lt;h2&gt;&lt;strong&gt;Challenges&lt;/strong&gt;&lt;/h2&gt;&#xD;
&lt;p&gt;&lt;em&gt;Skepticism&lt;/em&gt;: &lt;/p&gt;&#xD;
&lt;p&gt;As this was the first DevOps event in Israel we didn't really know how big the community actually is in Israel. During all the initial phases we had lots of doubts even amongst ourselves on whether we can justify a full day event dedicated only to this topic. That has been probably the biggest challenge we faced in setting this all up. &lt;/p&gt;&#xD;
&lt;p&gt;&lt;em&gt;It's all about the content&lt;/em&gt;:  &lt;/p&gt;&#xD;
&lt;p&gt;We knew early on that if we really want to get the DevOps community involved we must and cannot compromise on the content, and that we needed to get the best presenters on the topics. With Ran’s help we got a quick list of the top speakers in Israel. To give the event more of a global perspective it was also important for us to bring internationally renowned speakers. This is an area where we faced lots of difficulties, and still thinks that we have lots of lessons to learn in this regard, for the next event. It was only until I met &lt;a href="http://www.linkedin.com/profile/view?id=11714338&amp;amp;authType=NAME_SEARCH&amp;amp;authToken=Q9VM&amp;amp;locale=en_US&amp;amp;srchid=c6129421-8f81-456f-bdd9-979eccde931e-0&amp;amp;srchindex=1&amp;amp;srchtotal=12&amp;amp;goback=%2Efps_PBCK_ben+kepes_*1_*1_*1_*1_*1_*1_*2_*1_Y_*1_*1_*1_false_1_R_*1_*51_*1_*51_true_*2_*2_*2_*2_*2_*2_*2_*2_*2_*2_*2_*2_*2_*2_*2_*2_*2_*2_*2_*2_*2&amp;amp;pvs=ps&amp;amp;trk=pp_profile_name_link"&gt;&lt;strong&gt;Ben Kepes&lt;/strong&gt;&lt;/a&gt; during HP Discover event in Frankfurt that I felt that we found the right speaker in this category. Luckily enough, Ben has some Jewish and Israeli roots, so convincing him to come wasn't as difficult as I thought. &lt;/p&gt;&#xD;
&lt;p&gt;&lt;em&gt;Free or paid?&lt;/em&gt; &lt;/p&gt;&#xD;
&lt;p&gt;We were also debating whether the event should be kept free or paid - a paid event would have helped us to funds lots of the costs involved in bringing speakers, setting up venues, lunch and more, and would have contributed immensely to doing so without the pressure on the content that you often comes with sponsorship. On the other hand, we knew that many of the people involved in DevOps are individuals who wouldn't be able to come if this would have been a paid event. This led us to keep the event free for everyone but we knew that we’d have to maintain a tight budget in order not to be  too dependent on sponsorships. This is where the IGT has been very helpful with getting Microsoft onboard. Microsoft, and specifically &lt;a href="http://www.linkedin.com/profile/view?id=80498504&amp;amp;locale=en_US&amp;amp;trk=tyah2"&gt;&lt;strong&gt;Noga Tal&lt;/strong&gt;&lt;/a&gt;, were extremely generous and offered their venue, as well as covering all of the food &amp;amp; refreshment costs for the event. In this way, we were able to move most of the budgetary pressure out of the way and focus on the content. This helped us focus first on setting up the right content for the event, and only once the majority of this bulk was completed, we brought the other sponsors onboard. We also kept a tight editorial review led by Uri an Ran who made sure that the content was aligned with the purpose and vision.&lt;/p&gt;&#xD;
&lt;p&gt; &lt;/p&gt;&#xD;
&lt;h2&gt;&lt;strong&gt;Looking Good!&lt;/strong&gt;&lt;/h2&gt;&#xD;
&lt;p&gt;&lt;strong&gt;Luckily today we face quite the opposite challenge than when we started.&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;Our challenge today is not whether or not there would be enough people interested in DevOps went but whether we will actually have enough space for everyone, and the waiting list keeps growing.&lt;/p&gt;&#xD;
&lt;p&gt; &lt;/p&gt;&#xD;
&lt;h2&gt;&lt;strong&gt;How can you help?&lt;/strong&gt;&lt;/h2&gt;&#xD;
&lt;p&gt;We only just set up the platform, and it is now up to you to take advantage of it by participating, speaking and spreading the word.&lt;/p&gt;&#xD;
&lt;p&gt; &lt;/p&gt;&#xD;
&lt;h2&gt;&lt;strong&gt;Special thanks&lt;/strong&gt;&lt;/h2&gt;&#xD;
&lt;p&gt;There are few other who deserve special thanks for their help in setting up the event.&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://www.jfrog.com/"&gt;&lt;strong&gt;JFrog&lt;/strong&gt;&lt;/a&gt;, Baruch and Shlomi - who shared their experience and lessons in setting similar events, and for being active participants in both speaking and sponsoring the event.&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;&lt;a href="http://diversity.net.nz/" target="_blank"&gt;Ben Kepes&lt;/a&gt;&lt;/strong&gt; who is making his way all the way from New Zealand to Israel to share his international perspective with our local crowd.&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;&lt;a href="http://www.microsoft.com" target="_self"&gt;Microsoft &lt;/a&gt;&lt;/strong&gt;– Who have been extremely supportive in offering the venue and large bulk of the sponsorship.&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://devopscon.com/wordpress/speakers/"&gt;&lt;strong&gt;Speakers&lt;/strong&gt;&lt;/a&gt; - A big thanks to all the speakers who agreed to present and take part in the event - without you there would be no event!&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://devopscon.com/wordpress/sponsors/"&gt;&lt;strong&gt;Sponsors&lt;/strong&gt;&lt;/a&gt; – And of course a big thanks to all the sponsors, without you none of this would have been made possible: &lt;strong&gt;&lt;a href="http://www.battery.com/"&gt;Battery Ventures&lt;/a&gt;&lt;/strong&gt;, &lt;strong&gt;&lt;a href="http://www.gigaspaces.com/"&gt;GigaSpaces Technologies&lt;/a&gt;&lt;/strong&gt;,  &lt;strong&gt;&lt;a href="http://www.meetup.com/IGTCloud/"&gt;IGTCloud&lt;/a&gt;&lt;/strong&gt;, &lt;a href="http://lsvp.com/"&gt;&lt;strong&gt;Lightspeed Venture Partners&lt;/strong&gt;&lt;/a&gt;, &lt;strong&gt;&lt;a href="http://www.wix.com/"&gt;Wix&lt;/a&gt; (check out their job openings &lt;a href="http://devopscon.com/wordpress/sponsor/wix/" target="_self"&gt;here&lt;/a&gt;)&lt;/strong&gt;, &lt;strong&gt;&lt;a href="http://www.wonga.com/"&gt;Wonga.com&lt;/a&gt;&lt;/strong&gt;, and last but not least, &lt;a href="https://www.google.co.il/url?sa=t&amp;amp;rct=j&amp;amp;q=&amp;amp;esrc=s&amp;amp;source=web&amp;amp;cd=1&amp;amp;cad=rja&amp;amp;ved=0CDEQFjAA&amp;amp;url=http%3A%2F%2Fwww.yahoo.com%2F&amp;amp;ei=_Kf7UN5Gh9W0BseVgPgM&amp;amp;usg=AFQjCNG7Ba-stir4109vlLygPQX7QGf8bg&amp;amp;sig2=ToZ2tcNXHFGnW0sfvltCeQ&amp;amp;bvm=bv.41248874,d.Yms"&gt;&lt;strong&gt;Yahoo!&lt;/strong&gt;&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/NatiShalom?a=t3FzkJVxI3g:X1EJNXg8Km8:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/NatiShalom?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/NatiShalom?a=t3FzkJVxI3g:X1EJNXg8Km8:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/NatiShalom?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/NatiShalom/~4/t3FzkJVxI3g" height="1" width="1"/&gt;</content>



    <feedburner:origLink>http://natishalom.typepad.com/nati_shaloms_blog/2013/01/devops-con-israel.html</feedburner:origLink></entry>
    <entry>
        <title>In Memory Computing (Data Grid) for Big Data</title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/NatiShalom/~3/ZleXnVlKNG8/in-memory-computing-data-grid-for-big-data.html" />
        <link rel="replies" type="text/html" href="http://natishalom.typepad.com/nati_shaloms_blog/2013/01/in-memory-computing-data-grid-for-big-data.html" thr:count="2" thr:updated="2013-01-31T18:33:46+01:00" />
        <id>tag:typepad.com,2003:post-6a00d835457b7453ef017d3f5a8a73970c</id>
        <published>2013-01-01T15:47:11+01:00</published>
        <updated>2013-01-01T15:47:11+01:00</updated>
        <summary>The Drive for In Memory Computing? Memory-based databases and caching product has been available for over a decade. However, so far they have been used in a fairly small niche in the data management solution market. There have been multiple...</summary>
        <author>
            <name>Nati Shalom</name>
        </author>
        <category scheme="http://www.sixapart.com/ns/types#category" term="Big Data" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Cassandra" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Complexity" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="GigaSpaces" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="hadoop" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="latency" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="NOSQL" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="real-time" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="scalability" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="storage" />
        
        
<content type="html" xml:lang="he" xml:base="http://natishalom.typepad.com/nati_shaloms_blog/">&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;p&gt;&lt;strong&gt;The Drive for In Memory Computing?&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;Memory-based databases and caching product has been available for over a decade. However, so far they have been used in a fairly small niche in the data management solution market.&lt;/p&gt;&#xD;
&lt;p&gt;There have been multiple advances in the industry in both hardware and software architecture, which makes memory-based computing more relevant today than in the past, as outlined in the diagram below.&lt;/p&gt;&#xD;
&lt;p&gt;In a nutshell, the availability of new classes of hardware with the support of 64bit CPU can now support 2TB on a single device. In addition, the advances in software architecture and solutions toward distributed architecture and cloud make it easier to utilize these new hardware capabilities.&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://natishalom.typepad.com/.a/6a00d835457b7453ef017d3f5a8a25970c-pi"&gt;&lt;img alt="clip_image001" border="0" height="184" src="http://natishalom.typepad.com/.a/6a00d835457b7453ef017ee6cf2558970d-pi" style="background-image: none; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="clip_image001" width="244"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;In-Memory Computing&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;In many ways, In-Memory Computing is a close relative of In-Memory Databases. As with many databases, it was designed to enable all the data management aspects that are often expected from traditional databases, such as queries and transactions, with the difference that the data is managed on RAM devices and not disks and thus comes with potentially x1000 better performance and latency according to various benchmarks.&lt;/p&gt;&#xD;
&lt;p&gt;The main differences between the traditional in-memory databases and in-memory-based-computing are that In-Memory-Computing is:&lt;/p&gt;&#xD;
&lt;p&gt;1. Designed for distributed and elastic environments&lt;/p&gt;&#xD;
&lt;p&gt;2. Designed for In-Memory data processing&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;Executing the code where the data is:&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;The fact that we can store our data in the same address space as our application is the biggest gain.&lt;/p&gt;&#xD;
&lt;p&gt;Unlike disk and even flash disk devices, we can access our data by reference and thus perform complex data manipulation without any serialisation/de-seralization overhead. With the new class of dynamic languages such as Java, JavaScript, JRuby, and Scala, it is also significantly easier to pass complex logic over the wire and execute it on a remote device.&lt;/p&gt;&#xD;
&lt;p&gt;In-Memory Computing  relies heavily on that capability, and exposes a new class of complex data processing capabilities that fits well with the distributed nature of the data through real-time map/reduce and stream-based processing as a core element of its architecture.&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;The Big Data Context&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;According to our &lt;a href="http://www.gigaspaces.com/sites/default/files/product/BigDataSurvey_Report.pdf"&gt;&lt;strong&gt;recent survey&lt;/strong&gt;&lt;/a&gt; more than 70 percent of the responders said their business requires real-time processing of big data -- either in large volumes, at high velocity, or both.&lt;/p&gt;&#xD;
&lt;p&gt;Interestingly enough another survey by &lt;a href="http://www.ventanaresearch.com/uploadedFiles/Content/Landing_Pages/Ventana_Research_Big_Data_Benchmark_Research_Presentation.pdf%0A"&gt;&lt;strong&gt;Ventana Research&lt;/strong&gt;&lt;/a&gt; indicated that one of the biggest technical challenges in Big Data is the lack of real-time capabilities (67%). The report also indicated that many of the organizations are planning to use in-memory databases (40%) as part of their Big Data stack. This places the In-Memory Database as a second choice, before specialised DBMS (33%) and Hadoop (32%).  One of the conclusions this survey leads to is that organizations see Data Warehouse Appliances and In-Memory Databases as one of their first choices to deal with the lack of real-time capabilities.&lt;/p&gt;&#xD;
&lt;p&gt; &lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://natishalom.typepad.com/.a/6a00d835457b7453ef017d3f5a8a41970c-pi"&gt;&lt;img alt="clip_image002" border="0" height="214" src="http://natishalom.typepad.com/.a/6a00d835457b7453ef017ee6cf2566970d-pi" style="background-image: none; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="clip_image002" width="244"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;No One-Size-Fits-All Solution&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;While In-Memory Databases fit well in the planned Big Data stack, it is clear that  theres no one-size-fits-all solution. The Big Data stack is going to be based on a blend of various technologies, each covering different aspects of the challenges of Big Data, from batch to real-time, from vertical to horizontal solutions, etc.&lt;/p&gt;&#xD;
&lt;p&gt;The question is: How do we integrate them all, without adding even more complexity to an already complex system?&lt;/p&gt;&#xD;
&lt;p&gt;In this post I will focus specifically on one of the approaches the we used for combining In-Memory Computing together with other Big Data solutions, such as Hadoop and Cassandra.&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;Putting In-Memory Computing Togther with a NoSQL DB&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;One of the main motivations to integrate in-memory-based solutions with a NoSQL DB is to reduce the cost per GB of data.&lt;/p&gt;&#xD;
&lt;p&gt;Putting our entire data purely in-memory can be too costly especially for data that were not going to access frequently.&lt;/p&gt;&#xD;
&lt;p&gt;There are various approaches to doing this -- the approach we found most useful is a two-tier approach.&lt;/p&gt;&#xD;
&lt;p&gt;With the two-tier approach the In-Memory Computing systems run separately from the NoSQL database, which acts as the long-term storage. &lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://blog.gigaspaces.com/cassandra-on-acid/"&gt;&lt;strong&gt;&lt;img alt="clip_image003" border="0" height="152" src="http://natishalom.typepad.com/.a/6a00d835457b7453ef017c352bc1c2970b-pi" style="background-image: none; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="clip_image003" width="244"&gt;&lt;/img&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;The Challenge&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;The main challenge with this approach is the complexity that is associated with synchronising two separate data systems. Specifically, how to ensure that data that is written into the front end In Memory Computing engine gets populated into the NoSQL database reliably, and vice versa.&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;The Solution&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;To deal with this challenge we used a similar approach to the one that we used before with RDBMS. Have an implicit plug-in that gets called whenever new data is written and populate it into the underlying database. The plug-in also deals with pre-loading of the data when the system starts. In the RDBMS world we used frameworks like Hibernate to deal with the implicit mapping of the data between the in-memory front end and the underlying database.&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;Working with Dynamic Data Structure (a.k.a Document Model)&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;When we tried to apply the same approach with NoSQL databases we could no longer rely on Hibernate as the default framework for mapping the data between the two data systems, as NoSQL databases like Cassandra tend to be fundamentally different from traditional RDBMSs. The main difference is the use of dynamic data structures, a.k.a the Document Model.&lt;/p&gt;&#xD;
&lt;p&gt;To deal with dynamic data structure we added the following hooks:&lt;/p&gt;&#xD;
&lt;ul&gt;&#xD;
&lt;li&gt;Introducing new documents and objects: Users can choose to write or load data in various forms -- Document for non-structured data or Objects or POJOs for structured or semi-structured data. &lt;/li&gt;&#xD;
&lt;/ul&gt;&#xD;
&lt;ul&gt;&#xD;
&lt;li&gt;Introducing and loading new meta data: To map the data to and from the NoSQL database we also added the ability to introduce new meta data and load the meta data of the object before the actual data is loaded.&lt;/li&gt;&#xD;
&lt;/ul&gt;&#xD;
&lt;ul&gt;&#xD;
&lt;li&gt;Introducing new indexes: In NoSQL databases you cannot effectively access data that is not indexed. For that purpose we included the ability to introduce indexes on the fly.&lt;/li&gt;&#xD;
&lt;/ul&gt;&#xD;
&lt;p&gt;You can see how this works specifically with Cassandra in this post -- &lt;a href="http://extremebigdata.tumblr.com/post/38882085740/from-the-memory-grid-to-cassandra%20"&gt;&lt;strong&gt;From The Memory Grid to Cassandra &lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;The Benefit -- Best of both worlds&lt;/strong&gt; &lt;/p&gt;&#xD;
&lt;p&gt;The main benefit of this two-tier approach is that it allows us to take the best of the memory and file-based approaches without adding too much complexity. The two tiers behave and work as one data system from an end-user perspective. The bits and pieces of how the two system get synchronized is carved out of the system.&lt;/p&gt;&#xD;
&lt;p&gt;Furthermore, the two-tier approach opens up a new degree of flexibility in how we design our Big Data system.&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;New Degree of Flexibility&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;If we look at the entire data flow from the point in which a user interacts with our system (this is where we expect low latency and high degree of consistency to our analytics systems; where we record those actions and analyze them, latency is less of an issue and we can also relax some of the consistency constraints), we can see that each stage in our data processing has different  onsistency, latency and performance requirements.&lt;/p&gt;&#xD;
&lt;p&gt;With the two-tier approach there is more flexibility in dealing with those different requirements and still keep everything working as if it were one big system from a usability perspective. Here are a few examples of how this setup can work:&lt;/p&gt;&#xD;
&lt;ul&gt;&#xD;
&lt;li&gt;&lt;strong&gt;Consistent data flow from Real-Time to Batch:&lt;/strong&gt; The integration enables us to handle real-time data processing at in-memory speed and deal with more long-term data processing through the underlying database.&lt;/li&gt;&#xD;
&lt;li&gt;&lt;strong&gt;Performance &amp;amp; latency:&lt;/strong&gt; The In-Memory Computing system can handle the event processing before the data gets into the database. Or, another approach is to keep the last day (or days) in-memory and the rest of the data in the NoSQL database.&lt;/li&gt;&#xD;
&lt;li&gt;&lt;strong&gt;Mixed consistency model:&lt;/strong&gt; The In-Memory Computing system is often built for extreme consistency where NoSQL databases often work best with eventual consistency. Usually, the consistency requirements are more relevant at the front end of the system, and becomes less relevant as the data gets older. The combined approach enables us to set our front end for extreme consistency and back end for eventual consistency.&lt;/li&gt;&#xD;
&lt;li&gt;&lt;strong&gt;Deterministic behavior:&lt;/strong&gt; In many cases, we must ensure that a given set of data can be served under constant performance. Many databases use an LRU based cache to optimise the data access. The limitation of this approach is that the speed at which we can access our data becomes non-deterministic as we often do not control which data is served through the database cache; thus, in some cases we will get a fast response time if we hit the cache and in other cases the same operation can be 10 times longer if we miss the cache. By splitting our in-memory data from our file-based storage we get more explicit control over which data is served at in-memory speed and which data is not, thus ensuring consistent access to that data.&lt;/li&gt;&#xD;
&lt;li&gt;&lt;strong&gt;Faster ETL:&lt;/strong&gt; By front-ending our Big Data storage with In Memory Computing we can also speed up the time it takes to pre-process and load data to our long-term data system. In this context, we can push the filtering, validation, compression and other aspect of our data processing into memory before it goes into our long-term databases.&lt;/li&gt;&#xD;
&lt;/ul&gt;&#xD;
&lt;p&gt;&lt;strong&gt;Final Words&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;Big Data systems are complex beast and it is clear that the one-size-fits-all approach doesn't work.&lt;/p&gt;&#xD;
&lt;p&gt;On the other hand, having too many data systems increases the complexity of managing our Big Data system almost exponentially; and our ability to ensure consistent behaviour, data integrity and reliable synchronization across the varous systems becomes an almost un-manageable task if done manually. &lt;/p&gt;&#xD;
&lt;p&gt;Adding real-time capabilities to our Big Data system is a classic area where the kind of integration described in this article is needed. The integration between In-Memory and File-Based approaches as two separate tiers also introduces additioanl areas of flexibility in how we can handle often contradictory requirements such as consistency, scale, latency, and cost. Instead of trying to come up with a least common denominator, we can optimize each tier to the area it fits best.&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;References:&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;ul&gt;&#xD;
&lt;li&gt;&lt;a href="http://extremebigdata.tumblr.com/post/38882085740/from-the-memory-grid-to-cassandra%20"&gt;&lt;strong&gt;From The Memory Grid to Cassandra &lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&#xD;
&lt;li&gt;&lt;a href="http://www.gigaspaces.com/sites/default/files/product/BigDataSurvey_Report.pdf"&gt;&lt;strong&gt;GigaSpaces Big Data Survey&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&#xD;
&lt;li&gt;&lt;a href="http://www.ventanaresearch.com/uploadedFiles/Content/Landing_Pages/Ventana_Research_Big_Data_Benchmark_Research_Presentation.pdf"&gt;&lt;strong&gt;The Challenges of Big Data Survey (Ventana Research)&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&#xD;
&lt;li&gt;&lt;strong&gt;&lt;a href="http://en.wikipedia.org/wiki/In-Memory_Processing%0A"&gt;In Memory Computing (Wikipedia)&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;&#xD;
&lt;li&gt;&lt;a href="http://www.ventanaresearch.com/uploadedFiles/Content/Landing_Pages/Ventana_Research_Big_Data_Benchmark_Research_Presentation.pdf"&gt;&lt;strong&gt;http://www.ventanaresearch.com/uploadedFiles/Content/Landing_Pages/Ventana_Research_Big_Data_Benchmark_Research_Presentation.pdf&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&#xD;
&lt;/ul&gt;&#xD;
&lt;p&gt; &lt;/p&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/NatiShalom?a=ZleXnVlKNG8:zjT6CBPUYpw:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/NatiShalom?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/NatiShalom?a=ZleXnVlKNG8:zjT6CBPUYpw:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/NatiShalom?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/NatiShalom/~4/ZleXnVlKNG8" height="1" width="1"/&gt;</content>



    <feedburner:origLink>http://natishalom.typepad.com/nati_shaloms_blog/2013/01/in-memory-computing-data-grid-for-big-data.html</feedburner:origLink></entry>
    <entry>
        <title>2013 The year of a major cloud world shakeout</title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/NatiShalom/~3/msrqE9-UKMk/2013-the-year-of-major-the-cloud-world-shakeout.html" />
        <link rel="replies" type="text/html" href="http://natishalom.typepad.com/nati_shaloms_blog/2012/12/2013-the-year-of-major-the-cloud-world-shakeout.html" thr:count="1" thr:updated="2012-12-26T13:04:59+01:00" />
        <id>tag:typepad.com,2003:post-6a00d835457b7453ef017ee635d1e4970d</id>
        <published>2012-12-17T17:54:02+01:00</published>
        <updated>2012-12-17T17:54:02+01:00</updated>
        <summary>Cloud has been around for couple of years now. Following the technology lifecycle, you would expect that we should now be entering the maturity lifecycle where we can expect to see less disruption and more consolidation in the market. The...</summary>
        <author>
            <name>Nati Shalom</name>
        </author>
        <category scheme="http://www.sixapart.com/ns/types#category" term="Big Data" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Cloud Computing" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Cloudify" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="GigaSpaces" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="hadoop" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="NOSQL" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="PaaS" />
        
        
<content type="html" xml:lang="he" xml:base="http://natishalom.typepad.com/nati_shaloms_blog/">&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;p&gt;Cloud has been around for couple of years now. Following the technology lifecycle, you would expect that we should now be entering the maturity lifecycle where we can expect to see less disruption and more consolidation in the market. &lt;/p&gt;&#xD;
&lt;p&gt;The reality shows that quite the contrary is happening, as we enter the land grabbing stage where everyone is competing for market share, and the incentive for major disruption is higher than ever before.&lt;/p&gt;&#xD;
&lt;p&gt;As a result of this, I expect during 2013 to see some major disruptions and shakeouts that will have a dramatic effect on the cloud world as we know it.&lt;/p&gt;&#xD;
&lt;p&gt;I've listed the main three below:&lt;/p&gt;&#xD;
&lt;p&gt;1. &lt;strong&gt;The IaaS Shakeout&lt;/strong&gt; - So far, the IaaS world has been dominated by Amazon who is by far the leader in the market, where Rackspace its closest competitor comes in a far second. In 2013, we’re expecting to see Google entering the game, and Microsoft – who is not new to this game – to now finally start making the right moves, and with these is expected grab more market share from its existing customer base.  The other big disruption is the open source coalition behind OpenStack which was lacking the maturity needed to present a true viable alternative. With Rackspace, HP GA-ing its OpenStack-based cloud offering, and IBM  expected to follow suit as well, and with real production references such as Cisco’s Webex, I expect that we will now be seeing a far greater adoption of OpenStack, which to me currently looks like the main viable alternative to Amazon. The war on who rules the cloud is not going to be just a pricing war as some predict. One of the areas where there is huge potential for disruption is the network, as well as the software-based data center, which is a completely uncharted territory, with lots of potential for new innovation with how applications utilize the infrastructure. &lt;/p&gt;&#xD;
&lt;p&gt;2. &lt;strong&gt;The&lt;/strong&gt; &lt;strong&gt;PaaS Shakeout&lt;/strong&gt; - I've seen lots of predictions that talk about 2013 as the year of PaaS. They miss one major thing though. The definition of PaaS is undergoing a major disruption as well. PaaS was built initially to serve simple applications over the web. We’re now seeing a completely new category of PaaS coming mostly from open source initiatives, such as Cloud Foundry, which makes it possible to run PaaS in your local data center or even desktop. I'm also expecting us to see more convergence between PaaS and configuration management frameworks such as Chef, as in the case of Cloudify. If we follow Amazon, one can also note that the line between IaaS and PaaS is blurring, as Amazon has started to move up the stack. In addition to this, open source IaaS frameworks such as OpenStack and CloudStack make it possible to break down the wall between these two layers, and share a large part of the infrastructure between the IaaS and PaaS stack, blurring the boundaries between the two layers more than ever, as I pointed out in this post (&lt;a href="http://natishalom.typepad.com/nati_shaloms_blog/2012/10/paas-as-an-infrastructure.html"&gt;PaaS as Infrastructure&lt;/a&gt;).&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;3. Big Data Shakeout&lt;/strong&gt; - The Big Data world has primarily been dominated by Hadoop. The Hadoop project has since gone through major fragmentation with many different and incompatible versions of the Hadoop distribution such as the one coming from MapR, Horton Works, EMC, IBM, and more.  This gives a rise to some of the NoSQL vendors such as DataStax, the company behind Cassandra, and 10Gen the company behind MongoDB to come out with their own alternatives in this space. In addition, the move to real time makes the use of Map/Reduce less popular than it used to be. Frameworks like Twitter’s Storm and other stream processing frameworks are gaining popularity. With all this going on, the future of Haddoop as we know it remains fairly uncertain IMO, and while the Big Data market is expected to grow quite substantially over the next coming years, it is still unclear which technology will be the one to drive this change. One thing that has becomes quite clear though, is that it doesn’t appear as if there is going to be one solution that covers them all, making the challenge of integration and management of the various framework more critical than before.&lt;/p&gt;&#xD;
&lt;p&gt;So all in all, I think that 2013 is going to hold a lot of surprises and disruptions, and we are still pretty far from the point where we’re going to see consolidation.&lt;/p&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/NatiShalom?a=msrqE9-UKMk:SO-HstrX8qs:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/NatiShalom?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/NatiShalom?a=msrqE9-UKMk:SO-HstrX8qs:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/NatiShalom?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/NatiShalom/~4/msrqE9-UKMk" height="1" width="1"/&gt;</content>



    <feedburner:origLink>http://natishalom.typepad.com/nati_shaloms_blog/2012/12/2013-the-year-of-major-the-cloud-world-shakeout.html</feedburner:origLink></entry>
    <entry>
        <title>OpenStack Israel II</title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/NatiShalom/~3/5dz0uk-KbcI/openstack-israel-ii.html" />
        <link rel="replies" type="text/html" href="http://natishalom.typepad.com/nati_shaloms_blog/2012/11/openstack-israel-ii.html" thr:count="3" thr:updated="2013-05-09T11:51:11+02:00" />
        <id>tag:typepad.com,2003:post-6a00d835457b7453ef017d3e200a58970c</id>
        <published>2012-11-25T12:30:17+01:00</published>
        <updated>2012-11-25T12:30:17+01:00</updated>
        <summary>I'm very excited to announce our second OpenStack Israel event which will take place on Tuesday this week, November 27th. At this event you'll be able learn about the latest developments in OpenStack from Jonathan Bryce Executive Director at the...</summary>
        <author>
            <name>Nati Shalom</name>
        </author>
        <category scheme="http://www.sixapart.com/ns/types#category" term="Cloud" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Cloud Computing" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="OpenStack" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="PaaS" />
        
        
<content type="html" xml:lang="he" xml:base="http://natishalom.typepad.com/nati_shaloms_blog/">&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;p class="p1"&gt;I'm very excited to announce our second &lt;a href="http://www.meetup.com/IGTCloud/events/87103152/"&gt;&lt;span class="s1"&gt;OpenStack Israel event&lt;/span&gt;&lt;/a&gt; which will take place on Tuesday this week, November 27th.&lt;/p&gt;&#xD;
&lt;p class="p1"&gt;At this event you'll be able learn about the latest developments in OpenStack from &lt;a href="http://www.linkedin.com/in/jbryce"&gt;Jonathan Bryce&lt;/a&gt; Executive Director at the OpenStack Foundation.&lt;/p&gt;&#xD;
&lt;p class="p1"&gt; &lt;/p&gt;&#xD;
&lt;p class="p1"&gt;&lt;img alt="" src="http://photos2.meetupstatic.com/photos/event/4/b/c/event_179761212.jpeg"&gt;&lt;/img&gt;&lt;/p&gt;&#xD;
&lt;p&gt;One of the other highlights of the event is a local success story by &lt;a href="http://www.linkedin.com/in/kobiholtzer"&gt;Koby Holzer&lt;/a&gt; System &amp;amp; Storage Engineer Group Leader at LivePerson who will talk about their experience with running OpenStack in production across multiple data centers. We will also have several talks focused on one of the hottest areas in OpenStack development - Network/ Quantum and SDM delivered by &lt;a href="http://www.linkedin.com/pub/yaron-haviv/3/2b0/aa9"&gt;Yaron Haviv&lt;/a&gt; from Mellanox. &lt;a href="http://il.linkedin.com/in/avivachnis"&gt;Vachnis Avi&lt;/a&gt; from Alcatel will present their choice of OpenStack APIs as the de-facto standard for Cloud APIs.  &lt;/p&gt;&#xD;
&lt;p&gt;Those who are also looking to get their hands dirty will have the chance to learn how to setup a simple OpenStack environment on your desktop from &lt;a href="http://www.linkedin.com/in/oritzoran"&gt;Ori Tzoran,&lt;/a&gt; DevOps Senior Engineer @ "Tikal Knowledge".&lt;/p&gt;&#xD;
&lt;p class="p1"&gt;You can see the full agenda at the &lt;a href="http://www.meetup.com/IGTCloud/events/87103152/"&gt;event page&lt;/a&gt;.&lt;/p&gt;&#xD;
&lt;p class="p1"&gt;As with previous times, we’ve reserved slots for lightning talks -  so, if you have an interesting story you'll have the chance to share it during the event.&lt;/p&gt;&#xD;
&lt;p class="p1"&gt;I look forward to seeing you all at the event. &lt;/p&gt;&#xD;
&lt;p class="p1"&gt;Please make sure to &lt;a href="http://www.meetup.com/IGTCloud/events/87103152/"&gt;RSVP&lt;/a&gt; to secure your place at the event as the seats are limited.&lt;/p&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/NatiShalom?a=5dz0uk-KbcI:wgI5ZQx1TQM:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/NatiShalom?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/NatiShalom?a=5dz0uk-KbcI:wgI5ZQx1TQM:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/NatiShalom?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/NatiShalom/~4/5dz0uk-KbcI" height="1" width="1"/&gt;</content>



    <feedburner:origLink>http://natishalom.typepad.com/nati_shaloms_blog/2012/11/openstack-israel-ii.html</feedburner:origLink></entry>
    <entry>
        <title>Moving Enterprise Workloads to the Cloud on a Massive Scale - The Cloudify Way</title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/NatiShalom/~3/FpEkHAL0D3k/moving-enterprise-workloads-to-the-cloud-on-a-massive-scale-the-cloudify-way.html" />
        <link rel="replies" type="text/html" href="http://natishalom.typepad.com/nati_shaloms_blog/2012/11/moving-enterprise-workloads-to-the-cloud-on-a-massive-scale-the-cloudify-way.html" thr:count="4" thr:updated="2013-03-20T15:56:39+01:00" />
        <id>tag:typepad.com,2003:post-6a00d835457b7453ef017ee4a07f69970d</id>
        <published>2012-11-01T23:38:30+01:00</published>
        <updated>2012-11-01T23:18:01+01:00</updated>
        <summary>In my previous post Moving Enterprise Workloads to the Cloud on a Massive Scale, I pointed out the reasons for moving Enterprise workloads to the cloud. I also argued that the current approach doesn't work, as we need to think...</summary>
        <author>
            <name>Nati Shalom</name>
        </author>
        
        
<content type="html" xml:lang="he" xml:base="http://natishalom.typepad.com/nati_shaloms_blog/">&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;p&gt;&lt;a href="http://natishalom.typepad.com/.a/6a00d835457b7453ef017c32ff04a0970b-pi"&gt;&lt;img align="left" alt="CloudifyLightbulb" height="240" src="http://natishalom.typepad.com/.a/6a00d835457b7453ef017d3d2d86e6970c-pi" style="margin: 0px 12px 0px 0px; display: inline; float: left;" title="CloudifyLightbulb" width="240"&gt;&lt;/img&gt;&lt;/a&gt;In my previous post &lt;a href="http://natishalom.typepad.com/nati_shaloms_blog/2012/10/moving-enterprise-workloads-to-the-cloud-on-a-massive-scale.html"&gt;Moving Enterprise Workloads to the Cloud on a Massive Scale&lt;/a&gt;, I pointed out the reasons for moving Enterprise workloads to the cloud.&lt;/p&gt;&#xD;
&lt;p&gt;I also argued that the current approach doesn't work, as we need to think of moving apps not as one-off projects, or as an afterthought, but at a large-scale. Moving apps at a large scale requires a completely different thinking.&lt;/p&gt;&#xD;
&lt;p&gt;I laid out what I believe should be the core principles behind this approach:&lt;/p&gt;&#xD;
&lt;blockquote&gt;   &#xD;
&lt;ul style="text-align: left; line-height: 19px; font-family: 'Open Sans', sans-serif; clear: both; font-size: 13px;"&gt;&#xD;
&lt;li&gt;&lt;strong&gt;No Code Change&lt;/strong&gt; - Any change, even the slightest one, to our existing apps will slow down our migration efforts substantially. Furthermore, many of the apps are third-party apps, where we often times don't even have control over the application code, so changing the app is likely not an option. There are many things that we can benefit from by moving our apps to the cloud, such as automation, ease of change, and configuration. We can obviously benefit more if we change our apps to take better advantage of the cloud infrastructure, but the right order would be to do this after we’ve already migrated the app to the cloud in the first place. There, of course, will still be many cases where just automating the way we run our apps and make them available on-demand would be sufficient enough. &lt;/li&gt;&#xD;
&lt;li&gt;&lt;strong&gt;Plug-in to the Current Way of Running Apps&lt;/strong&gt; - The common way for running apps today is either through custom shell scripts in the simple case, or through configuration management tools such as Chef or Puppet in the more advanced case. If we want to migrate apps at a massive scale, we need to be able to plug-in to the most common environments, and make it possible to import them almost as is. In this way, we could leverage the knowledge and know-how that has already been invested into these systems and make the migration process vastly shorter. &lt;/li&gt;&#xD;
&lt;li&gt;&lt;strong&gt;Use Shared Infrastructure Across the Stack Regardless of the Language&lt;/strong&gt; - Using different frameworks for each element of our application stack based on the language and environment in not going to scale for obvious reasons, such as complexity, a large number of moving parts, inconsistency, among other reasons. &lt;/li&gt;&#xD;
&lt;li&gt;&lt;strong&gt;Add Cloud Properties from the Outside&lt;/strong&gt; - There are many cloud properties that we can apply to our existing apps without forcing any changes. For example, we can automate the scaling from small to bigger machines, we can also automate the configuration, and setup. We can significantly simplify the way we run the app by making it available on-demand. All these cloud properties can be plugged into almost any existing app without forcing a real change, as noted in the &lt;a href="http://natishalom.typepad.com/nati_shaloms_blog/2012/06/lessons-from-amazon-rds-on-bringing-existing-apps-to-the-cloud.html"&gt;MySQL example&lt;/a&gt;. &lt;/li&gt;&#xD;
&lt;li&gt;&lt;strong&gt;Use the Baby Steps Approach&lt;/strong&gt; - One of the main inhibitors to migrating apps was the &lt;em&gt;all or nothing approach.&lt;/em&gt; There are many risks involved in migrating apps that go well beyond the technology challenge. The easiest way to mitigate such risks is by taking them one at a time. For example, we can first make our apps cloud ready, in which case we will abstract the automation part from the target infrastructure. By doing so, the decision where to run our app becomes tactical and less strategic. We can choose to run our production in our private data center, and run only testing and demos on the cloud. In this way, we can also make the migration gradual and smoother. &lt;/li&gt;&#xD;
&lt;li&gt;&lt;strong&gt;Incorporate Bare-Metal into our Cloud&lt;/strong&gt; - One of the main challenges that I’ve seen for moving true enterprise workloads to the cloud wasn't necessarily related to the cloud, but to the virtualization overhead that is often used as the underlying infrastructure of many clouds. Today it is possible, to gain access to bare metal clouds  which make it possible to run almost any workload including I/O intensive ones without any performance overhead, as I noted in my post about the emergence of &lt;a href="http://natishalom.typepad.com/nati_shaloms_blog/2012/05/bare-metal-paas.html"&gt;bare-metal clouds&lt;/a&gt;. &lt;/li&gt;&#xD;
&lt;/ul&gt;&#xD;
&lt;/blockquote&gt;&#xD;
&lt;p&gt; &lt;/p&gt;&#xD;
&lt;p&gt;In this post I will be referring to the way we've implemented this approach with Cloudify.&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;General approach&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;The least common denominator with all applications, regardless of their size and language, is that they all map to a group of processes with some degree of interdependency between them. Cloudify manages applications at the process level, and as such uses the same underlying architecture for any application regardless of the language or the technology stack that comprises the application. Having said that, working at the process level is often not enough as not all processes were made the same. For example, databases behave quite differently from web containers and load-balancers. In order for us to still get &lt;span&gt;in-depth &lt;/span&gt;knowledge about the managed application’s processes, Cloudify uses a recipe-based approach. The recipe-based approach enables us to describe the elements that are specific to that individual process such as, the configuration element, the dependency on other processes, the specific key performance indicators that tell if that process’ behavior is aligned with its SLA, and such. &lt;/p&gt;&#xD;
&lt;p&gt;Working on the process level makes it possible to plug-in to a large variety of infrastructure environments whether they happen to be in public, private or bare-metal environments. Cloudify uses an abstraction layer known as the &lt;strong&gt;&lt;em&gt;&lt;a href="http://www.cloudifysource.org/guide/2.2/clouddrivers/cloud_driver"&gt;Cloud Driver&lt;/a&gt;&lt;/em&gt;&lt;/strong&gt; that allows it to plug-in to a large variety of cloud and private data center environments through simple configuration.&lt;/p&gt;&#xD;
&lt;p&gt;Here is how Cloudify maps to the specific principles that I laid out above:&lt;/p&gt;&#xD;
&lt;ul style="text-align: left; line-height: 19px; font-family: 'Open Sans', sans-serif; clear: both; font-size: 13px;"&gt;&#xD;
&lt;li&gt;&lt;strong&gt;No Code Change&lt;/strong&gt; -  Because Cloudify works on the process level, and uses a recipe-based approach it doesn't require any code change to get Cloudif&lt;em&gt;ied&lt;/em&gt;. &lt;/li&gt;&#xD;
&lt;li&gt;&lt;strong&gt;Plug-in to the Current Way of Running Apps&lt;/strong&gt; - The Cloudify recipes was designed to plug-in to diverse application environment configurations and setups. This currently includes basic shell/batch files in the simple scenario, as well as configuration management with tools such as Chef or Puppet in more advanced scenarios. &lt;/li&gt;&#xD;
&lt;li&gt;&lt;strong&gt;Use a Shared Infrastructure Across the Stack Regardless of the Language&lt;/strong&gt; - Cloudify uses the same infrastructure to automate the deployment, fail-over and scaling, or in other words, a large variety of workloads - starting with simple web apps to Big Data apps. All this is possible due to the fact that Cloudify uses a process + recipe-based approach as I outlined earlier. In addition, the Cloudify abstraction of the underlying infrastructure details makes it possible to use the exact same application recipe on different target platforms whether they happen to be on public, private and bare-metal environments. &lt;/li&gt;&#xD;
&lt;li&gt;&lt;strong&gt;Add Cloud Properties from the Outside&lt;/strong&gt; - Cloudify automates the deployment and configuration of the application even in the case of complex multi-tier applications, making it possible to launch the application on-demand on any given environment. In addition, Cloudify can plug-in to the application-specific metrics which makes it possible to detect application-specific SLA breaches, and thus automate the fail-over process as well. On top of that, Cloudify comes with a scaling rules plug-in that makes it extremely simple to add more instances to the application for scale-out purposes, or simply to enable it to move from smaller to bigger instances, in the case of a scale-up model. (See the &lt;a href="http://natishalom.typepad.com/nati_shaloms_blog/2012/06/lessons-from-amazon-rds-on-bringing-existing-apps-to-the-cloud.html"&gt;MySQL use case&lt;/a&gt; as an example). &lt;/li&gt;&#xD;
&lt;li&gt;&lt;strong&gt;Use the Baby Steps Approach&lt;/strong&gt; - With Cloudify all you need to get started is a start and stop script. All the other elements such as custom metrics, auto-scaling and more can be added at a later stage, making it possible to grow gradually with the value, and add more cloud properties as we grow. Additionally, the Cloud portability enables to first automate our apps on our existing environment, and then move to the cloud at a later stage. A good example for this would be to keep our production on our existing environment, and testing on the public environment. A more advanced incarnation of this could be to combine the two into a complete hybrid-cloud deployment. &lt;/li&gt;&#xD;
&lt;li&gt;&lt;strong&gt;Incorporate Bare-Metal into our Cloud&lt;/strong&gt; - Cloudify was designed to work also on regular ol’ non-virtualized environments. In such a case, it takes a list of IP addresses as a fixed pool and manages the workloads elastically within the boundary of that pool as noted in this post &lt;a href="http://natishalom.typepad.com/nati_shaloms_blog/2012/05/bare-metal-paas.html"&gt;bare-metal clouds&lt;/a&gt;.&lt;/li&gt;&#xD;
&lt;/ul&gt;&#xD;
&lt;p&gt;&lt;strong&gt;Live Demo:&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;Below is two references that shows how Cloudify is used  in the context of migrating enterprise Workloads to the cloud.&lt;/p&gt;&#xD;
&lt;p&gt;The first example uses IBM Infosphere BigInsights which an enterprise grade Hadoop distribution. &lt;/p&gt;&#xD;
&lt;p&gt; &lt;/p&gt;&#xD;
&lt;a href="http://www.youtube.com/watch?v=71NFQofafj4" title="Cloudify for BigInsights Demo"&gt;&lt;img alt="Cloudify for BigInsights Demo" border="0" height="225" src="http://i.picasion.com/pic60/1c8fffa0353d6fe8465db435e0291713.gif" style="display: block; float: none; margin-left: auto; margin-right: auto;" width="400"&gt;&lt;/img&gt;&lt;strong&gt; &lt;/strong&gt;&lt;/a&gt;&#xD;
&lt;p&gt;&lt;strong&gt; &lt;/strong&gt;The Second example shows IBM WebSphere application deployment:&lt;/p&gt;&#xD;
&lt;p style="text-align: center;"&gt;&lt;iframe frameborder="0" height="225" src="http://www.youtube.com/embed/UwVIjMCsB5I?fs=1&amp;amp;feature=oembed" width="400"&gt;&lt;/iframe&gt; &lt;/p&gt;&#xD;
&lt;p style="text-align: center;"&gt;&lt;strong&gt; &lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;Final notes&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;Cloudify was designed, to a large degree, on the lessons of our earlier generation PaaS solution. In our earlier generation solution, we took a cautious decision to bind it specifically to Amazon and chose Java as the primary language of choice. A lot of that had to do with the maturity of the cloud market at the time, and the availability of tools and frameworks. Since then, there has been a very rapid advancement on almost every front which changed the entire landscape. That brought us to develop Cloudify. &lt;/p&gt;&#xD;
&lt;p&gt;When we came up with Cloudify the first thing that was clear to us was that we could take a vastly different approach to the way most PaaS solutions were designed to to run, and set the ambitious goal for running any app, on any cloud without compromising anything in terms of the control factor. I didn't expect that within a period of a year we’d see major enterprises and ISVs use Cloudify to run apps that, even I,  never imagined could run on the cloud--such as network-based services and legacy apps that were written ten years ago when cloud was only an item in our weather report. &lt;/p&gt;&#xD;
&lt;p&gt;Today, I'm even more surprised to see how independent users have become with the platform. For example, one of our partners is using Cloudify for continuous delivery and integration. Another partner is using it to speed up the project delivery time for his customers, and use that as a major differentiator from their primary competitor. A major enterprise is using Cloudify in combination with Chef where they build an entire framework to automate the deployment of applications that were described in Chef, and auto-generate the Cloudify recipe on top of that. A major ISV is using Cloudify as part of its own cloud solution to offer their existing apps as a service, as well as on-board customer apps to their cloud platform. These are only few examples that represent some of the more interesting use cases that I came across recently. There are many projects that are coming along specifically around our recent integration with Chef and the work that we've done on the big data front. &lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;References&lt;/strong&gt;&lt;strong&gt; &lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;ul&gt;&#xD;
&lt;li&gt;&lt;a href="http://natishalom.typepad.com/nati_shaloms_blog/2012/10/moving-enterprise-workloads-to-the-cloud-on-a-massive-scale.html"&gt;Moving Enterprise Workloads to the Cloud on a Massive Scale&lt;/a&gt; &lt;/li&gt;&#xD;
&lt;li&gt;&lt;a href="http://blog.gigaspaces.com/putting-devops-and-paas-together-with-cloudify/"&gt;Putting DevOps and PaaS together&lt;/a&gt; &lt;/li&gt;&#xD;
&lt;li&gt;&lt;a href="http://natishalom.typepad.com/nati_shaloms_blog/2012/05/bare-metal-paas.html"&gt;Bare Metal PaaS&lt;/a&gt; &lt;/li&gt;&#xD;
&lt;li&gt;&lt;a href="http://natishalom.typepad.com/nati_shaloms_blog/2012/06/lessons-from-amazon-rds-on-bringing-existing-apps-to-the-cloud.html"&gt;MySQL Example&lt;/a&gt; &lt;/li&gt;&#xD;
&lt;li&gt;&lt;a href="http://natishalom.typepad.com/nati_shaloms_blog/2012/10/paas-as-an-infrastructure.html"&gt;PaaS as an Infrastructure&lt;/a&gt; &lt;/li&gt;&#xD;
&lt;li&gt;&lt;a href="http://natishalom.typepad.com/nati_shaloms_blog/2012/08/the-elepahnt-in-the-cloud-putting-hadoop-on-any-cloud.html"&gt;The Elephant in the Cloud -- Putting Hadoop on any Cloud&lt;/a&gt; &lt;/li&gt;&#xD;
&lt;/ul&gt;&#xD;
&lt;p&gt;&lt;a href="http://natishalom.typepad.com/.a/6a00d835457b7453ef017c329cd14f970b-pi"&gt;&lt;img align="left" alt="1311765722_picons03" height="42" src="http://natishalom.typepad.com/.a/6a00d835457b7453ef017c329cd14f970b-75wi" style="display: inline; float: left;" title="1311765722_picons03" width="42"&gt;&lt;/img&gt;&lt;/a&gt;     &lt;br&gt;&lt;a href="https://twitter.com/intent/follow?screen_name=natishalom"&gt;Follow Nati &lt;/a&gt;on Twitter!&lt;/p&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/NatiShalom?a=FpEkHAL0D3k:T7V-V7CwYwY:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/NatiShalom?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/NatiShalom?a=FpEkHAL0D3k:T7V-V7CwYwY:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/NatiShalom?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/NatiShalom/~4/FpEkHAL0D3k" height="1" width="1"/&gt;</content>



    <feedburner:origLink>http://natishalom.typepad.com/nati_shaloms_blog/2012/11/moving-enterprise-workloads-to-the-cloud-on-a-massive-scale-the-cloudify-way.html</feedburner:origLink></entry>
    <entry>
        <title>Moving Enterprise Workloads to the Cloud on a Massive Scale</title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/NatiShalom/~3/VZ9E9dPK_9o/moving-enterprise-workloads-to-the-cloud-on-a-massive-scale.html" />
        <link rel="replies" type="text/html" href="http://natishalom.typepad.com/nati_shaloms_blog/2012/10/moving-enterprise-workloads-to-the-cloud-on-a-massive-scale.html" thr:count="4" thr:updated="2013-03-30T04:03:47+01:00" />
        <id>tag:typepad.com,2003:post-6a00d835457b7453ef017ee4851642970d</id>
        <published>2012-10-28T17:17:58+01:00</published>
        <updated>2012-11-01T23:57:22+01:00</updated>
        <summary>Cloud has quickly become a disruptive technology, with the main disruption being a revolution in the way in which organizations run their IT. The poster child for these cloud discussions was often the new Web 2.0 companies such as Google...</summary>
        <author>
            <name>Nati Shalom</name>
        </author>
        <category scheme="http://www.sixapart.com/ns/types#category" term="Cloud" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Cloud Computing" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="DevOps" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="GigaSpaces" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="IaaS" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="OpenStack" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="opscode" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="PaaS" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Virtualization" />
        
        
<content type="html" xml:lang="he" xml:base="http://natishalom.typepad.com/nati_shaloms_blog/">&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;p&gt;&lt;img align="left" alt="" height="250" src="http://www.busmanagement.com/media/article-images/article-image/BMUS/issue-18/Enterprise_cloud_Now_Later_Never_LRG.jpg" style="margin: 0px 10px 0px 5px; display: inline; float: left;" width="350"&gt;&lt;/img&gt;&lt;/p&gt;&#xD;
&lt;p&gt;Cloud has quickly become a disruptive technology, with the main disruption being a revolution in the way in which organizations run their IT.&lt;/p&gt;&#xD;
&lt;p&gt;The poster child for these cloud discussions was often the new Web 2.0 companies such as Google and Amazon who have been true pioneers in this new and emerging world. Quite often enterprises were used as the reference for how bad IT can get, and quickly became the representation of the antithesis for IT in these cloud discussions and conferences.&lt;/p&gt;&#xD;
&lt;p&gt;Two weeks ago I was at the OpenStack conference and other meetups that took place around the same time. The thing that was pretty apparent is that the large majority of the audiences in each room were from the enterprise world. What’s more, a quick look at the OpenStack foundation shows that those leading one some of the most trendy technologies in the cloud space are run by Enterprise HW and Software companies such as HP, IBM, Dell, Red Hat, among others.&lt;/p&gt;&#xD;
&lt;p&gt;Could this mark the beginning of a new era for enterprise and the cloud? &lt;/p&gt;&#xD;
&lt;p&gt;- A series of recent surveys on the subject seems to indicate that this is indeed the case:&lt;/p&gt;&#xD;
&lt;blockquote&gt;&#xD;
&lt;p&gt;&lt;a href="http://www.cloudpro.co.uk/cloud-essentials/hybrid-cloud/2629/companies-nearing-mission-critical-apps-cloud"&gt;Research conducted by HP&lt;/a&gt; found that the majority of businesses in the EMEA region are planning to move their mission-critical apps to the cloud. Of the 940 respondents, 80 percent revealed plans to move mission-critical apps at some point over the next two to five years.&lt;/p&gt;&#xD;
&lt;p&gt;A more recent &lt;a href="http://ht.ly/eP9YN"&gt;survey, by research firm MeriTalk&lt;/a&gt; and sponsored by VMware and EMC (NYSE:&lt;a href="http://www.crn.com/stock-quotes-financial-data/index.htm?Page=QUOTE&amp;amp;Ticker=EMC"&gt;EMC&lt;/a&gt;), showed that one-third of respondents say they plan to move some mission-critical applications to the cloud in the next year. Within two years, the IT managers said they will move 26 percent of their mission-critical apps to the cloud, and in five years, they expect 44 percent of their mission-critical apps to run in the cloud.&lt;span style="line-height: 0px; text-align: left;"&gt;﻿&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;/blockquote&gt;&#xD;
&lt;p&gt;This shouldn't come as a surprise as  most enterprises are using the cloud today but don't necessarily know they are doing so, and getting huge benefits from it (&lt;a href="http://salesforce.com/"&gt;SalesForce.com&lt;/a&gt;, ServiceNow)&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;The Cloud needs Enterprises just as Enterprises need the Cloud?&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;As I was sharing this observation with a few of the folks during the conference, I heard an interesting comment by one HP Executive &lt;a href="http://www.linkedin.com/in/thomasryan"&gt;Thomas Ryan&lt;/a&gt; who made an interesting statement: "Linux wouldn't be where it is today if enterprises wouldn't have adopted it". Quite often we look at the cloud (OpenStack in particular) as the new Linux. If that's true, then it looks like we’re reaching the point where for cloud to remain a viable technology it needs enterprise adoption just as enterprises needs the benefits the cloud brings.&lt;/p&gt;&#xD;
&lt;h2&gt;&lt;strong&gt;The Renaissance of Enterprises in the Cloud&lt;/strong&gt;&lt;/h2&gt;&#xD;
&lt;p&gt;So are we seeing the renaissance of enterprises in the cloud? It's a bit too early to say, but there are clear indicators that this is where the market is heading. There are a couple of reasons for this:&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;1. IT is becoming a new manufacturing pipeline for enterprises in the new information era&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;It's clear today, that in this data driven world, the ability of any business to survive is determined by how agile they can be, how quickly they can respond to change, and react accordingly. In this context, it becomes more apparent for many enterprises that their ability to reach this level of agility is dependent on how well they are running their IT. At the same it becomes clear that cloud is just a better way of running their IT, and in this context it’s pretty much a no brainer.&lt;/p&gt;&#xD;
&lt;p&gt;2. &lt;strong&gt;Cloud technology is maturing &lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;Many of the technology gaps that prevented enterprises from adopting cloud technology such as security, complexity, and more, have been addressed or are in the process of being addressed. There are many options today including private cloud, hybrid cloud, with different degrees of SLAs and cost that make it easier to run enterprise workloads in the cloud. &lt;/p&gt;&#xD;
&lt;p&gt;3. &lt;strong&gt;Strong business incentive&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;Enterprise applications tend to be one of the more costly workloads today in terms of IT infrastructure and resources, due to both the size and the complexity involved with running these systems. Any savings with running these systems would yield a significant impact to an organization’s bottom line, as indicated in &lt;a href="http://ht.ly/eP9YN"&gt;MeriTalk research&lt;/a&gt;:&lt;/p&gt;&#xD;
&lt;blockquote&gt;&#xD;
&lt;p&gt;Enterprises can save $16.6B, or 21% if they moved just three mission-critical apps to the cloud.&lt;/p&gt;&#xD;
&lt;/blockquote&gt;&#xD;
&lt;h2&gt;&lt;strong&gt;The Challenge - How to bring Hundreds of Enterprise Apps to the Cloud&lt;/strong&gt;&lt;/h2&gt;&#xD;
&lt;p&gt;All that, of course, is great, but the reality is that cloud economics only start making sense when there are true workloads that utilize the cloud infrastructure.&lt;/p&gt;&#xD;
&lt;p&gt;If the large majority of your apps fall outside of this category, then you’re not going to benefit much from the cloud. In fact, you’re probably going to lose money, rather than save money.&lt;strong&gt; &lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;h2&gt;&lt;strong&gt;The Current Approach &lt;/strong&gt;&lt;/h2&gt;&#xD;
&lt;ul&gt;&#xD;
&lt;li&gt;&lt;strong&gt;Focus on building IaaS&lt;/strong&gt; - Current cloud strategies of many enterprises has been centered on making the infrastructure cloud ready. This basically means ensuring that they are able to spawn machines more easily than they were before. A quick look at many initiatives of this nature shows that there is still only a small portion of enterprises whose applications run on such new systems. &lt;/li&gt;&#xD;
&lt;li&gt;&lt;strong&gt;Build a new PaaS&lt;/strong&gt; - PaaS has been taught as the answer to run apps on the cloud. The reality however, is that most of the existing PaaS solutions only cater to new apps and quite often the small, and “non” mission-critical share of our enterprise applications, which still leaves the majority of our enterprise workload outside of our cloud infrastructure. &lt;/li&gt;&#xD;
&lt;li&gt;&lt;strong&gt;App Migration as a One Off Project -&lt;/strong&gt; The other approach for migrating applications to the cloud has been to select a small group of applications, and then migrate these one by one to the cloud. Quite often the thought behind this approach has been that application migration is a one-off project. The reality is that applications are more of a living organism – things fail, are moved, or need to be added and removed over time. Therefore it’s not enough to move apps to the cloud using some sort of virtualization technique, it’s critical that the way they’re run and maintained will also fit the dynamic nature of the cloud. &lt;/li&gt;&#xD;
&lt;/ul&gt;&#xD;
&lt;h2&gt;&lt;strong&gt;Why is This not Going to Work?&lt;/strong&gt;&lt;/h2&gt;&#xD;
&lt;p&gt;Simple math shows that if you apply this model to the rest of your apps, it’s probably going to take years of effort to migrate all your apps to the cloud. The cost of doing so is going to be extremely high, not to mention the time to market issue which can be even an even greater risk in the end, as it will reflect on cost of operation, profit margins and even the ability to survive in this an extremely competitive market, if it is too long.&lt;/p&gt;&#xD;
&lt;h2&gt;&lt;strong&gt;What's missing?&lt;/strong&gt;&lt;/h2&gt;&#xD;
&lt;p&gt;What we’re missing is a simple and systematic way to brings all these hundreds and thousands of apps to the cloud.&lt;/p&gt;&#xD;
&lt;h2&gt;&lt;strong&gt;Moving Enterprise Workloads to the Cloud at a Massive Scale&lt;/strong&gt;&lt;/h2&gt;&#xD;
&lt;p&gt;Instead of thinking of cloud migration as a one-off thing, we need to think of cloud migration on a massive scale.&lt;/p&gt;&#xD;
&lt;p&gt;Thinking in such terms drives a fairly different approach. &lt;/p&gt;&#xD;
&lt;p&gt;I've listed the principles, that IMO, are the crux to such a strategy, below:&lt;/p&gt;&#xD;
&lt;ul&gt;&#xD;
&lt;li&gt;&lt;strong&gt;No Code Change&lt;/strong&gt; - Any change, even the slightest one, to our existing apps will slow down our migration efforts substantially. Furthermore, many of the apps are third-party apps, where we often times don't even have control over the application code, so changing the app is likely not an option. There are many things that we can benefit from by moving our apps to the cloud, such as automation, ease of change, and configuration. We can obviously benefit more if we change our apps to take better advantage of the cloud infrastructure, but the right order would be to do this after we’ve already migrated the app to the cloud in the first place. There, of course, will still be many cases where just automating the way we run our apps and make them available on-demand would be sufficient enough. &lt;/li&gt;&#xD;
&lt;li&gt;&lt;strong&gt;Plug-in to the Current Way of Running Apps&lt;/strong&gt; - The common way for running apps today is either through custom shell scripts in the simple case, or through configuration management tools such as Chef or Puppet in the more advanced case. If we want to migrate apps at a massive scale, we need to be able to plug-in to the most common environments, and make it possible to import them almost as is. In this way, we could leverage the knowledge and know-how that has already been invested into these systems and make the migration process vastly shorter. &lt;/li&gt;&#xD;
&lt;li&gt;&lt;strong&gt;Use Shared Infrastructure Across the Stack Regardless of the Language&lt;/strong&gt; - Using different frameworks for each element of our application stack based on the language and environment in not going to scale for obvious reasons, such as complexity, a large number of moving parts, inconsistency, among other reasons. &lt;/li&gt;&#xD;
&lt;li&gt;&lt;strong&gt;Add Cloud Properties from the Outside&lt;/strong&gt; - There are many cloud properties that we can apply to our existing apps without forcing any changes. For example, we can automate the scaling from small to bigger machines, we can also automate the configuration, and setup. We can significantly simplify the way we run the app by making it available on-demand. All these cloud properties can be plugged into almost any existing app without forcing a real change, as noted in the &lt;a href="http://natishalom.typepad.com/nati_shaloms_blog/2012/06/lessons-from-amazon-rds-on-bringing-existing-apps-to-the-cloud.html"&gt;MySQL example&lt;/a&gt;. &lt;/li&gt;&#xD;
&lt;li&gt;&lt;strong&gt;Use the Baby Steps Approach&lt;/strong&gt; - One of the main inhibitors to migrating apps was the &lt;em&gt;all or nothing &lt;/em&gt;approach. There are many risks involved in migrating apps that go well beyond the technology challenge. The easiest way to mitigate such risks is by taking them one at a time. For example, we can first make our apps cloud ready, in which case we will abstract the automation part from the target infrastructure. By doing so, the decision where to run our app becomes tactical and less strategic. We can choose to run our production in our private data center, and run only testing and demos on the cloud. In this way, we can also make the migration gradual and smoother. &lt;/li&gt;&#xD;
&lt;li&gt;&lt;strong&gt;Incorporate Bare-Metal into our Cloud&lt;/strong&gt; - One of the main challenges that I’ve seen for moving true enterprise workloads to the cloud wasn't necessarily related to the cloud, but to the virtualization overhead that is often used as the underlying infrastructure of many clouds. Today it is possible, to gain access to bare metal clouds  which make it possible to run almost any workload including I/O intensive ones without any performance overhead, as I noted in my post about the emergence of &lt;a href="http://natishalom.typepad.com/nati_shaloms_blog/2012/05/bare-metal-paas.html"&gt;bare-metal clouds&lt;/a&gt;. &lt;/li&gt;&#xD;
&lt;/ul&gt;&#xD;
&lt;h2&gt;&lt;strong&gt;Final Notes&lt;/strong&gt;&lt;/h2&gt;&#xD;
&lt;p&gt;I often like to compare the revolution that we’re experiencing right now in the IT industry to a similar revolution that happened in the automotive industry few decades ago.&lt;/p&gt;&#xD;
&lt;p&gt;You probably know what I’m referring to. The automotive industry experienced a similar revolution when Henry Ford came up with his Model-T car. The change wasn't so much in the engine or other parts of the car, but rather in the scale and cost in which cars could now be produced. As I noted earlier, in many aspects cloud is the IT industry manufacturing assembly line.&lt;/p&gt;&#xD;
&lt;p&gt;As with cars, it doesn't make sense to run only 10% of our cars on the new manufacturing assembly line, and build the rest in the traditional way. So is the case with our IT. Now the question becomes how to make the move. &lt;/p&gt;&#xD;
&lt;p&gt;In this post I outlined what I believe should be the principles to migrate apps at a massive scale.The &lt;a href="http://natishalom.typepad.com/nati_shaloms_blog/2012/11/moving-enterprise-workloads-to-the-cloud-on-a-massive-scale-the-cloudify-way.html" target="_self"&gt;second post&lt;/a&gt; describes more specifically the Cloudify way of doing this.&lt;/p&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/NatiShalom?a=VZ9E9dPK_9o:heKtRC2UfBM:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/NatiShalom?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/NatiShalom?a=VZ9E9dPK_9o:heKtRC2UfBM:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/NatiShalom?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/NatiShalom/~4/VZ9E9dPK_9o" height="1" width="1"/&gt;</content>



    <feedburner:origLink>http://natishalom.typepad.com/nati_shaloms_blog/2012/10/moving-enterprise-workloads-to-the-cloud-on-a-massive-scale.html</feedburner:origLink></entry>
    <entry>
        <title>PaaS as Infrastructure</title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/NatiShalom/~3/PqhtWsvzjXs/paas-as-an-infrastructure.html" />
        <link rel="replies" type="text/html" href="http://natishalom.typepad.com/nati_shaloms_blog/2012/10/paas-as-an-infrastructure.html" thr:count="4" thr:updated="2013-02-26T19:50:05+01:00" />
        <id>tag:typepad.com,2003:post-6a00d835457b7453ef017ee43a3c3b970d</id>
        <published>2012-10-17T21:31:18+02:00</published>
        <updated>2012-11-08T14:51:31+01:00</updated>
        <summary>The blurring line between PaaS and IaaS The core of IaaS services is centered around Compute, Storage Network however over the past years the infrastructure moved up the stack and includes more application services such as Database as a Service,...</summary>
        <author>
            <name>Nati Shalom</name>
        </author>
        <category scheme="http://www.sixapart.com/ns/types#category" term="Cloud Computing" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Cloudify" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="DevOps" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="GigaSpaces" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="IaaS" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="opscode" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="PaaS" />
        
        
<content type="html" xml:lang="he" xml:base="http://natishalom.typepad.com/nati_shaloms_blog/">&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;p class="p1"&gt;&lt;strong&gt;The blurring line between PaaS and IaaS &lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p class="p3"&gt;The core of IaaS services is centered around  Compute, Storage Network however over the past years the infrastructure moved up the stack and includes more application services such as Database as a Service, Hadoop Map/Reduce, and application lifecycle services. &lt;/p&gt;&#xD;
&lt;p class="p2"&gt;On the other hand, PaaS services offer similar services through the PaaS platform itself with the main difference being that quite often those services were designed to fit only the application that runs on that particular PaaS.&lt;/p&gt;&#xD;
&lt;p class="p2"&gt;So rather than the traditional view, where we draw a clear line between the IaaS and PaaS layer we need to view them differently, where the PaaS and IaaS layers overlap each other on the software services layer.&lt;/p&gt;&#xD;
&lt;p class="p2"&gt; &lt;/p&gt;&#xD;
&lt;p class="p2"&gt;&#xD;
&lt;a class="asset-img-link" href="http://natishalom.typepad.com/.a/6a00d835457b7453ef017c3296558d970b-pi" style="display: inline;"&gt;&lt;img alt="Screen Shot 2012-10-17 at 4.54.54 AM" class="asset  asset-image at-xid-6a00d835457b7453ef017c3296558d970b" src="http://natishalom.typepad.com/.a/6a00d835457b7453ef017c3296558d970b-500wi" title="Screen Shot 2012-10-17 at 4.54.54 AM"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p class="p2"&gt;&lt;strong&gt;IaaS and PaaS share a similar technology stack&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p class="p2"&gt;A close look into the OpenStack infrastructure shows that even on the infrastructure level running the compute, storage and network services relies on messaging services such as RabbitMQ, databases such as Postgress, a load balancer such as Nginx and other software services. Running these software services for our infrastructure is not much different than running our apps.  With both the infrastructure and application we would need to address the scalability and high availabilityof these services and manage them through our infrastructure.&lt;/p&gt;&#xD;
&lt;p class="p2"&gt;If that is the case wouldn't it make sense to share the same underlying technology to run our infrastructure and our apps?&lt;/p&gt;&#xD;
&lt;p class="p2"&gt;&lt;strong&gt;Sharing the software services between your IaaS and PaaS&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p class="p2"&gt;A typical public PaaS platform is built out of two main parts - a self-service portal, and a backend system that runs our apps.&lt;/p&gt;&#xD;
&lt;p class="p2"&gt;With many of the public PaaS solutions such as GAE, Heroku the backend that runs our PaaS is treated as a blackbox.&lt;/p&gt;&#xD;
&lt;p class="p2"&gt;Amazon Elastic Beanstalk does things differently in that respect - as it took a bottom-up approach. It uses the same AWS infrastructure to run Elastic Beanstalk and the infrastructure - this provides a lot of flexibility to its users, and equally as important, consistency between the way they run and manage their app and infrastructure. VMware took even a bigger step in this regard with CloudFoundry and BOSH and made their entire PaaS backend open source which gives users even greater flexibility. With Cloudify we took this idea a step further by introducing the concept of recipes into the core of the Cloudify infrastructure, and recently introduced our &lt;a href="http://www.cloudifysource.org/guide/2.2/integrations/chef_documentation.html"&gt;integration with Chef&lt;/a&gt; in a way that will enable users to run their Chef cookbooks as part of Cloudify. Chef has already gained popularity as a configuration and automation framework for setting up many of the OpenStack cloud deployments. Having Chef tightly integrated into the PaaS layer, simply put, makes perfect sense.&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;Example - Building your own RDS with Cloudify&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;To illustrate the idea of how we can use share the same deployment framework between our IaaS and PaaS layer I'll pick one of these software services to demonstrate the idea with. In this particular case, I've chosen to use a database as a service. Database as a service is often a good reference for a service that fits in both our infrastructure and application. Here is how we can easily set a database as a service with Cloudify:&lt;/p&gt;&#xD;
&lt;p class="p2"&gt;1. Directly through the use of &lt;a href="http://www.cloudifysource.org/guide/2.2/developing/recipes_overview"&gt;Cloudify recipes&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p class="p2"&gt;&lt;a href="http://www.cloudifysource.org/guide/2.2/developing/recipes_overview"&gt;&lt;/a&gt;&lt;span style="font-size: 10pt; color: #333333; font-family: arial, helvetica, sans-serif; line-height: 16px;"&gt;If you allready developed your scripts for setting your database you can use cloudify recipe to wrap those script into a service. &lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p class="p2"&gt;&lt;span style="font-size: 10pt; color: #333333; font-family: arial, helvetica, sans-serif; line-height: 16px;"&gt; &lt;/span&gt;&lt;span style="font-size: 10pt; color: #333333; font-family: Consolas, 'Liberation Mono', Courier, monospace; line-height: 16px;"&gt;Here a snippet of how that would look like:&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;pre style="margin-top: 0px; margin-bottom: 0px; padding: 0px; border: 0px; font-size: 12px; font-family: Consolas, 'Liberation Mono', Courier, monospace; color: #333333; line-height: 16px;"&gt;&lt;div class="line" id="LC19" style="margin: 0px; padding: 0px 0px 0px 10px; border: 0px;"&gt;&lt;span class="n" style="margin: 0px; padding: 0px; border: 0px;"&gt;&lt;br&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC19" style="margin: 0px; padding: 0px 0px 0px 10px; border: 0px;"&gt;&lt;span style="font-size: 10pt;"&gt;&lt;span class="n" style="margin: 0px; padding: 0px; border: 0px;"&gt;service&lt;/span&gt; &lt;span class="o" style="margin: 0px; padding: 0px; border: 0px; font-weight: bold;"&gt;{&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC21" style="margin: 0px; padding: 0px 0px 0px 10px; border: 0px;"&gt;&lt;span style="font-size: 10pt;"&gt;	&lt;span class="n" style="margin: 0px; padding: 0px; border: 0px;"&gt;name&lt;/span&gt; &lt;span class="s2" style="margin: 0px; padding: 0px; border: 0px; color: #dd1144;"&gt;"mysql"&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC23" style="margin: 0px; padding: 0px 0px 0px 10px; border: 0px;"&gt;&lt;span style="font-size: 10pt;"&gt;	&lt;span class="n" style="margin: 0px; padding: 0px; border: 0px;"&gt;icon&lt;/span&gt; &lt;span class="s2" style="margin: 0px; padding: 0px; border: 0px; color: #dd1144;"&gt;"mysql.png"&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC24" style="margin: 0px; padding: 0px 0px 0px 10px; border: 0px;"&gt;&lt;span style="font-size: 10pt;"&gt;	&lt;span class="n" style="margin: 0px; padding: 0px; border: 0px;"&gt;type&lt;/span&gt; &lt;span class="s2" style="margin: 0px; padding: 0px; border: 0px; color: #dd1144;"&gt;"DATABASE"&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC25" style="margin: 0px; padding: 0px 0px 0px 10px; border: 0px;"&gt;&lt;span style="font-size: 10pt;"&gt;	&lt;span class="n" style="margin: 0px; padding: 0px; border: 0px;"&gt;elastic&lt;/span&gt; &lt;span class="kc" style="margin: 0px; padding: 0px; border: 0px; font-weight: bold;"&gt;true&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC26" style="margin: 0px; padding: 0px 0px 0px 10px; border: 0px;"&gt;&lt;span style="font-size: 10pt;"&gt;	&lt;span class="n" style="margin: 0px; padding: 0px; border: 0px;"&gt;numInstances&lt;/span&gt; &lt;span class="mi" style="margin: 0px; padding: 0px; border: 0px; color: #009999;"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC27" style="margin: 0px; padding: 0px 0px 0px 10px; border: 0px;"&gt;&lt;span style="font-size: 10pt;"&gt;	&lt;span class="n" style="margin: 0px; padding: 0px; border: 0px;"&gt;minAllowedInstances&lt;/span&gt; &lt;span class="mi" style="margin: 0px; padding: 0px; border: 0px; color: #009999;"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC28" style="margin: 0px; padding: 0px 0px 0px 10px; border: 0px;"&gt;&lt;span style="font-size: 10pt;"&gt;	&lt;span class="n" style="margin: 0px; padding: 0px; border: 0px;"&gt;maxAllowedInstances&lt;/span&gt; &lt;span class="mi" style="margin: 0px; padding: 0px; border: 0px; color: #009999;"&gt;3&lt;/span&gt;	&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC30" style="margin: 0px; padding: 0px 0px 0px 10px; border: 0px;"&gt;&lt;span style="font-size: 10pt;"&gt;	&lt;span class="n" style="margin: 0px; padding: 0px; border: 0px;"&gt;compute&lt;/span&gt; &lt;span class="o" style="margin: 0px; padding: 0px; border: 0px; font-weight: bold;"&gt;{&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC31" style="margin: 0px; padding: 0px 0px 0px 10px; border: 0px;"&gt;&lt;span style="font-size: 10pt;"&gt;		&lt;span class="n" style="margin: 0px; padding: 0px; border: 0px;"&gt;template&lt;/span&gt; &lt;span class="s2" style="margin: 0px; padding: 0px; border: 0px; color: #dd1144;"&gt;"SMALL_LINUX"&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC32" style="margin: 0px; padding: 0px 0px 0px 10px; border: 0px;"&gt;&lt;span class="o" style="margin: 0px; padding: 0px; border: 0px; font-weight: bold; font-size: 10pt;"&gt;	}	&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC34" style="margin: 0px; padding: 0px 0px 0px 10px; border: 0px;"&gt;&lt;span style="font-size: 10pt;"&gt;	&lt;span class="n" style="margin: 0px; padding: 0px; border: 0px;"&gt;lifecycle&lt;/span&gt;&lt;span class="o" style="margin: 0px; padding: 0px; border: 0px; font-weight: bold;"&gt;{&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC35" style="margin: 0px; padding: 0px 0px 0px 10px; border: 0px;"&gt; &lt;/div&gt;&lt;div class="line" id="LC36" style="margin: 0px; padding: 0px 0px 0px 10px; border: 0px;"&gt;&lt;span style="font-size: 10pt;"&gt;		&lt;span class="n" style="margin: 0px; padding: 0px; border: 0px;"&gt;install&lt;/span&gt; &lt;span class="s2" style="margin: 0px; padding: 0px; border: 0px; color: #dd1144;"&gt;"mysql_install.groovy"&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC38" style="margin: 0px; padding: 0px 0px 0px 10px; border: 0px;"&gt;&lt;span style="font-size: 10pt;"&gt;		&lt;span class="n" style="margin: 0px; padding: 0px; border: 0px;"&gt;start&lt;/span&gt; &lt;span class="s2" style="margin: 0px; padding: 0px; border: 0px; color: #dd1144;"&gt;"mysql_start.groovy"&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC40" style="margin: 0px; padding: 0px 0px 0px 10px; border: 0px;"&gt;&lt;span style="font-size: 10pt;"&gt;		&lt;span class="n" style="margin: 0px; padding: 0px; border: 0px;"&gt;startDetectionTimeoutSecs&lt;/span&gt; &lt;span class="mi" style="margin: 0px; padding: 0px; border: 0px; color: #009999;"&gt;900&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC41" style="margin: 0px; padding: 0px 0px 0px 10px; border: 0px;"&gt;&lt;span style="font-size: 10pt;"&gt;		&lt;span class="n" style="margin: 0px; padding: 0px; border: 0px;"&gt;startDetection&lt;/span&gt; &lt;span class="s2" style="margin: 0px; padding: 0px; border: 0px; color: #dd1144;"&gt;"mysql_startDetection.groovy"&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC43" style="margin: 0px; padding: 0px 0px 0px 10px; border: 0px;"&gt;&lt;span style="font-size: 10pt;"&gt;		&lt;span class="n" style="margin: 0px; padding: 0px; border: 0px;"&gt;stopDetection&lt;/span&gt; &lt;span class="o" style="margin: 0px; padding: 0px; border: 0px; font-weight: bold;"&gt;{&lt;/span&gt;	&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC44" style="margin: 0px; padding: 0px 0px 0px 10px; border: 0px;"&gt;&lt;span style="font-size: 10pt;"&gt;			&lt;span class="o" style="margin: 0px; padding: 0px; border: 0px; font-weight: bold;"&gt;!&lt;/span&gt;&lt;span class="n" style="margin: 0px; padding: 0px; border: 0px;"&gt;ServiceUtils&lt;/span&gt;&lt;span class="o" style="margin: 0px; padding: 0px; border: 0px; font-weight: bold;"&gt;.&lt;/span&gt;&lt;span class="na" style="margin: 0px; padding: 0px; border: 0px; color: #008080;"&gt;isPortOccupied&lt;/span&gt;&lt;span class="o" style="margin: 0px; padding: 0px; border: 0px; font-weight: bold;"&gt;(&lt;/span&gt;&lt;span class="n" style="margin: 0px; padding: 0px; border: 0px;"&gt;jdbcPort&lt;/span&gt;&lt;span class="o" style="margin: 0px; padding: 0px; border: 0px; font-weight: bold;"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC45" style="margin: 0px; padding: 0px 0px 0px 10px; border: 0px;"&gt;&lt;span class="o" style="margin: 0px; padding: 0px; border: 0px; font-weight: bold; font-size: 10pt;"&gt;		}&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC47" style="margin: 0px; padding: 0px 0px 0px 10px; border: 0px;"&gt;&lt;span class="o" style="margin: 0px; padding: 0px; border: 0px; font-weight: bold; font-size: 10pt;"&gt;        }	&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&#xD;
&lt;p&gt;You can refer to the full &lt;a href="https://github.com/CloudifySource/cloudify-recipes/tree/master/services/mysql" target="_self"&gt;MySQL recipe&lt;/a&gt; here.&lt;/p&gt;&#xD;
&lt;p class="p2"&gt;2. Through the use of &lt;a href="http://www.cloudifysource.org/guide/2.2/integrations/chef_documentation.html"&gt;Chef cookbooks&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-size: 11pt;"&gt;If you are already using Chef you can plug-in to the Chef MySQL cookbook by extending the Cloudify recipe to use Chef, as you can see in the snippet below:&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;pre style="direction: ltr; font-family: 'Bitstream Vera Sans Mono', Courier, monospace; margin-top: 0px !important; margin-bottom: 0px !important; border: none !important; padding: 0.25em 0.5em 0.5em !important;"&gt;&lt;div class="line" id="LC1" style="padding: 0px; margin: 0px;"&gt;&lt;span style="font-size: 10pt;"&gt;&lt;span class="n" style="direction: ltr;"&gt;service&lt;/span&gt; &lt;span class="o" style="direction: ltr; font-weight: bold;"&gt;{&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC2" style="padding: 0px; margin: 0px;"&gt;&lt;span style="font-size: 10pt;"&gt;    &lt;span class="n" style="direction: ltr;"&gt;extend&lt;/span&gt; &lt;span class="s2" style="direction: ltr; color: #dd1144;"&gt;"../../../services/chef"&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC3" style="padding: 0px; margin: 0px;"&gt;&lt;span style="font-size: 10pt;"&gt;    &lt;span class="n" style="direction: ltr;"&gt;name&lt;/span&gt; &lt;span class="s2" style="direction: ltr; color: #dd1144;"&gt;"mysql-vanilla"&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC4" style="padding: 0px; margin: 0px;"&gt;&lt;span style="font-size: 10pt;"&gt;    &lt;span class="n" style="direction: ltr;"&gt;type&lt;/span&gt; &lt;span class="s2" style="direction: ltr; color: #dd1144;"&gt;"DATABASE"&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC5" style="padding: 0px; margin: 0px;"&gt;&lt;span style="font-size: 10pt;"&gt;    &lt;span class="n" style="direction: ltr;"&gt;numInstances&lt;/span&gt; &lt;span class="mi" style="direction: ltr; color: #009999;"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC6" style="padding: 0px; margin: 0px;"&gt;&lt;span class="err" style="direction: ltr; color: #a61717; font-size: 10pt;"&gt;…&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC7" style="padding: 0px; margin: 0px;"&gt;&lt;span class="o" style="direction: ltr; font-weight: bold; font-size: 10pt;"&gt;}&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC7" style="padding: 0px; margin: 0px;"&gt;&#xD;
&lt;span style="font-size: 11pt;"&gt;In addition to that you could attach Chef attributes and run parameters into the Cloudify recipe that will tell Chef which cookbook and recipe to run:&#xD;
&lt;/span&gt;&lt;div id="LC7"&gt;&lt;span style="font-size: 10pt;"&gt;&lt;br&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC7" style="padding: 0px; margin: 0px;"&gt;&lt;span class="o" style="direction: ltr; font-weight: bold;"&gt;&lt;span style="font-size: 10pt;"&gt;&lt;span class="na" style="direction: ltr; color: #008080;"&gt;runParams&lt;/span&gt; =&lt;/span&gt;&lt;/span&gt;&lt;span class="o" style="direction: ltr;"&gt;&lt;span style="font-size: 10pt;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="o" style="direction: ltr;"&gt;&lt;span style="font-size: 10pt;"&gt;&lt;span class="s" style="direction: ltr; color: #dd1144;"&gt;[&lt;/span&gt;&lt;/span&gt;&lt;div class="line" id="LC2" style="padding: 0px; margin: 0px;"&gt;&lt;span class="s" style="direction: ltr; color: #dd1144; font-size: 10pt;"&gt;  "mysql": [ "bind_address": "0.0.0.0",&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC3" style="padding: 0px; margin: 0px;"&gt;&lt;span class="s" style="direction: ltr; color: #dd1144; font-size: 10pt;"&gt;             "tunable": ["query_cache_limit": "2M"]  &lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC4" style="padding: 0px; margin: 0px;"&gt;&lt;span class="s" style="direction: ltr; color: #dd1144; font-size: 10pt;"&gt;  ],&lt;/span&gt;&lt;/div&gt;&lt;div class="line" id="LC5" style="padding: 0px; margin: 0px;"&gt;&lt;span class="s" style="direction: ltr; color: #dd1144; font-size: 10pt;"&gt;  "run_list": ["recipe[mysql::server]"]&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;span class="o" style="direction: ltr;"&gt;&lt;span class="err" style="direction: ltr; color: #a61717; background-color: #e3d2d2; font-size: 10pt;"&gt;]&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;&#xD;
&lt;p&gt;You can read the full details on how to &lt;a href="http://www.cloudifysource.org/guide/2.2/integrations/chef_documentation.html" target="_self"&gt;run Chef with Cloudify&lt;/a&gt; in our documentation.&lt;/p&gt;&#xD;
&lt;p class="p2"&gt;&lt;strong&gt;Running through bare metal environment&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p class="p3"&gt;Even in the case where we share the same software services through our infrastructure and application, we tend to run them differently.&lt;/p&gt;&#xD;
&lt;p class="p2"&gt;Quite often infrastructure services will run on bare-metal environments, as we don't want to create dependencies between our virtualiation layer and the underlying infrastructure that runs it.  &lt;/p&gt;&#xD;
&lt;p class="p2"&gt;To enable this level of flexibility, we need to abstract the underlying compute layer from our service orchestration layer. In this way, we can use the same recipe and deploy it on either a bare-metal environment or a virtaulization layer. (Read: &lt;a href="http://www.cloudifysource.org/guide/2.2/setup/configuring_byon.html" target="_self"&gt;Configuring a Traditional Data Center [BYON]&lt;/a&gt;)&lt;/p&gt;&#xD;
&lt;p class="p2"&gt;&lt;strong&gt;Final notes&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p class="p3"&gt;Up until recently, PaaS and IaaS were treated as two separate and closed entities and the integration between the two was done pretty much in a blackbox approach. The fact that both the IaaS and PaaS underlying infrastructure were closed was the primary reason behind this.&lt;/p&gt;&#xD;
&lt;p class="p2"&gt;Now with the growing adoption of open source IaaS such as OpenStack and CloudStack, and similarly with PaaS such CloudFoundry and Cloudify we have the opportunity to change this paradigm. There isn't much of a reason why we shouldn't be able to share the same orchestration, and configuration layers between our IaaS and PaaS layers. Amazon Elastic Beanstalk is a good reference why this makes a lot of sense.&lt;/p&gt;&#xD;
&lt;p class="p2"&gt;&lt;strong&gt;Special thanks&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p class="p2"&gt;Special thanks to &lt;a href="http://www.linkedin.com/in/borisrenski"&gt;Boris Renski&lt;/a&gt; who was the main inspiration behind this post.&lt;/p&gt;&#xD;
&lt;p class="p2"&gt;&lt;strong&gt;References&lt;/strong&gt;:&lt;/p&gt;&#xD;
&lt;ul&gt;&#xD;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=-uyLOl8YOq0&amp;amp;feature=player_embedded%20 " target="_self"&gt;Presentation on the Chef Meetup Group&lt;/a&gt;&lt;/li&gt;&#xD;
&lt;li&gt;&lt;a href="http://www.slideshare.net/giganati/how-cloudify-uses-chef-as-a-foundation-for-paa-s" target="_self"&gt;Online presentation &lt;/a&gt;&lt;/li&gt;&#xD;
&lt;/ul&gt;&#xD;
&lt;p class="p2"&gt; &lt;/p&gt;&#xD;
&lt;p class="p2"&gt; &lt;/p&gt;&#xD;
&lt;h3&gt;&lt;/h3&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/NatiShalom?a=PqhtWsvzjXs:-Xy1ed_8Ud0:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/NatiShalom?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/NatiShalom?a=PqhtWsvzjXs:-Xy1ed_8Ud0:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/NatiShalom?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/NatiShalom/~4/PqhtWsvzjXs" height="1" width="1"/&gt;</content>



    <feedburner:origLink>http://natishalom.typepad.com/nati_shaloms_blog/2012/10/paas-as-an-infrastructure.html</feedburner:origLink></entry>
    <entry>
        <title>The Elephant in the Cloud -- Putting Hadoop on any Cloud</title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/NatiShalom/~3/zJd9jrNdTSE/the-elepahnt-in-the-cloud-putting-hadoop-on-any-cloud.html" />
        <link rel="replies" type="text/html" href="http://natishalom.typepad.com/nati_shaloms_blog/2012/08/the-elepahnt-in-the-cloud-putting-hadoop-on-any-cloud.html" thr:count="5" thr:updated="2013-02-12T10:43:32+01:00" />
        <id>tag:typepad.com,2003:post-6a00d835457b7453ef017c315e6a5a970b</id>
        <published>2012-08-28T11:34:03+02:00</published>
        <updated>2012-11-16T13:29:59+01:00</updated>
        <summary>In one of my earlier posts I discussed in general terms why it makes a lot of sense to put Big Data on the cloud. The first step that we took in this regard with Cloudify was to make NoSQL...</summary>
        <author>
            <name>Nati Shalom</name>
        </author>
        <category scheme="http://www.sixapart.com/ns/types#category" term="Big Data" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="BigInsights" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Cassandra" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Cloud Computing" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Cloudify" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="GigaSpaces" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="hadoop" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Hbase" />
        
        
<content type="html" xml:lang="he" xml:base="http://natishalom.typepad.com/nati_shaloms_blog/">&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;p&gt;&lt;span style="font-family: arial, helvetica, sans-serif;"&gt;In one of my &lt;a href="http://natishalom.typepad.com/nati_shaloms_blog/2012/03/big-data-in-the-cloud.html"&gt;earlier posts&lt;/a&gt; I discussed  in general terms why it makes a lot of sense to put  &lt;a href="http://en.wikipedia.org/wiki/Big_data" rel="wikipedia" target="_blank" title="Big data"&gt;Big Data&lt;/a&gt; on the cloud.&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: arial, helvetica, sans-serif;"&gt;&lt;img alt="Hadoop on the cloud (SOURCE: Illustration by Mike Kloran)" height="400" src="http://cdn.ttgtmedia.com/rms/dataCenter-Virtualization/hadoop_mk_final.jpg" style="float: right;" width="400"&gt;&lt;/img&gt;The first step that we took in this regard with &lt;a href="http://cloudify.me" rel="homepage" target="_blank" title="Cloudify"&gt;Cloudify&lt;/a&gt; was to make &lt;a href="http://en.wikipedia.org/wiki/NoSQL" rel="wikipedia" target="_blank" title="NoSQL"&gt;NoSQL&lt;/a&gt; databases, such as Cassandra and &lt;a href="http://www.mongodb.org/" rel="homepage" target="_blank" title="MongoDB"&gt;MongoDB&lt;/a&gt;, run on any the cloud through Cloudify recipes. &lt;a href="http://www.linkedin.com/in/uricohen"&gt;Uri Cohen&lt;/a&gt; gave an &lt;a href="http://www.youtube.com/watch?list=UUqA6zOSMpQ55vvguq4Y0jAg&amp;amp;v=WFX_vfRimIA&amp;amp;feature=player_detailpage"&gt;excellent talk&lt;/a&gt; on this during the Cassandra Summit where he provided a insights into this work.&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: arial, helvetica, sans-serif;"&gt;In the past couple of weeks we've been working on the next phase of this project: Putting &lt;a href="http://hadoop.apache.org/" rel="homepage" target="_blank" title="Hadoop"&gt;Hadoop&lt;/a&gt; on the cloud.&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: arial, helvetica, sans-serif;"&gt;As there are various solutions that aim to do something similar, I thought that a good start would be to first outline where we fit in this ecosystem.&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;h3&gt;&lt;span style="font-family: arial, helvetica, sans-serif;"&gt;&lt;strong&gt;Cloudifying Hadoop -- What Does That Actually Mean?&lt;/strong&gt;&lt;/span&gt;&lt;/h3&gt;&#xD;
&lt;h4&gt;&lt;strong&gt;&lt;span style="font-family: arial, helvetica, sans-serif;"&gt;Yet another Hadoop distribution?&lt;/span&gt;&lt;/strong&gt;&lt;/h4&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: arial, helvetica, sans-serif;"&gt;There are multiple distributions of the Hadoop framework today. All come with strong management and sets of tools and do a fairly good job. With that in mind, it was clear to us that our goal wouldn't be to come up with yet another Hadoop distribution but rather to integrate with the ones that are already out there. We picked &lt;/span&gt;&lt;a href="http://www-01.ibm.com/software/data/infosphere/biginsights/" style="font-family: arial, helvetica, sans-serif;"&gt;IBM BigInsights &lt;/a&gt;&lt;span style="font-family: arial, helvetica, sans-serif;"&gt;and the &lt;/span&gt;&lt;a href="http://en.wikipedia.org/wiki/Cloudera" style="font-family: arial, helvetica, sans-serif;"&gt;Cloudera&lt;/a&gt;&lt;span style="font-family: arial, helvetica, sans-serif;"&gt; distribution as the first targets for the project.&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: arial, helvetica, sans-serif;"&gt;When we realized that this was the path we wanted to pursue, the main question that immediately came up was:&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;h4&gt;&lt;span style="font-family: arial, helvetica, sans-serif;"&gt;&lt;strong&gt;What value can we add on top of IBM BigInsights and the Cloudera distribution?&lt;/strong&gt;&lt;/span&gt;&lt;/h4&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: arial, helvetica, sans-serif;"&gt;Big Data systems tend to be complex to manage and operate. BigInsights and Cloudera provide good tools to make the process of configuring and deploying Hadoop significantly simpler. That's good for the Hadoop part of the story. Big Data systems and applications often include other services such as relational databases, other NoSQL databases such as Cassandra or MongoDB, stream processing such as Twitter-Storm and GigaSpaces XAP, web front ends such as Tomcat, Play framework and Node.js. Each framework comes with its own management, installation, configuration, and scaling solutions, as shown in the diagram below:&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: arial, helvetica, sans-serif;"&gt; &lt;/span&gt;&lt;img alt="" height="349" src="http://natishalom.typepad.com/.a/6a00d835457b7453ef01761772e8f1970c-pi" style="border: 2px solid black;" width="600"&gt;&lt;/img&gt; &lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: arial, helvetica, sans-serif;"&gt;Managing each component of your Big Data system seperately is an operational nightmare. That complexity grows exponentially as the system gets bigger, and in Big Data that's just to be expected. &lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: arial, helvetica, sans-serif;"&gt;We realized that one of the areas in which we can &lt;strong&gt;reduce this operational complexity&lt;/strong&gt; is through &lt;em&gt;Consistent Management. &lt;/em&gt;By &lt;em&gt;Consistent Management, &lt;/em&gt;I'm referring specifically to consistent deployment, configuration, and management across the stack. Consistent management applies not only to the deployment phase, but also to post-deployment, including fail-over, scaling, and upgrades. In addition, Big Data systems tend to consume a lot of infrastructure resources that can easily pile up to thousands of nodes. We realized that we can &lt;strong&gt;optimize the infrastructure cost &lt;/strong&gt;for running the Big Data system through &lt;em&gt;Cloud Enablement&lt;/em&gt; and &lt;em&gt;Cloud Portability. Cloud Portabiltiy&lt;/em&gt; enables you to choose the right cloud for the job. For example, you could choose a bare-metal cloud for I/O intensive workloads or a virtualized/public cloud for more sporadic workloads. Below is a more detailed description on how we implemeted these two properties:&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&#xD;
&lt;strong style="font-family: arial, helvetica, sans-serif;"&gt;1. Consistent Management&lt;/strong&gt;&lt;span style="font-family: arial, helvetica, sans-serif;"&gt; &lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: arial, helvetica, sans-serif;"&gt;With consistent management, we wanted to make the experience of managing each of the tiers and services in the Big Data System consistent throughout the entire stack. This is where Cloudify plugs in.&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p class="p2"&gt;&lt;span style="font-family: arial, helvetica, sans-serif;"&gt;Cloudify already plugs into a variety of web containers, databases, and through the &lt;span style="color: #ff0000;"&gt;&lt;a href="http://www.cloudifysource.org/guide/2.2/integrations/chef_documentation"&gt;integration with Chef&lt;/a&gt;&lt;/span&gt; also into hundreds of services available through the Chef Cookbook.&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p class="p2"&gt;&lt;span style="font-family: arial, helvetica, sans-serif;"&gt;The process for achieving consistent management for BigInsights and Cloudera Hadoop distribution basically maps to the creation of a &lt;a href="http://www.cloudifysource.org/guide/2.1/developing/recipes_overview"&gt;Cloudify recipe&lt;/a&gt;. The purpose of the recipe in this specific case was to map all the capabilities that come with the IBM BigInsights and Cloudera distribution in a way that would be later consistent with other services in the stack. &lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p class="p2"&gt;&lt;span style="font-family: arial, helvetica, sans-serif;"&gt;For this, we needed to come up with the following:&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;ul class="ul1"&gt;&#xD;
&lt;li class="li1"&gt;&lt;span style="font-family: arial, helvetica, sans-serif;"&gt;&lt;strong&gt;Deployment automation&lt;/strong&gt; -- A Cloudify recipe enables us to automate the installation, configuration, and deployment of a given service. In the context of a Hadoop distribution, which comes with its own scripts for automating these phases, the process of creating a Cloudify recipe basically meant mapping the specific Hadoop distribution scripts into the Cloudify convention, as well as using the Cloudify discovery, global context, and other services to dynamically inject configuration values that are driven on-the-fly through the deployment process. In the case of BigInsights, this basically mapped into a simple recipe that would launch the machines, set up the SSH environment, and update the BigInsights configuration file with the relevant information. We then called BigInsights to install the NameNode, DataNode, Management, Hive and other services that come with the BigInsights distribution. &lt;/span&gt;&lt;/li&gt;&#xD;
&lt;li class="li1"&gt;&lt;span style="font-family: arial, helvetica, sans-serif;"&gt;&lt;strong&gt;Automation of post-deployment operations &lt;/strong&gt;-- In the Hadoop scenario, post-deployment operations mapped into the abilities to add a node, rebalance, and test the environment. To automate these processes, we used &lt;a href="http://www.cloudifysource.org/guide/2.1/developing/custom_commands.html"&gt;Cloudify custom commands&lt;/a&gt;. Custom commands enable us to give an alias to those maintenance scripts, and then it enables the users to call those scripts using a simple naming convention without knowing the physical location of Hadoop deployment. &lt;/span&gt;&lt;/li&gt;&#xD;
&lt;li class="li1"&gt;&lt;span style="font-family: arial, helvetica, sans-serif;"&gt;&lt;strong&gt;SLA-based monitoring and auto-scaling&lt;/strong&gt; -- SLA-based monitoring enables measure how the Hadoop distribution behaves after it's been deployed, and also to map specific actions when a given SLA is breached. For example, you can monitor a situation where a node fails and then spawns a new machine to take over that fail-node. You can also use the monitors to trigger any of the actions defined in the custom commands, which basically means that you can automate not only a fail-over process but also the ability to scale, by adding more capacity. To do this with Cloudify, use &lt;a href="http://www.cloudifysource.org/guide/2.1/developing/plugins"&gt;Custom Metrics&lt;/a&gt; to monitor the specific metrics that are of interest. One great power of custom metrics IMO is that you're not bound to metrics that are provided by the Hadoop distribution, and you can easily generate compound metrics that can be generated out of correlating metrics from multiple sources, such as such as network statistics or a cloud management system. You can then use the Cloudify &lt;a href="http://www.cloudifysource.org/guide/2.1/developing/scaling_rules.html"&gt;Scaling Rules&lt;/a&gt; to attach rules to each of those metrics and trigger a fail-over or scaling event.&lt;/span&gt;&lt;/li&gt;&#xD;
&lt;/ul&gt;&#xD;
&lt;p class="p1"&gt;&lt;span style="font-family: arial, helvetica, sans-serif;"&gt;&lt;strong&gt;2. Cloud Enablement and Portability &lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: arial, helvetica, sans-serif;"&gt;The Cloud is basically a more efficient way to run IT. Today, there are growing numbers of cloud offerings and types of clouds, each providign different SLAs and pricing models. There are the public clouds such as Amazon, Rackspace, and also HP, IBM and Dell who's coming out with their own cloud offering. Microsoft and Google are also coming out with new offerings that will undoubtedly change the dynamic in this space. There are also the bare-metal clouds, the private cloud, the OpenSource cloud, etc., and obviously the VMware cloud, which are also an important part of the mix.&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: arial, helvetica, sans-serif;"&gt;Enabling your Big Data systems for all these environments means you can leverage all the agility, efficiency, and flexibiltiy of the cloud, while also allowing you to choose the right cloud for the job.&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: arial, helvetica, sans-serif;"&gt;Given the rapid dynamic of the cloud world, you also want to keep your options open so that you can leverage any future developments and services as they become available.&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;h4 class="p1"&gt;&lt;span style="font-family: arial, helvetica, sans-serif;"&gt;&lt;strong&gt;Controlling Your Cloud Infrastructure is a Critical Part of Controlling Your Big Data Costs&lt;/strong&gt;&lt;/span&gt;&lt;/h4&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: arial, helvetica, sans-serif;"&gt;There are various ways to control Big Data costs through controlling  infrastructure. Here are a few examples:&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;ul class="ul1"&gt;&#xD;
&lt;li class="li1"&gt;&lt;span style="font-family: arial, helvetica, sans-serif;"&gt;Bare-Metal -- Reduce the number of machine instances for high I/O workloads.&lt;/span&gt;&lt;/li&gt;&#xD;
&lt;li class="li1"&gt;&lt;span style="font-family: arial, helvetica, sans-serif;"&gt;Private-Cloud --Optimize performance for your specific workload through specialized hardware (Inifiband, dedicated network, specialized hard drives, etc.) and also have better control over our data secrurity.&lt;/span&gt;&lt;/li&gt;&#xD;
&lt;li class="li1"&gt;&lt;span style="font-family: arial, helvetica, sans-serif;"&gt;Hybrid-Cloud -- Offload some of the work into the public cloud and optimize costs through more elastic computing.&lt;/span&gt;&lt;/li&gt;&#xD;
&lt;/ul&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: arial, helvetica, sans-serif;"&gt;Take Zynga for example. Zynga recently launched their own private cloud offering, zCloud, and is now using a hybrid cloud strategy in which they move some of the heavy workload from the Amazon cloud into their private cloud environment. With this approach Zynga was able to increase utilization by 3x, which means that they will need 1/3 of the servers that they would need from Amazon for the same workload, as noted by CTO Allan Leinwand on &lt;a href="http://code.zynga.com/2012/02/the-evolution-of-zcloud/" target="_blank" title="Zynga engineering blog zCloud"&gt;Zynga’s engineering blog&lt;/a&gt;:&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="padding-left: 30px;"&gt;&lt;span style="font-family: arial, helvetica, sans-serif;"&gt;For social games specifically, zCloud offers 3x the efficiency of standard public cloud infrastructure. For example, where our games in the public cloud would require three physical servers, zCloud only uses one. We worked on provisioning and automation tools to make zCloud even faster and easier to set up. We’ve optimized storage operations and networking throughput for social gaming. Systems that took us days to set up instead took minutes. zCloud became a sports car that’s finely tuned for games.&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;h4 class="p1"&gt;&lt;span style="font-family: arial, helvetica, sans-serif;"&gt;&lt;strong&gt;How Does Cloudify Add Cloud Portability to Your Hadoop Distribution?&lt;/strong&gt;&lt;/span&gt;&lt;/h4&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: arial, helvetica, sans-serif;"&gt;Cloudify recipes uses a feature called &lt;/span&gt;&lt;em style="font-family: arial, helvetica, sans-serif;"&gt;machine templates&lt;/em&gt;&lt;span style="font-family: arial, helvetica, sans-serif;"&gt;. Machine templates are an abstraction of the underlying compute resource. The mapping of the machine template into the particular cloud infrastructure is done through the &lt;/span&gt;&lt;a href="http://www.cloudifysource.org/guide/2.1/clouddrivers/cloud_driver" style="font-family: arial, helvetica, sans-serif;"&gt;Cloud Driver&lt;/a&gt;&lt;span style="font-family: arial, helvetica, sans-serif;"&gt;.&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: arial, helvetica, sans-serif;"&gt;Cloudify comes with a large and continuously growing list of Cloud Drivers  available for HP, Rackspace, Amazon, Azure, and CloudStack, as well as for completely non-virtualized environments, which is basically just a bunch of bare-metal machines with an IP and network. The Cloud Driver also plugs in with JClouds and as such can plug into any cloud that is supported through the JClouds framework. &lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: arial, helvetica, sans-serif;"&gt;With all this, running your Hadoop deployment on any cloud becomes just a matter of a simple configuration of the target cloud end-point.&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;h3 class="p1"&gt;&lt;span style="font-family: arial, helvetica, sans-serif;"&gt;&lt;strong&gt;Current Status:&lt;/strong&gt;&lt;/span&gt;&lt;/h3&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: arial, helvetica, sans-serif;"&gt;We've made the entire project available on  &lt;a href="https://github.com/CloudifySource/cloudify-recipes/tree/master/services/biginsights"&gt;GitHub&lt;/a&gt;. The technical description of that work is provided &lt;a href="http://www.cloudifysource.org/2012/09/25/cloudify_ibm_infosphere_biginsights.html" target="_self"&gt;here&lt;/a&gt;. These days, we're working closely with our IBM partners to harden and optimize our BigInsights integration, and will be coming out with more updates shortly. Obviously, this is meant to be an ongoing process, so I'd really appreciate any feedback or comments or contributions.&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: arial, helvetica, sans-serif;"&gt;In the next post we will outline more specifics about the work with IBM BigInsights. &lt;/span&gt;&lt;/p&gt;&#xD;
&lt;h3 class="p1"&gt;&lt;span style="font-family: arial, helvetica, sans-serif;"&gt;&lt;strong&gt;Final Notes&lt;/strong&gt;&lt;/span&gt;&lt;/h3&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: arial, helvetica, sans-serif;"&gt;Adding consistent management and cloud portability to your Big Data system allows you to reduce the operational and infrastructure cost of running Big Data systems. It's clear to me that this is just the begining for what we can achieve through this work. The flexibilty that we can add through the integration of Cloudify with IBM BigInsights and the Cloudera distribution will allow us to easily plug into other services and cloud infrastructures. It will also allow us to deploy and manage even the most complex systems through a single-command... So stay tuned.&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p class="p1"&gt;&lt;strong style="font-family: arial, helvetica, sans-serif;"&gt;References&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;ul&gt;&#xD;
&lt;li&gt;&lt;a href="http://natishalom.typepad.com/nati_shaloms_blog/2012/03/big-data-in-the-cloud.html" style="font-family: arial, helvetica, sans-serif;"&gt;Big Data in the cloud with Cloudify&lt;/a&gt;&lt;/li&gt;&#xD;
&lt;li&gt;&lt;a href="http://www.cloudifysource.org/2012/09/25/cloudify_ibm_infosphere_biginsights.html" target="_self"&gt;Cloudify and IBM InfoSphere BigInsights&lt;/a&gt;&lt;/li&gt;&#xD;
&lt;li&gt;&lt;a href="http://natishalom.typepad.com/nati_shaloms_blog/2012/05/bare-metal-paas.html" style="font-family: arial, helvetica, sans-serif;"&gt;The Rise of Bare metal Clouds&lt;/a&gt;&lt;/li&gt;&#xD;
&lt;li&gt;&lt;a href="http://natishalom.typepad.com/nati_shaloms_blog/2012/03/lessons-from-zynga-and-sony-move-from-amazon-aws.html" style="font-family: arial, helvetica, sans-serif;"&gt;Lessons from Zynga &amp;amp; Sony on moving from Amazon AWS&lt;/a&gt;&lt;/li&gt;&#xD;
&lt;li&gt;&lt;a href="http://www.youtube.com/watch?list=UUqA6zOSMpQ55vvguq4Y0jAg&amp;amp;v=WFX_vfRimIA&amp;amp;feature=player_detailpage" style="font-family: arial, helvetica, sans-serif;" target="_self"&gt;Putting BigData/ Cassandra on the Cloud (Online session from the Cassandra Summit 2012)&lt;/a&gt;&lt;/li&gt;&#xD;
&lt;li&gt;&lt;a href="https://github.com/CloudifySource/cloudify-recipes/tree/master/services/biginsights" style="font-family: arial, helvetica, sans-serif;"&gt;Cloudify Hadoop Recipies peoject on GitHub&lt;/a&gt;&lt;/li&gt;&#xD;
&lt;/ul&gt;&#xD;
&lt;p class="p2"&gt; &lt;/p&gt;&#xD;
&lt;p&gt; &lt;/p&gt;&#xD;
&lt;div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"&gt;&lt;a class="zemanta-pixie-a" href="http://www.zemanta.com/?px" title="Enhanced by Zemanta"&gt;&lt;img alt="Enhanced by Zemanta" class="zemanta-pixie-img" src="http://img.zemanta.com/zemified_h.png?x-id=c54f79f7-a789-476d-8108-27ea9c42d4b5" style="border: none; float: right;"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/NatiShalom?a=zJd9jrNdTSE:CAML1FkeiXc:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/NatiShalom?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/NatiShalom?a=zJd9jrNdTSE:CAML1FkeiXc:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/NatiShalom?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/NatiShalom/~4/zJd9jrNdTSE" height="1" width="1"/&gt;</content>



    <feedburner:origLink>http://natishalom.typepad.com/nati_shaloms_blog/2012/08/the-elepahnt-in-the-cloud-putting-hadoop-on-any-cloud.html</feedburner:origLink></entry>
    <entry>
        <title>Lessons from the Heroku/Amazon Outage </title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/NatiShalom/~3/5nK_WMKFcu4/lessons-from-herokuamazon-outage-on-your-choice-of-a-paas-platform.html" />
        <link rel="replies" type="text/html" href="http://natishalom.typepad.com/nati_shaloms_blog/2012/08/lessons-from-herokuamazon-outage-on-your-choice-of-a-paas-platform.html" thr:count="8" thr:updated="2012-10-15T14:04:41+02:00" />
        <id>tag:typepad.com,2003:post-6a00d835457b7453ef016306a29906970d</id>
        <published>2012-08-26T16:29:39+02:00</published>
        <updated>2012-06-18T17:08:32+02:00</updated>
        <summary>Earlier this week we experienced the third significant AWS outage in the past 14 months, as reported by Justin Lee in his report Heroku, Pinterest Among Sites Knocked Offline in Amazon Data Center Outage on theWhirr magazine: An Amazon data...</summary>
        <author>
            <name>Nati Shalom</name>
        </author>
        <category scheme="http://www.sixapart.com/ns/types#category" term="Cloud Computing" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="GigaSpaces" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="PaaS" />
        
        
<content type="html" xml:lang="he" xml:base="http://natishalom.typepad.com/nati_shaloms_blog/">&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;p&gt;Earlier this week we experienced the third significant AWS outage in the past 14 months, as reported by &lt;a href="http://www.thewhir.com/profile/justinlee"&gt;Justin Lee&lt;/a&gt; in his report &lt;a href="http://www.thewhir.com/web-hosting-news/heroku-pinterest-among-sites-knocked-offline-in-amazon-data-center-outage"&gt;Heroku, Pinterest Among Sites Knocked Offline in Amazon Data Center Outage&lt;/a&gt; on theWhirr magazine:&lt;/p&gt;&#xD;
&lt;blockquote&gt;&#xD;
&lt;p&gt;An &lt;a href="http://aws.amazon.com/" target="_blank"&gt;Amazon&lt;/a&gt; data center in Ashburn, Virginia suffered a power outage at 9:45 p.m. PDT on Thursday, causing some websites using AWS cloud technology to go offline. High-profile websites like Heroku, Pinterest, Quora and HootSuite saw downtime, as well as many smaller sites.&lt;/p&gt;&#xD;
&lt;/blockquote&gt;&#xD;
&lt;p&gt;In this post I'd like to briefly address the lessons from this experience, and more importantly, focus on the lessons from this sort of failure and their effect on public PaaS offerings, such as Heroku.&lt;/p&gt;&#xD;
&lt;h3&gt;Lesson from the Heroku Outage: Choose the Right PaaS for the Job&lt;/h3&gt;&#xD;
&lt;p&gt;One of the promises of PaaS is productivity. PaaS providers like Heroku claim to increase productivity by abstracting the user from the details of the underlying infrastructure, and even go so far as to claim that PaaS makes application operations redundant.&lt;/p&gt;&#xD;
&lt;h4&gt;Lesson 1: Choose the Right PaaS for the Job&lt;/h4&gt;&#xD;
&lt;p&gt;The main lesson from this outage is that relying on the PaaS provider to carry all your operations isn't always a safe bet. When we move to PaaS we still need to understand how they run their disaster recovery, high-availability, and scaling procedures. Heroku-like PaaS also forces you to a lowest common denominator approach to dealing with continuous availability and scalability. In reality, however, there are many tradeoffs between scalability, performance, and high availability. The best fit between those tradeoffs tends to be application specific, so compromising on a lowest common denominator could be less productive and more costly at the end of the day.&lt;/p&gt;&#xD;
&lt;p&gt;Which brings me to the last point in this section -- PaaS was meant to provide a higher productivity for running our apps on the cloud by abstracting the details of how we run our application (the operation) from the application developer. The black-box approach of many of the public PaaS offerings, such as Heroku, is often an extreme measure in this regard. There is often a close coupling between what the application does and the way we run it. A new class of Open PaaS platforms such as &lt;a href="../../cloudifysource.org"&gt;Cloudify&lt;/a&gt;, CloudFoundry, and OpenShift offer a different open source alternative that gives you more control of the underlying PaaS platform. Cloudify takes it even further, providing an open recipe model that integrates with the likes of Chef, enabling you to easily customize and control your operations without affecting developer productivity.&lt;/p&gt;&#xD;
&lt;h4&gt;Lesson 2: Database Availability Must Address Datacenter Failure&lt;/h4&gt;&#xD;
&lt;p&gt;The other area that Heroku, and to be honest, most other PaaS offering don't adequately address is database high-availability, which is obviously a tough area. Specificaly, in the event of data center failure or availability zone failure, as in the present case. To deal with database availability, it is necessary to ensure real-time synchronization of the database across sites. The example at the bottom of this post refers to a specific way this can be done, between two mySql instances running on Amazon and Rackspace with Cloudify.&lt;/p&gt;&#xD;
&lt;h3&gt;General Lessons:&lt;/h3&gt;&#xD;
&lt;h4&gt;Lesson 3: Coping with Failure, Avoiding a Single Point of Failure&lt;/h4&gt;&#xD;
&lt;p&gt;The general lesson from this and previous failures is actually not new. To be fair, this lesson is not specific to AWS or to any cloud service. Failures are inevitable, and often happen when and where we least expect them to. Instead of trying to prevent failure from happening we should design our systems to cope with failure. &lt;br&gt; The method of dealing with failures is also not that new -- use redundancy, don't rely on a single point failure (including a data center or even a data center provider). Automate the fail-over process, etc...&lt;/p&gt;&#xD;
&lt;h3&gt;Haven't Learned from Past Lessons?&lt;/h3&gt;&#xD;
&lt;p&gt;The question that comes out of this experience IMO is not necessarily how to deal with failures (those lessons are as old as the mainframe or even older), but rather -- why are we failing to implement the lessons? Assuming that the people running these systems are among the best in the industry makes this question even more intresting. Here is my take on it:&lt;/p&gt;&#xD;
&lt;ul&gt;&#xD;
&lt;li&gt;&lt;strong&gt;We give up responsibility when we move to the cloud&lt;/strong&gt;: When we move our operations to the cloud, we often assume that we're out-sourcing our data center operation completely, including our disaster recovery procedures. The truth is that when we move to the cloud we're only outsourcing the infrastructure, not our operations, and the responsibility of how to use this infrastructure remain ours. &lt;/li&gt;&#xD;
&lt;li&gt;&lt;strong&gt;Complexity&lt;/strong&gt;: The current DR processes and tools were designed for a pre-cloud world, and do not work well in a dynamic environment, such as the cloud. Many of the tools that are provided by the cloud vendors (Amazon in this specific case) are still fairly complex to use.&lt;/li&gt;&#xD;
&lt;/ul&gt;&#xD;
&lt;h3&gt;Implementing Past Lessons in a Cloud World&lt;/h3&gt;&#xD;
&lt;p&gt;The first point is is easy -- we need to assume full responsibility for our applications' disaster recovery procedures, in the cloud world just as if we were running our own data center. The hard part in the cloud world is that we often have less visibility, control, and knowledge of the infrastructure, which affects our ability to protect our applications -- and each sub-component of our application -- from failure. On the other hand, the cloud enables us to spawn new instances easily on various data center locations, a.k.a Availability Zones. &lt;/p&gt;&#xD;
&lt;p&gt;And so, most failures can be addressed by moving from the failed system to a completely different system regardless of the root cause of the failure. Therefore, the first lesson is that in the cloud world it is easier to implement disaster recovery plans, by moving our application traffic to a completely different redundant system in a snap, rather than trying to protect every component of our application from a failure. If we're willing to tolerate a short window of downtime, we can even use an on-demand backup site rather than pay the consistent cost and overhead of maintaining a hot backup site.&lt;/p&gt;&#xD;
&lt;p&gt;Which brings me to the next point: What do we need to build such a solution?&lt;/p&gt;&#xD;
&lt;p&gt;A consistent redundant environment that is ready to take over in case of failure needs to include the following elements:&lt;/p&gt;&#xD;
&lt;ul&gt;&#xD;
&lt;li&gt;&lt;strong&gt;Workload Migratio&lt;/strong&gt;n: Specifically, the ability to clone your application environment and configuration in a consistent way accorss sites, and on demand.&lt;/li&gt;&#xD;
&lt;li&gt;&lt;strong&gt;Data Synchronization&lt;/strong&gt;: The ability to maintain a real-time copy of the data between two sites. &lt;/li&gt;&#xD;
&lt;li&gt;&lt;strong&gt;Network Connectivity&lt;/strong&gt;: Enabling the flow of network traffic between two sites.&lt;/li&gt;&#xD;
&lt;/ul&gt;&#xD;
&lt;p&gt;Which leads to the second challenge: Complexity. Here, I would use an example of a simple web-app and show how we can easily create two sites on demand. I would even go so far as to set this environment on two separate clouds to show how we can ensure an even higher degree of redundancy by running our application across two different cloud providers.&lt;/p&gt;&#xD;
&lt;h3&gt;A Step by Step Example: Fail-Over from AWS to Rackspace&lt;/h3&gt;&#xD;
&lt;p&gt;In this example, we picked Amazon and Rackspace as the two target sites. The same solution would also work between two availability zones in Amazon or data centers. We've also tried the same example with a combination of HP Cloud Services and a flavor of a &lt;a href="http://www.cloudifysource.org/guide/setup/configuring_byon" target="_self"&gt;private cloud&lt;/a&gt;.&lt;/p&gt;&#xD;
&lt;p&gt;The example demonstrates a very simple web application with global load-balancer (Rackspace), and a Web application (Pet Clinic) based on Tomcat as the Web front end and MySQL as the database.&lt;/p&gt;&#xD;
&lt;p&gt;&lt;img alt="" src="http://horovits.files.wordpress.com/2012/06/cloud-burst-arch.jpg?w=500&amp;amp;h=375&amp;amp;__SQUARESPACE_CACHEVERSION=1339711730747"&gt;&lt;/img&gt;&lt;/p&gt;&#xD;
&lt;p&gt;On both ends we used &lt;a href="http://www.gigaspaces.com/wiki/display/XAP8/Multi-Site+Replication+over+the+WAN"&gt;GigaSpaces XAP Transactional WAN replication&lt;/a&gt; as a replication channel between the two instances of MySQL and &lt;a href="http://cloudifysource.org/"&gt;Cloudify&lt;/a&gt; to handle the workload migration between the sites.&lt;/p&gt;&#xD;
&lt;p&gt;The Goal: Fail-over with no change to the target application&lt;/p&gt;&#xD;
&lt;p&gt;The goals that we set for ourselves were seamlessness and no change to the target application or database. We achieved this by plugging the replication service into the existing instances of MySQL. The replicating service listened to the MySQL events and replicated every change to its peer MySQL instance. Cloudify enabled us to clone the same application in both Amazon and Racksapce while maintaining a consistent configuration setup as well as consistent scaling and fail-over SLAs. Cloudify does this by abstracting all the information through portable recipe definitions. Cloudify wraps the application instances with its management and control services based on the definition provided in the recipe. This enabled us to clone the environment as well as add elastic scaling without changing the target application (Pet Clinic in this case).&lt;/p&gt;&#xD;
&lt;p&gt;You can read the full details, including code references on Github, in Dotan Horvits' blog post: &lt;a href="http://horovits.wordpress.com/2012/06/17/aws-outage-thoughts-on-disaster-recovery-policies/"&gt;AWS Outage Thoughts on Disaster Recovery Policies&lt;/a&gt;.&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;Join GigaSpaces for our upcoming events to learn more about this topic:&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;ul&gt;&#xD;
&lt;li&gt;Transactional Cross-Site Data Replication webinar this Wednesday June 20th (9:00 AM PST) that will teach you how to achieve consistent data replication across sites in just 10 minutes, enabling disastery recovery, cloud bursting, and more. Register &lt;a href="http://bit.ly/IM0w9F" target="_self" title="Transactional Cross-Site Data Replication"&gt;here&lt;/a&gt;.&lt;/li&gt;&#xD;
&lt;li&gt;The DevOps PaaS Infusion Meetup this Tuesday June 19th at 6:30 PM - NetFlix and OpsCode will be joining GigaSpaces at this meetup in NY where one of the highlights will be a panel on lesson learning from the recent AWS outage.  Register &lt;a href="http://bit.ly/MxH9bM" target="_self" title="The DevOps PaaS Infusion"&gt;here&lt;/a&gt;.&lt;/li&gt;&#xD;
&lt;/ul&gt;&#xD;
&lt;p&gt; &lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;References&lt;/strong&gt;:&lt;/p&gt;&#xD;
&lt;ul&gt;&#xD;
&lt;li&gt;&lt;a href="http://www.thewhir.com/web-hosting-news/heroku-pinterest-among-sites-knocked-offline-in-amazon-data-center-outage"&gt;Heroku, Pinterest Among Sites Knocked Offline in Amazon Data Center Outage&lt;/a&gt;&lt;/li&gt;&#xD;
&lt;li&gt;&lt;a href="http://horovits.wordpress.com/2012/06/17/aws-outage-thoughts-on-disaster-recovery-policies/"&gt;AWS Outage Thoughts on Disaster Recovery Policies&lt;/a&gt;&lt;/li&gt;&#xD;
&lt;li&gt;&lt;a href="http://natishalom.typepad.com/nati_shaloms_blog/2012/05/mapping-the-cloudpaas-stack.html"&gt;Mapping the Cloud Stack&lt;/a&gt;&lt;/li&gt;&#xD;
&lt;li&gt;&lt;a href="http://natishalom.typepad.com/nati_shaloms_blog/2012/05/making-cloud-bursting-a-practical-reality.html"&gt;Making Cloud Bursting a Practical Reality&lt;/a&gt;&lt;/li&gt;&#xD;
&lt;/ul&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/NatiShalom?a=5nK_WMKFcu4:6tosGs_QgJ4:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/NatiShalom?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/NatiShalom?a=5nK_WMKFcu4:6tosGs_QgJ4:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/NatiShalom?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/NatiShalom/~4/5nK_WMKFcu4" height="1" width="1"/&gt;</content>



    <feedburner:origLink>http://natishalom.typepad.com/nati_shaloms_blog/2012/08/lessons-from-herokuamazon-outage-on-your-choice-of-a-paas-platform.html</feedburner:origLink></entry>
 
</feed><!-- ph=1 -->
