52
MICRO SERVICES AND MACRO ECONOMICS - A SHORT HISTORY HOW DID WE GET HERE?

Microservices Manchester: Microservices and Macro-Economics - A Shorty History By Marco Cullen

Embed Size (px)

Citation preview

Page 1: Microservices Manchester: Microservices and Macro-Economics - A Shorty History By Marco Cullen

MICRO SERVICES AND MACRO ECONOMICS - A SHORT HISTORY

HOW DID WE GET HERE?

Page 2: Microservices Manchester: Microservices and Macro-Economics - A Shorty History By Marco Cullen

WHAT CAME BEFORE ..TO BUILD

THE HISTORY OF STRUCTURE

▸ “the quality of being organised"

Page 3: Microservices Manchester: Microservices and Macro-Economics - A Shorty History By Marco Cullen

WHAT CAME BEFORE ..TO BUILD

THE HISTORY OF STRUCTURE

▸ “the quality of being organised"

▸ Programming-in-the-large versus programming-in-the-small (Hans Kron and Frank DeRemer 1975)

Page 4: Microservices Manchester: Microservices and Macro-Economics - A Shorty History By Marco Cullen

WHAT CAME BEFORE ..TO BUILD

THE HISTORY OF STRUCTURE

▸ “the quality of being organised"

▸ Programming-in-the-large versus programming-in-the-small (Hans Kron and Frank DeRemer 1975)

▸ We distinguish the activity of writing large programs from that of writing small ones. By large programs we mean systems consisting of many small programs (“modules”) written by different people, possibly in different languages.

Page 5: Microservices Manchester: Microservices and Macro-Economics - A Shorty History By Marco Cullen

WHAT CAME BEFORE ..TO BUILD

THE HISTORY OF STRUCTURE

▸ “the quality of being organised"

▸ Programming-in-the-large versus programming-in-the-small (Hans Kron and Frank DeRemer 1975)

▸ We distinguish the activity of writing large programs from that of writing small ones. By large programs we mean systems consisting of many small programs (“modules”) written by different people, possibly in different languages.

▸ Module Interconnection language

Page 6: Microservices Manchester: Microservices and Macro-Economics - A Shorty History By Marco Cullen

2016MODULES!1976MICRO SERVICES!

WHAT HAVE WE LEARNT IN 40 YEARS?

Page 7: Microservices Manchester: Microservices and Macro-Economics - A Shorty History By Marco Cullen

COMPUTER ENGINEERING VS COMPUTER SCIENCE

▸ Definitions

▸ Computer science is the study of the principles and use of computers.

Page 8: Microservices Manchester: Microservices and Macro-Economics - A Shorty History By Marco Cullen

COMPUTER ENGINEERING VS COMPUTER SCIENCE

▸ Definitions

▸ Computer science is the study of the principles and use of computers.

▸ Computer engineering is a discipline that integrates several fields of electrical engineering and computer science required to develop computer hardware and software.

Page 9: Microservices Manchester: Microservices and Macro-Economics - A Shorty History By Marco Cullen

COMPUTER ENGINEERING VS COMPUTER SCIENCE

▸ Definitions

▸ Computer science is the study of the principles and use of computers.

▸ Computer engineering is a discipline that integrates several fields of electrical engineering and computer science required to develop computer hardware and software.

▸ Module Interaction Language

Page 10: Microservices Manchester: Microservices and Macro-Economics - A Shorty History By Marco Cullen

COMPUTER ENGINEERING VS COMPUTER SCIENCE

▸ Definitions

▸ Computer science is the study of the principles and use of computers.

▸ Computer engineering is a discipline that integrates several fields of electrical engineering and computer science required to develop computer hardware and software.

▸ Module Interaction Language

▸ Representational State Transfer application programming interface, RESTful API

Page 11: Microservices Manchester: Microservices and Macro-Economics - A Shorty History By Marco Cullen

THE NATURAL WAY OF THINGS - REWINDING THE TAPE OF SOFTWARE

▸ Copes rule

▸ “….over the past 542 million years, the mean size of marine animals has increased 150-fold.”

Jonathan Payne, a paleobiologist at Stanford School of Earth, Energy & Environmental Sciences

Page 12: Microservices Manchester: Microservices and Macro-Economics - A Shorty History By Marco Cullen
Page 13: Microservices Manchester: Microservices and Macro-Economics - A Shorty History By Marco Cullen

THE NATURAL WAY OF THINGS - REWINDING THE TAPE OF SOFTWARE

