Life after microservices
Shifting the boundaries

Uwe Friedrichsen – codecentric AG – 2014-2018
Uwe Friedrichsen

IT traveller.
Dot Connector.
Cartographer of uncharted territory.
Keeper of timeless wisdom.
CTO and Fellow at codecentric.

https://www.slideshare.net/ufried
https://medium.com/@ufried
 @ufried
So, you are doing microservices
Yeah!
And you are doing Docker
Yeah!
And you are doing Kubernetes
Yeah!
And you are doing
<insert your service mesh here>
Yeah!
And you are doing
<insert your log solution here>
Yeah!
And you are doing
<insert your monitoring solution here>
Yeah!
And you are doing
<insert your tracing solution here>
Yeah!
You mastered it! You feel great!
You feel prepared for the future!
Yeah!
Really?
Are you prepared?
Eh, what?
Why do
you ask?
Well, let us talk about the future ...
... but first let us understand where we are
Understanding IT

A complex structure observed from multiple viewpoints
Viewpoint #1

Market evolution
Formal part of
value creation
Solution:
machine
Dynamic part
of value
creation
Solution: man
sluggishness/low dynamic high dynamichigh dynamic
The historical course of market dynamics
and the recent rise of highly dynamic and complex markets
The dominance of high dynamics and complexity is neither good nor bad. It‘s a historical fact.
t1970/80 today
Age of
crafts manu-
facturing
Age of
tayloristic
industry
Age of
global
markets
1850/1900
Spacious markets,
little competition
Local markets,
high customi-
zation
Outperformers exercise
market pressure over
conventional companies
We call the graph shown here the “Taylor Bathtub”.
The “bathtub” curve
Source: BetaCodex Network Associates, “Organize for complexity”, BetaCodex Network White Paper 12 & 13
Formal part of
value creation
Solution:
machine
Dynamic part
of value
creation
Solution: man
sluggishness/low dynamic high dynamichigh dynamic
The historical course of market dynamics
and the recent rise of highly dynamic and complex markets
The dominance of high dynamics and complexity is neither good nor bad. It‘s a historical fact.
t1970/80 today
Age of
crafts manu-
facturing
Age of
tayloristic
industry
Age of
global
markets
1850/1900
Spacious markets,
little competition
Local markets,
high customi-
zation
Outperformers exercise
market pressure over
conventional companies
We call the graph shown here the “Taylor Bathtub”.
Pre-industrial era
Source: BetaCodex Network Associates, “Organize for complexity”, BetaCodex Network White Paper 12 & 13
Tailor-made
solutions
Mastery
is key to success
Formal part of
value creation
Solution:
machine
Dynamic part
of value
creation
Solution: man
sluggishness/low dynamic high dynamichigh dynamic
The historical course of market dynamics
and the recent rise of highly dynamic and complex markets
The dominance of high dynamics and complexity is neither good nor bad. It‘s a historical fact.
t1970/80 today
Age of
crafts manu-
facturing
Age of
tayloristic
industry
Age of
global
markets
1850/1900
Spacious markets,
little competition
Local markets,
high customi-
zation
Outperformers exercise
market pressure over
conventional companies
We call the graph shown here the “Taylor Bathtub”.
Industrial era
Source: BetaCodex Network Associates, “Organize for complexity”, BetaCodex Network White Paper 12 & 13
Cost-efficiently
scale production
Getting more done with less people
is key to success
Formal part of
value creation
Solution:
machine
Dynamic part
of value
creation
Solution: man
sluggishness/low dynamic high dynamichigh dynamic
The historical course of market dynamics
and the recent rise of highly dynamic and complex markets
The dominance of high dynamics and complexity is neither good nor bad. It‘s a historical fact.
t1970/80 today
Age of
crafts manu-
facturing
Age of
tayloristic
industry
Age of
global
markets
1850/1900
Spacious markets,
little competition
Local markets,
high customi-
zation
Outperformers exercise
market pressure over
conventional companies
We call the graph shown here the “Taylor Bathtub”.
Post-industrial era
Source: BetaCodex Network Associates, “Organize for complexity”, BetaCodex Network White Paper 12 & 13
Continuously respond
to changing demands
Continuous market adaption
is key to success
Key drivers




Pre-industrial era
•  No clear driver





Industrial era
•  Cost-efficiency
•  Scalability
•  Repeatability
•  Stability
•  Efficiency & scale





Post-industrial era
•  Cycle times
•  Adaptability
•  Flexibility
•  Resilience
•  Effectiveness & speed
Viewpoint #2

IT evolution
1960
 1970
 1980
 1990
 2000
 2010
 2020
Complicated

(Business functions)
Complex

(Business processes)
Highly complex

