Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Intro to cloud computing — MegaCOMM 2013, Jerusalem


Published on

What is cloud computing? This is an introduction that I gave at MegaCOMM 2013, a conference for technical writers in Jerusalem. The talk describes how the combination of Internet access, virtualization, and open source have made computing a utility that we can turn on and off at will -- similar in some ways to electricity, water, and other utilities with which we're familiar.

Published in: Technology

Intro to cloud computing — MegaCOMM 2013, Jerusalem

  1. 1. Cloud Computing: What is it?What does it mean? Reuven M. Lerner • MegaCOMM • February 7th, 2013 1
  2. 2. Who am I?• Long-time Web developer, trainer, consultant• Linux Journal columnist• PhD candidate in Learning Sciences at Northwestern University 2
  3. 3. Everyone is talkingabout cloud computing! 3
  4. 4. 4
  5. 5. In case you missed it:77,300,000 results!?! 5
  6. 6. Wow, this must be big! 6
  7. 7. 7
  8. 8. But what iscloud computing? 8
  9. 9. About.comCloud computing consists of hardware andsoftware resources made available on theInternet as managed third-party services.These services typically provide access toadvanced software applications and high-endnetworks of server computers. 9
  10. 10. Investopedia... resources are retrieved from the internetthrough web-based tools and applications,rather than a direct connection to a server.Data and software packages are stored inservers. However, cloud computing structureallows access to information as long as anelectronic device has access to the web. Thistype of system allows employees to workremotely. 10
  11. 11. TechTerms.comCloud computing refers to applications andservices offered over the Internet. Theseservices are offered from data centers allover the world, which collectively arereferred to as the “cloud.” This metaphorrepresents the intangible, yet universal natureof the Internet. 11
  12. 12. These are not helpful. 12
  13. 13. NIST... a model for enabling ubiquitous,convenient, on-demand network access to ashared pool of configurable computingresources (e.g., networks, servers, storage,applications and services) that can be rapidlyprovisioned and released with minimalmanagement effort or service providerinteraction. 13
  14. 14. The important points• Ubiquitous• Convenient• On demand• Shared pool• Configurable computing resources• Rapidly provisioned and released 14
  15. 15. This reminds me of... 15
  16. 16. Public utilities 16
  17. 17. Utilities• Ubiquitous• Convenient• On demand• Shared pool• Rapidly provisioned and released 17
  18. 18. Computing utility• Cloud computing turns computers into a utility • Always available • Pay as you go • When it’s not available, you get angry! 18
  19. 19. Abstraction• A core concept in computer science• Treat many parts as if they were one whole• Cloud computing treats entire computers, or groups of computers, as an abstraction • Who cares how it works inside? • Use the black box 19
  20. 20. An old idea: Computing utility• People and businesses don’t need computers.• They need computing.• So let’s provide them with a computing utility, like the water and electric company! 20
  21. 21. Multics• Joint project between MIT, Bell Labs, and GE (1964)• A huge commercial failure!• Bell Labs pulled out• GE sold its part to Honeywell• There were a few Multics machines in the world — last one went offline in 2000 21
  22. 22. Unix• Bell Labs left the Multics project in 1969• Two of the programmers from Multics, Ken Thompson and Dennis Ritchie, created a smaller system• They called it Unix, as a play on the “Multics” name• Rejected the complexity of Multics 22
  23. 23. Multiprocessing• Multics and Unix both assumed that you could run more than one program at a time• “Multiprocessing” is really an illusion, of course 23
  24. 24. What is a program? You are here Code Data 24
  25. 25. MultiprocessingPointer Pointer Pointer Code Code Code Data Data Data Current process 25
  26. 26. MultiprocessingPointer Pointer Pointer Code Code Code Data Data Data Current process 25
  27. 27. MultiprocessingPointer Pointer Pointer Code Code Code Data Data DataCurrentprocess 25
  28. 28. MultiprocessingPointer Pointer Pointer Code Code Code Data Data Data Current process 25
  29. 29. Linux• Open source clone of Unix• Can be copied, used, distributed freely• You don’t need to ask anyone before creating a new copy• Oh, and it’s really robust, too 26
  30. 30. Virtualization!• A program on my computer is code + data• What if the code is a program that pretends to be a full computer?• Yes, my computer will run a program with a virtual machine on it• To my computer, it’s one program — but to me, I effectively have a second computer 27
  31. 31. Code Code CodeData Data DataCode Code CodeData Data Data 28
  32. 32. Co Co Co Co Co CoDat Dat Dat Dat Dat DatCo Co Co Co Co CoDat Dat Dat Dat Dat DatCo Co Co Co Co CoDat Dat Dat Dat Dat Dat 29
  33. 33. But where?• On your computer (VMWare,Virtualbox)• On a hosting provider’s server• On Amazon 30
  34. 34. Amazon?!?• I’ve bought goods from Amazon from the beginning• (I even have cups that they sent all of their original customers, thanking them for supporting “Earth’s biggest bookstore.”)• Amazon needed lots of servers for their growing business, to satisfy people like me 31
  35. 35. Amazon• Amazon doesn’t break out income, but...• “Amazon Cloud Revenue Could Exceed $500 Million In 2010: Report” (2010)• “Don’t look now, but AWS might be a billion-dollar biz” (2011)• “Amazons AWS: $3.8 billion revenue in 2013, says analyst” (2013) 32
  36. 36. Amazon’s solution• Don’t use servers directly• Rather, put many virtual machines on a physical computer• When the load rises, launch more virtual machines — and when it falls, kill them off 33
  37. 37. AWS• Amazon Web Services began as a way to query Amazon’s catalog• Today, it’s many pay-by-the-hour services• EC2 — elastic computing cluster — lets you create and launch Linux boxes via a Web console or even a program! 34
  38. 38. Sounds like a utility• The combination of Linux + virtualization + Internet access made it possible to realize the dream that Multics had years ago• You need computing power? Launch it.• You’re done with it? Power it down. 35
  39. 39. 36
  40. 40. 37
  41. 41. NIST’s criteria• Ubiquitous• Convenient• On demand• Shared pool• Configurable computing resources• Rapidly provisioned and released 38
  42. 42. Why do this?• IT staff costs basically disappear• You pay only for the servers you need• If demand is variable, you can add and remove servers dynamically• Configure your virtual server once — and deploy it hundreds or thousands of times 39
  43. 43. Automation• It gets even better than this:You can create and destroy EC2 instances via programs• You can be a web hosting company without owning or renting any servers!• When a customer signs up, just launch a new EC2 instance 40
  44. 44. What about storage?• You don’t want to store things on computers that can go up and down• Amazon offers S3 (simple storage service) lets you store any number of files, of just about any size 41
  45. 45. EC2 isn’t alone• Other companies also offer virtual servers• Some companies, such as Rackspace, also make it possible to spin them up and down on demand• Even so, Amazon is the 900-lb gorilla in this space 42
  46. 46. The car analogy• Buy — big up-front costs, lots of maintenance, you control 100% of its use• Lease — much smaller up-front costs, someone else handles maintenance, higher monthly costs• Rent — Get a car for the days or weeks you need. No up-front costs, but higher daily costs 43
  47. 47. Renting cars a la ZipCar or Car2Go• You can rent virtual servers from Amazon, so long as they have the space• (And they’ll basically always have the space)• Let them worry about maintenance, hosting, electricity, etc.• It’s a shared resource, so performance isn’t as good as a dedicated server 44
  48. 48. IaaS• EC2 is an example of Infrastructure as a Service• You get Linux boxes, but not much more• You still need to configure them and work with them• And do you really want to configure (or upgrade) hundreds of servers? 45
  49. 49. • Two software frameworks that let you describe how servers should be configured• Then you say, “Puppet, please configure these 1,000 Rackspace servers according to the following criteria.”• Want to change your configuration? Adjust it once, and Puppet/Chef will do the job 46
  50. 50. PaaS• Sometimes, you want to rent more than a bare Linux server• If you want to launch Web applications, it would be great if EC2 handled all of that automatically• EC2 doesn’t, but PaaS — Platform as a Service — providers do! 47
  51. 51. PaaS• PaaS for Web apps: Copy your files to the server, and it handles the rest• Heroku• Google App Engine• EngineYard• AWS Elastic Beanstalk 48
  52. 52. PaaS, good and bad• Good: • Almost no IT staff • Trivially easy to add/remove servers • Security• Bad: • Performance • Price, compared with a server 49
  53. 53. 50
  54. 54. 51
  55. 55. Think apps, not servers 52
  56. 56. A whole ecosystem• Cloud consultants!• Autoscaling companies• Third-party add-ons for cloud servers 53
  57. 57. 54
  58. 58. 55
  59. 59. Add-ons• E-mail• Storage• Message queues• Monitoring• Logging• Payments• Video/audio encoding 56
  60. 60. Private cloud• What if you don’t like the idea of paying Amazon for their servers, but you do want to enjoy that flexibility?• You can create a private cloud!• CloudFoundry is an open-source VMWare product that lets you do just that 57
  61. 61. Standards• OpenStack (IaaS), CloudFoundry (PaaS)• If you hate your cloud hosting provider, but they use a common infrastructure, you can switch to someone else• Both are open-source initiatives 58
  62. 62. Databases• Heroku uses PostgreSQL • (a great database, by the way)• They run it on EC2 for clients’ Web apps• As of recently, they also offer it as a separate package — database as a service!• Backups, followers, health checks, snapshots 59
  63. 63. Database as a service• Many databases are offering this, from open source to proprietary• SQL, NoSQL, Hadoop• Often slower, but someone else installs, maintains, and tunes the database• Enjoy a database without a DBA!• Sometimes, make queries using a GUI 60
  64. 64. SaaS• Of coure, there’s also Software as a Service• Lots of examples of these• You probably even use some of them! 61
  65. 65. Well-known SaaS• Gmail (e-mail)• Google Docs (office applications)• Salesforce (CRM)• Dropbox (file sync)• Mozy (backups)• Wordpress, Blogger (blogging)• Harvest, invoice4u (invoicing)• Facebook (wasting time)• Twitter (wsting tme #wowcool) 62
  66. 66. API• Make your SaaS app available to programs, not just computers• Browsers speak HTTP + HTML• APIs typically speak HTTP + JSON• Programmers can then access your SaaS product even without a browser, creating an app using your platform! 63
  67. 67. Trust• Do you trust your provider not to steal your data?• Do you feel comfortable putting your data on a server that you can’t secure yourself?• More and more, people are saying “yes” — but figure 64
  68. 68. Downtime• Amazon EC2 goes down • Typically, only one “region”• You have to build this into your application • Netflix CrashMonkey • More devops• You need to plan, or prepare to go down 65
  69. 69. Going bust• Will the hosting provider be around next year?• Many are startups — most startups go out of business• And sometimes, the platform provider competes with addon providers (e.g., Zencoder vs. Amazon) 66
  70. 70. Conclusion• Cloud computing is a big buzzword — but also a clear trend• Concentrate on your apps and your business, not your IT infrastructure!• The cloud isn’t a panacea, but it has lots of benefits — give it a shot! 67
  71. 71. Thanks!(Any questions?) 054-496-8405 “reuvenlerner” on Skype 68