▸ Copes rule

▸ “….over the past 542 million years, the mean size of marine animals has increased 150-fold.”

▸ “For reasons that we don’t completely understand, the classes with large body size appear to be the ones that over time have become differentially more diverse.”

Jonathan Payne, a paleobiologist at Stanford School of Earth, Energy & Environmental Sciences

Page 14: Microservices Manchester: Microservices and Macro-Economics - A Shorty History By Marco Cullen

THE NATURAL WAY OF THINGS - REWINDING THE TAPE OF SOFTWARE

▸ Copes rule

▸ “….over the past 542 million years, the mean size of marine animals has increased 150-fold.”

▸ “For reasons that we don’t completely understand, the classes with large body size appear to be the ones that over time have become differentially more diverse.”

▸ “It’s really a story of the survival and diversification of big things relative to small things”

Jonathan Payne, a paleobiologist at Stanford School of Earth, Energy & Environmental Sciences

Page 15: Microservices Manchester: Microservices and Macro-Economics - A Shorty History By Marco Cullen

ENSURING SUCCESSFROM HUTS TO HOUSES

Page 16: Microservices Manchester: Microservices and Macro-Economics - A Shorty History By Marco Cullen

A LORD A FOREMAN AN ARTISAN

3 PROPERTIES THAT SUCCESSFUL PROJECTS OFTEN SHARE

▸ Person of authority

▸ Process

▸ Technical authorship through expertise and experience

Harvard Business School - ‘…Factors common to successful projects’

Page 17: Microservices Manchester: Microservices and Macro-Economics - A Shorty History By Marco Cullen

A LORD A FOREMAN AN ARTISAN

3 PROPERTIES THAT SUCCESSFUL PROJECTS OFTEN SHARE

▸ …. a project will not fail because of the type of tools used or the type of methodology employed

Harvard Business School - ‘…Factors common to successful projects’

Page 18: Microservices Manchester: Microservices and Macro-Economics - A Shorty History By Marco Cullen

A LORD A FOREMAN AN ARTISAN

3 PROPERTIES THAT SUCCESSFUL PROJECTS OFTEN SHARECitation Frequency

Clear requirements and specifications 60.5

Clear objectives and goals 55.8

Realistic schedule 53.5

Effective project management skills - PM 53.5

Support from top management 51.2

User/client involvement and feedback 46.5

Realistic budget 46.5

Skilled and sufficient staff 44.2

Frozen requirement 41.9

Critical success factors for software projects: A comparative study

Page 19: Microservices Manchester: Microservices and Macro-Economics - A Shorty History By Marco Cullen

WHY CANT WE MAKE SOFTWARE LIKE WE MAKE HOUSES?

Page 20: Microservices Manchester: Microservices and Macro-Economics - A Shorty History By Marco Cullen

…THERE WERE PROBLEMS

WE TRIED…….

Page 21: Microservices Manchester: Microservices and Macro-Economics - A Shorty History By Marco Cullen

EVOLUTIONARY ARCHITECTUREITS MORE THAN JUST A HOUSE

Page 22: Microservices Manchester: Microservices and Macro-Economics - A Shorty History By Marco Cullen

INSPIRATION FROM NATURE

▸ Cellular

▸ Iterative

▸ Specialised

▸ Bounded

▸ Obligated

DOMAIN DRIVEN

DESIGN

CONTRACT DRIVEN DESIGN

BOUNDED FUNCTIONAL CONTEXT

Page 23: Microservices Manchester: Microservices and Macro-Economics - A Shorty History By Marco Cullen

AND SCALEMICRO SERVICES, DESIGN

Page 24: Microservices Manchester: Microservices and Macro-Economics - A Shorty History By Marco Cullen

DESIGN DESIGN DESIGN.. HOW DOES MICRO SERVICES FIT IN?

▸ Service can be defined as

▸ domain bounded

▸ contract bounded

Page 25: Microservices Manchester: Microservices and Macro-Economics - A Shorty History By Marco Cullen

DESIGN DESIGN DESIGN.. HOW DOES MICRO SERVICES FIT IN?

▸ Service can be defined as

▸ domain bounded

▸ contract bounded

▸ This has desirable scaling properties relative to…

Page 26: Microservices Manchester: Microservices and Macro-Economics - A Shorty History By Marco Cullen

HOW LONG IS A PIECE OF SPRINT

Page 27: Microservices Manchester: Microservices and Macro-Economics - A Shorty History By Marco Cullen

ARE YOU USING DOCKER?