(Business nervous system)
Software crisis
Software engineering
PC
LAN
Internet
Business
Support
of IT
Selective
Holistic
Complicated
Complex
“Moore’s law”
Mobile
IoT
IT has changed a lot over the decades ...
1960
 1970
 1980
 1990
 2000
 2010
 2020
Complicated

(Business functions)
Complex

(Business processes)
Highly complex

(Business nervous system)
Software crisis
PC
LAN
Internet
Business
Support
of IT
Selective
Holistic
Complicated
Complex
“Moore’s law”
Mobile
IoT
Software engineering
... but still we strive to
control our IT of today ...
... based on the concepts
we developed for an IT
almost 50 years ago
Formal part of
value creation
Solution:
machine
Dynamic part
of value
creation
Solution: man
sluggishness/low dynamic high dynamichigh dynamic
The historical course of market dynamics
and the recent rise of highly dynamic and complex markets
The dominance of high dynamics and complexity is neither good nor bad. It‘s a historical fact.
t1970/80 today
Age of
crafts manu-
facturing
Age of
tayloristic
industry
Age of
global
markets
1850/1900
Spacious markets,
little competition
Local markets,
high customi-
zation
Outperformers exercise
market pressure over
conventional companies
We call the graph shown here the “Taylor Bathtub”.
Remember the “bathtub” curve?
Source: BetaCodex Network Associates, “Organize for complexity”, BetaCodex Network White Paper 12 & 13
1960
 1970
 1980
 1990
 2000
 2010
 2020
Complicated

(Business functions)
Complex

(Business processes)
Highly complex

(Business nervous system)
Software crisis
Software engineering
PC
LAN
Internet
Business
Support
of IT
Selective
Holistic
Complicated
Complex
“Moore’s law”
Mobile
IoT
Also the business we
support with IT today ...
... is very different from
the business we
supported back then
What is the role of IT today?
IT today is ...


•  ... the nervous system of the business
•  ... an enabler of (disruptive) new business models
•  ... an integral part of the business model (“digitization”)
•  ... the medium for the continuous customer communication
Viewpoint #3

Technology evolution
Disruptive technologies
1950
 1960
 1970
 1980
 1990
 2000
 2010
 2020
Mainframe
Transistor
Multitasking
UNIX
Server
Personal
Computer
Notebook
Disruptive technologies
Assembly
language
1950
 1960
 1970
 1980
 1990
 2000
 2010
 2020
Mainframe
Transistor
Multitasking
High-level
language

Algol
Lisp
Simula
Cobol
UNIX
Server
Personal
Computer
Standard
Software
OSS
Notebook
Disruptive technologies
Assembly
language
1950
 1960
 1970
 1980
 1990
 2000
 2010
 2020
Mainframe
Transistor
Multitasking
High-level
language

Algol
Lisp
Simula
Cobol
UNIX
Server
LAN
Personal
Computer
Standard
Software
OSS
WWW
Notebook
Mobile
networks
(3G+)
Wi-Fi
Modem

9600+ Baud
Disruptive technologies
Assembly
language
1950
 1960
 1970
 1980
 1990
 2000
 2010
 2020
Mainframe
Transistor
Multitasking
High-level
language

Algol
Lisp
Simula
Cobol
UNIX
Server
LAN
Personal
Computer
Standard
Software
OSS
WWW
Notebook
Smartphone
Mobile
networks
(3G+)
Tablet
Wi-Fi
Modem

9600+ Baud
Disruptive technologies
Assembly
language
1950
 1960
 1970
 1980
 1990
 2000
 2010
 2020
Mainframe
Transistor
Multitasking
High-level
language

Algol
Lisp
Simula
Cobol
UNIX
Server
LAN
Personal
Computer
Standard
Software
OSS
WWW
Notebook
Smartphone
Cloud
Mobile
networks
(3G+)
Big Data
Tablet
Wi-Fi
SaaS
Serverless

FaaS +
Managed
services
Modem

9600+ Baud
Disruptive technologies
Assembly
language
1950
 1960
 1970
 1980
 1990
 2000
 2010
 2020
Mainframe
Transistor
Multitasking
High-level
language

Algol
Lisp
Simula
Cobol
UNIX
Server
LAN
Personal
Computer
Standard
Software
OSS
WWW
Notebook
Smartphone
Cloud
Mobile
networks
(3G+)
Big Data
Tablet
Wi-Fi
SaaS
Serverless

FaaS +
Managed
services
PLC
Industrial
PC
 OPC UA
 IoT
Modem

9600+ Baud
Disruptive technologies
Assembly
language
1950
 1960
 1970
 1980
 1990
 2000
 2010
 2020
Mainframe
Transistor
Multitasking
High-level
language

Algol
Lisp
Simula
Cobol
UNIX
Server
LAN
Personal
Computer
Standard
Software
OSS
WWW
Notebook
Smartphone
Cloud
Mobile
networks
(3G+)
Big Data
Tablet
Wi-Fi
SaaS
Serverless

