"portrait of the developer as the artist" lockheed architect workshop

101
Portrait of the developeur as

Upload: patrick-chanezon

Post on 24-Jan-2015

438 views

Category:

Technology


1 download

DESCRIPTION

 

TRANSCRIPT

Page 1: "Portrait of the developer as The Artist" Lockheed Architect Workshop

Portrait of the developeur as

Page 2: "Portrait of the developer as The Artist" Lockheed Architect Workshop

@chanezon

French

Polyglot

Server Side

San Francisco

Developer Relations

Page 3: "Portrait of the developer as The Artist" Lockheed Architect Workshop

P@ & Military Software

Page 4: "Portrait of the developer as The Artist" Lockheed Architect Workshop

Patrick Chanezon Director, Enterprise Evangelism

[email protected] @chanezon

Page 5: "Portrait of the developer as The Artist" Lockheed Architect Workshop

Very freely inspired from

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

California

Page 6: "Portrait of the developer as The Artist" Lockheed Architect Workshop
Page 7: "Portrait of the developer as The Artist" Lockheed Architect Workshop
Page 8: "Portrait of the developer as The Artist" Lockheed Architect Workshop
Page 9: "Portrait of the developer as The Artist" Lockheed Architect Workshop
Page 10: "Portrait of the developer as The Artist" Lockheed Architect Workshop
Page 11: "Portrait of the developer as The Artist" Lockheed Architect Workshop
Page 12: "Portrait of the developer as The Artist" Lockheed Architect Workshop
Page 13: "Portrait of the developer as The Artist" Lockheed Architect Workshop
Page 14: "Portrait of the developer as The Artist" Lockheed Architect Workshop
Page 15: "Portrait of the developer as The Artist" Lockheed Architect Workshop
Page 16: "Portrait of the developer as The Artist" Lockheed Architect Workshop
Page 17: "Portrait of the developer as The Artist" Lockheed Architect Workshop
Page 18: "Portrait of the developer as The Artist" Lockheed Architect Workshop
Page 19: "Portrait of the developer as The Artist" Lockheed Architect Workshop
Page 20: "Portrait of the developer as The Artist" Lockheed Architect Workshop

2010

- George became CIO

Page 21: "Portrait of the developer as The Artist" Lockheed Architect Workshop
Page 22: "Portrait of the developer as The Artist" Lockheed Architect Workshop
Page 23: "Portrait of the developer as The Artist" Lockheed Architect Workshop
Page 24: "Portrait of the developer as The Artist" Lockheed Architect Workshop
Page 25: "Portrait of the developer as The Artist" Lockheed Architect Workshop
Page 26: "Portrait of the developer as The Artist" Lockheed Architect Workshop
Page 27: "Portrait of the developer as The Artist" Lockheed Architect Workshop
Page 28: "Portrait of the developer as The Artist" Lockheed Architect Workshop
Page 29: "Portrait of the developer as The Artist" Lockheed Architect Workshop
Page 30: "Portrait of the developer as The Artist" Lockheed Architect Workshop

What happened while

George was playing

Golf

Page 31: "Portrait of the developer as The Artist" Lockheed Architect Workshop

Dreams Of my childhood

3

Page 32: "Portrait of the developer as The Artist" Lockheed Architect Workshop

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!

4

Page 33: "Portrait of the developer as The Artist" Lockheed Architect Workshop

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

5

Page 34: "Portrait of the developer as The Artist" Lockheed Architect Workshop

Moore's Law’s free lunch is over

▪ Herb Sutter, Welcome to the Jungle http://herbsutter.com/welcome-to-the-jungle/

6

Page 35: "Portrait of the developer as The Artist" Lockheed Architect Workshop

Architecture Changes: 60’s Mainframe

Page 36: "Portrait of the developer as The Artist" Lockheed Architect Workshop

Architecture Changes: 80’s Client-Server

Page 37: "Portrait of the developer as The Artist" Lockheed Architect Workshop

Architecture Changes: 90’s Web

Page 38: "Portrait of the developer as The Artist" Lockheed Architect Workshop

Architecture Changes: 2010’s Cloud, HTML5, Mobile

Page 39: "Portrait of the developer as The Artist" Lockheed Architect Workshop

