Portrait of the Developer as the Artist - OpenTour Sofia
Upcoming SlideShare
Loading in...5

Portrait of the Developer as the Artist - OpenTour Sofia






Total Views
Views on SlideShare
Embed Views



3 Embeds 10

http://www.linkedin.com 7
https://twitter.com 2
https://www.linkedin.com 1



Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

Portrait of the Developer as the Artist - OpenTour Sofia Portrait of the Developer as the Artist - OpenTour Sofia Presentation Transcript

  • Portrait of the developeur as
  • @chanezon French Polyglot Server Side San FranciscoDeveloper Relations
  • Patrick Chanezon Senior Director Developer Relationschanezonp@vmware.com @chanezon View slide
  • Very freely inspired from ... and a few years as anEnterprise consultant in France before moving to California View slide
  • 2010- George became CIO
  • What happened whileGeorge was playing Golf
  • Dreams Of my childhood30
  • 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
  • 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
  • Predictions “The future is already here — its just not very evenly distributed” William Gibson33
  • Architecture Changes: 60’s Mainframe
  • Architecture Changes: 80’s Client-Server
  • Architecture Changes: 90’s Web
  • Architecture Changes: 2010’s Cloud, HTML5, Mobile
  • Back to Client Server: Groovy Baby!38
  • What is Cloud Computing? Cloud According to my daughter Eliette39
  • Cloud Stack - Classic Pyramid Software As A Service Platform As A Service Infrastructure As A Service40
  • Cloud Stack - By Value Software As A Service Platform As A Service Infrastructure As A Service41
  • 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
  • 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
  • Infrastructure44
  • 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
  • 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
  • Platforms47
  • 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
  • Agile Development Processes
  • 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
  • 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
  • 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
  • CloudFoundry.COM – Multi-Tenant PaaS Operated by VMware CloudFoundry.COM (beta) Frameworks Services vCenter / vSphere Infrastructure53
  • 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
  • Open Source55
  • CloudFoundry.ORG – Community Open Source Project github.com/cloudfoundry .NET x 2 § Memcached PHP § SQL Server JRuby § Neo4j Python § CouchDB Rails 2.x § VirtualBox Clojure § Mono Erlang § Rack Haskell56
  • 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
  • Cloud Foundry Open Source Workflow cloudfoundry.com production updated ~2x/week github github.com/cloudfoundry on +2 and ✓ change pushed to github Reviewers +1/-1 Gerrit Code Review +2/-2 Committers reviews.cloudfoundry.org test verification score ✓ ✗ git push triggers test execution Jenkins CI ci.cloudfoundry.org58
  • Open Source Advantage: speed§ http://code.google.com/p/googleappengine/issues/detail?id=13• https://github.com/cloudfoundry/vcap/pull/2559
  • Open Source Advantage: breadth60
  • Ecosystem61
  • Broad Industry Investment62
  • Cloud Foundry - Making Multi-Cloud a Reality Private Cloud Public Cloud Management and Distributions Operators .COM Bare metal63
  • Cloud Foundry Architecture
  • Architectural Goals65
  • Architectural GoalsNo single point of failure65
  • Architectural GoalsNo single point of failureDistributed state65
  • Architectural GoalsNo single point of failureDistributed stateSelf healing65
  • Architectural GoalsNo single point of failureDistributed stateSelf healingHorizontally scalable65
  • Architectural Principles66
  • Architectural PrinciplesLoose coupling66
  • Architectural PrinciplesLoose couplingEvent-driven66
  • Architectural PrinciplesLoose couplingEvent-drivenAsynchronous66
  • Architectural PrinciplesLoose couplingEvent-drivenAsynchronousNon-blocking66
  • Architectural PrinciplesLoose couplingEvent-drivenAsynchronousNon-blockingIdempotent66
  • Architectural PrinciplesLoose couplingEvent-drivenAsynchronousNon-blockingIdempotentEventually consistent66
  • Architectural PrinciplesLoose couplingEvent-drivenAsynchronousNon-blockingIdempotentEventually consistentLanguage-independent communication66
  • Cloud Foundry Layers67
  • Cloud Foundry Layers Clients67
  • Cloud Foundry Layers Clients Inner Shell67
  • Cloud Foundry Layers Clients Inner Shell Outer Shell67
  • Cloud Foundry Layers Clients Inner Shell Outer Shell Infrastructure as a Service67
  • Cloud Foundry Layers Clients Inner Shell Outer Shell Infrastructure as a Service Hardware (CPU, Memory, Storage, Network)67
  • Cloud Foundry Core Components
  • Design PrinciplesDynamically discoverable componentsNo inter-component dependencies • Launch in any order • Scale up and down independentlyMonitor using HTTP end points69
  • Cloud Foundry Logical View Developers Users vmc Routers CloudControllers App App HealthManager Execution Agents (DEA) Services Pool Messaging
  • Cloud Foundry BOSH71
  • Production Grade Cloud Foundry Clusters 500 – 5,000 VMs cloudfoundry.com 40+ unique node types 75+ unique software packages 75+ unique environments 2x/week cf.com 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
  • 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 github.com/cloudfoundry/bosh73
  • BOSH: under the hood BOSH User “BOSH is deployed by BOSH” bosh cli director healthmon cloudfoundry.com db redis nats workers blobs active jobs agent IaaS CPI stemcell disk74
  • 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) github.com/piston/openstack-bosh-cpi contribute: github.com/cloudfoundry/bosh75
  • Lessons for Developers76
  • 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
  • Things to forget • First normal form • Waterfall model • Single server deployment • Single language skill • Build everything from scratch • Build custom infrastructure78
  • 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
  • Redemption
  • The (Happy) End
  • Register today http://cloudfoundry.com/signup Use Promo Code cfopentoursofia To avoid approval queue waiting time Download Micro Cloud Foundry locally Events we do on Lanyrd http://lanyrd.com/2012/cloud-foundry-open-tour-sofia/93