Page 28: Microservices Manchester: Microservices and Macro-Economics - A Shorty History By Marco Cullen

WHAT’S A REAL MAN DAY?

Page 29: Microservices Manchester: Microservices and Macro-Economics - A Shorty History By Marco Cullen

IS THAT MY SIZE? IT FITS PERFECTLY

▸ LOC output varies by 2 orders of magnitude

▸ a 1000 lines / dev-weak

▸ a 1000 lines / dev-year [Windows 95]

▸ There is a wide range of productivity between projects

▸ What influences or contributes to this?

▸ http://martinfowler.com/bliki/CannotMeasureProductivity.html

Page 30: Microservices Manchester: Microservices and Macro-Economics - A Shorty History By Marco Cullen

IS THAT MY SIZE? IT FITS PERFECTLY

▸ Why is productivity hard to measure

Page 31: Microservices Manchester: Microservices and Macro-Economics - A Shorty History By Marco Cullen

IS THAT MY SIZE? IT FITS PERFECTLY

▸ Why is productivity hard to measure

▸ There is no definition that captures holistically the value in a way that is both relevant to the client and to the business.

Page 32: Microservices Manchester: Microservices and Macro-Economics - A Shorty History By Marco Cullen

IS THAT MY SIZE? IT FITS PERFECTLY

▸ Why is productivity hard to measure

▸ There is no definition that captures holistically the value in a way that is both relevant to the client and to the business.

▸ People agree functionality points are quite good but they don’t relate the value of what was delivered to the business with a view to future work, i.e. was their duplication, can we re-use?

Page 33: Microservices Manchester: Microservices and Macro-Economics - A Shorty History By Marco Cullen

IS THAT MY SIZE? IT FITS PERFECTLY

▸ Why is productivity hard to measure

▸ There is no definition that captures holistically the value in a way that is both relevant to the client and to the business.

▸ People agree functionality points are quite good but they don’t relate the value of what was delivered to the business with a view to future work, i.e. was their duplication, can we re-use?

▸ Lets focus on process and maybe we get productivity?

Page 34: Microservices Manchester: Microservices and Macro-Economics - A Shorty History By Marco Cullen

INSPIRATION FROM NATURE

▸ Cellular

▸ Iterative

▸ Specialised

▸ Bounded

▸ Obligated

DOMAIN DRIVEN

DESIGN

CONTRACT DRIVEN DESIGN

BOUNDED FUNCTIONAL CONTEXT

Page 35: Microservices Manchester: Microservices and Macro-Economics - A Shorty History By Marco Cullen

WHO KNOWS WHAT

▸ I know what i know, but not what he knows

▸ Heterogeneous structures require specialisation

▸ Different components evolve at different speeds

▸ How do we on board and off board specialist knowledge?

▸ Do i have to know what he knows to do what i know?

Page 36: Microservices Manchester: Microservices and Macro-Economics - A Shorty History By Marco Cullen

INSPIRATION FROM NATURE

▸ Cellular

▸ Iterative

▸ Specialised

▸ Bounded

▸ Obligated

DOMAIN DRIVEN

DESIGN

CONTRACT DRIVEN DESIGN

BOUNDED FUNCTIONAL CONTEXT

Page 37: Microservices Manchester: Microservices and Macro-Economics - A Shorty History By Marco Cullen

A MACRO IMPACTMICRO SERVICES

Page 38: Microservices Manchester: Microservices and Macro-Economics - A Shorty History By Marco Cullen

WHATS AFFECTED

▸ Business interaction modalities

▸ daily routines - scrum, standup

▸ time and length of interactions

▸ Processes and benchmarks

▸ New processes to deliver functioning software at a high rate of mutation - Dev/Ops

▸ New automated methods for ensuring adherence to function - Acc. Tests

▸ Integration - CI/CD

▸ New metrics - performance testing* ——- SLA

Page 39: Microservices Manchester: Microservices and Macro-Economics - A Shorty History By Marco Cullen

A MORE NATURAL WAY TO THINK ORGANISE AND DELIVER

MICRO SERVICES

Page 40: Microservices Manchester: Microservices and Macro-Economics - A Shorty History By Marco Cullen

WHAT IS AFFECTED

▸ ..running a micro services project results in various outcomes which implicitly help project management and thus the path to delivery

▸ Repeatable processes and thus a repeatable product

Page 41: Microservices Manchester: Microservices and Macro-Economics - A Shorty History By Marco Cullen

WHAT IS AFFECTED