Cloud

39

Cloud According to my daughter Eliette

Page 40: "Portrait of the developer as The Artist" Lockheed Architect Workshop

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: Amazon, Microsoft, Google

• Open Source Software: Hadoop, Open Stack, Eucalyptus, Cloud Foundry, OpenShift

!

!

Page 41: "Portrait of the developer as The Artist" Lockheed Architect Workshop

Predictions

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

William Gibson

12

Page 42: "Portrait of the developer as The Artist" Lockheed Architect Workshop

Google

• Horizontal scalability 2004: Map/Reduce (Hadoop)

• NoSQL 2006: Bigtable (Mongo, Cassandra, HBase, Riak)

• Real Time analytics 2010: Dremel, BigQuery (Impala)

• Horizontally Scalable SQL 2012: Spanner, F1 / Amazon Redshift

Page 43: "Portrait of the developer as The Artist" Lockheed Architect Workshop

Google

14

Page 44: "Portrait of the developer as The Artist" Lockheed Architect Workshop

Microsoft - Cloud OS

15

Page 45: "Portrait of the developer as The Artist" Lockheed Architect Workshop

Microsoft - Multi Cloud

18

Page 46: "Portrait of the developer as The Artist" Lockheed Architect Workshop

OpenLanguages

CMS

Devices

Databases

Operating!Systems

Page 47: "Portrait of the developer as The Artist" Lockheed Architect Workshop

Microsoft - We do Java!

16

Page 48: "Portrait of the developer as The Artist" Lockheed Architect Workshop

Microsoft - Fabric

19

Page 49: "Portrait of the developer as The Artist" Lockheed Architect Workshop

Microsoft - Fabric

20

Page 50: "Portrait of the developer as The Artist" Lockheed Architect Workshop

Microsoft - Fabric

21

Watch Mark Russinnovich Azure architecture talk http://channel9.msdn.com/Events/TechEd/NorthAmerica/2013/WAD-B402

Page 51: "Portrait of the developer as The Artist" Lockheed Architect Workshop

Microsoft Big Data Usability• Agility in Data -> Insight • Excel PowerBI + Azure HD Insight

Page 52: "Portrait of the developer as The Artist" Lockheed Architect Workshop

Amazon

23Source http://media.amazonwebservices.com/AWS_Overview.pdf

Page 53: "Portrait of the developer as The Artist" Lockheed Architect Workshop

Amazon

▪ 2 pizza teams, focused on services

▪ Eventual consistency (Dynamo paper)

▪ Use OSS but don’t contribute much

▪ Elastic Beanstalk PaaS .NET, Java, Node.js, PHP, Python, Ruby

▪ PaaS partners: Heroku, Cloud Foundry

▪ VPC, but no complete hybrid story. Eucalyptus.

24

Page 54: "Portrait of the developer as The Artist" Lockheed Architect Workshop

Netflix

rapid evolution, low mtbiamsh

“mean time between idea and making stuff happen”

functionality and scale now, portability coming

source http://www.slideshare.net/adrianco/netflixoss-meetup25

Page 55: "Portrait of the developer as The Artist" Lockheed Architect Workshop

Netflix

26

Page 56: "Portrait of the developer as The Artist" Lockheed Architect Workshop

VMWare / Pivotal CloudFoundry

27

Clou

d Pr

ovide

r Int

erfa

ce

Application Service

Interface

Private Clouds

PublicCloudsMicro

Clouds

Data Services

Other Services

Msg Services

vFabric Postgres

vFabric RabbitMQTM

• Open Source: Apache 2 Licensed

• multi language/frameworks

• multi services

• multi cloud

Page 57: "Portrait of the developer as The Artist" Lockheed Architect Workshop

Cloud Foundry Logical View

Routers

CloudControllers App

Services

App

HealthManagerExecution Agents (DEA)

Pool

Messaging

UsersDevelopersvmc

Page 58: "Portrait of the developer as The Artist" Lockheed Architect Workshop

29

▪ 500 – 5,000 VMs

▪ 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 Grade Cloud Foundry Clusters

Google style problem ➔ Google style solution

cloudfoundry.com

production, staging, stress, qa, dev

