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

1,574
views

Published on

Published in: Technology

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,574
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
10
Comments
0
Likes
0
Embeds 0
No embeds

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. Portrait of the developeur as
  • 2. @chanezon French Polyglot Server Side San FranciscoDeveloper Relations
  • 3. Patrick Chanezon Senior Director Developer Relationschanezonp@vmware.com @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 • 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. 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 github.com/cloudfoundry .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 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
  • 36. Open Source Advantage: speed§ http://code.google.com/p/googleappengine/issues/detail?id=13• https://github.com/cloudfoundry/vcap/pull/2559
  • 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 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
  • 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 github.com/cloudfoundry/bosh73
  • 67. 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
  • 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) github.com/piston/openstack-bosh-cpi contribute: github.com/cloudfoundry/bosh75
  • 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 http://cloudfoundry.com/signup Use Promo Code cfopentoursofia To avoid approval queue waiting time Download Micro Cloud Foundry locally ftp://192.168.5.5/micro-v116-20121101.000204.zip Events we do on Lanyrd http://lanyrd.com/2012/cloud-foundry-open-tour-sofia/93