Loading…

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

Like this presentation? Why not share!

Form Fits Function: Choosing IaaS, Pa

on

  • 2,256 views

 

Statistics

Views

Total Views
2,256
Views on SlideShare
2,254
Embed Views
2

Actions

Likes
0
Downloads
32
Comments
0

2 Embeds 2

http://www.linkedin.com 1
https://www.linkedin.com 1

Accessibility

Categories

Upload Details

Uploaded via as Apple Keynote

Usage Rights

CC Attribution-ShareAlike LicenseCC Attribution-ShareAlike License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • <br />
  • The first definition is what IT employees like. <br />
  • <br />
  • We&#x2019;ve had big changes since the time of the mainframes we just saw. The first was client-server computing: the idea that not everything lived in a mainframe, and some things worked well on the desktop. Software like Visicalc&#x2014;the first spreadsheet&#x2014;were useful for businesses, even those who couldn&#x2019;t afford a mainframe. <br />
  • A second big change was the Web. This browser-based model made computing accessible to the masses. As a result, it became part of society, and everyone knew how to work it. These days, you don&#x2019;t have to teach a new hire how to use a web browser: they know what links do; what the back button is; and so on. <br />
  • A third change is the move to mobility. This has been bigger overseas, where the mobile phone is the dominant way of accessing the Internet, but it&#x2019;s still a shift to the always-connected, always-on lifestyles we lead today. <br />
  • And now there&#x2019;s cloud computing. Clouds are as big a shift as client-server, or the web browser, or mobility. <br />
  • The step-function nature of dedicated machines doesn&#x2019;t distribute workload very efficiently. <br />
  • Virtualization lets us put many workloads on a single machine <br />
  • Once workloads are virtualized, several things happen. First, they&#x2019;re portable <br />
  • Second, they&#x2019;re ephemeral. That is, they&#x2019;re short-lived: Once people realize that they don&#x2019;t have to hoard machines, they spin them up and down a lot more. <br />
  • Which inevitably leads to automation and scripting: We need to spin up and down machines, and move them from place to place. This is hard, error-prone work for humans, but perfect for automation now that rack-and-stack has been replaced by point-and-click <br />
  • Automation, once in place, can have a front end put on it. That leads to self service. <br />
  • These are the foundations on which new IT is being built. Taken together, they&#x2019;re a big part of the movement towards cloud computing, whether that&#x2019;s in house or on-demand. <br />
  • Okay, so these things mean we have applications that run &#x201C;virtually&#x201D; &#x2013; that is, they&#x2019;re divorced from the underlying hardware. One machine can do ten things; ten machines can do one thing. <br />
  • Okay, so these things mean we have applications that run &#x201C;virtually&#x201D; &#x2013; that is, they&#x2019;re divorced from the underlying hardware. One machine can do ten things; ten machines can do one thing. <br />
  • Okay, so these things mean we have applications that run &#x201C;virtually&#x201D; &#x2013; that is, they&#x2019;re divorced from the underlying hardware. One machine can do ten things; ten machines can do one thing. <br />
  • This is the &#x201C;technical&#x201D; definition of cloud computing: virtualized, automated, self-service computing resources. Some people call this a &#x201C;private cloud&#x201D;; others think it&#x2019;s just IT-done-right. Whatever the case, data centers are furiously retooling themselves, much to the enjoyment of companies like VMWare and Citrix. <br />
  • Now let&#x2019;s talk about the other definition -- the populist, popular one that has everyone believing clouds will magically fix IT. <br />
  • This is the clouds-as-a-business-model definition. In this, cloud computing is a third-party service. <br /> <br />
  • All of the things we&#x2019;ve seen about cloud technology make it possible to deliver computing as a utility -- computing on tap. The virtualization provides a blood/brain barrier between the application the user is running, and the machines on which it runs. Which means it can be a utility. <br />
  • The utility promise is compelling. It means you can focus on the thing your business does that makes you special <br />
  • And stop worrying about many of the tasks you really didn&#x2019;t want to do anyway. <br />
  • They also remove the false sense of security that came from expense limits. <br />
  • These days, supercomputing is easier (and cheaper) than booking a flight. <br />
  • Sharing and economies of scale keep costs down. Cloud providers are poised to make the most of these economies of scale. Consider that in July 2008, Microsoft revealed that it had 96,000 servers at the Quincy facility, consuming "about 11 megawatts" <br /> More than 80% dedicated to Microsoft&apos;s Live Search and the remaining for Hotmail <br /> In August, a really good discovery was posted to a blog called "istartedsomething.com":&#xA0; a screen shot of a software dashboard that illustrates power consumption and server count at each of Microsoft&apos;s fifteen data centers, caught in a Microsoft video posted to their web site. <br />
  • The move towards the cloud business model has a lot to do with the economies of scale that exist when you can concentrate infrastructure, and put it near dams. (There&#x2019;s a good&#x2014;if hotly debated argument&#x2014;that clouds-as-a-business-model are inevitable, because of the economics.) <br />
  • The move towards the cloud business model has a lot to do with the economies of scale that exist when you can concentrate infrastructure, and put it near dams. (There&#x2019;s a good&#x2014;if hotly debated argument&#x2014;that clouds-as-a-business-model are inevitable, because of the economics.) <br />
  • The move towards the cloud business model has a lot to do with the economies of scale that exist when you can concentrate infrastructure, and put it near dams. (There&#x2019;s a good&#x2014;if hotly debated argument&#x2014;that clouds-as-a-business-model are inevitable, because of the economics.) <br />
  • The move towards the cloud business model has a lot to do with the economies of scale that exist when you can concentrate infrastructure, and put it near dams. (There&#x2019;s a good&#x2014;if hotly debated argument&#x2014;that clouds-as-a-business-model are inevitable, because of the economics.) <br />
  • Cloud providers are thinking at a scale that nearly every enterprise can&#x2019;t compete with. That&#x2019;s because operating efficiency, and accounting for everything, are core to their business; whereas making widgets is core to yours. <br />
  • And this public cloud model is where all the fear is. Most of the time, when you hear someone say they&#x2019;re concerned about the security of cloud computing, they&#x2019;re talking about public clouds, and the issues that come with putting your data somewhere virtually but not knowing where it is physically. <br />
  • Ultimately, cloud computing is about a significant broadening of the available architectures -- there&#x2019;s no &#x201C;big switch&#x201D;, just a series of new options. <br />
  • Ultimately, cloud computing is about a significant broadening of the available architectures -- there&#x2019;s no &#x201C;big switch&#x201D;, just a series of new options. <br />
  • Ultimately, cloud computing is about a significant broadening of the available architectures -- there&#x2019;s no &#x201C;big switch&#x201D;, just a series of new options. <br />
  • Ultimately, cloud computing is about a significant broadening of the available architectures -- there&#x2019;s no &#x201C;big switch&#x201D;, just a series of new options. <br />
  • Ultimately, cloud computing is about a significant broadening of the available architectures -- there&#x2019;s no &#x201C;big switch&#x201D;, just a series of new options. <br />
  • Ultimately, cloud computing is about a significant broadening of the available architectures -- there&#x2019;s no &#x201C;big switch&#x201D;, just a series of new options. <br />
  • Ultimately, cloud computing is about a significant broadening of the available architectures -- there&#x2019;s no &#x201C;big switch&#x201D;, just a series of new options. <br />
  • Ultimately, cloud computing is about a significant broadening of the available architectures -- there&#x2019;s no &#x201C;big switch&#x201D;, just a series of new options. <br />
  • Now let&#x2019;s talk at different architectures <br />
  • The first is called Infrastructure as a Service, because you&#x2019;re renting pieces of (virtual) infrastructure. <br />
  • This is what IT people think of when you say &#x201C;clouds&#x201D; &#x2013; virtual machines I can use for just an hour. Here&#x2019;s Amazon&#x2019;s &#x201C;menu&#x201D; of machines. <br />
  • A great example of these clouds in action is what the Washington Post did with Hillarly Clinton&#x2019;s diaries during her campaign. They needed to get all 17,481 pages of Hillary Clinton&#x2019;s White House schedule scanned and searchable quickly. Using 200 machines, the Post was able to get the data to reporters in only 26 hours. In fact, the experiment is even more compelling: Desktop OCR took about 30 minutes per page to properly scan, read, resize, and format each page &#x2013; which means that it would have taken nearly a year, and cost $123 in power, to do the work on a single machine. <br />
  • In an IaaS model, you&#x2019;re getting computers as a utility. The unit of the transaction is a virtual machine. It&#x2019;s still up to you to install an operating system, and software, or at least to choose it from a list. You don&#x2019;t really have a machine -- you have an image of one, and when you stop the machine, it vanishes. <br />
  • In an IaaS model, you&#x2019;re getting computers as a utility. The unit of the transaction is a virtual machine. It&#x2019;s still up to you to install an operating system, and software, or at least to choose it from a list. You don&#x2019;t really have a machine -- you have an image of one, and when you stop the machine, it vanishes. <br />
  • Most applications consist of several machines -- web, app, and database, for example. Each is created from an image, and some, like databases, may use other services from the cloud to store and retrieve data from a disk <br />
  • Most applications consist of several machines -- web, app, and database, for example. Each is created from an image, and some, like databases, may use other services from the cloud to store and retrieve data from a disk <br />
  • Most applications consist of several machines -- web, app, and database, for example. Each is created from an image, and some, like databases, may use other services from the cloud to store and retrieve data from a disk <br />
  • Most applications consist of several machines -- web, app, and database, for example. Each is created from an image, and some, like databases, may use other services from the cloud to store and retrieve data from a disk <br />
  • Most applications consist of several machines -- web, app, and database, for example. Each is created from an image, and some, like databases, may use other services from the cloud to store and retrieve data from a disk <br />
  • Most applications consist of several machines -- web, app, and database, for example. Each is created from an image, and some, like databases, may use other services from the cloud to store and retrieve data from a disk <br />
  • Most applications consist of several machines -- web, app, and database, for example. Each is created from an image, and some, like databases, may use other services from the cloud to store and retrieve data from a disk <br />
  • If you run out of capacity, you can upgrade to a bigger machine (which is called &#x201C;scaling vertically.&#x201D;) <br />
  • If you run out of capacity, you can upgrade to a bigger machine (which is called &#x201C;scaling vertically.&#x201D;) <br />
  • If you run out of capacity, you can upgrade to a bigger machine (which is called &#x201C;scaling vertically.&#x201D;) <br />
  • Or you can create several machines at each tier, and use a load balancer to share traffic between them. These kinds of scalable, redundant architectures are common -- nay, recommended -- in a cloud computing world where everything is uncertain. <br />
  • Or you can create several machines at each tier, and use a load balancer to share traffic between them. These kinds of scalable, redundant architectures are common -- nay, recommended -- in a cloud computing world where everything is uncertain. <br />
  • Or you can create several machines at each tier, and use a load balancer to share traffic between them. These kinds of scalable, redundant architectures are common -- nay, recommended -- in a cloud computing world where everything is uncertain. <br />
  • The second kind of cloud is called Platform as a Service. In this model, you don&#x2019;t think about the individual machines&#x2014;instead, you just copy your code to a cloud, and run it. You never see the machines. In a PaaS cloud, things are very different. <br />
  • - You write your code; often it needs some customization. <br /> - That code runs on a share processing platform <br /> - Along with other people&#x2019;s code <br /> - The code calls certain functions to do things like authenticate a user, handle a payment, store an object, or move something to a CDN <br /> - To keep everything running smoothly (and bill you) the platform has a scheduler (figuring out what to do next) and a governor (ensuring one program doesn&#x2019;t use up all the resources) as well as a console. <br />
  • - You write your code; often it needs some customization. <br /> - That code runs on a share processing platform <br /> - Along with other people&#x2019;s code <br /> - The code calls certain functions to do things like authenticate a user, handle a payment, store an object, or move something to a CDN <br /> - To keep everything running smoothly (and bill you) the platform has a scheduler (figuring out what to do next) and a governor (ensuring one program doesn&#x2019;t use up all the resources) as well as a console. <br />
  • - You write your code; often it needs some customization. <br /> - That code runs on a share processing platform <br /> - Along with other people&#x2019;s code <br /> - The code calls certain functions to do things like authenticate a user, handle a payment, store an object, or move something to a CDN <br /> - To keep everything running smoothly (and bill you) the platform has a scheduler (figuring out what to do next) and a governor (ensuring one program doesn&#x2019;t use up all the resources) as well as a console. <br />
  • - You write your code; often it needs some customization. <br /> - That code runs on a share processing platform <br /> - Along with other people&#x2019;s code <br /> - The code calls certain functions to do things like authenticate a user, handle a payment, store an object, or move something to a CDN <br /> - To keep everything running smoothly (and bill you) the platform has a scheduler (figuring out what to do next) and a governor (ensuring one program doesn&#x2019;t use up all the resources) as well as a console. <br />
  • - You write your code; often it needs some customization. <br /> - That code runs on a share processing platform <br /> - Along with other people&#x2019;s code <br /> - The code calls certain functions to do things like authenticate a user, handle a payment, store an object, or move something to a CDN <br /> - To keep everything running smoothly (and bill you) the platform has a scheduler (figuring out what to do next) and a governor (ensuring one program doesn&#x2019;t use up all the resources) as well as a console. <br />
  • - You write your code; often it needs some customization. <br /> - That code runs on a share processing platform <br /> - Along with other people&#x2019;s code <br /> - The code calls certain functions to do things like authenticate a user, handle a payment, store an object, or move something to a CDN <br /> - To keep everything running smoothly (and bill you) the platform has a scheduler (figuring out what to do next) and a governor (ensuring one program doesn&#x2019;t use up all the resources) as well as a console. <br />
  • - You write your code; often it needs some customization. <br /> - That code runs on a share processing platform <br /> - Along with other people&#x2019;s code <br /> - The code calls certain functions to do things like authenticate a user, handle a payment, store an object, or move something to a CDN <br /> - To keep everything running smoothly (and bill you) the platform has a scheduler (figuring out what to do next) and a governor (ensuring one program doesn&#x2019;t use up all the resources) as well as a console. <br />
  • - You write your code; often it needs some customization. <br /> - That code runs on a share processing platform <br /> - Along with other people&#x2019;s code <br /> - The code calls certain functions to do things like authenticate a user, handle a payment, store an object, or move something to a CDN <br /> - To keep everything running smoothly (and bill you) the platform has a scheduler (figuring out what to do next) and a governor (ensuring one program doesn&#x2019;t use up all the resources) as well as a console. <br />
  • - You write your code; often it needs some customization. <br /> - That code runs on a share processing platform <br /> - Along with other people&#x2019;s code <br /> - The code calls certain functions to do things like authenticate a user, handle a payment, store an object, or move something to a CDN <br /> - To keep everything running smoothly (and bill you) the platform has a scheduler (figuring out what to do next) and a governor (ensuring one program doesn&#x2019;t use up all the resources) as well as a console. <br />
  • - You write your code; often it needs some customization. <br /> - That code runs on a share processing platform <br /> - Along with other people&#x2019;s code <br /> - The code calls certain functions to do things like authenticate a user, handle a payment, store an object, or move something to a CDN <br /> - To keep everything running smoothly (and bill you) the platform has a scheduler (figuring out what to do next) and a governor (ensuring one program doesn&#x2019;t use up all the resources) as well as a console. <br />
  • - You write your code; often it needs some customization. <br /> - That code runs on a share processing platform <br /> - Along with other people&#x2019;s code <br /> - The code calls certain functions to do things like authenticate a user, handle a payment, store an object, or move something to a CDN <br /> - To keep everything running smoothly (and bill you) the platform has a scheduler (figuring out what to do next) and a governor (ensuring one program doesn&#x2019;t use up all the resources) as well as a console. <br />
  • - You write your code; often it needs some customization. <br /> - That code runs on a share processing platform <br /> - Along with other people&#x2019;s code <br /> - The code calls certain functions to do things like authenticate a user, handle a payment, store an object, or move something to a CDN <br /> - To keep everything running smoothly (and bill you) the platform has a scheduler (figuring out what to do next) and a governor (ensuring one program doesn&#x2019;t use up all the resources) as well as a console. <br />
  • Here&#x2019;s a shot of some code running in Google App Engine. I only know that I&#x2019;m paying by CPU-hour, or for units like bandwidth, email, or storage. This could be one machine whose CPU was used 8%, or a hundred, or a thousand. I don&#x2019;t know. <br />
  • I can see the logs for my application. But these aren&#x2019;t for a single machine -- they&#x2019;re for the application itself, everywhere. <br />
  • I can even find out what parts of my code are consuming the most CPU, across all machines. <br />
  • And even their latency when served to people. <br />
  • It&#x2019;s a true, pure utility because you pay for what you use. <br />
  • This is a very different model from IaaS. On the one hand, it&#x2019;s more liberating, because you don&#x2019;t have to worry about managing the machines. On the other hand, it&#x2019;s more restrictive, because you can only do what the PaaS lets you. <br />
  • PaaS platforms impose usage caps and billing tiers. Here&#x2019;s Google App Engine&#x2019;s set of quotas and free caps. <br />
  • In the case of Salesforce&#x2019;s Force.com, you have to use an entirely new programming language, called Apex. <br />
  • To summarize: two kinds of cloud platforms <br />
  • <br />
  • The third kind of cloud is called Software as a Service, or SaaS. Some people argue that this isn&#x2019;t a cloud at all, just a new way of delivering software. But it&#x2019;s also what the masses&#x2014;the non-technologists&#x2014;think cloud computing means. <br />
  • (Personally, I think this makes the term &#x201C;cloud&#x201D; synonymous with &#x201C;web&#x201D; or &#x201C;Internet&#x201D;, and therefore a bit useless.) <br />
  • (Personally, I think this makes the term &#x201C;cloud&#x201D; synonymous with &#x201C;web&#x201D; or &#x201C;Internet&#x201D;, and therefore a bit useless.) <br />
  • (Personally, I think this makes the term &#x201C;cloud&#x201D; synonymous with &#x201C;web&#x201D; or &#x201C;Internet&#x201D;, and therefore a bit useless.) <br />
  • SaaS and PaaS are blurring, too, with the advent of scripting languages. Nobody would argue that Google Apps is a SaaS offering; but now that you can write code for it -- as in this example of a script that sends custom driving directions to everyone in a spreadsheet -- the distinction is less and less clear. <br />
  • But the business model of SaaS is the same as PaaS and IaaS: Sell IT on demand, rather than as software or machines. <br />
  • It&#x2019;s the form of cloud computing that gets the most lip service in areas like government, particularly with Google Apps. <br />
  • So let&#x2019;s put this in perspective: There are public and private cloud models. Private ones are about the technology; public ones are about the business of outsourcing at scale.And there are Infrastructure, Platform, and Software offerings&#x2014;IaaS, PaaS, and SaaS. <br /> If someone wants to have a conversation with me about clouds, they need to pick a tier, and a private or public model. Then we can compare facts. <br />
  • So let&#x2019;s put this in perspective: There are public and private cloud models. Private ones are about the technology; public ones are about the business of outsourcing at scale.And there are Infrastructure, Platform, and Software offerings&#x2014;IaaS, PaaS, and SaaS. <br /> If someone wants to have a conversation with me about clouds, they need to pick a tier, and a private or public model. Then we can compare facts. <br />
  • So let&#x2019;s put this in perspective: There are public and private cloud models. Private ones are about the technology; public ones are about the business of outsourcing at scale.And there are Infrastructure, Platform, and Software offerings&#x2014;IaaS, PaaS, and SaaS. <br /> If someone wants to have a conversation with me about clouds, they need to pick a tier, and a private or public model. Then we can compare facts. <br />
  • So let&#x2019;s put this in perspective: There are public and private cloud models. Private ones are about the technology; public ones are about the business of outsourcing at scale.And there are Infrastructure, Platform, and Software offerings&#x2014;IaaS, PaaS, and SaaS. <br /> If someone wants to have a conversation with me about clouds, they need to pick a tier, and a private or public model. Then we can compare facts. <br />
  • So let&#x2019;s put this in perspective: There are public and private cloud models. Private ones are about the technology; public ones are about the business of outsourcing at scale.And there are Infrastructure, Platform, and Software offerings&#x2014;IaaS, PaaS, and SaaS. <br /> If someone wants to have a conversation with me about clouds, they need to pick a tier, and a private or public model. Then we can compare facts. <br />
  • So let&#x2019;s put this in perspective: There are public and private cloud models. Private ones are about the technology; public ones are about the business of outsourcing at scale.And there are Infrastructure, Platform, and Software offerings&#x2014;IaaS, PaaS, and SaaS. <br /> If someone wants to have a conversation with me about clouds, they need to pick a tier, and a private or public model. Then we can compare facts. <br />
  • Just knowing these two dimensions makes you smarter than nearly everyone in IT right now. And when you&#x2019;re discussing IT, insist that others are specific about what they mean. Discussions around privacy and security are vital to public clouds, but most people don&#x2019;t consider security different in private clouds. Similarly, lock-in is a real concern in PaaS but negligible in IaaS. <br />
  • Just knowing these two dimensions makes you smarter than nearly everyone in IT right now. And when you&#x2019;re discussing IT, insist that others are specific about what they mean. Discussions around privacy and security are vital to public clouds, but most people don&#x2019;t consider security different in private clouds. Similarly, lock-in is a real concern in PaaS but negligible in IaaS. <br />
  • Just knowing these two dimensions makes you smarter than nearly everyone in IT right now. And when you&#x2019;re discussing IT, insist that others are specific about what they mean. Discussions around privacy and security are vital to public clouds, but most people don&#x2019;t consider security different in private clouds. Similarly, lock-in is a real concern in PaaS but negligible in IaaS. <br />
  • Just knowing these two dimensions makes you smarter than nearly everyone in IT right now. And when you&#x2019;re discussing IT, insist that others are specific about what they mean. Discussions around privacy and security are vital to public clouds, but most people don&#x2019;t consider security different in private clouds. Similarly, lock-in is a real concern in PaaS but negligible in IaaS. <br />
  • Just knowing these two dimensions makes you smarter than nearly everyone in IT right now. And when you&#x2019;re discussing IT, insist that others are specific about what they mean. Discussions around privacy and security are vital to public clouds, but most people don&#x2019;t consider security different in private clouds. Similarly, lock-in is a real concern in PaaS but negligible in IaaS. <br />
  • Just knowing these two dimensions makes you smarter than nearly everyone in IT right now. And when you&#x2019;re discussing IT, insist that others are specific about what they mean. Discussions around privacy and security are vital to public clouds, but most people don&#x2019;t consider security different in private clouds. Similarly, lock-in is a real concern in PaaS but negligible in IaaS. <br />
  • Just knowing these two dimensions makes you smarter than nearly everyone in IT right now. And when you&#x2019;re discussing IT, insist that others are specific about what they mean. Discussions around privacy and security are vital to public clouds, but most people don&#x2019;t consider security different in private clouds. Similarly, lock-in is a real concern in PaaS but negligible in IaaS. <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • Here&#x2019;s how to think about migration <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />

Form Fits Function: Choosing IaaS, Pa Form Fits Function: Choosing IaaS, Pa Presentation Transcript

  • Form fits function When to use what where.
  • Two big definitions Business and technology
  • One definition: Clouds as a set of technologies
  • http://www.flickr.com/photos/scriptingnews/3471500626/
  • http://en.wikipedia.org/wiki/File:NCSA_Mosaic.PNG
  • !"#$%%&&&'()*+,'*-.%#!-/-0%#)1234566)*/%789:;7<=>%?
  • http://img.dailymail.co.uk/i/pix/2008/04_01/tornadoDM3030a_800x533.jpg
  • http://www.flickr.com/photos/mynameisharsha/4092086880
  • http://www.flickr.com/photos/h4ck/2413562108/
  • http://www.flickr.com/photos/stawarz/3538910787/
  • http://www.flickr.com/photos/swimparallel/3391592144/
  • http://www.flickr.com/photos/genewolf/147722350
  • http://www.flickr.com/photos/pinkmoose/3278324276/
  • “Cloudy” tech.
  • Virtualization divorces the app from the machine.
  • Virtualization divorces the app from the machine. One on many Virtual machine Physical Physical Physical machine machine machine Physical Physical Physical machine machine machine
  • Virtualization divorces the app from the machine. One on many (or) Virtual machine Physical Physical Physical machine machine machine Physical Physical Physical machine machine machine
  • Virtualization divorces the app from the machine. One on many (or) Many on one Physical machine Virtual machine Virtual Virtual Virtual Physical Physical Physical machine machine machine machine machine machine Virtual Virtual Virtual Physical Physical Physical machine machine machine machine machine machine
  • That’s the technical definition Virtualization Automation Self-service Elasticity Usage tracking & billing Service-oriented article
  • Another definition: Clouds as a business model
  • Clouds are a business model.
  • http://www.flickr.com/photos/laenulfean/479831551/
  • Expense
reports
can
no
 longer
enforce
IT
policy. Wiley GAAP 2010: Interpretation and Application of Generally Accepted Accounting Principles (By Barry J. Epstein, Ralph Nach, Steven M. Bragg)
  • Airfare DNS Cloud Public transit Important research Hotel
  • http://www.oncloudcomputing.com/en/2009/07/fronde-back-to-profit-by-cloud-computing/
  • http://www.oncloudcomputing.com/en/2009/07/fronde-back-to-profit-by-cloud-computing/
  • IT server costs
  • Idle capacity, lack of automation, etc. IT server costs
  • Idle capacity, lack of automation, etc. IT server costs Private cloud costs
  • Idle capacity, lack of automation, etc. IT server costs Ping, power, pipe, Private efficiencies cloud costs
  • Idle capacity, lack of automation, etc. IT server costs Ping, power, pipe, Private efficiencies cloud costs Public cloud costs
  • http://www.flickr.com/photos/carbonnyc/2294144289/
  • A spectrum of architectures
  • A spectrum of architectures
  • A spectrum of architectures Bare metal
  • A spectrum of architectures Bare Virtual metal machines
  • A spectrum of architectures Bare Virtual Private metal machines cloud
  • A spectrum of architectures Bare Virtual Private Virtual metal machines cloud private cloud
  • A spectrum of architectures Bare Virtual Private Virtual IaaS metal machines cloud private cloud
  • A spectrum of architectures <script> </script> Bare Virtual Private Virtual IaaS PaaS metal machines cloud private cloud
  • A spectrum of architectures <script> </script> Bare Virtual Private Virtual IaaS PaaS Cloud metal machines cloud private services cloud (i.e. storage)
  • Types of cloud *aaS
  • Infrastructure as a Service Amazon EC2, Rackspace Cloud, Terremark, Gogrid, Joyent (and nearly every private cloud built on Xen, KVM, or VMWare.)
  • http://aws.amazon.com/ec2/pricing/
  • • 60 seconds per page Desktop EC2 • 200 machine Pages 17,481 17,481 instances Minutes/page 1 1 • 1,407 hours of virtual # of machines 1 200 machine time Total minutes 17,481 • Searchable database Total hours 291.4 26.0 available 26 hours Total days 12.1 1.1 later • $144.62 total cost
  • Web server Machine instance
  • Machine Web Image server Machine instance
  • Machine Image
  • Machine Image
  • Web Machine server Image Machine instance
  • Machine Image Web Machine server Image Machine instance
  • App Machine Server Image Machine instance Web Machine server Image Machine instance
  • Machine Image App Machine Server Image Machine instance Web Machine server Image Machine instance
  • DB Machine server Image Machine instance App Machine Server Image Machine instance Web Machine server Image Machine instance
  • DB Machine Storage server Image Machine instance App Machine Server Image Machine instance Web Machine server Image Machine instance
  • DB Storage server Machine instance App Server Machine instance Web server Machine instance
  • DB Storage server Bigger machine instance App Server Machine instance Web server Machine instance
  • DB Storage server Machine instance App Server Machine instance Web server Machine instance
  • DB DB Storage server server Machine instance Machine instance App App Server Server Machine instance Machine instance Web Web server server Machine instance Machine instance
  • DB DB Storage server server Machine instance Machine instance App App Server Server Machine instance Machine instance Web Web server server Machine instance Machine instance Load balancer Machine instance
  • Platform as a Service Google App Engine, Salesforce Force.com, Rackspace Cloud Sites, Joyent Smart Platform, (and nearly every enterprise mainframe.)
  • Your code
  • Processing platform Your code
  • Processing platform Others’ Others’ code code Your Others’ code code Others’ Others’ code code
  • Shared components Data Processing platform Storage API Others’ Others’ code code Your Others’ code code Others’ Others’ code code
  • Shared components Data Processing platform Storage API Others’ Others’ code code User Auth database API Your Others’ code code Others’ Others’ code code
  • Shared components Data Processing platform Storage API Others’ Others’ code code User Auth database API Your Others’ code code Image Image functions API Others’ Others’ code code ...
  • Shared components Data Processing platform Storage API Others’ Others’ code code User Auth database API Your Others’ code code Image Image functions API Others’ Others’ code code ... Big Blob objects API
  • Shared components Data Processing platform Storage API Others’ Others’ code code User Auth database API Your Others’ code code Image Image functions API Others’ Others’ code code ... Big Blob Governor objects API
  • Shared components Data Processing platform Storage API Others’ Others’ code code User Auth database API Your Others’ code code Image Image functions API Others’ Others’ code code ... Big Blob Governor Console objects API
  • Shared components Data Processing platform Storage API Others’ Others’ code code User Auth database API Your Others’ code code Image Image functions API Others’ Others’ code code ... Big Blob Governor Console Schedule objects API
  • http://code.google.com/appengine/articles/load_test_screenshot.jpg
  • http://code.google.com/appengine/articles/logs_admin.png
  • http://googleappengine.blogspot.com/2010/03/easy-performance-profiling-with.html
  • http://www.computerhok.nl/JSPWiki/attach/GoogleAppEngine/GAEQuota.png
  • http://www.flickr.com/photos/olitaillon/3354855989/
  • Quota Limit Governor Apps per developer 10 (usage cap) Time per request 30s Blobstore (total file size) 1GB Maximum HTTP response size 10MB Datastore item size 1MB Application code size 150MB Daily cap Emails per day 1,500 (free quota) Bandwidth in per day 1 GB Bandwidth out per day 1GB CPU time per day 6.5h HTTP requests per day 1,300,000 Datastore API calls per day 10,000,000 URLFetch API calls per day 657,084 http://en.wikipedia.org/wiki/Google_App_Engine
  • http://wiki.developerforce.com/index.php/Apex_Code:_The_World%27s_First_On-Demand_Programming_Language
  • IaaS and PaaS differences IaaS PaaS Any operating system you Use only selected want languages and built-in APIs Limited by capacity of Limited by governors to virtual machine avoid overloading Scale by adding more Scaling is automatic machines Use built-in storage Many storage options (file (Bigtable, etc.) system, object, key-value)
  • Software as a Service (AKA web apps with logins)
  • My mom’s definition Cloud
  • My mom’s definition Cloud = Web
  • My mom’s definition Cloud = Web = Internet
  • My mom’s definition Cloud = Web = Internet = Useless
  • Private Public
  • Private Public Managed Virtualization hosting
  • Private Public IaaS IaaS Managed Virtualization hosting
  • Private Public PaaS PaaS IaaS IaaS Managed Virtualization hosting
  • Private Public SaaS PaaS PaaS IaaS IaaS Managed Virtualization hosting
  • Private Public nt t o SaaS a w d s, o u lo u y c If l k PaaS t a ne fi rs t. PaaS ck o IaaS pi IaaS Managed Virtualization hosting
  • Private Public SaaS PaaS IaaS
  • Private Public SaaS PaaS Security fears IaaS
  • Private Public SaaS Lock-in concerns PaaS IaaS
  • Private Public SaaS Long-term PaaS cost inefficiencies IaaS
  • Private Public SaaS PaaS High cost of maintaining & scaling machines IaaS
  • How do they stack up? Some criteria
  • A bit of history Client Server Chatty was OK, because networks were fast.
  • A bit of history Client Server The WAN made users miserable.
  • A bit of history Web Web App browser server server Server Browsers separated presentation and formatting from app logic. Everything was OK again.
  • Here we go again.
  • Where slow happens
  • Where slow happens
  • Where slow happens Cache tier
  • Where slow happens Cache App tier tier
  • Where slow happens Cache App Storage tier tier tier
  • Where slow happens WAN to end user Cache App Storage tier tier tier
  • Where slow happens WAN to WAN to enterprise end user data center Cache App Storage tier tier tier
  • Where slow happens WAN to WAN to enterprise end user data center Private cloud, Cache App Storage bare metal, tier tier tier virtual machines
  • Where slow happens Service response WAN to WAN to enterprise end user data center Private cloud, Cache App Storage bare metal, tier tier tier virtual machines
  • Where slow happens Service Compute response WAN to WAN to enterprise end user data center Private cloud, Cache App Storage bare metal, tier tier tier virtual machines
  • Where slow happens Service Compute Storage response WAN to WAN to enterprise end user data center Private cloud, Cache App Storage bare metal, tier tier tier virtual machines
  • Where slow happens Service Downstream Compute Storage response services WAN to WAN to enterprise end user data center Private cloud, Cache App Storage bare metal, tier tier tier virtual machines
  • Where slow happens Service VPN/ Downstream Compute Storage response WAN services WAN to WAN to enterprise end user data center Private cloud, Cache App Storage bare metal, tier tier tier virtual machines
  • Where slow happens Internet Service VPN/ Downstream Compute Storage latency response WAN services WAN to WAN to enterprise end user data center Private cloud, Cache App Storage bare metal, tier tier tier virtual machines
  • So we did a little research.
  • Average latency Seconds 20 18 16 14 12 10 8 6 4 IO 2 CPU 0 2MB GIF 1-pixel GIF ce e or gl e sf oo ac le on sp G Sa k az ck ar m m Ra A re r Te Bitcurrent research on cloud performance.
  • 35.00% 30.00% Percent of all tests 25.00% 20.00% 15.00% 10.00% 5.00% Terremark 0.00% Amazon Rackspace <1 1 2 3 Google 4 5 6 7 Salesforce 8 9 10 11 12 Delay in seconds Bitcurrent research on cloud performance.
  • Performance by test type, all clouds 100.00% Percent of tests 80.00% 60.00% 40.00% 20.00% 0.00% 0 1 IO 2 3 CPU 4 5 2MB GIF 6 7 1-pixel GIF 8 9 10+ Delay in seconds Bitcurrent research on cloud performance.
  • Latency, 1-pixel GIF Percent of tests 100.00% 80.00% 60.00% 40.00% 20.00% Terremark 0.00% Amazon Rackspace 0 1 2 Google 3 4 5 6 Salesforce 7 8 9 10+ Delay in seconds Bitcurrent research on cloud performance.
  • Bitcurrent research on cloud performance.
  • Latency, 2MB GIF Percent of tests 60.00% 50.00% 40.00% 30.00% 20.00% 10.00% Terremark 0.00% Amazon 0 Rackspace 1 2 Google 3 4 5 6 Salesforce 7 8 9 10+ Delay in seconds Bitcurrent research on cloud performance.
  • Standard deviation of latency 6 Seconds 5 4 3 2 IO 1 CPU 0 2MB GIF e rc 1-pixel GIF e o gl sf ce oo le a Sa G on sp ck az k ar Ra m m A re r Te Bitcurrent research on cloud performance.
  • Network World study of cloud performance.
  • Amazon Network World study of cloud performance.
  • Amazon 0s 4s Network World study of cloud performance.
  • Amazon 0s 4s Day Network World study of cloud performance.
  • Amazon 0s 4s UP Day Network World study of cloud performance.
  • Amazon 0s 4s S UP Day Network World study of cloud performance.
  • Amazon 0s 4s S M UP Day Network World study of cloud performance.
  • Amazon 0s 4s S M UP L Day Network World study of cloud performance.
  • Amazon 0s 4s S M UP L Day XL Network World study of cloud performance.
  • Amazon 0s 4s S M UP L Day XL S DOWN M L XL Network World study of cloud performance.
  • Amazon 0s 4s S M UP L Day XL S DOWN M L XL S M Night UP L XL S DOWN M L XL Network World study of cloud performance.
  • Amazon 0s 4s Nirvanix 0s 4s S S M M UP L UP L Day XL S Day XL S DOWN M L DOWN M L XL XL S S M M Night UP Night UP L L XL XL S S DOWN M L DOWN M L XL XL Network World study of cloud performance.
  • Amazon 0s 4s Nirvanix 0s 4s S S M M UP L UP L Day XL S Day XL S DOWN M L DOWN M L XL XL S S M M Night UP Night UP L L XL XL S S DOWN M L DOWN M L XL XL Rackspace 0s 4s S M UP L Day XL S DOWN M L XL S M Night UP L XL S DOWN M L XL Network World study of cloud performance.
  • Amazon 0s 4s Nirvanix 0s 4s S S M M UP L UP L Day XL S Day XL S DOWN M L DOWN M L XL XL S S M M Night UP Night UP L L XL XL S S DOWN M L DOWN M L XL XL Rackspace 0s 4s Egnyte 0s 4s S S M M UP L UP L Day XL S Day XL S DOWN M L DOWN M L XL XL S S M M Night UP Night UP L L XL XL S S DOWN M L DOWN M XL Network World study of cloud performance.
  • Queen Mary University study of cloud terms.
  • What to move where when
  • What makes a workload suitable to move?
  • What makes a workload suitable to move? Benefit Examples Can be broken into component parts (storage, network, billing) Componentable separated by SOA-like, RESTful interfaces Encapsulatable Easily encapsulated into virtual machine format Won’t suffer from performance issues if WAN latency increases Performance tolerant Architecturally Doesn’t have an “architectural opinion”—in other words, it’s agnostic network and hardware agnostic Is free of legislative or compliance problems that restrict how and Compliant where it’s deployed
  • What makes a workload suitable to move? Benefit Examples Can be broken into component parts (storage, network, billing) Componentable separated by SOA-like, RESTful interfaces Encapsulatable Easily encapsulated into virtual machine format Won’t suffer from performance issues if WAN latency increases Performance tolerant Architecturally Doesn’t have an “architectural opinion”—in other words, it’s agnostic network and hardware agnostic Is free of legislative or compliance problems that restrict how and Compliant where it’s deployed
  • What makes a workload suitable to move? Benefit Examples Can be broken into component parts (storage, network, billing) Componentable separated by SOA-like, RESTful interfaces Encapsulatable Easily encapsulated into virtual machine format Won’t suffer from performance issues if WAN latency increases Performance tolerant Architecturally Doesn’t have an “architectural opinion”—in other words, it’s agnostic network and hardware agnostic Is free of legislative or compliance problems that restrict how and Compliant where it’s deployed
  • What makes a workload suitable to move? Benefit Examples Can be broken into component parts (storage, network, billing) Componentable separated by SOA-like, RESTful interfaces Encapsulatable Easily encapsulated into virtual machine format Won’t suffer from performance issues if WAN latency increases Performance tolerant Architecturally Doesn’t have an “architectural opinion”—in other words, it’s agnostic network and hardware agnostic Is free of legislative or compliance problems that restrict how and Compliant where it’s deployed
  • What makes a workload suitable to move? Benefit Examples Can be broken into component parts (storage, network, billing) Componentable separated by SOA-like, RESTful interfaces Encapsulatable Easily encapsulated into virtual machine format Won’t suffer from performance issues if WAN latency increases Performance tolerant Architecturally Doesn’t have an “architectural opinion”—in other words, it’s agnostic network and hardware agnostic Is free of legislative or compliance problems that restrict how and Compliant where it’s deployed
  • What makes a workload suitable to move? Benefit Examples Can be broken into component parts (storage, network, billing) Componentable separated by SOA-like, RESTful interfaces Encapsulatable Easily encapsulated into virtual machine format Won’t suffer from performance issues if WAN latency increases Performance tolerant Architecturally Doesn’t have an “architectural opinion”—in other words, it’s agnostic network and hardware agnostic Is free of legislative or compliance problems that restrict how and Compliant where it’s deployed
  • What makes a workload beneficial to move?
  • What makes a workload beneficial to move? Benefit Examples Cost Vary in demand (because of seasonality, usage spikes, and so on) Can be divided into chunks and performed in parallel (such as data Time analysis) Requires high levels of redundancy that aren’t economically feasible to Risk deliver on dedicated equipment Has an experimentation benefit because of trial-and-error development Experimentation or a continuous deployment process The line of business can service itself, rather than relying on central IT Agility and human involvement
  • What makes a workload beneficial to move? Benefit Examples Cost Vary in demand (because of seasonality, usage spikes, and so on) Can be divided into chunks and performed in parallel (such as data Time analysis) Requires high levels of redundancy that aren’t economically feasible to Risk deliver on dedicated equipment Has an experimentation benefit because of trial-and-error development Experimentation or a continuous deployment process The line of business can service itself, rather than relying on central IT Agility and human involvement
  • What makes a workload beneficial to move? Benefit Examples Cost Vary in demand (because of seasonality, usage spikes, and so on) Can be divided into chunks and performed in parallel (such as data Time analysis) Requires high levels of redundancy that aren’t economically feasible to Risk deliver on dedicated equipment Has an experimentation benefit because of trial-and-error development Experimentation or a continuous deployment process The line of business can service itself, rather than relying on central IT Agility and human involvement
  • What makes a workload beneficial to move? Benefit Examples Cost Vary in demand (because of seasonality, usage spikes, and so on) Can be divided into chunks and performed in parallel (such as data Time analysis) Requires high levels of redundancy that aren’t economically feasible to Risk deliver on dedicated equipment Has an experimentation benefit because of trial-and-error development Experimentation or a continuous deployment process The line of business can service itself, rather than relying on central IT Agility and human involvement
  • What makes a workload beneficial to move? Benefit Examples Cost Vary in demand (because of seasonality, usage spikes, and so on) Can be divided into chunks and performed in parallel (such as data Time analysis) Requires high levels of redundancy that aren’t economically feasible to Risk deliver on dedicated equipment Has an experimentation benefit because of trial-and-error development Experimentation or a continuous deployment process The line of business can service itself, rather than relying on central IT Agility and human involvement
  • What makes a workload beneficial to move? Benefit Examples Cost Vary in demand (because of seasonality, usage spikes, and so on) Can be divided into chunks and performed in parallel (such as data Time analysis) Requires high levels of redundancy that aren’t economically feasible to Risk deliver on dedicated equipment Has an experimentation benefit because of trial-and-error development Experimentation or a continuous deployment process The line of business can service itself, rather than relying on central IT Agility and human involvement
  • High Technical suitability for migration Low Low Business case for migration High
  • High Move first. Use to showcase Technical suitability for migration cloud benefits and ROI. Low Low Business case for migration High
  • High Move first. Use to showcase Technical suitability for migration cloud benefits and ROI. Don’t move. Optimize bare metal, acceleration, virtualization. Low Low Business case for migration High
  • High Virtualize, Move first. Use ensure, to showcase Technical suitability for migration portability. cloud benefits Monitor cost and ROI. and pricing. Don’t move. Optimize bare metal, acceleration, virtualization. Low Low Business case for migration High
  • High Virtualize, Move first. Use ensure, to showcase Technical suitability for migration portability. cloud benefits Monitor cost and ROI. and pricing. Don’t move. Hybridize, make Optimize bare portable, seek metal, vertical acceleration, “community” virtualization. clouds. Low Low Business case for migration High
  • IaaS: Copy machines
  • PaaS: Copy code
  • SaaS: Copy content & permissions
  • How to think about migration What you Model What it offers Best for move Content and Commodity tools (mail, Turnkey software collaboration, word processing) SaaS business functionality and simple forms (order entry, processes CRM) A platform that runs New, relatively simple applications Your source where you don’t need control over PaaS your code, with code network topology, OS, or data APIs location Virtual infrastructure Variable workloads, testing and IaaS Your OS or VM QA, massively parallel tasks rented by the hour
  • How to think about migration What you Model What it offers Best for move Content and Commodity tools (mail, Turnkey software collaboration, word processing) SaaS business functionality and simple forms (order entry, processes CRM) A platform that runs New, relatively simple applications Your source where you don’t need control over PaaS your code, with code network topology, OS, or data APIs location Virtual infrastructure Variable workloads, testing and IaaS Your OS or VM QA, massively parallel tasks rented by the hour
  • How to think about migration What you Model What it offers Best for move Content and Commodity tools (mail, Turnkey software collaboration, word processing) SaaS business functionality and simple forms (order entry, processes CRM) A platform that runs New, relatively simple applications Your source where you don’t need control over PaaS your code, with code network topology, OS, or data APIs location Virtual infrastructure Variable workloads, testing and IaaS Your OS or VM QA, massively parallel tasks rented by the hour
  • How to think about migration What you Model What it offers Best for move Content and Commodity tools (mail, Turnkey software collaboration, word processing) SaaS business functionality and simple forms (order entry, processes CRM) A platform that runs New, relatively simple applications Your source where you don’t need control over PaaS your code, with code network topology, OS, or data APIs location Virtual infrastructure Variable workloads, testing and IaaS Your OS or VM QA, massively parallel tasks rented by the hour
  • Some gotchas
  • See the whole picture Are you considering the whole workload, including hidden processes such as phone calls, scraps of paper, or shared file folders?
  • Move the whole thing Can the workload move completely? Remember that if you’re migrating from a legacy application to a SaaS platform, there may be customization and retraining work involved
  • What needs to connect? If the workload can’t move completely, what needs to connect back to home base for it to function?
  • What are the operating characteristics? What will the operating characteristics (performance, availability, recoverability, security, and ability to diagnose problems) be like?
  • Repatriation Can you repatriate the application, or are you accidentally becoming dependent on data and features in the cloud that can’t be incorporated into an on-premise application should you need
  • What migration looks like
  • What Legacy application with fixed architecture migration looks like
  • What Legacy application with fixed architecture Currency migration converter looks like
  • What Legacy application with fixed architecture Currency migration Content converter looks like
  • What Legacy application with fixed architecture Currency Presentation migration Content converter layer looks like
  • What Legacy application with fixed architecture Currency Presentation migration Content converter layer looks like Logging
  • What Legacy application with fixed architecture Currency Presentation migration Content converter layer looks like Logging User list
  • What Legacy application with fixed architecture Currency Presentation migration Content converter layer Application looks like Logging User list logic
  • What Legacy application with fixed architecture Currency Presentation migration Content converter layer Application looks like Logging User list logic Decompose & recompose
  • What Legacy application with fixed architecture Currency Presentation migration Content converter layer Application looks like Logging User list logic Decompose & recompose Functionally separated, cloud-ready application
  • What Legacy application with fixed architecture Currency Presentation migration Content converter layer Application looks like Logging User list logic Decompose & recompose Functionally separated, cloud-ready application Exchange rate message bus Currency converter
  • What Legacy application with fixed architecture Currency Presentation migration Content converter layer Application looks like Logging User list logic Decompose & recompose Functionally separated, cloud-ready application Exchange rate Large object message bus storage service Currency Content converter
  • What Legacy application with fixed architecture Currency Presentation migration Content converter layer Application looks like Logging User list logic Decompose & recompose Functionally separated, cloud-ready application Exchange rate Large object On-demand message bus storage service CDN & web layer Currency Presentation Content converter layer
  • What Legacy application with fixed architecture Currency Presentation migration Content converter layer Application looks like Logging User list logic Decompose & recompose Functionally separated, cloud-ready application Exchange rate Large object On-demand message bus storage service CDN & web layer Currency Presentation Content converter layer Offline file storage Logging
  • What Legacy application with fixed architecture Currency Presentation migration Content converter layer Application looks like Logging User list logic Decompose & recompose Functionally separated, cloud-ready application Exchange rate Large object On-demand message bus storage service CDN & web layer Currency Presentation Content converter layer Offline file Single sign-on storage service Logging User list
  • What Legacy application with fixed architecture Currency Presentation migration Content converter layer Application looks like Logging User list logic Decompose & recompose Functionally separated, cloud-ready application Exchange rate Large object On-demand message bus storage service CDN & web layer Currency Presentation Content converter layer Offline file Single sign-on App container storage service Application Logging User list logic
  • Thanks! @acroll alistair@bitcurrent.com