Page 59: "Portrait of the developer as The Artist" Lockheed Architect Workshop

IaaS neutral by design

31

CPI: code complete functional status: “work in progress”

vSphere: battle tested implementation, thousands of deployments vCloud Director: “work in progress”, 2H 2012

contribute: github.com/cloudfoundry/bosh

Cloud Provider Interface (CPI)

Cloud Foundry BOSH

github.com/piston/openstack-bosh-cpi

Page 60: "Portrait of the developer as The Artist" Lockheed Architect Workshop

Docker Containers: IaaS -> PaaS continuum

32

Page 61: "Portrait of the developer as The Artist" Lockheed Architect Workshop

Container Ecosystem

32

Page 62: "Portrait of the developer as The Artist" Lockheed Architect Workshop

Kubernetes

Page 63: "Portrait of the developer as The Artist" Lockheed Architect Workshop

Cloud Market

33

PublicHybridPrivate

IT  Pros Devops DevelopersArchitects

Page 64: "Portrait of the developer as The Artist" Lockheed Architect Workshop

Google: the story of Urs Hölzle’sFlashlight

Page 65: "Portrait of the developer as The Artist" Lockheed Architect Workshop

Lessons to build your cloud

34

Research Papers

Hybrid Cloud

2 Pizza teams

Open Source

Portability

Page 66: "Portrait of the developer as The Artist" Lockheed Architect Workshop

Agile• Consumer software is becoming like fashion

• Phone/Social apps • A/B Testing • Fast lifecycle

• Enterprise • Situational Apps

Page 67: "Portrait of the developer as The Artist" Lockheed Architect Workshop

Cloud Platforms enable Agile• Built-in Scalability • Faster Iterations • Focus on Design • Focus on Business Value

Page 68: "Portrait of the developer as The Artist" Lockheed Architect Workshop

Trends

31

Industry Craft

Page 69: "Portrait of the developer as The Artist" Lockheed Architect Workshop

24

Page 70: "Portrait of the developer as The Artist" Lockheed Architect Workshop

25

Mainframe

Page 71: "Portrait of the developer as The Artist" Lockheed Architect Workshop

Client-Server

26

Page 72: "Portrait of the developer as The Artist" Lockheed Architect Workshop

27

Web

Page 73: "Portrait of the developer as The Artist" Lockheed Architect Workshop

28

Cloud - Devops

Page 74: "Portrait of the developer as The Artist" Lockheed Architect Workshop

DSLs

Page 75: "Portrait of the developer as The Artist" Lockheed Architect Workshop

Infrastructure as Code

Page 76: "Portrait of the developer as The Artist" Lockheed Architect Workshop

Behavior Driven Development / Infra

Page 77: "Portrait of the developer as The Artist" Lockheed Architect Workshop

Devops• Cultural movement • Inspired by agile methods • People, Processes & Tools • Continuous delivery • Infrastructure as code • Cross silo collaboration • Small iterations • Feedback loop, measurement

Image from Patrick Debois http://www.slideshare.net/jedi4ever/devops-the-war-is-over-if-you-want-it http://www.slideshare.net/jedi4ever/devopsdays-downundervfinal

Page 78: "Portrait of the developer as The Artist" Lockheed Architect Workshop

• MTBIAMSH (Mean Time Between Idea And Making Stuff Happen)

Low MTBIAMSH

Page 79: "Portrait of the developer as The Artist" Lockheed Architect Workshop

Agility == $$

Page 80: "Portrait of the developer as The Artist" Lockheed Architect Workshop

80

Lessons for Developers

Page 81: "Portrait of the developer as The Artist" Lockheed Architect Workshop

Trends

• Software is fashion • Design thinking • Polyglot programming, persistence • best tool for the job • full stack dev

• Change • Collab: agile, devops • Many opportunities open when you embrace change

81

Page 82: "Portrait of the developer as The Artist" Lockheed Architect Workshop

Things to forget

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

82

Page 83: "Portrait of the developer as The Artist" Lockheed Architect Workshop

Things to learn

• Agile • Devops • Micro Services • Risk: 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 • DSLs • 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 83

Page 84: "Portrait of the developer as The Artist" Lockheed Architect Workshop

Redemption