FaaS +
Managed
services
PLC
Industrial
PC
 OPC UA
 IoT
Modem

9600+ Baud
Viewpoint #4

Programming model evolution
Programming models
DIY

Do It yourself
Web applications
Enterprise Frameworks

CORBA, SOA, JEE, .net, ...
IoT
Serverless

FaaS +
Managed
services
Cloud native
Microservices
?
Libraries &
Frameworks
Embedded computing
Standard software
customization
HPC

High Performance Computing
Local computing paradigm
Distributed computing paradigm
Where do we need microservices?
Key drivers




Pre-industrial era
•  No clear driver





Industrial era
•  Cost-efficiency
•  Scalability
•  Repeatability
•  Stability
•  Efficiency & scale





Post-industrial era
•  Cycle times
•  Adaptability
•  Flexibility
•  Resilience
•  Effectiveness & speed
1960
 1970
 1980
 1990
 2000
 2010
 2020
Complicated

(Business functions)
Complex

(Business processes)
Highly complex

(Business nervous system)
Software crisis
Software engineering
PC
LAN
Internet
Business
Support
of IT
Selective
Holistic
Complicated
Complex
“Moore’s law”
Mobile
IoT
Programming models
DIY

Do It yourself
Web applications
Enterprise Frameworks

CORBA, SOA, JEE, .net, ...
IoT
Serverless

FaaS +
Managed
services
Cloud native
Microservices
?
Libraries &
Frameworks
Embedded computing
Standard software
customization
HPC

High Performance Computing
Local computing paradigm
Distributed computing paradigm
Another, related point of view
Taking this “magic triangle” ...
Good
Fast
 Cheap
Optimizing for quality and cycle times
will result in higher costs
Optimizing for quality and costs
will result in long cycle times
Optimizing for cycle times and costs
will result in reduced quality
... will lead you to this model
You may pick
two
Good
Fast
 Cheap
Industrial IT

Deliver large batches at minimized
costs towards slow markets
Post-industrial IT

Quickly adapt to ever-changing needs
of dynamic, fast-moving markets
Startup IT

Test hypotheses and pivot as fast as
possible to discover a product-market fit
You may pick
two
Good
Fast
 Cheap
Industrial IT

Deliver large batches at minimized
costs towards slow markets
Post-industrial IT

Quickly adapt to ever-changing needs
of dynamic, fast-moving markets
Startup IT

Test hypotheses and pivot as fast as
possible to discover a product-market fit
Where do we go from here?
Understanding current IT trends

Complementing the picture
Meta-Trend #1

Digitization (whatever that means ...)
Digitization (Definition)


•  Blurry and misleading term – yet an important change driver
•  Response to market demands and technology evolution
•  Core: IT becomes integral part of business offerings
•  Consequence: Cross-domain boundaries start to dissolve
and leverage – currently still unknown – business models
Digitization (Effect)

•  Uncertainty regarding business model viability
•  Effect: Short iterations, pervasive metrics (incl. measuring
outcome), A/B testing, smart rollout strategies, ...
•  Dissolving domain boundaries
•  Effect: API, platforms, ...
•  Adaption of persistent requirements to a new context
•  Effect: Poor connectivity as a constraint, re-thinking
accessibility, “developer experience” on the API level, ...
Meta-Trend #2

Customer expectations
Customer expectations

•  Great user experience (UX)
•  Fast response times
•  Multi-device capabilities
•  Zero downtime
•  Strong Security (regarding data privacy)
•  Adapts to customer’s needs and demands
Resulting IT trends
Moving fast

•  Minimize cycle times to accelerate the feedback loop
•  Response to business model uncertainty
•  Goal is to minimize idle and value-reducing performances
•  Massive paradigm shift (“Re-thinking IT”)

That is what DevOps actually is about!
Focus on frontends


•  The battle for customers gets decided in the frontend
•  Backends just need to work and must not get in the way
•  UX and UI design become key differentiators
•  Backend becomes commodity
•  Bear all types of frontends in mind (incl. IoT, API, ...)
Cloud-native and serverless

•  Reduce vertical integration depth
•  Focus on value-creating IT performance to move faster
•  Newest incarnation of “make or buy”
•  Managed services as successor of standard software
•  FaaS to orchestrate managed services
•  Managed container and batch jobs for deep business logic
Ambient computing

•  Shift towards human-centered user interfaces
•  Complemented by context-aware computing & UIs
•  “Mobile first” is just a transitional step
•  New types of human-machine interaction
•  Voice, gestures, tactile, ...
•  Augmented by AR & VR interface capabilities
InfoSec

•  Indispensable supplement for most needed technologies
•  Cloud
•  Wireless
•  IoT
•  Mobile
•  ...
•  Must be an integral part of all stages of the IT value chain
IT enabled trends
IT enabled trends

