portrait of the developer as "the artist" - english version

71
Portrait of the developeur as

Upload: patrick-chanezon

Post on 15-May-2015

982 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: Portrait of the Developer As "The Artist" - English Version

Portrait of the developeur as

Page 2: Portrait of the Developer As "The Artist" - English Version

@chanezon

French

Polyglot

Server Side

San Francisco

Developer Relations

Page 4: Portrait of the Developer As "The Artist" - English Version

Very freely inspired from

... and a few years as an Enterprise consultant in France before

moving to California

Page 5: Portrait of the Developer As "The Artist" - English Version
Page 6: Portrait of the Developer As "The Artist" - English Version
Page 7: Portrait of the Developer As "The Artist" - English Version
Page 8: Portrait of the Developer As "The Artist" - English Version
Page 9: Portrait of the Developer As "The Artist" - English Version
Page 10: Portrait of the Developer As "The Artist" - English Version
Page 11: Portrait of the Developer As "The Artist" - English Version
Page 12: Portrait of the Developer As "The Artist" - English Version
Page 13: Portrait of the Developer As "The Artist" - English Version
Page 14: Portrait of the Developer As "The Artist" - English Version
Page 15: Portrait of the Developer As "The Artist" - English Version
Page 16: Portrait of the Developer As "The Artist" - English Version
Page 17: Portrait of the Developer As "The Artist" - English Version
Page 18: Portrait of the Developer As "The Artist" - English Version
Page 19: Portrait of the Developer As "The Artist" - English Version

2010

- George became CIO

Page 20: Portrait of the Developer As "The Artist" - English Version
Page 21: Portrait of the Developer As "The Artist" - English Version
Page 22: Portrait of the Developer As "The Artist" - English Version
Page 23: Portrait of the Developer As "The Artist" - English Version
Page 24: Portrait of the Developer As "The Artist" - English Version
Page 25: Portrait of the Developer As "The Artist" - English Version
Page 26: Portrait of the Developer As "The Artist" - English Version
Page 27: Portrait of the Developer As "The Artist" - English Version
Page 28: Portrait of the Developer As "The Artist" - English Version
Page 29: Portrait of the Developer As "The Artist" - English Version

What happened while

George was playing

Golf

Page 30: Portrait of the Developer As "The Artist" - English Version

Dreams Of my childhood

30

Page 31: Portrait of the Developer As "The Artist" - English Version

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

Page 32: Portrait of the Developer As "The Artist" - English Version

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

Page 33: Portrait of the Developer As "The Artist" - English Version

Predictions

“The future is already here — it's just not very evenly distributed” William Gibson

33

Page 34: Portrait of the Developer As "The Artist" - English Version

Architecture Changes: 60’s Mainframe

Page 35: Portrait of the Developer As "The Artist" - English Version

Architecture Changes: 80’s Client-Server

Page 36: Portrait of the Developer As "The Artist" - English Version

Architecture Changes: 90’s Web

Page 37: Portrait of the Developer As "The Artist" - English Version

Architecture Changes: 2010’s Cloud, HTML5, Mobile

Page 38: Portrait of the Developer As "The Artist" - English Version

Back to Client Server: Groovy Baby!

38

Page 39: Portrait of the Developer As "The Artist" - English Version

What is Cloud Computing?

39

Cloud According to my daughter Eliette

Page 40: Portrait of the Developer As "The Artist" - English Version

Cloud Stack - Classic Pyramid

40

Platform As A Service

Infrastructure As A Service

SoftwareAs A Service

Page 41: Portrait of the Developer As "The Artist" - English Version

Cloud Stack - By Value

41

InfrastructureAs A Service

SoftwareAs A Service

Platform As A Service

Page 42: Portrait of the Developer As "The Artist" - English Version

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

Page 43: Portrait of the Developer As "The Artist" - English Version

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

Page 44: Portrait of the Developer As "The Artist" - English Version

44

Infrastructure

Page 45: Portrait of the Developer As "The Artist" - English Version

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

Page 46: Portrait of the Developer As "The Artist" - English Version

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

Page 47: Portrait of the Developer As "The Artist" - English Version

47

Platforms

Page 48: Portrait of the Developer As "The Artist" - English Version

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

Page 49: Portrait of the Developer As "The Artist" - English Version

Agile Development Processes

Page 50: Portrait of the Developer As "The Artist" - English Version

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

Page 51: Portrait of the Developer As "The Artist" - English Version

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!

Page 52: Portrait of the Developer As "The Artist" - English Version

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

Page 53: Portrait of the Developer As "The Artist" - English Version

53

Open Source

Page 54: Portrait of the Developer As "The Artist" - English Version

Open Source Advantage

§http://code.google.com/p/googleappengine/issues/detail?id=13

54

• https://github.com/cloudfoundry/vcap/pull/25

Page 55: Portrait of the Developer As "The Artist" - English Version

55

Lessons for Developers

Page 56: Portrait of the Developer As "The Artist" - English Version

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

Page 57: Portrait of the Developer As "The Artist" - English Version

Things to forget

•First normal form•Waterfall model•Single server deployment•Single language skill•Build everything from scratch•Build custom infrastructure

57

Page 58: Portrait of the Developer As "The Artist" - English Version

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

Page 59: Portrait of the Developer As "The Artist" - English Version

Redemption

Page 60: Portrait of the Developer As "The Artist" - English Version
Page 61: Portrait of the Developer As "The Artist" - English Version
Page 62: Portrait of the Developer As "The Artist" - English Version
Page 63: Portrait of the Developer As "The Artist" - English Version
Page 64: Portrait of the Developer As "The Artist" - English Version
Page 65: Portrait of the Developer As "The Artist" - English Version
Page 66: Portrait of the Developer As "The Artist" - English Version
Page 67: Portrait of the Developer As "The Artist" - English Version
Page 68: Portrait of the Developer As "The Artist" - English Version
Page 69: Portrait of the Developer As "The Artist" - English Version
Page 70: Portrait of the Developer As "The Artist" - English Version
Page 71: Portrait of the Developer As "The Artist" - English Version

The (Happy) End