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!

Like this? Share it with your network

Share

NCA GTUG 2012 - Cloud is such stuff as dreams are made on

  • 3,225 views
Uploaded on

There is a profound architecture transition happening in software in 2011, like we see every 15 years: html5 and mobile on the client, cloud on the server....

There is a profound architecture transition happening in software in 2011, like we see every 15 years: html5 and mobile on the client, cloud on the server.
This talk will explain the opportunities and challenges that the Cloud represents for developers, in 4 areas: Infrastructure, Platform, Software and Development.

This talk will describe the capabilities, philosophies and issues associated with current Cloud Platform offerings (Google Appengine, Azure, Beanstalk, CloudFoundry, Heroku), for different use cases (public, private, hybrid clouds) and the nascent Cloud Development services (Cloudbees, Exo, Cloud9, Github).

We will dive into the code of a sample Cloud Foundry app using Node.js, MongoDb, the Twitter API and Lanyrd Calendar feeds, to show how Cloud Platforms enable a more agile development process.

We will also discuss opportunities and risks for developers to move their apps to the Cloud, new skills to learn, and old habits to forget.

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
3,225
On Slideshare
3,207
From Embeds
18
Number of Embeds
6

Actions

Shares
Downloads
55
Comments
0
Likes
6

Embeds 18