Artificial intelligence / deep learning
Internet of Things (including industry 4.0)
Maker movement (including 3D printing)
Blockchain
•  Currently hyped topics with disruptive potential
•  Actual future impact not yet clearly foreseeable
What does this mean for microservices?
Microservices as a transitional step

•  Important architectural support step towards moving fast
•  Yet, really hard to master
•  Understanding effects of distributed systems is hard
•  Supporting increased production needs is hard
•  Mastering additional deployment and production tools is hard
•  Often overstrained the people involved
•  Promise of going a lot faster often not met
•  Instead created a new development and production hell
à Need to reduce intellectual load without slowing down
Reducing intellectual load
•  Going serverless
•  Infrastructure as managed services
•  Deployment and production tools as managed services
•  Most business logic as managed services
(or be moved to the frontend)
•  Orchestration of managed services via FaaS
•  Few remaining self-programmed (micro)services,
run as managed containers
à Reduced vertical integration depth while going faster
Consequences of going serverless

•  Implementing and operating the infrastructure, deployment
and production tools will become irrelevant
•  Knowing the managed service offerings will become crucial
•  Understanding the underlying concepts will still be important
•  Backend development overall will become less relevant
•  Frontend development (incl. ambient) will become essential

à Microservices will mostly dissolve into serverless over time
What does this mean for me?
Staying ahead of the curve

Some recommendations augmenting your path ahead
Go frontend ...

•  Learn JavaScript – really!
•  Embrace the concepts of UX and UI design
•  Understand CSS at least a bit
•  Start picking up the concepts of ambient computing
•  Voice-based UI, Video-based UI, AR, VR, etc.
... or go serverless ...

•  Understand and learn what “cloud” means today!
•  Understand the concepts of “serverless”
•  Know the relevant managed service offerings (BaaS/SaaS)
•  Automate everything using managed services
•  Understand operation needs (especially monitoring) ...
•  ... and what existing solutions (managed services) offer
•  Abandon DIY and NIH
•  Actively reduce vertical integration depth
... or try a different direction

•  Smart Data & AI (incl. deep learning)
•  Will heavily shape future decision making processes
•  Be prepared to refresh your math
•  Smart Devices
•  Fast and wild evolution at the moment
•  Lots of exciting challenges – and lots of grassroots coding ;)
•  InfoSec
•  Needed everywhere – yet treated often like an unloved chore
•  Must become an integral part of development and operations
Any helpful recommendations besides
the pure microservices part?
Understand post-industrial markets
•  Speed trumps perfection – Rethink everything!
•  Really, really understand the implications of uncertainty!
•  Understand the difference between output and outcome
•  Understand the ideas of bets and options
•  Dismiss cargo-cult agility – learn what “Agile” really means
•  It is a revolution in your head!
•  But it should be an evolution regarding implementation
•  Otherwise you will certainly overstrain your organization
Cross-functional teams
(organized by business capabilities)
Autonomy
(incl. E2E responsibility)
Decentralized control
Microservices
Continuous Delivery
Heterogeneity
 Cloud and Containers
Resilience
Operations automation
Craftsmanship & mastery
Outcome-driven
Beyond budgeting
Feature flow
Lean EAM
Continuous improvement
T-Shaped people
(being empathic)
DevOps
Quick feedback loops
Curiosity
Master the timeless wisdom

•  Especially master the foundations of good design
•  “Loose coupling, high cohesion” & “separation of concerns”
•  “Information hiding” especially with respect to API
•  Domain-driven design can be a useful starting point
•  Good design skills are more relevant than ever
•  Affect understandability, changeability and extensibility
•  Affect usability, stability and acceptance at API level
•  Affect robustness, availability and scalability at runtime
“I would advise students to pay more attention to the
fundamental ideas rather than the latest technology.

The technology will be out-of-date before they graduate.
Fundamental ideas never get out of date.”



