portrait of the developer as "the artist" - english version
TRANSCRIPT
Portrait of the developeur as
@chanezon
French
Polyglot
Server Side
San Francisco
Developer Relations
Very freely inspired from
... and a few years as an Enterprise consultant in France before
moving to California
2010
- George became CIO
What happened while
George was playing
Golf
Dreams Of my childhood
30
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
Moore's 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
32
Predictions
“The future is already here — it's just not very evenly distributed” William Gibson
33
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?
39
Cloud According to my daughter Eliette
Cloud Stack - Classic Pyramid
40
Platform As A Service
Infrastructure As A Service
SoftwareAs A Service
Cloud Stack - By Value
41
InfrastructureAs A Service
SoftwareAs A Service
Platform As A Service
Cloud Stack - History
§What does cloud mean, 4 main angles• Software 1994 Netscape• Infrastructure 2002 Amazon AWS• Platform 2008 Google• Development now!
42
§ Industrialization of hardware and software infrastructurelike electricity beginning of 20th century
§But software development itself is moving towards craftmanship
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
44
Infrastructure
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, upgrades
45
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
46
47
Platforms
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-in
48
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 value
50
Main Risk: Lock-In
51
Welcome to the hotel californiaSuch a lovely placeSuch a lovely facePlenty of room at the hotel californiaAny time of year, you can find it here
Last thing I remember, I wasRunning for the doorI had to find the passage backTo 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!
Cloud Foundry: The Open PaaS
52
Clou
d Pr
ovide
r Int
erfa
ce
Application Service Private Clouds
PublicClouds
MicroClouds
Data Services
Other Services
Msg Services
vFabric Postgres
vFabric RabbitMQTM
• Open Source: Apache 2 Licensed• multi language/frameworks• multi services• multi cloud
53
Open Source
Open Source Advantage
§http://code.google.com/p/googleappengine/issues/detail?id=13
54
• https://github.com/cloudfoundry/vcap/pull/25
55
Lessons for Developers
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 change
56
Things to forget
•First normal form•Waterfall model•Single server deployment•Single language skill•Build everything from scratch•Build custom infrastructure
57
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
Redemption
The (Happy) End