http://www.techgig.com 6
https://twitter.com 5
http://us-w1.rockmelt.com 3
http://a0.twimg.com 2
http://techgig.in 1
http://115.112.206.131 1

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Cloud is such stuff as dreams are made onPatrick ChanezonSenior DirectorDeveloper Relationschanezonp@vmware.comhttp://twitter.com/chanezon NCA GTUG, January 2012Wednesday, February 1, 12
  • 2. P@ in a nutshell • French, based in San Francisco • Senior Director, Developer Relations,VMware • Software Plumber, API guy, mix of Enterprise and Consumer • 18 years writing software, backend guy with a taste for javascript • 2 y Accenture (Notes guru), 3 y Netscape/AOL (Servers, Portals), 5 y Sun (ecommerce, blogs, Portals, feeds, open source) • 6 years at Google, API guy (first hired, helped start the team) • Adwords, Checkout, Social, HTML5, CloudWednesday, February 1, 12
  • 3. P@ & Military SoftwareWednesday, February 1, 12
  • 4. Dreams Of my childhood 4Wednesday, February 1, 12
  • 5. Accelerando / Singularity, in a Galaxy far far away § Even if we automate ourselves out of a job every 10 years § ...I don’t think the singularity is near! 5Wednesday, February 1, 12
  • 6. Moores Law is for Hardware Only § Does not apply to software § Productivity gains not keeping up with hardware and bandwidth § Writing software is hard, painful, and still very much a craft 6Wednesday, February 1, 12
  • 7. Moores Law’s free lunch is over § Herb Sutter, Welcome to the Jungle http://herbsutter.com/welcome-to-the-jungle/ 7Wednesday, February 1, 12
  • 8. Predictions “The future is already here — its just not very evenly distributed” William Gibson 8Wednesday, February 1, 12
  • 9. Architecture Changes: 60’s MainframeWednesday, February 1, 12
  • 10. Architecture Changes: 80’s Client-ServerWednesday, February 1, 12
  • 11. Architecture Changes: 90’s WebWednesday, February 1, 12
  • 12. Architecture Changes: 2010’s Cloud, HTML5, MobileWednesday, February 1, 12
  • 13. Back to Client Server: Groovy Baby! 13Wednesday, February 1, 12
  • 14. What is Cloud Computing? Cloud According to my daughter Eliette 14Wednesday, February 1, 12
  • 15. Cloud Stack - Classic Pyramid Software As A Service Platform As A Service Infrastructure As A Service 15Wednesday, February 1, 12
  • 16. Cloud Stack - By Number Software As A Service Platform As A Service Infrastructure As A Service 16Wednesday, February 1, 12
  • 17. Cloud Stack - By Value Software As A Service Platform As A Service Infrastructure As A Service 17Wednesday, February 1, 12
  • 18. Cloud Stack - Neutral Software As A Service Platform As A Service Infrastructure As A Service 18Wednesday, February 1, 12
  • 19. Crossing the Chasm § Build the whole product § Cloud getting mainstream: Apple iCloud § Opportunities and risks § Ecosystems, various platforms Picture from Wikimedia Foundation http://en.wikipedia.org/wiki/File:Technology-Adoption-Lifecycle.png 19Wednesday, February 1, 12
  • 20. Cloud Stack - History § What does cloud mean, 4 main angles • Software 1994 Netscape • Infrastructure 2002 Amazon AWS • Platform 2008 Google • Development now! § Industrialization of hardware and software infrastructure • like electricity beginning of 20th century, cf The Big Switch, Nick Carr § But software development itself is moving towards craftmanship 20Wednesday, February 1, 12
  • 21. Cloud started at Consumer websites solving their needs • Google, Amazon, Yahoo, Facebook, Twitter • Large Data Sets • Storage Capacity growing faster than Moore’s Law • Fast Networks • Horizontal -> Vertical scalability • Open Source Software • Virtualization • Cloud is a productization of these infrastructures • Public Clouds Services: Google, Amazon • Open Source Software: Hadoop, Eucalyptus, Ubuntu, Cloud FoundryWednesday, February 1, 12
  • 22. Infrastructure 22Wednesday, February 1, 12
  • 23. IaaS/Virtualization getting mainstream § AWS, Joyent, Rackspace,... § Open Source projects: OpenStack, DeltaCloud, Eucalyptus § Automation: Chef, Juju § Standardization? DMTF § Inside the Firewall, Virtualization: VMware, Microsoft, Xen, KVM § 50% of workloads are virtualized § Easy to provision, manage instance...BUT § Still need to manage backups, software stacks, monitor, upgrades 23Wednesday, February 1, 12
  • 24. With Infrastructure, you still need to build your own platform § Need to build a distributed platform on top of you infrastructure § Story of the AWS meltdown from last summer • http://blog.reddit.com/2011/03/why-reddit-was-down-for-6-of-last-24.html • http://www.readwriteweb.com/cloud/2010/12/chaos-monkey-how-netflix- uses.php • http://news.ycombinator.com/item?id=2477296 • http://stu.mp/2011/04/the-cloud-is-not-a-silver-bullet.html § Twilio, Smugmug, SimpleGeo survived it because they built their own distributed platform on top of IaaS § Enterprise customers want to consider Infrastructure like CDNs • Multi Cloud usage • Based on Open Source de facto standards, or full standards whenever that happens 24Wednesday, February 1, 12
  • 25. Platforms 25Wednesday, February 1, 12
  • 26. Platforms § Raise the Unit of currency to be application & services instead of infrastructure § Google App Engine, Cloud Foundry, Joyent, Heroku, Stax (Cloudbees), Amazon elastic beanstalk, Microsoft Azure, AppFog § Single or a few languages, services § Start of Multi language Polyglot platforms § Enabler for Agile Developers -> Create Business value faster § Lack of standards: risk, vendor lock-in § Enterprise needs: • Control, customizability • Private/Hybrid Cloud • Avoid lock-in 26Wednesday, February 1, 12
  • 27. Agile Development ProcessesWednesday, February 1, 12
  • 28. Agility as a survival skill § Consumer software is becoming like fashion • Phone apps, social apps, short lifetime, fast lifecycles • Ab testing § Clay shirky situational apps § Kent Beck, Usenix 2011 Talk, “Software G-Forces” change in software process when frequency grows § Cloud Platforms enables an Agile culture, driver for innovation • Scalability is built in the platforms • Can iterate faster • Focus on design § Cloud Platforms lets developers focus on driving business value 28Wednesday, February 1, 12
  • 29. Main Risk: Lock-In Welcome to the hotel california Such a lovely place Such a lovely face Plenty of room at the hotel california Any time of year, you can find it here Last thing I remember, I was Running for the door I had to find the passage back To the place I was before ’relax,’ said the night man, We are programmed to receive. You can checkout any time you like, But you can never leave! 29Wednesday, February 1, 12
  • 30. Cloud Foundry: The Open PaaS • Open Source: Apache 2 Licensed • multi language/frameworks • multi services • multi cloud Ap ce pli vFabric rfa Postgres Private ca nte Data Services tio Clouds rI n e Se Public vid vFabric RabbitMQTM rvi Cloud ro Msg Services ce dP Micro ou Other Cloud Cl Services 30Wednesday, February 1, 12
  • 31. Open Source 31Wednesday, February 1, 12
  • 32. Open Source Advantage § http://code.google.com/p/googleappengine/issues/detail?id=13 • https://github.com/cloudfoundry/vcap/pull/25 32Wednesday, February 1, 12
  • 33. Multi Cloud 33Wednesday, February 1, 12
  • 34. CloudFoundry.COM Cloud Foundry Runtimes & Frameworks Services vCenter / vSphere Infrastructure 34Wednesday, February 1, 12
  • 35. Cloud Foundry.ORG Cloud Foundry The Source Code to Compile & Build Cloud Foundry vCenter / vSphere Download Setup Setup Scripts Deploy Code Environment Behind Firewall 35Wednesday, February 1, 12
  • 36. Micro Cloud Foundry Micro 36Wednesday, February 1, 12
  • 37. What is a Micro Cloud? Or Entire Cloud Running inside of a single VM 37Wednesday, February 1, 12
  • 38. Micro Cloud Foundry… (BETA) A pre-built Micro (Single VM) version of Cloud Foundry… You need a Cloud Foundry.com Account to use Micro Cloud Foundry Signup @ http://cloudfoundry.com/micro 38Wednesday, February 1, 12
  • 39. Micro Cloud Foundry… (BETA) A pre-built Micro (Single VM) version of Cloud Foundry… Micro You need a Cloud Foundry.com Account to use Micro Cloud Foundry Signup @ http://cloudfoundry.com/micro 38Wednesday, February 1, 12
  • 40. What is in Micro Cloud Foundry? .COM Dynamic Updating DNS App Instances Services Open source Platform as a Service project 10.04 39Wednesday, February 1, 12
  • 41. Other Cloud Foundry powered PaaS Private PaaS Added Python and Perl Public PaaS Added PHP Tier3 and Uhuru recently added .NET support 40Wednesday, February 1, 12
  • 42. Development LifeCycle 41Wednesday, February 1, 12
  • 43. Traditional App Deploy and Request/Response Web Request/Allocate Web Build/Setup Install/Configure App Deploy/Test App Scale? Upgrade? DB DB Update?Wednesday, February 1, 12
  • 44. How Apps are Deployed on Cloud Foundry Web Web App “vmc push MyApp” DB App Web Scale? “vmc instances MyApp 5” DB Upgrade? “vmc map MyApp MyApp2” Update? “vmc update MyApp”Wednesday, February 1, 12
  • 45. How Apps are Deployed on Cloud Foundry Web Web App “vmc push MyApp” DB App Web Scale? “vmc instances MyApp 5” DB Upgrade? “vmc map MyApp MyApp2” Update? “vmc update MyApp”Wednesday, February 1, 12
  • 46. How Apps are Accessed on Cloud Foundry Request Web Interface Load Balancing Response and Routing Web App App Instance DB “vmc push MyApp” ServiceWednesday, February 1, 12
  • 47. How Apps are Scaled on Cloud Foundry Request Load Load Load Balancer(s) Balancing Response Balancer(s) and Routing App Instances Web Web Web App App App DB “vmc instances MyApp 3” ServiceWednesday, February 1, 12
  • 48. How Apps are Updated on Cloud Foundry Previous Instance Updated New Version Stopped Code Version Web Web Web Web App App App App DB DB Service Service “vmc update MyApp”Wednesday, February 1, 12
  • 49. Services 47Wednesday, February 1, 12
  • 50. Current Services Available on Cloud Foundry 48Wednesday, February 1, 12
  • 51. Service Creation and BindingVCAP_SERVICES:{"redis-2.2":[{"name":"redis_sample","label":"redis-2.2","plan":"free","tags":["redis","redis-2.2","key-value","nosql"],"credentials":{"hostname":"172.30.48.40","host":"172.30.48.40","port":5023,"password":"8e9a901f-987d-4544-9a9e-ab0c143b5142","name":"de82c4bb-bd08-46c0-a850-af6534f71ca3"}}],"mongodb-1.8":[{"name":"mongodb-e7d29","label":"mongodb-1.8","plan":"free","tags”:…………………. 49Wednesday, February 1, 12
  • 52. Service Creation and Binding App Instance 50Wednesday, February 1, 12
  • 53. Service Creation and Binding App Instance Redis Service 50Wednesday, February 1, 12
  • 54. Service Creation and Binding App Instance Redis Service 50Wednesday, February 1, 12
  • 55. Service Creation and Binding App Instance Redis Service MongoDB Service 50Wednesday, February 1, 12
  • 56. How it works 51Wednesday, February 1, 12
  • 57. Logical View Browser VMC client STS plugin (user app access) Routers CloudControllers App App HealthManager Services DEA Pool Messaging 52Wednesday, February 1, 12
  • 58. Architecture 53Wednesday, February 1, 12
  • 59. Register today http://cloudfoundry.com/signup Use Promo Code dc2012 To avoid approval queue waiting time 54Wednesday, February 1, 12
  • 60. Cloud for Developers: the true path is PaaS! 55Wednesday, February 1, 12
  • 61. BigData Platforms: Hadoop § Apache Hadoop, open source version of Google MapReduce, GFS... § Cloudera, many others, space heating up § EMC, HortonWorks distros § Google Bigquery § Be your own bitch, today, Cloudera distro 56Wednesday, February 1, 12
  • 62. Services § Services § Apis, apigee, mashery § Telephony, Twilio § Geo § Social § Visualization 57Wednesday, February 1, 12
  • 63. Development § Final frontier, happening now § Not whole product yet § Source: Google code, Github § Dev: Cloud9, Exo, Orion § Higher level case tools, Wavemaker, Orangescape, Runmyprocess § Build: Jenkins, Cloudbees, OpenShift § Test: feature of cloud platforms § Community Stackoverflow, Github 58Wednesday, February 1, 12
  • 64. Lessons for Developers 59Wednesday, February 1, 12
  • 65. Predictions § Software is becoming like fashion, design rules § Welcome to Babel, use the best tool for the job, embrace multiple language & heterogeneity § Our jobs will change, build yourself out of your current job § Sysadmin jobs will disappear, except at large cloud providers § Many opportunities open when you embrace change 60Wednesday, February 1, 12
  • 66. Chaos of creativity § Proliferation of languages and frameworks § Spring, Rails, Grails, Django § “Pythons has more web frameworks than language keywords” § Javascript, Python, PHP, Java, Groovy, Scala, Clojure, Go § Gosling, vm is important, not the language § Ability to create DSL important, cf Book § Fragmentation of communities § Chaotic Darwinian period, fun for the curious, deadly for the ossified § Online services replacing a lot of software § Mashups, Weaving services together § Pick your battles, choose what you need to build yourself to add value 61Wednesday, February 1, 12
  • 67. Things to Forget § First normal form § Waterfall model § Single server deployment § Single language skill 62Wednesday, February 1, 12
  • 68. Things to Learn • Agile, API Design • UI Design, Javacript, HTML5, CSS3 • A/B Testing • Open Source, Open Standards • Architecture, Distributed Computing (CAP theorem, 8 fallacies) • Cloud Platforms and APIs • Multiple types of • languages (imperative, object, functional, logic) • Learn to live in a box (embrace platform limitations) to think outside the box 63Wednesday, February 1, 12
  • 69. What it means for you § Build On the shoulders of giants § Take risks, to innovate § Learn everyday, try different things § learn an api or framework / month § Learn a language / year § Be fast and agile § Make money § Social and app stores 64Wednesday, February 1, 12
  • 70. Be your own bitch “Don’t be a Google Bitch, don’t be a Facebook Bitch, and Don’t be a Twitter Bitch. Be your own Bitch.” Fred Wilson http://techcrunch.com/2011/05/23/fred-wilson-be-your-own-bitch/ 65Wednesday, February 1, 12
  • 71. Such stuff as dreams are made on § Like a kid on a candy store: theres never been a better time to be a software developer! § Welcome to the Cloud: embrace change and reinvent yourselves § “The future is already there, not evenly distributed” Gibson § We Developers, invent the future today 66Wednesday, February 1, 12
  • 72. Cloud Foundry Resources Primary Site : cloudfoundry.com Open Source Site : cloudfoundry.org Twitter : @cloudfoundry , hash tag #cfoundry Blog : blog.cloudfoundry.com FB : facebook.com/cloudfoundry Support : support.cloudfoundry.com • Documentation • Knowledge Base • Q & A / Forums 67Wednesday, February 1, 12
  • 73. Questions 68Wednesday, February 1, 12 ?
  • 74. Thank You! t @CloudFoundry t @chanezon Website : www.cloudfoundry.com Blog : blog.cloudfoundry.com Forum : support.cloudfoundry.comWednesday, February 1, 12
  • 75. Books / Articles § Nick Carr, The Big Switch § Eric Raymond, The Art of Unix Programming § Weinberg, Psychology of Computer Programming § Wes python book § Mark html5 book § Kent Beck XP § Hunt, Thomas, The Pragmatic Programmer § Ade Oshineye, Apprenticeship Patterns § Matt Cutts Ignite Talk IO 2011, Trying different things § Josh Bloch talk about api design § Larry and Sergey, Anatomy of a Search Engine § Rob Pike, The Practice of Programming 70Wednesday, February 1, 12
  • 76. Papers / Talks § Simon Wardley, Oscon 09 “Cloud - Why IT Matters” § Tim O’Reilly article on internet os § Peter Deutsch’s 8 Fallacies of Distributed Computing § Brewer’s CAP Theorem § Gregor Hohpe’s Starbucks Does Not Use Two-Phase Commit § Stuff I tag http://www.delicious.com/chanezon/ § More specifically http://www.delicious.com/chanezon/cloudfoundry § My previous Talks http://www.slideshare.net/chanezon § My list of favorite books http://www.chanezon.com/pat/soft_books.html 71Wednesday, February 1, 12
  • 77. Acknowledgement § Drawings from my daughters Eliette § Slides from Dave McCrory, Derek Collison, Russell Acton, Alexandre Vasseur 72Wednesday, February 1, 12