microservices manchester: microservices and macro-economics - a shorty history by marco cullen
TRANSCRIPT
![Page 1: Microservices Manchester: Microservices and Macro-Economics - A Shorty History By Marco Cullen](https://reader031.vdocuments.us/reader031/viewer/2022030304/5876fd171a28abf3398b6943/html5/thumbnails/1.jpg)
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](https://reader031.vdocuments.us/reader031/viewer/2022030304/5876fd171a28abf3398b6943/html5/thumbnails/2.jpg)
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](https://reader031.vdocuments.us/reader031/viewer/2022030304/5876fd171a28abf3398b6943/html5/thumbnails/3.jpg)
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](https://reader031.vdocuments.us/reader031/viewer/2022030304/5876fd171a28abf3398b6943/html5/thumbnails/4.jpg)
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](https://reader031.vdocuments.us/reader031/viewer/2022030304/5876fd171a28abf3398b6943/html5/thumbnails/5.jpg)
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](https://reader031.vdocuments.us/reader031/viewer/2022030304/5876fd171a28abf3398b6943/html5/thumbnails/6.jpg)
2016MODULES!1976MICRO SERVICES!
WHAT HAVE WE LEARNT IN 40 YEARS?
![Page 7: Microservices Manchester: Microservices and Macro-Economics - A Shorty History By Marco Cullen](https://reader031.vdocuments.us/reader031/viewer/2022030304/5876fd171a28abf3398b6943/html5/thumbnails/7.jpg)
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](https://reader031.vdocuments.us/reader031/viewer/2022030304/5876fd171a28abf3398b6943/html5/thumbnails/8.jpg)
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](https://reader031.vdocuments.us/reader031/viewer/2022030304/5876fd171a28abf3398b6943/html5/thumbnails/9.jpg)
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](https://reader031.vdocuments.us/reader031/viewer/2022030304/5876fd171a28abf3398b6943/html5/thumbnails/10.jpg)
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](https://reader031.vdocuments.us/reader031/viewer/2022030304/5876fd171a28abf3398b6943/html5/thumbnails/11.jpg)
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](https://reader031.vdocuments.us/reader031/viewer/2022030304/5876fd171a28abf3398b6943/html5/thumbnails/12.jpg)
![Page 13: Microservices Manchester: Microservices and Macro-Economics - A Shorty History By Marco Cullen](https://reader031.vdocuments.us/reader031/viewer/2022030304/5876fd171a28abf3398b6943/html5/thumbnails/13.jpg)
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](https://reader031.vdocuments.us/reader031/viewer/2022030304/5876fd171a28abf3398b6943/html5/thumbnails/14.jpg)
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](https://reader031.vdocuments.us/reader031/viewer/2022030304/5876fd171a28abf3398b6943/html5/thumbnails/15.jpg)
ENSURING SUCCESSFROM HUTS TO HOUSES
![Page 16: Microservices Manchester: Microservices and Macro-Economics - A Shorty History By Marco Cullen](https://reader031.vdocuments.us/reader031/viewer/2022030304/5876fd171a28abf3398b6943/html5/thumbnails/16.jpg)
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](https://reader031.vdocuments.us/reader031/viewer/2022030304/5876fd171a28abf3398b6943/html5/thumbnails/17.jpg)
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](https://reader031.vdocuments.us/reader031/viewer/2022030304/5876fd171a28abf3398b6943/html5/thumbnails/18.jpg)
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](https://reader031.vdocuments.us/reader031/viewer/2022030304/5876fd171a28abf3398b6943/html5/thumbnails/19.jpg)
WHY CANT WE MAKE SOFTWARE LIKE WE MAKE HOUSES?
![Page 20: Microservices Manchester: Microservices and Macro-Economics - A Shorty History By Marco Cullen](https://reader031.vdocuments.us/reader031/viewer/2022030304/5876fd171a28abf3398b6943/html5/thumbnails/20.jpg)
…THERE WERE PROBLEMS
WE TRIED…….
![Page 21: Microservices Manchester: Microservices and Macro-Economics - A Shorty History By Marco Cullen](https://reader031.vdocuments.us/reader031/viewer/2022030304/5876fd171a28abf3398b6943/html5/thumbnails/21.jpg)
EVOLUTIONARY ARCHITECTUREITS MORE THAN JUST A HOUSE
![Page 22: Microservices Manchester: Microservices and Macro-Economics - A Shorty History By Marco Cullen](https://reader031.vdocuments.us/reader031/viewer/2022030304/5876fd171a28abf3398b6943/html5/thumbnails/22.jpg)
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](https://reader031.vdocuments.us/reader031/viewer/2022030304/5876fd171a28abf3398b6943/html5/thumbnails/23.jpg)
AND SCALEMICRO SERVICES, DESIGN
![Page 24: Microservices Manchester: Microservices and Macro-Economics - A Shorty History By Marco Cullen](https://reader031.vdocuments.us/reader031/viewer/2022030304/5876fd171a28abf3398b6943/html5/thumbnails/24.jpg)
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](https://reader031.vdocuments.us/reader031/viewer/2022030304/5876fd171a28abf3398b6943/html5/thumbnails/25.jpg)
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](https://reader031.vdocuments.us/reader031/viewer/2022030304/5876fd171a28abf3398b6943/html5/thumbnails/26.jpg)
HOW LONG IS A PIECE OF SPRINT
![Page 27: Microservices Manchester: Microservices and Macro-Economics - A Shorty History By Marco Cullen](https://reader031.vdocuments.us/reader031/viewer/2022030304/5876fd171a28abf3398b6943/html5/thumbnails/27.jpg)
ARE YOU USING DOCKER?
![Page 28: Microservices Manchester: Microservices and Macro-Economics - A Shorty History By Marco Cullen](https://reader031.vdocuments.us/reader031/viewer/2022030304/5876fd171a28abf3398b6943/html5/thumbnails/28.jpg)
WHAT’S A REAL MAN DAY?
![Page 29: Microservices Manchester: Microservices and Macro-Economics - A Shorty History By Marco Cullen](https://reader031.vdocuments.us/reader031/viewer/2022030304/5876fd171a28abf3398b6943/html5/thumbnails/29.jpg)
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](https://reader031.vdocuments.us/reader031/viewer/2022030304/5876fd171a28abf3398b6943/html5/thumbnails/30.jpg)
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](https://reader031.vdocuments.us/reader031/viewer/2022030304/5876fd171a28abf3398b6943/html5/thumbnails/31.jpg)
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](https://reader031.vdocuments.us/reader031/viewer/2022030304/5876fd171a28abf3398b6943/html5/thumbnails/32.jpg)
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](https://reader031.vdocuments.us/reader031/viewer/2022030304/5876fd171a28abf3398b6943/html5/thumbnails/33.jpg)
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](https://reader031.vdocuments.us/reader031/viewer/2022030304/5876fd171a28abf3398b6943/html5/thumbnails/34.jpg)
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](https://reader031.vdocuments.us/reader031/viewer/2022030304/5876fd171a28abf3398b6943/html5/thumbnails/35.jpg)
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](https://reader031.vdocuments.us/reader031/viewer/2022030304/5876fd171a28abf3398b6943/html5/thumbnails/36.jpg)
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](https://reader031.vdocuments.us/reader031/viewer/2022030304/5876fd171a28abf3398b6943/html5/thumbnails/37.jpg)
A MACRO IMPACTMICRO SERVICES
![Page 38: Microservices Manchester: Microservices and Macro-Economics - A Shorty History By Marco Cullen](https://reader031.vdocuments.us/reader031/viewer/2022030304/5876fd171a28abf3398b6943/html5/thumbnails/38.jpg)
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](https://reader031.vdocuments.us/reader031/viewer/2022030304/5876fd171a28abf3398b6943/html5/thumbnails/39.jpg)
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](https://reader031.vdocuments.us/reader031/viewer/2022030304/5876fd171a28abf3398b6943/html5/thumbnails/40.jpg)
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](https://reader031.vdocuments.us/reader031/viewer/2022030304/5876fd171a28abf3398b6943/html5/thumbnails/41.jpg)
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](https://reader031.vdocuments.us/reader031/viewer/2022030304/5876fd171a28abf3398b6943/html5/thumbnails/42.jpg)
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](https://reader031.vdocuments.us/reader031/viewer/2022030304/5876fd171a28abf3398b6943/html5/thumbnails/43.jpg)
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](https://reader031.vdocuments.us/reader031/viewer/2022030304/5876fd171a28abf3398b6943/html5/thumbnails/44.jpg)
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](https://reader031.vdocuments.us/reader031/viewer/2022030304/5876fd171a28abf3398b6943/html5/thumbnails/45.jpg)
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](https://reader031.vdocuments.us/reader031/viewer/2022030304/5876fd171a28abf3398b6943/html5/thumbnails/46.jpg)
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](https://reader031.vdocuments.us/reader031/viewer/2022030304/5876fd171a28abf3398b6943/html5/thumbnails/47.jpg)
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](https://reader031.vdocuments.us/reader031/viewer/2022030304/5876fd171a28abf3398b6943/html5/thumbnails/48.jpg)
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](https://reader031.vdocuments.us/reader031/viewer/2022030304/5876fd171a28abf3398b6943/html5/thumbnails/49.jpg)
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](https://reader031.vdocuments.us/reader031/viewer/2022030304/5876fd171a28abf3398b6943/html5/thumbnails/50.jpg)
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](https://reader031.vdocuments.us/reader031/viewer/2022030304/5876fd171a28abf3398b6943/html5/thumbnails/51.jpg)
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](https://reader031.vdocuments.us/reader031/viewer/2022030304/5876fd171a28abf3398b6943/html5/thumbnails/52.jpg)
A MACRO IMPACT ON YOUR BUSINESS ECONOMICS
MICRO SERVICES