▸ ..running a micro services project results in various outcomes which implicitly help project management and thus the path to delivery

▸ Repeatable processes and thus a repeatable product

▸ Well defined areas of responsibility, knowledge and accountability

Page 42: Microservices Manchester: Microservices and Macro-Economics - A Shorty History By Marco Cullen

WHAT IS AFFECTED

▸ ..running a micro services project results in various outcomes which implicitly help project management and thus the path to delivery

▸ Repeatable processes and thus a repeatable product

▸ Well defined areas of responsibility, knowledge and accountability

▸ A clear set of interaction modalities between all parties including the software and people alike!

Page 43: Microservices Manchester: Microservices and Macro-Economics - A Shorty History By Marco Cullen

WHATS NOT AFFECTED

▸ … so If my project is a micro services project, it WILL succeed?

▸ methodology and tooling not highly correlated with success.

Page 44: Microservices Manchester: Microservices and Macro-Economics - A Shorty History By Marco Cullen

A LORD A FOREMAN AN ARTISAN

3 PROPERTIES THAT SUCCESSFUL PROJECTS OFTEN SHARECitation Frequency

Clear requirements and specifications 60.5

Clear objectives and goals 55.8

Realistic schedule 53.5

Effective project management skills - PM 53.5

Support from top management 51.2

User/client involvement and feedback 46.5

Realistic budget 46.5

Skilled and sufficient staff 44.2

Frozen requirement 41.9

Critical success factors for software projects: A comparative study

Page 45: Microservices Manchester: Microservices and Macro-Economics - A Shorty History By Marco Cullen

WHATS NOT AFFECTED

▸ … so If my project is a micro services project, it WILL succeed?

▸ methodology and tooling not highly correlated with success.

▸ ……they are however strongly correlated with cost*

Page 46: Microservices Manchester: Microservices and Macro-Economics - A Shorty History By Marco Cullen

WHATS NOT AFFECTED

▸ … so If my project is a micro services project, it WILL succeed?

▸ methodology and tooling not highly correlated with success.

▸ ……they are however strongly correlated with cost*

▸ …but my operational overheads are higher now and i have duplication of effort, how do i end up saving on cost?

Page 47: Microservices Manchester: Microservices and Macro-Economics - A Shorty History By Marco Cullen

WHATS IS AFFECTED - THE MACRO OF MICRO

▸ Where are my costs reduced

▸ Reduction in cost to requirements change

▸ changes are often bounded, reducing complexity

▸ cross cutting changes are more easily decomposed

▸ Late changes cost less - a major contributor to cost and one of the top 10 reasons related to project success.

Page 48: Microservices Manchester: Microservices and Macro-Economics - A Shorty History By Marco Cullen

WHATS IS AFFECTED

▸ Where are my costs reduced

▸ Organisationally now we can deal with a high rate of mutation

▸ Able to change direction with lesser cost impact relative to more traditional monolithic structures.

▸ Synergises at scale with Agile, containerisation and established developer working and hiring patterns.

WHATS IS AFFECTED - THE MACRO OF MICRO

Page 49: Microservices Manchester: Microservices and Macro-Economics - A Shorty History By Marco Cullen

WHATS IS AFFECTED

▸ Where are my costs reduced

▸ Working software is one of the best ways to measure progress.

WHATS IS AFFECTED - THE MACRO OF MICRO

School of Computer Science and software Engineering - The University of Western Australia 2012

Page 50: Microservices Manchester: Microservices and Macro-Economics - A Shorty History By Marco Cullen

WHATS IS AFFECTED

▸ Where are my costs reduced

▸ Working software is one of the best ways to measure progress

▸ Working software vs effort is 1 measure of productivity

WHATS IS AFFECTED - THE MACRO OF MICRO

School of Computer Science and software Engineering - The University of Western Australia 2012

Page 51: Microservices Manchester: Microservices and Macro-Economics - A Shorty History By Marco Cullen

WHATS IS AFFECTED

▸ Where are my costs reduced

▸ Working software is one of the best ways to measure progress

▸ Working software vs effort is 1 measure of productivity

▸ Micro Services results in working code deployed sooner than more traditionally linear approaches to product development.

WHATS IS AFFECTED - THE MACRO OF MICRO

School of Computer Science and software Engineering - The University of Western Australia 2012

Page 52: Microservices Manchester: Microservices and Macro-Economics - A Shorty History By Marco Cullen

A MACRO IMPACT ON YOUR BUSINESS ECONOMICS

MICRO SERVICES