Your SlideShare is downloading. ×
Portrait of the Developer as the Artist - OpenTour Sofia
Upcoming SlideShare
Loading in...5

Thanks for flagging this SlideShare!

Oops! An error has occurred.

Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Portrait of the Developer as the Artist - OpenTour Sofia


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

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

No notes for slide


  • 1. Portrait of the developeur as
  • 2. @chanezon French Polyglot Server Side San FranciscoDeveloper Relations
  • 3. Patrick Chanezon Senior Director Developer @chanezon
  • 4. Very freely inspired from ... and a few years as anEnterprise consultant in France before moving to California
  • 5. 2010- George became CIO
  • 6. What happened whileGeorge was playing Golf
  • 7. Dreams Of my childhood30
  • 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. 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. Predictions “The future is already here — its just not very evenly distributed” William Gibson33
  • 11. Architecture Changes: 60’s Mainframe
  • 12. Architecture Changes: 80’s Client-Server
  • 13. Architecture Changes: 90’s Web
  • 14. Architecture Changes: 2010’s Cloud, HTML5, Mobile
  • 15. Back to Client Server: Groovy Baby!38
  • 16. What is Cloud Computing? Cloud According to my daughter Eliette39
  • 17. Cloud Stack - Classic Pyramid Software As A Service Platform As A Service Infrastructure As A Service40
  • 18. Cloud Stack - By Value Software As A Service Platform As A Service Infrastructure As A Service41
  • 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. 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. Infrastructure44
  • 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§ 60% of workloads are virtualized in 2012§ Easy to provision, manage instance...BUT§ Still need to manage backups, software stacks, monitor, upgrades45
  • 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 • • • •§ 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. Platforms47
  • 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. Agile Development Processes
  • 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. 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. 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. CloudFoundry.COM – Multi-Tenant PaaS Operated by VMware CloudFoundry.COM (beta) Frameworks Services vCenter / vSphere Infrastructure53
  • 31. Micro Cloud FoundryTM – Industry First Downloadable PaaS Micro Cloud Foundry Frameworks Services Your Laptop/PC Single VM instance of Cloud Foundry that runs on a developer’s MAC or PC New release v116 last week Tracks CloudFoundry.com54
  • 32. Open Source55
  • 33. CloudFoundry.ORG – Community Open Source Project .NET x 2 § Memcached PHP § SQL Server JRuby § Neo4j Python § CouchDB Rails 2.x § VirtualBox Clojure § Mono Erlang § Rack Haskell56
  • 34. CloudFoundry.ORG – Community Open Source Project CloudFoundry.ORG Community Frameworks Contributions Community Services Contributions Your Infrastructure Download Setup Tool Chain & Deploy Behind Code Environment Scripts Firewall Cloud Foundry BOSH Apache2 license57
  • 35. Cloud Foundry Open Source Workflow production updated ~2x/week github on +2 and ✓ change pushed to github Reviewers +1/-1 Gerrit Code Review +2/-2 Committers test verification score ✓ ✗ git push triggers test execution Jenkins CI ci.cloudfoundry.org58
  • 36. Open Source Advantage: speed§•
  • 37. Open Source Advantage: breadth60
  • 38. Ecosystem61
  • 39. Broad Industry Investment62
  • 40. Cloud Foundry - Making Multi-Cloud a Reality Private Cloud Public Cloud Management and Distributions Operators .COM Bare metal63
  • 41. Cloud Foundry Architecture
  • 42. Architectural Goals65
  • 43. Architectural GoalsNo single point of failure65
  • 44. Architectural GoalsNo single point of failureDistributed state65
  • 45. Architectural GoalsNo single point of failureDistributed stateSelf healing65
  • 46. Architectural GoalsNo single point of failureDistributed stateSelf healingHorizontally scalable65
  • 47. Architectural Principles66
  • 48. Architectural PrinciplesLoose coupling66
  • 49. Architectural PrinciplesLoose couplingEvent-driven66
  • 50. Architectural PrinciplesLoose couplingEvent-drivenAsynchronous66
  • 51. Architectural PrinciplesLoose couplingEvent-drivenAsynchronousNon-blocking66
  • 52. Architectural PrinciplesLoose couplingEvent-drivenAsynchronousNon-blockingIdempotent66
  • 53. Architectural PrinciplesLoose couplingEvent-drivenAsynchronousNon-blockingIdempotentEventually consistent66
  • 54. Architectural PrinciplesLoose couplingEvent-drivenAsynchronousNon-blockingIdempotentEventually consistentLanguage-independent communication66
  • 55. Cloud Foundry Layers67
  • 56. Cloud Foundry Layers Clients67
  • 57. Cloud Foundry Layers Clients Inner Shell67
  • 58. Cloud Foundry Layers Clients Inner Shell Outer Shell67
  • 59. Cloud Foundry Layers Clients Inner Shell Outer Shell Infrastructure as a Service67
  • 60. Cloud Foundry Layers Clients Inner Shell Outer Shell Infrastructure as a Service Hardware (CPU, Memory, Storage, Network)67
  • 61. Cloud Foundry Core Components
  • 62. Design PrinciplesDynamically discoverable componentsNo inter-component dependencies • Launch in any order • Scale up and down independentlyMonitor using HTTP end points69
  • 63. Cloud Foundry Logical View Developers Users vmc Routers CloudControllers App App HealthManager Execution Agents (DEA) Services Pool Messaging
  • 64. Cloud Foundry BOSH71
  • 65. Production Grade Cloud Foundry Clusters 500 – 5,000 VMs 40+ unique node types 75+ unique software packages 75+ unique environments 2x/week updates 24x7x365 non-stop operation No-downtime deployments Reliable, robust, repeatable deployments, updates, capacity adjustments Small teams manage many instances production, staging, stress, qa, devGoogle style problem è Google style solution 72
  • 66. Cloud Foundry BOSHCloud Foundry BOSH is an open source tool-chain for releaseengineering, deployment, and lifecycle management of large scaledistributed services• Prescriptive way of creating releases and managing systems and services• It is not a collection of shell scripts, not a pile of PerlBuilt to deploy and manage production-class, large scale clusters• Production grade Cloud Foundry clusters: 500+ VMs, 40+ jobs, 75+ packages• Multi-node, multi-tier, complex clusters: e.g., our Gerrit/Jenkins ClusterBuilt for devops usage and scale by a crack team of veterans• A project, not a product: command line interface, YAML, etc.• Continuous improvement, iterative development, rough edges
  • 67. BOSH: under the hood BOSH User “BOSH is deployed by BOSH” bosh cli director healthmon db redis nats workers blobs active jobs agent IaaS CPI stemcell disk74
  • 68. IaaS neutral by designvSphere: battle tested implementation, thousands ofdeployments CPI: code completevCloud Director: “work in progress”, 2H 2012 functional status: “work in progress” Cloud Foundry BOSH Cloud Provider Interface (CPI) contribute:
  • 69. Lessons for Developers76
  • 70. 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 change77
  • 71. Things to forget • First normal form • Waterfall model • Single server deployment • Single language skill • Build everything from scratch • Build custom infrastructure78
  • 72. 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 distribution79
  • 73. Redemption
  • 74. The (Happy) End
  • 75. Register today Use Promo Code cfopentoursofia To avoid approval queue waiting time Download Micro Cloud Foundry locally Events we do on Lanyrd