Page 85: "Portrait of the developer as The Artist" Lockheed Architect Workshop
Page 86: "Portrait of the developer as The Artist" Lockheed Architect Workshop
Page 87: "Portrait of the developer as The Artist" Lockheed Architect Workshop
Page 88: "Portrait of the developer as The Artist" Lockheed Architect Workshop
Page 89: "Portrait of the developer as The Artist" Lockheed Architect Workshop
Page 90: "Portrait of the developer as The Artist" Lockheed Architect Workshop
Page 91: "Portrait of the developer as The Artist" Lockheed Architect Workshop
Page 92: "Portrait of the developer as The Artist" Lockheed Architect Workshop
Page 93: "Portrait of the developer as The Artist" Lockheed Architect Workshop
Page 94: "Portrait of the developer as The Artist" Lockheed Architect Workshop
Page 95: "Portrait of the developer as The Artist" Lockheed Architect Workshop
Page 96: "Portrait of the developer as The Artist" Lockheed Architect Workshop

The (Happy) End

Page 97: "Portrait of the developer as The Artist" Lockheed Architect Workshop

References

▪ Microsoft Windows Azure http://www.windowsazure.com/

▪ Mark Russinnovich Azure architecture talk http://channel9.msdn.com/Events/TechEd/NorthAmerica/2013/WAD-B402

▪ Scott Guthrie’s blog http://weblogs.asp.net/scottgu/

▪Netflix OSS presentations source http://www.slideshare.net/adrianco/netflixoss-meetup ▪ Google Research papers http://

research.google.com/pubs/papers.html ▪Amazon architecture site http://aws.amazon.com/

architecture/

36

Page 98: "Portrait of the developer as The Artist" Lockheed Architect Workshop

Lessons to build your cloud

▪ Google: Research papers • Horizontally scalable uniform infrastructure for common workloads • Set of managed Data services: SQL, Document, Graph • Hardware / Software interaction to innovate ▪ Microsoft: Cloud OS / Hybrid Cloud

• Unit of scale: process -> service, kernel -> fabric, server -> datacenter • Fabric to automate updates, monitoring ▪ Amazon: DevOps

• Pizza box teams building & operating service ▪ Netflix: Monkeys!

• Test and production lines blur: Monkeys, A/B Testing ▪ VMware/Pivotal: Open Source

• Open Source: vendor independence, sharing the load, recruit ▪ Docker: Portability ▪ IaaS/PaaS continuum, both useful, depends on needs ▪ Multi vendor, multi cloud, mix of proprietary & Open Source ▪ Industry Vertical / Sovereign / Geo clouds providers3

7

Page 99: "Portrait of the developer as The Artist" Lockheed Architect Workshop

Papers / Talks

▪Simon Wardley, Oscon 09 “Cloud - Why IT Matters” ▪ Tim O’Reilly article on internet os ▪Peter Deutsch’s 8 Fallacies of Distributed Computing ▪Brewer’s CAP Theorem ▪Gregor Hohpe’s Starbucks Does Not Use Two-Phase

Commit ▪Herb Sutter, Welcome to the Jungle

http://herbsutter.com/welcome-to-the-jungle/ ▪Stuff I tag http://www.delicious.com/chanezon/ ▪More specifically http://www.delicious.com/chanezon/

cloudfoundry ▪My previous Talks http://www.slideshare.net/chanezon ▪My list of favorite books

http://www.chanezon.com/pat/soft_books.html

38

Page 100: "Portrait of the developer as The Artist" Lockheed Architect Workshop

Books / Articles

▪ Nick Carr, The Big Switch ▪ Eric Raymond, The Art of Unix Programming ▪ Weinberg, Psychology of Computer Programming ▪ Wes python book ▪ Mark html5 book ▪ Kent Beck XP ▪Hunt, Thomas, The Pragmatic Programmer ▪Ade Oshineye, Apprenticeship Patterns ▪ Matt Cutt's Ignite Talk IO 2011, Trying different

things ▪ Josh Bloch talk about api design ▪ Larry and Sergey, Anatomy of a Search Engine ▪ Rob Pike, The Practice of Programming

39

Page 101: "Portrait of the developer as The Artist" Lockheed Architect Workshop

Trends

40

Industry Craft