Portrait of the Developer As "The Artist" - English Version


Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Portrait of the Developer As "The Artist" - English Version

  1. 1. Portrait of the developeur as
  2. 2. @chanezon French Polyglot Server Side San FranciscoDeveloper Relations
  3. 3. Patrick Chanezon Senior Director Developer Relationschanezonp@vmware.com @chanezon
  4. 4. Very freely inspired from ... and a few years as anEnterprise consultant in France before moving to California
  5. 5. 2010- George became CIO
  6. 6. What happened whileGeorge was playing Golf
  7. 7. Dreams Of my childhood30
  8. 8. 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!31
  9. 9. 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 craft32
  10. 10. Predictions “The future is already here — its just not very evenly distributed” William Gibson33
  11. 11. Architecture Changes: 60’s Mainframe
  12. 12. Architecture Changes: 80’s Client-Server
  13. 13. Architecture Changes: 90’s Web
  14. 14. Architecture Changes: 2010’s Cloud, HTML5, Mobile
  15. 15. Back to Client Server: Groovy Baby!38
  16. 16. What is Cloud Computing? Cloud According to my daughter Eliette39
  17. 17. Cloud Stack - Classic Pyramid Software As A Service Platform As A Service Infrastructure As A Service40
  18. 18. Cloud Stack - By Value Software As A Service Platform As A Service Infrastructure As A Service41
  19. 19. 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§ But software development itself is moving towards craftmanship42
  20. 20. 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• Vertical -> Horizontal scalability• Open Source Software• Virtualization• Cloud is a productization of these infrastructures • Public Clouds Services: Google, Amazon • Open Source Software: Hadoop, Eucalyptus, Ubuntu, Cloud Foundry
  21. 21. Infrastructure44
  22. 22. IaaS/Virtualization getting mainstream§ AWS, Joyent, Rackspace,...§ Open Source projects: OpenStack, DeltaCloud, Eucalyptus§ Automation: Chef, Juju, Cloud Foundry BOSH§ 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, upgrades45
  23. 23. 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 happens46
  24. 24. Platforms47
  25. 25. Platforms§ Raise the Unit of currency to be application & services instead of infrastructure§ Google App Engine, Cloud Foundry, Heroku, 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-in48
  26. 26. Agile Development Processes
  27. 27. Agility as a survival skill§ Consumer software is becoming like fashion •Phone apps, social apps, short lifetime, fast lifecycles •A/B testing§ Enterprise •Clay shirky situational apps§ Kent Beck, Usenix 2011 Talk, “Software G-Forces: the effects of acceleration” 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 value50
  28. 28. 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!51
  29. 29. Cloud Foundry: The Open PaaS • Open Source: Apache 2 Licensed • multi language/frameworks • multi services • multi cloud Ap ce pli vFabric Private rfa Postgres ca e tio Clouds Int Data Services n er Se vFabric Public vid RabbitMQTM rvi Clouds ro Msg Services ce dP Micro ou Other Clouds Cl Services52
  30. 30. Open Source53
  31. 31. Open Source Advantage§ http://code.google.com/p/googleappengine/issues/detail?id=13• https://github.com/cloudfoundry/vcap/pull/2554
  32. 32. Lessons for Developers55
  33. 33. 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 morph, there will be less of them • Many opportunities open when you embrace change56
  34. 34. Things to forget • First normal form • Waterfall model • Single server deployment • Single language skill • Build everything from scratch • Build custom infrastructure57
  35. 35. Things to learn • Agile • Take risks, fail often, fail fast and learn • API Design: create the API first • 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) • Ability to encapsulate domain knowledge in a DSL • Build on the shoulders of giants: reuse, REST APIs • Pick your battles, choose what you need to build yourself to add value • Learn to live in a box (embrace platform limitations) to think outside the box • Use an App Store for distribution58
  36. 36. Redemption
  37. 37. The (Happy) End