-- David L. Parnas (http://www.sigsoft.org/SEN/parnas.html)
Become T-shaped

•  Generalists trump specialists
•  Pure subject matter experts are an industrial concept
•  Collaboration requires understanding your collaborators
•  Leave your comfort zone once in a while
•  Still, have your area of expertise
•  Deep knowledge is still needed – but in a inclusive way
•  Understand the business domain
•  This is what turns you into a “ten times developer”
Embrace distributed systems

“(Almost) every system is a distributed system” -- Chas Emerick
“Everything fails, all the time” -- Werner Vogels

•  Understand the non-determinism of distributed systems
•  “Memory, guesses and apologies” & promise theory
•  Understand that infrastructure cannot guarantee robustness
•  Understand what distributed system really mean!
Wrap-up
Wrap-up

•  Post-industrialism as driver for moving fast
•  Microservices as backing, but challenging architectural style
•  Serverless as the next consistent evolutionary step
•  Frontends become crucial
•  Backends become commodity
•  Timeless design wisdom is more relevant than ever
•  Data/AI, IoT and InfoSec as alternative directions
The only constant is change
An exciting future lies ahead of us ...
... let us shape it together!
Timeless wisdom never goes out of style
Uwe Friedrichsen

IT traveller.
Connecting the dots.
Attracted by uncharted territory.
CTO at codecentric.

https://www.slideshare.net/ufried
https://medium.com/@ufried
 @ufried

Life after microservices

  • 1.
    Life after microservices Shiftingthe boundaries Uwe Friedrichsen – codecentric AG – 2014-2018
  • 2.
    Uwe Friedrichsen IT traveller. DotConnector. Cartographer of uncharted territory. Keeper of timeless wisdom. CTO and Fellow at codecentric. https://www.slideshare.net/ufried https://medium.com/@ufried @ufried
  • 3.
    So, you aredoing microservices
  • 4.
  • 5.
    And you aredoing Docker
  • 6.
  • 7.
    And you aredoing Kubernetes
  • 8.
  • 9.
    And you aredoing <insert your service mesh here>
  • 10.
  • 11.
    And you aredoing <insert your log solution here>
  • 12.
  • 13.
    And you aredoing <insert your monitoring solution here>
  • 14.
  • 15.
    And you aredoing <insert your tracing solution here>
  • 16.
  • 17.
    You mastered it!You feel great! You feel prepared for the future!
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
    Well, let ustalk about the future ...
  • 23.
    ... but firstlet us understand where we are
  • 24.
    Understanding IT A complexstructure observed from multiple viewpoints
  • 25.
  • 26.
    Formal part of valuecreation Solution: machine Dynamic part of value creation Solution: man sluggishness/low dynamic high dynamichigh dynamic The historical course of market dynamics and the recent rise of highly dynamic and complex markets The dominance of high dynamics and complexity is neither good nor bad. It‘s a historical fact. t1970/80 today Age of crafts manu- facturing Age of tayloristic industry Age of global markets 1850/1900 Spacious markets, little competition Local markets, high customi- zation Outperformers exercise market pressure over conventional companies We call the graph shown here the “Taylor Bathtub”. The “bathtub” curve Source: BetaCodex Network Associates, “Organize for complexity”, BetaCodex Network White Paper 12 & 13
  • 27.
    Formal part of valuecreation Solution: machine Dynamic part of value creation Solution: man sluggishness/low dynamic high dynamichigh dynamic The historical course of market dynamics and the recent rise of highly dynamic and complex markets The dominance of high dynamics and complexity is neither good nor bad. It‘s a historical fact. t1970/80 today Age of crafts manu- facturing Age of tayloristic industry Age of global markets 1850/1900 Spacious markets, little competition Local markets, high customi- zation Outperformers exercise market pressure over conventional companies We call the graph shown here the “Taylor Bathtub”. Pre-industrial era Source: BetaCodex Network Associates, “Organize for complexity”, BetaCodex Network White Paper 12 & 13 Tailor-made solutions Mastery is key to success
  • 28.
    Formal part of valuecreation Solution: machine Dynamic part of value creation Solution: man sluggishness/low dynamic high dynamichigh dynamic The historical course of market dynamics and the recent rise of highly dynamic and complex markets The dominance of high dynamics and complexity is neither good nor bad. It‘s a historical fact. t1970/80 today Age of crafts manu- facturing Age of tayloristic industry Age of global markets 1850/1900 Spacious markets, little competition Local markets, high customi- zation Outperformers exercise market pressure over conventional companies We call the graph shown here the “Taylor Bathtub”. Industrial era Source: BetaCodex Network Associates, “Organize for complexity”, BetaCodex Network White Paper 12 & 13 Cost-efficiently scale production Getting more done with less people is key to success
  • 29.
    Formal part of valuecreation Solution: machine Dynamic part of value creation Solution: man sluggishness/low dynamic high dynamichigh dynamic The historical course of market dynamics and the recent rise of highly dynamic and complex markets The dominance of high dynamics and complexity is neither good nor bad. It‘s a historical fact. t1970/80 today Age of crafts manu- facturing Age of tayloristic industry Age of global markets 1850/1900 Spacious markets, little competition Local markets, high customi- zation Outperformers exercise market pressure over conventional companies We call the graph shown here the “Taylor Bathtub”. Post-industrial era Source: BetaCodex Network Associates, “Organize for complexity”, BetaCodex Network White Paper 12 & 13 Continuously respond to changing demands Continuous market adaption is key to success
  • 30.
    Key drivers Pre-industrial era • No clear driver Industrial era •  Cost-efficiency •  Scalability •  Repeatability •  Stability •  Efficiency & scale Post-industrial era •  Cycle times •  Adaptability •  Flexibility •  Resilience •  Effectiveness & speed
  • 31.
  • 32.
    1960 1970 1980 1990 2000 2010 2020 Complicated (Business functions) Complex (Business processes) Highly complex (Business nervous system) Software crisis Software engineering PC LAN Internet Business Support of IT Selective Holistic Complicated Complex “Moore’s law” Mobile IoT
  • 33.
    IT has changeda lot over the decades ...
  • 34.
    1960 1970 1980 1990 2000 2010 2020 Complicated (Business functions) Complex (Business processes) Highly complex (Business nervous system) Software crisis PC LAN Internet Business Support of IT Selective Holistic Complicated Complex “Moore’s law” Mobile IoT Software engineering ... but still we strive to control our IT of today ... ... based on the concepts we developed for an IT almost 50 years ago
  • 35.
    Formal part of valuecreation Solution: machine Dynamic part of value creation Solution: man sluggishness/low dynamic high dynamichigh dynamic The historical course of market dynamics and the recent rise of highly dynamic and complex markets The dominance of high dynamics and complexity is neither good nor bad. It‘s a historical fact. t1970/80 today Age of crafts manu- facturing Age of tayloristic industry Age of global markets 1850/1900 Spacious markets, little competition Local markets, high customi- zation Outperformers exercise market pressure over conventional companies We call the graph shown here the “Taylor Bathtub”. Remember the “bathtub” curve? Source: BetaCodex Network Associates, “Organize for complexity”, BetaCodex Network White Paper 12 & 13
  • 36.
    1960 1970 1980 1990 2000 2010 2020 Complicated (Business functions) Complex (Business processes) Highly complex (Business nervous system) Software crisis Software engineering PC LAN Internet Business Support of IT Selective Holistic Complicated Complex “Moore’s law” Mobile IoT Also the business we support with IT today ... ... is very different from the business we supported back then
  • 37.
    What is therole of IT today?
  • 38.
    IT today is... •  ... the nervous system of the business •  ... an enabler of (disruptive) new business models •  ... an integral part of the business model (“digitization”) •  ... the medium for the continuous customer communication
  • 39.
  • 40.
    Disruptive technologies 1950 1960 1970 1980 1990 2000 2010 2020 Mainframe Transistor Multitasking UNIX Server Personal Computer Notebook
  • 41.
    Disruptive technologies Assembly language 1950 1960 1970 1980 1990 2000 2010 2020 Mainframe Transistor Multitasking High-level language Algol Lisp Simula Cobol UNIX Server Personal Computer Standard Software OSS Notebook
  • 42.
    Disruptive technologies Assembly language 1950 1960 1970 1980 1990 2000 2010 2020 Mainframe Transistor Multitasking High-level language Algol Lisp Simula Cobol UNIX Server LAN Personal Computer Standard Software OSS WWW Notebook Mobile networks (3G+) Wi-Fi Modem 9600+ Baud
  • 43.
    Disruptive technologies Assembly language 1950 1960 1970 1980 1990 2000 2010 2020 Mainframe Transistor Multitasking High-level language Algol Lisp Simula Cobol UNIX Server LAN Personal Computer Standard Software OSS WWW Notebook Smartphone Mobile networks (3G+) Tablet Wi-Fi Modem 9600+ Baud
  • 44.
    Disruptive technologies Assembly language 1950 1960 1970 1980 1990 2000 2010 2020 Mainframe Transistor Multitasking High-level language Algol Lisp Simula Cobol UNIX Server LAN Personal Computer Standard Software OSS WWW Notebook Smartphone Cloud Mobile networks (3G+) Big Data Tablet Wi-Fi SaaS Serverless FaaS + Managed services Modem 9600+ Baud
  • 45.
    Disruptive technologies Assembly language 1950 1960 1970 1980 1990 2000 2010 2020 Mainframe Transistor Multitasking High-level language Algol Lisp Simula Cobol UNIX Server LAN Personal Computer Standard Software OSS WWW Notebook Smartphone Cloud Mobile networks (3G+) Big Data Tablet Wi-Fi SaaS Serverless FaaS + Managed services PLC Industrial PC OPC UA IoT Modem 9600+ Baud
  • 46.
    Disruptive technologies Assembly language 1950 1960 1970 1980 1990 2000 2010 2020 Mainframe Transistor Multitasking High-level language Algol Lisp Simula Cobol UNIX Server LAN Personal Computer Standard Software OSS WWW Notebook Smartphone Cloud Mobile networks (3G+) Big Data Tablet Wi-Fi SaaS Serverless FaaS + Managed services PLC Industrial PC OPC UA IoT Modem 9600+ Baud
  • 47.
  • 48.
    Programming models DIY Do Ityourself Web applications Enterprise Frameworks CORBA, SOA, JEE, .net, ... IoT Serverless FaaS + Managed services Cloud native Microservices ? Libraries & Frameworks Embedded computing Standard software customization HPC High Performance Computing Local computing paradigm Distributed computing paradigm
  • 49.
    Where do weneed microservices?
  • 50.
    Key drivers Pre-industrial era • No clear driver Industrial era •  Cost-efficiency •  Scalability •  Repeatability •  Stability •  Efficiency & scale Post-industrial era •  Cycle times •  Adaptability •  Flexibility •  Resilience •  Effectiveness & speed
  • 51.
    1960 1970 1980 1990 2000 2010 2020 Complicated (Business functions) Complex (Business processes) Highly complex (Business nervous system) Software crisis Software engineering PC LAN Internet Business Support of IT Selective Holistic Complicated Complex “Moore’s law” Mobile IoT
  • 52.
    Programming models DIY Do Ityourself Web applications Enterprise Frameworks CORBA, SOA, JEE, .net, ... IoT Serverless FaaS + Managed services Cloud native Microservices ? Libraries & Frameworks Embedded computing Standard software customization HPC High Performance Computing Local computing paradigm Distributed computing paradigm
  • 53.
  • 54.
    Taking this “magictriangle” ...
  • 55.
    Good Fast Cheap Optimizing forquality and cycle times will result in higher costs Optimizing for quality and costs will result in long cycle times Optimizing for cycle times and costs will result in reduced quality
  • 56.
    ... will leadyou to this model
  • 57.
    You may pick two Good Fast Cheap Industrial IT Deliver large batches at minimized costs towards slow markets Post-industrial IT Quickly adapt to ever-changing needs of dynamic, fast-moving markets Startup IT Test hypotheses and pivot as fast as possible to discover a product-market fit
  • 58.
    You may pick two Good Fast Cheap Industrial IT Deliver large batches at minimized costs towards slow markets Post-industrial IT Quickly adapt to ever-changing needs of dynamic, fast-moving markets Startup IT Test hypotheses and pivot as fast as possible to discover a product-market fit
  • 59.
    Where do wego from here?
  • 60.
    Understanding current ITtrends Complementing the picture
  • 61.
  • 62.
    Digitization (Definition) •  Blurryand misleading term – yet an important change driver •  Response to market demands and technology evolution •  Core: IT becomes integral part of business offerings •  Consequence: Cross-domain boundaries start to dissolve and leverage – currently still unknown – business models
  • 63.
    Digitization (Effect) •  Uncertaintyregarding business model viability •  Effect: Short iterations, pervasive metrics (incl. measuring outcome), A/B testing, smart rollout strategies, ... •  Dissolving domain boundaries •  Effect: API, platforms, ... •  Adaption of persistent requirements to a new context •  Effect: Poor connectivity as a constraint, re-thinking accessibility, “developer experience” on the API level, ...
  • 64.
  • 65.
    Customer expectations •  Greatuser experience (UX) •  Fast response times •  Multi-device capabilities •  Zero downtime •  Strong Security (regarding data privacy) •  Adapts to customer’s needs and demands
  • 66.
  • 67.
    Moving fast •  Minimizecycle times to accelerate the feedback loop •  Response to business model uncertainty •  Goal is to minimize idle and value-reducing performances •  Massive paradigm shift (“Re-thinking IT”) That is what DevOps actually is about!
  • 68.
    Focus on frontends • The battle for customers gets decided in the frontend •  Backends just need to work and must not get in the way •  UX and UI design become key differentiators •  Backend becomes commodity •  Bear all types of frontends in mind (incl. IoT, API, ...)
  • 69.
    Cloud-native and serverless • Reduce vertical integration depth •  Focus on value-creating IT performance to move faster •  Newest incarnation of “make or buy” •  Managed services as successor of standard software •  FaaS to orchestrate managed services •  Managed container and batch jobs for deep business logic
  • 70.
    Ambient computing •  Shifttowards human-centered user interfaces •  Complemented by context-aware computing & UIs •  “Mobile first” is just a transitional step •  New types of human-machine interaction •  Voice, gestures, tactile, ... •  Augmented by AR & VR interface capabilities
  • 71.
    InfoSec •  Indispensable supplementfor most needed technologies •  Cloud •  Wireless •  IoT •  Mobile •  ... •  Must be an integral part of all stages of the IT value chain
  • 72.
  • 73.
    IT enabled trends Artificialintelligence / deep learning Internet of Things (including industry 4.0) Maker movement (including 3D printing) Blockchain •  Currently hyped topics with disruptive potential •  Actual future impact not yet clearly foreseeable
  • 74.
    What does thismean for microservices?
  • 75.
    Microservices as atransitional step •  Important architectural support step towards moving fast •  Yet, really hard to master •  Understanding effects of distributed systems is hard •  Supporting increased production needs is hard •  Mastering additional deployment and production tools is hard •  Often overstrained the people involved •  Promise of going a lot faster often not met •  Instead created a new development and production hell à Need to reduce intellectual load without slowing down
  • 76.
    Reducing intellectual load • Going serverless •  Infrastructure as managed services •  Deployment and production tools as managed services •  Most business logic as managed services (or be moved to the frontend) •  Orchestration of managed services via FaaS •  Few remaining self-programmed (micro)services, run as managed containers à Reduced vertical integration depth while going faster
  • 77.
    Consequences of goingserverless •  Implementing and operating the infrastructure, deployment and production tools will become irrelevant •  Knowing the managed service offerings will become crucial •  Understanding the underlying concepts will still be important •  Backend development overall will become less relevant •  Frontend development (incl. ambient) will become essential à Microservices will mostly dissolve into serverless over time
  • 78.
    What does thismean for me?
  • 79.
    Staying ahead ofthe curve Some recommendations augmenting your path ahead
  • 80.
    Go frontend ... • Learn JavaScript – really! •  Embrace the concepts of UX and UI design •  Understand CSS at least a bit •  Start picking up the concepts of ambient computing •  Voice-based UI, Video-based UI, AR, VR, etc.
  • 81.
    ... or goserverless ... •  Understand and learn what “cloud” means today! •  Understand the concepts of “serverless” •  Know the relevant managed service offerings (BaaS/SaaS) •  Automate everything using managed services •  Understand operation needs (especially monitoring) ... •  ... and what existing solutions (managed services) offer •  Abandon DIY and NIH •  Actively reduce vertical integration depth
  • 83.
    ... or trya different direction •  Smart Data & AI (incl. deep learning) •  Will heavily shape future decision making processes •  Be prepared to refresh your math •  Smart Devices •  Fast and wild evolution at the moment •  Lots of exciting challenges – and lots of grassroots coding ;) •  InfoSec •  Needed everywhere – yet treated often like an unloved chore •  Must become an integral part of development and operations
  • 84.
    Any helpful recommendationsbesides the pure microservices part?
  • 85.
    Understand post-industrial markets • Speed trumps perfection – Rethink everything! •  Really, really understand the implications of uncertainty! •  Understand the difference between output and outcome •  Understand the ideas of bets and options •  Dismiss cargo-cult agility – learn what “Agile” really means •  It is a revolution in your head! •  But it should be an evolution regarding implementation •  Otherwise you will certainly overstrain your organization
  • 86.
    Cross-functional teams (organized bybusiness capabilities) Autonomy (incl. E2E responsibility) Decentralized control Microservices Continuous Delivery Heterogeneity Cloud and Containers Resilience Operations automation Craftsmanship & mastery Outcome-driven Beyond budgeting Feature flow Lean EAM Continuous improvement T-Shaped people (being empathic) DevOps Quick feedback loops Curiosity
  • 87.
    Master the timelesswisdom •  Especially master the foundations of good design •  “Loose coupling, high cohesion” & “separation of concerns” •  “Information hiding” especially with respect to API •  Domain-driven design can be a useful starting point •  Good design skills are more relevant than ever •  Affect understandability, changeability and extensibility •  Affect usability, stability and acceptance at API level •  Affect robustness, availability and scalability at runtime
  • 88.
    “I would advisestudents to pay more attention to the fundamental ideas rather than the latest technology. The technology will be out-of-date before they graduate. Fundamental ideas never get out of date.” -- David L. Parnas (http://www.sigsoft.org/SEN/parnas.html)
  • 89.
    Become T-shaped •  Generaliststrump specialists •  Pure subject matter experts are an industrial concept •  Collaboration requires understanding your collaborators •  Leave your comfort zone once in a while •  Still, have your area of expertise •  Deep knowledge is still needed – but in a inclusive way •  Understand the business domain •  This is what turns you into a “ten times developer”
  • 90.
    Embrace distributed systems “(Almost)every system is a distributed system” -- Chas Emerick “Everything fails, all the time” -- Werner Vogels •  Understand the non-determinism of distributed systems •  “Memory, guesses and apologies” & promise theory •  Understand that infrastructure cannot guarantee robustness •  Understand what distributed system really mean!
  • 91.
  • 92.
    Wrap-up •  Post-industrialism asdriver for moving fast •  Microservices as backing, but challenging architectural style •  Serverless as the next consistent evolutionary step •  Frontends become crucial •  Backends become commodity •  Timeless design wisdom is more relevant than ever •  Data/AI, IoT and InfoSec as alternative directions
  • 93.
  • 94.
    An exciting futurelies ahead of us ...
  • 95.
    ... let usshape it together!
  • 96.
    Timeless wisdom nevergoes out of style
  • 97.
    Uwe Friedrichsen IT traveller. Connectingthe dots. Attracted by uncharted territory. CTO at codecentric. https://www.slideshare.net/ufried https://medium.com/@ufried @ufried