{"id":774,"date":"2009-05-20T13:50:28","date_gmt":"2009-05-20T13:50:28","guid":{"rendered":"http:\/\/scientopia.org\/blogs\/goodmath\/2009\/05\/20\/cloud-computing\/"},"modified":"2016-12-26T19:40:04","modified_gmt":"2016-12-27T00:40:04","slug":"cloud-computing","status":"publish","type":"post","link":"http:\/\/www.goodmath.org\/blog\/2009\/05\/20\/cloud-computing\/","title":{"rendered":"Cloud Computing"},"content":{"rendered":"<p><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"inset right\" src=\"https:\/\/i0.wp.com\/scientopia.org\/img-archive\/goodmath\/img_382.jpg?resize=400%2C300\" alt=\"cloud-creatures.jpg\" width=\"400\" height=\"300\" \/><\/p>\n<p>In general, I try to keep the content of this blog away from my work. I don&#8217;t do<br \/>\nthat because it would get me in trouble, but rather because I spend enough time on work, and blogging is my hobby. But sometimes there&#8217;s an overlap.<\/p>\n<p>One thing that&#8217;s come up in a lot of conversations and a lot of emails it the idea of cloud computing. A lot of people are interested in it, but they&#8217;re not really sure of what it is, or what it means.<\/p>\n<p>So what do we mean when we talk about &#8220;cloud computing&#8221;? What&#8217;s the cloud? How&#8217;s it different from good old-fashioned client\/server computing?<\/p>\n<p><!--more--><br \/>\n<img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"inset right\" src=\"https:\/\/i0.wp.com\/scientopia.org\/img-archive\/goodmath\/img_383.jpg?resize=234%2C175\" alt=\"data-center-t01.jpg\" width=\"234\" height=\"175\" \/><\/p>\n<p>The idea of cloud computing is that there&#8217;s a world of computers sitting in data centers, scattered around the world. The programs that you run, the data that you store, are <em>somewhere<\/em> out there &#8211; but you don&#8217;t know where, and more importantly, you don&#8217;t <em>care<\/em> where.<\/p>\n<p>A simple example of this idea: I started writing this blog on Blogger. Blogger is a piece of<br \/>\nsoftware run by Google on (probably) thousands of computers in Google&#8217;s data centers. I don&#8217;t<br \/>\nknow where the server running the old blog is; I don&#8217;t know where the data for it is stored. Blogger is &#8220;in the cloud&#8221;.<\/p>\n<p>That kind of thing is the basic point of cloud computing. Cloud computing is built<br \/>\naround the idea of <em>resources<\/em>: to run some program, to perform some task,<br \/>\nyou need some set of resources. Resources are things like processing time, network<br \/>\nbandwidth, disk storage, or memory. As a user of the cloud, you don&#8217;t<br \/>\nneed to know or care where the resources are. You just know <em>what you need<\/em>,<br \/>\nand you buy that quantity of resources from whoever can provide it to you most<br \/>\nconveniently.<\/p>\n<p>Cloud-based software is similar to client-server computing in many ways and in the same breath the <a style=\"text-decoration: none;\" href=\"http:\/\/www.bestvpnaustralia.com.au\/vpn-torrenting-ultimate-vpn-torrent-guide-aussies\/\"> <span style=\"text-decoration: none; color: #333333;\">best VPN for torrenting<\/span><\/a> servers are very similar.<br \/>\nThey are based on the idea that you don&#8217;t really run programs on your own computer. Your<br \/>\ncomputer provides a window into an application, but it doesn&#8217;t run the application itself.<br \/>\nInstead of running the program on your computer, all you do on your own computer is<br \/>\nrun some kind of user interface. The <em>real<\/em> program is running somewhere else,<br \/>\non a computer called a <em>server<\/em>. You use the server because for some reason, the resources<br \/>\nnecessary to run the program aren&#8217;t available on your local computer &#8211; it&#8217;s cheaper, faster,<br \/>\nor more convenient to run the program somewhere else, where the necessary resources<br \/>\nare easy to obtain.<\/p>\n<p>The big difference is in what you know: in traditional client-server systems, you had a<br \/>\nspecific computer that was your server, and that&#8217;s where your stuff was running. The computer may<br \/>\nnot have been sitting on your desk in front of you, but you knew where it was. For example, when I<br \/>\nwas in college, one of the first big computers I used was a Vax 11\/780, named nicknamed &#8220;Gold&#8221;. Gold lived in the Rutgers university computing lab in Hill Center. I used Gold pretty much daily for at least a year before I actually got to see it. The data center had at least 30 other computers &#8211; several DEC 20s, a couple of Pyramids, an S\/390, and a bunch of Suns. But<br \/>\nof those machines, I specifically used Gold. Every program that I wrote, I wrote specifically<br \/>\nto run on Gold, and that&#8217;s the only place that I <em>could<\/em> run it.<\/p>\n<p>In the cloud, you don&#8217;t have a specific server that you use. You have computing resources &#8211;<br \/>\nthat is, someone is renting you a certain about of computation on some collection of computers<br \/>\nsomewhere. You don&#8217;t know where they are; you don&#8217;t know what kind of computers they are. You<br \/>\ncould have 2 massive machines with 32 processors each, and 64 gigabytes of memory; or they could<br \/>\nbe 64 dinky little single-processor machines with 2 gigabytes of memory. The computers where you<br \/>\nrun your program could have great big disks of their own; or they could be diskless machines<br \/>\naccessing storage on dedicated storage servers. To you, as a user of the cloud, that doesn&#8217;t<br \/>\nmatter. You&#8217;ve got the resources you pay for, and where they are doesn&#8217;t matter, so long<br \/>\nas you get what you need.<\/p>\n<p>The cloud metaphor is actually a good one. A cloud is a huge collection of tiny droplets of<br \/>\nwater. Some of those droplets will fall on my yard, providing the trees and bushes with water.<br \/>\nSome will fall onto land where it will run off into the reservoir which my drinking water comes<br \/>\nfrom. Clouds grow from evaporated water, which comes from all over the place. When it<br \/>\ncomes to clouds, what I care about is that enough water falls on my yard to keep<br \/>\nthe plants alive, and that enough water winds up in my reservoir so that I have enough<br \/>\nto drink. I don&#8217;t care <em>which<\/em> cloud drops water on my yard. I don&#8217;t care<br \/>\nwhere on earth that water came from. To me, it&#8217;s all just <em>water<\/em> &#8211; every droplet is<br \/>\npretty much exactly the same, and I can&#8217;t tell the difference. So long as I get enough,<br \/>\nI&#8217;m happy.<\/p>\n<p>You can think of the various data centers around the world, where companies have swarms of computers as clouds. Google, Amazon, Microsoft, IBM, Yahoo, and others all have thousands of machines connected to networks, running all sorts of software. Each of those centers is a cloud, and each processor, each disk drive, is a droplet of water in that cloud. In the cloud<br \/>\nworld, when you write a program, you don&#8217;t know what computer it&#8217;s going to run on. You don&#8217;t know where the disks that store the data are. And you don&#8217;t need to care. You just need to know<br \/>\nhow many droplets you need.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In general, I try to keep the content of this blog away from my work. I don&#8217;t do that because it would get me in trouble, but rather because I spend enough time on work, and blogging is my hobby. But sometimes there&#8217;s an overlap. One thing that&#8217;s come up in a lot of conversations [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":true,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[79,15,54],"tags":[],"class_list":["post-774","post","type-post","status-publish","format-standard","hentry","category-computation","category-coolness","category-programming"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p4lzZS-cu","jetpack_sharing_enabled":true,"jetpack_likes_enabled":true,"_links":{"self":[{"href":"http:\/\/www.goodmath.org\/blog\/wp-json\/wp\/v2\/posts\/774","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.goodmath.org\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.goodmath.org\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.goodmath.org\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.goodmath.org\/blog\/wp-json\/wp\/v2\/comments?post=774"}],"version-history":[{"count":4,"href":"http:\/\/www.goodmath.org\/blog\/wp-json\/wp\/v2\/posts\/774\/revisions"}],"predecessor-version":[{"id":3369,"href":"http:\/\/www.goodmath.org\/blog\/wp-json\/wp\/v2\/posts\/774\/revisions\/3369"}],"wp:attachment":[{"href":"http:\/\/www.goodmath.org\/blog\/wp-json\/wp\/v2\/media?parent=774"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.goodmath.org\/blog\/wp-json\/wp\/v2\/categories?post=774"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.goodmath.org\/blog\/wp-json\/wp\/v2\/tags?post=774"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}