Slide 1

Slide 1 text

Go Faster Fred George [email protected] @fgeorge52 Copyright © 2015 by Fred George. All rights reserved. 1

Slide 2

Slide 2 text

Fred George Copyright © 2015 by Fred George. All rights reserved. 2 • Technologist • Computer networks – 70’s • Token Ring LAN – 80’s • GUI’s – late 80’s • OO – late 80’s • Agile – late 90’s • MicroServices – mid-2000’s • Programmer • Since 1968 (Basic) • 65,000 hours experience • 70+ languages • Computer Science Degree 1973 • Manager • 17 years IBM • Business degree, MIT Sloan School 1986 • Product Owner, IBM • VP, ThoughtWorks • Co-founder, Outpace (Silicon Valley) • Senior Advisor to 3 tech companies

Slide 3

Slide 3 text

Fred George Copyright © 2015 by Fred George. All rights reserved. 3 Consulting Roles • Change Agent • Disruptor • “Hand grenade I am throwing into development” • CTO describing Fred to his Vice President

Slide 4

Slide 4 text

Industry “Hot” Topics Copyright © 2015 by Fred George. All rights reserved. 4 MicroServices Cloud Docker Dev/Ops Full-stack developer Agile Lean startup Cassandra Event bus MVP (minimum viable product Programmer anarchy No-SQL One Hacker Way

Slide 5

Slide 5 text

Why: Competition is coming Copyright © 2015 by Fred George. All rights reserved. 5 • Enablement through technologies • Cloud computing • Ubiquitous, high bandwidth • Languages (and supporting frameworks) • Recognition of business opportunities • Silicon Valley innovators as role models • Accelerating business needs • Few inhibitors for global competitors • Reduction of entry barriers for niche competitors • Micro-marketing to specific customer niches

Slide 6

Slide 6 text

Why: New Problem Domains: The Cynefin Framework Copyright © 2015 by Fred George. All rights reserved. 6 Simple Complicated Complex Chaotic Cause a Effect Cause aaa Effect Effect? Cause? Cause ? Effect Disorder

Slide 7

Slide 7 text

How Fast Can You Go? Copyright © 2015 by Fred George. All rights reserved. 7

Slide 8

Slide 8 text

Iteration Length in Agile Age Copyright © 2015 by Fred George. All rights reserved. 8 1 mo. 2015 2000 2005 2010 3 wks. 2 wks. 1 wk. 1 day XP XP XP XP SCRUM* *2-3 months

Slide 9

Slide 9 text

Project Delivery Cycles Copyright © 2015 by Fred George. All rights reserved. 9 5 yrs. 1980 1990 2000 1 mon. 1 week 1 day 2010 1 year Project Duration (log) Waterfall Waterfall Agile Agile A2 A2 Waterfall w OO

Slide 10

Slide 10 text

How Fast Can You Go? Copyright © 2015 by Fred George. All rights reserved. 10 Deployment to Production Every 3.5 minutes

Slide 11

Slide 11 text

Inhibitors Copyright © 2015 by Fred George. All rights reserved. 11

Slide 12

Slide 12 text

•Cloud exploitation •Specialized databases •New programming languages •Open source frameworks (users and creators) •Continuous releases “Valley Tech” Copyright © 2015 by Fred George. All rights reserved. 12

Slide 13

Slide 13 text

Hardware Lead Times Copyright © 2015 by Fred George. All rights reserved. 13 6 mo. 1990 1995 2005 30 min. 1 week 1 day 2015 1 mo. 2000 2010 5 min. 5 sec. Order lead times (log) Data Center Virtual Machines Docker Commercial Cloud Capacity planning? Dedicated ops team?

Slide 14

Slide 14 text

Copyright © 2015 by Fred George. All rights reserved. 14 10 1 1000 100 100,000 1 10 100 1000 10,000 Size (loc) Number of Services MicroServices Rails / Java Zone SOA Workshop Forward Netflix Services Impact

Slide 15

Slide 15 text

0MQ 0MQ 0MQ 0MQ 0MQ 0MQ Copyright © 2015 by Fred George. All rights reserved. 15 Kafka Service Emerging: Event Bus

Slide 16

Slide 16 text

New Architecture Patterns Copyright © 2015 by Fred George. All rights reserved. 16 Bus Service Service Service Need Need Need Sol’n’s Sol’n •Variants easy •Graceful degradation ChooseS ol’n

Slide 17

Slide 17 text

Incremental Applications Copyright © 2015 by Fred George. All rights reserved. 17 Event Bus Rental offers Car rent Legacy server Brand offers Location offers Segmentation Membership CarRent.com Login Sally A B

Slide 18

Slide 18 text

Databases: Holy Grail or Ball-and-Chain? • Fortune 100 view: • Entity-oriented; consistency essential • As few as possible • MicroService view: • Shift to Event Bus, plus • DB per MicroService (if persistence needed) • Poly-glot (various NoSQL, SQL) + event buses • Few (10%) writable; even fewer transactional Copyright © 2015 by Fred George. All rights reserved. 18

Slide 19

Slide 19 text

Copyright © 2015 by Fred George. All rights reserved. 19 Rental offers Car rent Legacy server Brand offers Location offers Segmentation Membership CarRent.com Login Sally A B Rental offers Event publishing Solution collecting 300ms responder Redis

Slide 20

Slide 20 text

Copyright © 2015 by Fred George. All rights reserved. 20 Rental offers Car rent Legacy server Brand offers Location offers Segmentation Membership CarRent.com Login Sally A B Membership enrichment ETL Key-value

Slide 21

Slide 21 text

Open Source: Netflix Copyright © 2015 by Fred George. All rights reserved. 21

Slide 22

Slide 22 text

Open Source: Docker Copyright © 2015 by Fred George. All rights reserved. 22

Slide 23

Slide 23 text

Disruptive Technology: Functional Languages Copyright © 2015 by Fred George. All rights reserved. 23 •Middleware exploiting: • Kafka written in Scala • RabbitMQ written in Erlang •Case study: MailOnline page rendering • Legacy system: 130K loc Java/JSP’s • Replacement: 4,000 loc Clojure

Slide 24

Slide 24 text

Mitigate Process Inhibitors Copyright © 2015 by Fred George. All rights reserved. 24

Slide 25

Slide 25 text

Understand Your Problem Copyright © 2015 by Fred George. All rights reserved. 25 Complex Simple Complicated Chaotic Cause a Effect Cause aaa Effect Effect? Cause? Cause ? Effect Disorder

Slide 26

Slide 26 text

Copyright © 2015 by Fred George. All rights reserved. 26 Requirements Trying ideas “Experimentation drives Innovation” New Vision of “What” to Build

Slide 27

Slide 27 text

Copyright © 2015 by Fred George. All rights reserved. 27 Task Story Feature Project Initiative Co-Credit: Greg Reiser, ThoughtWorks Re-think Interactions

Slide 28

Slide 28 text

• Bad metrics: • Lines of code • Development stages and milestones met •Business success metrics: • Sales, clicks, registrations, customer retention, etc. Measure What Matters Copyright © 2015 by Fred George. All rights reserved. 28

Slide 29

Slide 29 text

Mitigate Organization Inhibitors Copyright © 2015 by Fred George. All rights reserved. 29

Slide 30

Slide 30 text

Over-Specialization Copyright © 2015 by Fred George. All rights reserved. •Theory: • Specialist are more productive •Practice: • Overhead of communication is under-estimated • Unbalanced workload creates delays 30

Slide 31

Slide 31 text

Specialization Institutionalized with Titles Copyright © 2015 by Fred George. All rights reserved. 31 Case Study: •50 IT professionals •25+ titles •0 people understanding projects

Slide 32

Slide 32 text

Solution: Fix the Titles Copyright © 2015 by Fred George. All rights reserved. 32 Step 1: Define competence in key technologies Strategic Technologies • Ruby • Java • iOS • Android • DB (SQL and non-SQL) • Testing • OO Design • Node.js • HTML/CSS/JavaScript • …

Slide 33

Slide 33 text

New Titles for New Projects Copyright © 2015 by Fred George. All rights reserved. 33 Not competent in a key technology Competent in a key technology Expert in a key technology Competent in 5-7 key technologies Expert in 3-5 key technologies

Slide 34

Slide 34 text

“Fix the Furniture”* Copyright © 2015 by Fred George. All rights reserved. 34 *Kent Beck, XP Explained

Slide 35

Slide 35 text

Non-dedicated Leadership Copyright © 2015 by Fred George. All rights reserved. 35

Slide 36

Slide 36 text

Bring Work to the Team… Copyright © 2015 by Fred George. All rights reserved. 36 Not musical chairs for each small project

Slide 37

Slide 37 text

Summary Principles of MicroServices Copyright © 2015 by Fred George. All rights reserved. 37 • Very, very small • Team size of one to develop/maintain • Loosely coupled (including flow) • Multiple versions acceptable (encouraged?) • Self-monitoring of each service • Publish interesting “stuff” (w/o explicit requirements) • “Application” seems to be a poor conceptualization

Slide 38

Slide 38 text

New Architecture Paradigms Copyright © 2015 by Fred George. All rights reserved. 38

Slide 39

Slide 39 text

Copyright © 2015 by Fred George. All rights reserved. 39 MicroServices Cloud Docker Dev/Ops Full-stack developer Agile Lean startup Cassandra Event bus MVP (minimum viable product Programmer anarchy No-SQL Managerless process

Slide 40

Slide 40 text

Copyright © 2015 by Fred George. All rights reserved. 40 MicroServices Cloud Docker Dev/Ops Full-stack developer Agile Lean startup Cassandra Event bus MVP (minimum viable product Programmer anarchy No-SQL Managerless process

Slide 41

Slide 41 text

Project Delivery Cycles Copyright © 2015 by Fred George. All rights reserved. 41 NRK NRK 5 yrs. 1980 1990 2000 1 mon. 1 week 1 day 2010 1 year Project Duration (log) Waterfall Waterfall Agile Agile Waterfall w OO

Slide 42

Slide 42 text

Acknowledgements Copyright © 2015 by Fred George. All rights reserved. 42 •Neil Hutchinson – Founder of Forward • Adopting a “Fail Fast” culture •Carl Gaywood • Former programmer who wanted to Go Faster •Paul Ingles and Mike Jones • Implementers of “Experimentation drives innovation”

Slide 43

Slide 43 text

More Information… •Google: • MicroService Architecture for videos • MicroXchg 2015/6 conference and others • MicroServices Meetups in Berlin • Programmer Anarchy for managerless teams • Docker for latest container deployment Copyright © 2015 by Fred George. All rights reserved. 43

Slide 44

Slide 44 text

Go Faster Fred George [email protected] @fgeorge52 Copyright © 2015 by Fred George. All rights reserved. 44