Microservices, Microfrontends and Feature Teams

Giulio Roggero
Giulio RoggeroFounder & CTO Mia-Platform, Partner & CS Intré, Founder & Advisor Agile Reloaded
Microservices, Microfrontends and
Feature Teams
Giulio Roggero
expectations
time
discovery learn improve real world new culture
We told our story.
Feedbacks: “This is
not agile. Agile is …
bla bla”
This is my Culture.
Agile or not Agile it
works for us :-)
Agile at Scale, Agile
Buzzwords, the
“TRUE Agile” is ...
Real life is
hard but we
can do it
I understood
the theory.
Really nice!
This is not correct…
you are not Agile…
(again!)
Starting from here we build
our business! Values,
Principles, Culture, Tools
and Individuals are all
ingredients for our success.
Now we are aware!
Now we are satisfied!
Now we are ready to
improve continuously!
I hate Agile!
We are in production!
It was hard but we’ve
learnt a lot!
Restart from Basics.
Values, Principles,
XP, Improvement
Now it’s clear! Agile is
a mindset, my
mindset, our mindset!
Hey guy, I found my
way! I’m happy and it
works (for us)
WOW!
The first
conference
We are going in production. Not all
moments are easy as were during
the project
Thanks to
retrospectives we
are able to
improve!
Balance
Business objectives
● Wow effect features
● Time-to-marker
● Customer satisfaction
● Upselling/Cross selling
● Profitability
Technical objectives
● Reduce Technical Debt
● Simplicity
● Innovation
● Learning
● Team working
● Talent retention
● Happiness
A Modern approach to create IT systems can
favorite this balance
The balance it’s not so easy to reach.
Technical debt and time-to-market are factors that affect this balance.
Which are the key factors to build Modern Applications?
3 pilastri dei sistemi IT moderni
• Pongono i dati al centro: Big Data, Fast Data
• Interconessi: API as a Product
• Hanno capacità di evolvere: stili architetturali (es: Microservices)
Gestite
• Organizzativo: Agile, Lean
• Pperations e Business Continuity: DevOps
How we can mix this
ingredients?
Technology
The Modern Application Ecosystem
Non esiste un’architettura definitiva. Esistono stili, visioni e modi di pensare ed evolvere!
Stimulus
Big Data
Analytics/Machine Learning
Event Based Integration Layer
Service Integration
Layer
Decoupling High Performance Data Store
APIs
Microservices/Miniservices
Microfrontends (App, Web, Bot, Voice)
System of Record Applications and DBs
User Experience (Click, Touch, Speak, Chat, Watch)
Dev Tools
Ops Tools
Analytics Tools
Come organizzarsi per costruire e
gestire questi sistemi?
Breve intro
“Any organization that
designs a system … will
inevitably produce a
design whose structure is
a copy of the
organization's
communication
structure.”
Melvin Conway, 1968
http://www.melconway.com/research/committees.html
“Digital System
modification and
innovation will inevitably
impact on organization's
communication
structure.”
(my proposal)
Team and Culture
Il “noi” e “loro” rallenta le decisioni e aumenta i costi. Riorganizzarsi e allinearsi con le esigenze dei clienti finali
diventa più efficace e riduce costi aumentando la velocità di delivery.
Ispirato dal libro Monolith to Microservices - Sam Newman.
Team Team Team
PMO
Tech Leadership
(CTO, CIO) Customers
Land of
confusion
POs
Communicationwall
Fabbrica Software Business
Feature Team
Customers Customers
Tech Leadership
(CTO, CIO)
Digital Hub
Team PO
Feature Team
Team PO
Support
Feature teams
Un feature team non è creato in modo temporaneo per fare una o più funzionalità e poi si scioglie.
Un feature team è stabile e gestisce tutto il ciclo di vita dell’insieme delle features che sono di sua responsabilità.
Approfondimenti su less.works – CC BY-ND
Component teams
Approfondimenti su less.works – CC BY-ND
Diversamente dai component team è in grado di toccare tutti i componenti e completare uno o più features.
Approfondimenti su less.works – CC BY-ND
Component teams Feature teams
Esempi concreti
Poca teoria e molta pratica
Trenord 2014-2019
Integration Layer
APIs
Services
App, Website, Moovit, Google
External Systems: timetable, pricing model, live data
Trenord in 5 anni ha costruito una piattaforma
digitale in modo incrementale agganciando
man mano nuovi canali e facendo evolvere
l’architettura in base allo scaling degli utenti.
Fast
Data
Trenord – La storia
Anni 2015
API req/sec 10
Team Scrum 4
Stile
architetturale
Microkernel+
Fast Data
Hosting OnPrem
Backend
Languages
Node.js
Mobile
Languages
Node.js+
ObjectiveC+
Java Android
Trenord – La storia
Anni 2015 2016
API req/sec 10 40
Team Scrum 4 4
Stile
architetturale
Microkernel+
Fast Data
Microkernel+
Fast Data
Hosting OnPrem OnPrem
Backend
Languages
Node.js Node.js
Mobile
Languages
Node.js+
ObjectiveC+
Java Android
Node.js+
ObjectiveC+
Java Android
Trenord – La storia
Anni 2015 2016 2017
API req/sec 10 40 300
Team Scrum 4 4 5
Stile
architetturale
Microkernel+
Fast Data
Microkernel+
Fast Data
Microkernel+
Miniservice+
Fast Data
Hosting OnPrem OnPrem OnPrem
Backend
Languages
Node.js Node.js Node.js
Mobile
Languages
Node.js+
ObjectiveC+
Java Android
Node.js+
ObjectiveC+
Java Android
Node.js+
ObjectiveC+
Java Android
Trenord – La storia
Anni 2015 2016 2017 2018
API req/sec 10 40 300 1500
Team Scrum 4 4 5 6
Stile
architetturale
Microkernel+
Fast Data
Microkernel+
Fast Data
Microkernel+
Miniservice+
Fast Data
Microkernel+
Microservices+
Fast Data
Hosting OnPrem OnPrem OnPrem OnPrem
Backend
Languages
Node.js Node.js Node.js Node.js
Mobile
Languages
Node.js+
ObjectiveC+
Java Android
Node.js+
ObjectiveC+
Java Android
Node.js+
ObjectiveC+
Java Android
Node.js+
ObjectiveC+
Swift+
Java Android+
Kotlin Android
Trenord – La storia
Anni 2015 2016 2017 2018 2019
API req/sec 10 40 300 1500 4000
Team Scrum 4 4 5 6 6
Stile
architetturale
Microkernel+
Fast Data
Microkernel+
Fast Data
Microkernel+
Miniservice+
Fast Data
Microkernel+
Microservices+
Fast Data
Miniservices+
Fast Data
Hosting OnPrem OnPrem OnPrem OnPrem Cloud
Backend
Languages
Node.js Node.js Node.js Node.js Node.js+
Kotlin
Mobile
Languages
Node.js+
ObjectiveC+
Java Android
Node.js+
ObjectiveC+
Java Android
Node.js+
ObjectiveC+
Java Android
Node.js+
ObjectiveC+
Swift+
Java Android+
Kotlin Android
Node.js+
ObjectiveC+
Swift+
Java Android+
Kotlin Android
Trenord – Da Microkernel a Microservizi
Integration Layer
API Gateway
Microkernel
Mobile App
External Systems: timetable, pricing model, live data
Fast
Data
M53 Trip Plan
Train
Status
Push
Tickets
Passes
Paymens Favorites Settings News Stations
Integration Layer
API Gateway
Microkernel
Mobile App
External Systems: timetable, pricing model, live data
Fast
Data
M53 Trip Plan
Train
Status
Push
Tickets
Passes
Paymens Favorites Settings News Stations
Microservices
Un
passaggio
graduale con
l’attenzione
di sempre
avere il
fallback
Trip Plan
Trenord – Canary Releases
Integration Layer
External Systems: timetable, pricing model, live data
API Gateway
App v1/v2
100%
Train Status v5.5
Microservices
100%
Fast
Data
Ogni rilascio di nuove features è
effettuato con Canary Releases sia
lato APP che lato Microservices.
Le API sono quasi sempre
retrocompatibili. In 5 anni hanno
avuto una volta sola una breaking
change su una sotto parte
Trenord – Canary Releases
Integration Layer
App v3
External Systems: timetable, pricing model, live data
API Gateway
App v1/v2
5% 95%
Train Status v5.5
Microservices
100%
Fast
Data
Ogni rilascio di nuove features è
effettuato con Canary Releases sia
lato APP che lato Microservices.
Le API sono quasi sempre
retrocompatibili. In 5 anni hanno
avuto una volta sola una breaking
change su una sotto parte
Trenord – Canary Releases
Integration Layer
App v3
External Systems: timetable, pricing model, live data
API Gateway
App v1/v2
5% 95%
Train Status v5.5
Microservices
Train Status v6
20% 80%
Fast
Data
Ogni rilascio di nuove features è
effettuato con Canary Releases sia
lato APP che lato Microservices.
Le API sono quasi sempre
retrocompatibili. In 5 anni hanno
avuto una volta sola una breaking
change su una sotto parte
Trenord – Il team e l’organizzazione
Caratteristiche
● Un team unico Scrum
● Sprint da 1 settimana
● Rilasci continui
● 3 Ambienti: integration, beta, prod
Responsabilità
● Uptime 24/7 di tutto il sistema
end-to-end
● Customer care app
● Analisi analitici e proposta
features
● Coding, Testing, Ops, …
Mia-Platform – Il team e l’organizzazione 2017
API Gateway
Microservices
(Node.js)
Angular
Core Team
Customers
Tech Leadership
(CTO, CIO)
Team PO
Mia-Platform Products
Mia-Platform – Accelerazione (+servizi, +FE capabilities)
Microservices
(Java, Node.js, Kotlin, Python, Go)
React
Core Team
Customers
Tech Leadership
(CTO, CIO)
Team PO
Contributors Team
Team PO
API Gateway
Angular
I contributors team lavorano su progetti cliente e fanno evolvere il prodotto in stile open source
Mia-Platform Products
Mia-Platform – Microfrontends
React
Core Team
Team PO
Node.js Microservices
Java/Kotlin Microservices
Go Microservices
Contributors Team
Team PO
Angular
Contributors Team
Team PO
React
• Un insieme di regole comuni sulla
gestione dei feature branch, merge
request e code design.
• Pipelines automatizzate in diversi
ambieti per conituous Delibery.
• Kata, Mob Programming, Pair
Programming per condividere la
conoscenza.
Librerie comuni per
JavaScript per
integrare diversi
Framework e Librerie
Petr Kratochvil CC0
«Quanto Basta»
Culture is your asset!
Don’t copy and paste from other companies
but build your own!
This is the real competitive advantage for
your business!
Giulio Roggero
CTO and Founder Mia-Platform
Chief Strategist and Partner Intré
Advisor and Founder Agile Reloaded
1 of 31

Recommended

Scaling Legacy by
Scaling LegacyScaling Legacy
Scaling LegacyGiulio Roggero
486 views41 slides
How to develop an API ecosystem in the fintech industry from the ground up by
How to develop an API ecosystem in the fintech industry from the ground upHow to develop an API ecosystem in the fintech industry from the ground up
How to develop an API ecosystem in the fintech industry from the ground upPronovix
218 views33 slides
Microevent by
MicroeventMicroevent
MicroeventAngelo Agatino Nicolosi
589 views72 slides
AWS Meetup: Career Day 2019 - Lightning Talk with Cloud Career Path: DevOps E... by
AWS Meetup: Career Day 2019 - Lightning Talk with Cloud Career Path: DevOps E...AWS Meetup: Career Day 2019 - Lightning Talk with Cloud Career Path: DevOps E...
AWS Meetup: Career Day 2019 - Lightning Talk with Cloud Career Path: DevOps E...AWS User Group - Thailand
660 views21 slides
Mendix Essentials Presentatie Gerolf Roovers26/08/2011 by
Mendix Essentials Presentatie Gerolf Roovers26/08/2011Mendix Essentials Presentatie Gerolf Roovers26/08/2011
Mendix Essentials Presentatie Gerolf Roovers26/08/2011Mendix
714 views28 slides
Content Strategy for DevPortals by
Content Strategy for DevPortalsContent Strategy for DevPortals
Content Strategy for DevPortalsPronovix
98 views44 slides

More Related Content

What's hot

apidays LIVE Paris 2021 - Generating OpenAPIs from business models by Frederi... by
apidays LIVE Paris 2021 - Generating OpenAPIs from business models by Frederi...apidays LIVE Paris 2021 - Generating OpenAPIs from business models by Frederi...
apidays LIVE Paris 2021 - Generating OpenAPIs from business models by Frederi...apidays
167 views26 slides
Case Study of Financial Web System Development and Operations with Oracle Web... by
Case Study of Financial Web System Development and Operations with Oracle Web...Case Study of Financial Web System Development and Operations with Oracle Web...
Case Study of Financial Web System Development and Operations with Oracle Web...Arshal Ameen
989 views45 slides
Beyond API Spray & Pray: Developer Portals in Digital Transformation by
Beyond API Spray & Pray: Developer Portals in Digital TransformationBeyond API Spray & Pray: Developer Portals in Digital Transformation
Beyond API Spray & Pray: Developer Portals in Digital TransformationPronovix
382 views65 slides
Accelerate Your Digital Transformation Journey with Cloud Native and Low-Cod... by
Accelerate Your Digital Transformation  Journey with Cloud Native and Low-Cod...Accelerate Your Digital Transformation  Journey with Cloud Native and Low-Cod...
Accelerate Your Digital Transformation Journey with Cloud Native and Low-Cod...DevOps.com
239 views29 slides
Cubet Techno Labs Corporate Brochure by
Cubet Techno Labs Corporate Brochure Cubet Techno Labs Corporate Brochure
Cubet Techno Labs Corporate Brochure Kiran K.S
560 views15 slides
Case Study: Creating a DocOps/Docs-As-Code DevPortal for C3.ai by
Case Study: Creating a DocOps/Docs-As-Code DevPortal for C3.aiCase Study: Creating a DocOps/Docs-As-Code DevPortal for C3.ai
Case Study: Creating a DocOps/Docs-As-Code DevPortal for C3.aiPronovix
474 views50 slides

What's hot(19)

apidays LIVE Paris 2021 - Generating OpenAPIs from business models by Frederi... by apidays
apidays LIVE Paris 2021 - Generating OpenAPIs from business models by Frederi...apidays LIVE Paris 2021 - Generating OpenAPIs from business models by Frederi...
apidays LIVE Paris 2021 - Generating OpenAPIs from business models by Frederi...
apidays167 views
Case Study of Financial Web System Development and Operations with Oracle Web... by Arshal Ameen
Case Study of Financial Web System Development and Operations with Oracle Web...Case Study of Financial Web System Development and Operations with Oracle Web...
Case Study of Financial Web System Development and Operations with Oracle Web...
Arshal Ameen989 views
Beyond API Spray & Pray: Developer Portals in Digital Transformation by Pronovix
Beyond API Spray & Pray: Developer Portals in Digital TransformationBeyond API Spray & Pray: Developer Portals in Digital Transformation
Beyond API Spray & Pray: Developer Portals in Digital Transformation
Pronovix382 views
Accelerate Your Digital Transformation Journey with Cloud Native and Low-Cod... by DevOps.com
Accelerate Your Digital Transformation  Journey with Cloud Native and Low-Cod...Accelerate Your Digital Transformation  Journey with Cloud Native and Low-Cod...
Accelerate Your Digital Transformation Journey with Cloud Native and Low-Cod...
DevOps.com239 views
Cubet Techno Labs Corporate Brochure by Kiran K.S
Cubet Techno Labs Corporate Brochure Cubet Techno Labs Corporate Brochure
Cubet Techno Labs Corporate Brochure
Kiran K.S560 views
Case Study: Creating a DocOps/Docs-As-Code DevPortal for C3.ai by Pronovix
Case Study: Creating a DocOps/Docs-As-Code DevPortal for C3.aiCase Study: Creating a DocOps/Docs-As-Code DevPortal for C3.ai
Case Study: Creating a DocOps/Docs-As-Code DevPortal for C3.ai
Pronovix474 views
Support unlimited and ever changing customer experiences with GraphQL by Andr... by Andrew Kumar
Support unlimited and ever changing customer experiences with GraphQL by Andr...Support unlimited and ever changing customer experiences with GraphQL by Andr...
Support unlimited and ever changing customer experiences with GraphQL by Andr...
Andrew Kumar162 views
Low code - empower the capability to accelerate | Swatantra Kumar by Swatantra Kumar
Low code - empower the capability to accelerate | Swatantra KumarLow code - empower the capability to accelerate | Swatantra Kumar
Low code - empower the capability to accelerate | Swatantra Kumar
Swatantra Kumar174 views
apidays LIVE New York 2021 - Docs Driven API Development by Rahul Dighe, Paypal by apidays
apidays LIVE New York 2021 - Docs Driven API Development by Rahul Dighe, Paypalapidays LIVE New York 2021 - Docs Driven API Development by Rahul Dighe, Paypal
apidays LIVE New York 2021 - Docs Driven API Development by Rahul Dighe, Paypal
apidays117 views
Voices of Product: Discovery and Framing by Roxanne Mustafa
Voices of Product: Discovery and FramingVoices of Product: Discovery and Framing
Voices of Product: Discovery and Framing
Roxanne Mustafa3.6K views
The subtle art of building scalable apps using low code by WaveMaker, Inc.
The subtle art of building scalable apps using low codeThe subtle art of building scalable apps using low code
The subtle art of building scalable apps using low code
WaveMaker, Inc.92 views
apidays LIVE India - Data Pipelines to Dashboards by Rudranshu Praharaj, Gold... by apidays
apidays LIVE India - Data Pipelines to Dashboards by Rudranshu Praharaj, Gold...apidays LIVE India - Data Pipelines to Dashboards by Rudranshu Praharaj, Gold...
apidays LIVE India - Data Pipelines to Dashboards by Rudranshu Praharaj, Gold...
apidays273 views
DEVOPS ENGINEER - CAREER PATH, JOB SCOPE, AND CERTIFICATIONS by Sprintzeal
DEVOPS ENGINEER - CAREER PATH, JOB SCOPE, AND CERTIFICATIONSDEVOPS ENGINEER - CAREER PATH, JOB SCOPE, AND CERTIFICATIONS
DEVOPS ENGINEER - CAREER PATH, JOB SCOPE, AND CERTIFICATIONS
Sprintzeal98 views
FutureLink | Strategic Tooling Decisions in ALM Engineering: Migrate or Coexi... by Intland Software GmbH
FutureLink | Strategic Tooling Decisions in ALM Engineering: Migrate or Coexi...FutureLink | Strategic Tooling Decisions in ALM Engineering: Migrate or Coexi...
FutureLink | Strategic Tooling Decisions in ALM Engineering: Migrate or Coexi...
Intland Software | Welcome and Opening Remarks - Intland Connect - 22 Oct 2020 by Intland Software GmbH
Intland Software | Welcome and Opening Remarks - Intland Connect - 22 Oct 2020Intland Software | Welcome and Opening Remarks - Intland Connect - 22 Oct 2020
Intland Software | Welcome and Opening Remarks - Intland Connect - 22 Oct 2020

Similar to Microservices, Microfrontends and Feature Teams

Platform governance, gestire un ecosistema di microservizi a livello enterprise by
Platform governance, gestire un ecosistema di microservizi a livello enterprisePlatform governance, gestire un ecosistema di microservizi a livello enterprise
Platform governance, gestire un ecosistema di microservizi a livello enterpriseGiulio Roggero
183 views58 slides
DevOps Days Toronto: From 6 Months Waterfall to 1 hour Code Deploys by
DevOps Days Toronto: From 6 Months Waterfall to 1 hour Code DeploysDevOps Days Toronto: From 6 Months Waterfall to 1 hour Code Deploys
DevOps Days Toronto: From 6 Months Waterfall to 1 hour Code DeploysAndreas Grabner
1K views40 slides
Tech foundations-slides by
Tech foundations-slidesTech foundations-slides
Tech foundations-slidestranquynh93
440 views76 slides
AWS Community Day: From Monolith to Microservices - What Could Go Wrong? by
AWS Community Day: From Monolith to Microservices - What Could Go Wrong?AWS Community Day: From Monolith to Microservices - What Could Go Wrong?
AWS Community Day: From Monolith to Microservices - What Could Go Wrong?Phuong Mai Nguyen
179 views38 slides
Actminds Outsourcing Summit 07 by
Actminds Outsourcing Summit 07Actminds Outsourcing Summit 07
Actminds Outsourcing Summit 07cnetto
319 views32 slides
DevOpsDays Jakarta Igites by
DevOpsDays Jakarta IgitesDevOpsDays Jakarta Igites
DevOpsDays Jakarta IgitesDevOpsDaysJKT
160 views107 slides

Similar to Microservices, Microfrontends and Feature Teams(20)

Platform governance, gestire un ecosistema di microservizi a livello enterprise by Giulio Roggero
Platform governance, gestire un ecosistema di microservizi a livello enterprisePlatform governance, gestire un ecosistema di microservizi a livello enterprise
Platform governance, gestire un ecosistema di microservizi a livello enterprise
Giulio Roggero183 views
DevOps Days Toronto: From 6 Months Waterfall to 1 hour Code Deploys by Andreas Grabner
DevOps Days Toronto: From 6 Months Waterfall to 1 hour Code DeploysDevOps Days Toronto: From 6 Months Waterfall to 1 hour Code Deploys
DevOps Days Toronto: From 6 Months Waterfall to 1 hour Code Deploys
Andreas Grabner1K views
Tech foundations-slides by tranquynh93
Tech foundations-slidesTech foundations-slides
Tech foundations-slides
tranquynh93440 views
AWS Community Day: From Monolith to Microservices - What Could Go Wrong? by Phuong Mai Nguyen
AWS Community Day: From Monolith to Microservices - What Could Go Wrong?AWS Community Day: From Monolith to Microservices - What Could Go Wrong?
AWS Community Day: From Monolith to Microservices - What Could Go Wrong?
Phuong Mai Nguyen179 views
Actminds Outsourcing Summit 07 by cnetto
Actminds Outsourcing Summit 07Actminds Outsourcing Summit 07
Actminds Outsourcing Summit 07
cnetto319 views
DevOpsDays Jakarta Igites by DevOpsDaysJKT
DevOpsDays Jakarta IgitesDevOpsDays Jakarta Igites
DevOpsDays Jakarta Igites
DevOpsDaysJKT160 views
The Need for Speed by Capgemini
The Need for SpeedThe Need for Speed
The Need for Speed
Capgemini610 views
DevOps in the Amazon Warehouse - Shawn Gandhi by TriNimbus
DevOps in the Amazon Warehouse - Shawn GandhiDevOps in the Amazon Warehouse - Shawn Gandhi
DevOps in the Amazon Warehouse - Shawn Gandhi
TriNimbus1.4K views
Microservices the Good Bad and the Ugly by Adrian Cockcroft
Microservices the Good Bad and the UglyMicroservices the Good Bad and the Ugly
Microservices the Good Bad and the Ugly
Adrian Cockcroft9.6K views
Innovate Better Through Machine data Analytics by Hal Rottenberg
Innovate Better Through Machine data AnalyticsInnovate Better Through Machine data Analytics
Innovate Better Through Machine data Analytics
Hal Rottenberg263 views
From Monoliths to Microservices at Realestate.com.au by evanbottcher
From Monoliths to Microservices at Realestate.com.auFrom Monoliths to Microservices at Realestate.com.au
From Monoliths to Microservices at Realestate.com.au
evanbottcher1.9K views
Maintainable Machine Learning Products by Andrew Musselman
Maintainable Machine Learning ProductsMaintainable Machine Learning Products
Maintainable Machine Learning Products
Andrew Musselman975 views
Lean UX + DevOps by Synerzip
Lean UX + DevOpsLean UX + DevOps
Lean UX + DevOps
Synerzip55 views
How do we drive tech changes by Jaewoo Ahn
How do we drive tech changesHow do we drive tech changes
How do we drive tech changes
Jaewoo Ahn1.4K views
Von JavaEE auf Microservice in 6 Monaten - The Good, the Bad, and the wtfs... by André Goliath
Von JavaEE auf Microservice in 6 Monaten - The Good, the Bad, and the wtfs...Von JavaEE auf Microservice in 6 Monaten - The Good, the Bad, and the wtfs...
Von JavaEE auf Microservice in 6 Monaten - The Good, the Bad, and the wtfs...
André Goliath653 views
Data-Driven DevOps: Mining Machine Data for 'Metrics that Matter' in a DevOps... by Splunk
Data-Driven DevOps: Mining Machine Data for 'Metrics that Matter' in a DevOps...Data-Driven DevOps: Mining Machine Data for 'Metrics that Matter' in a DevOps...
Data-Driven DevOps: Mining Machine Data for 'Metrics that Matter' in a DevOps...
Splunk2K views

More from Giulio Roggero

Platform Engineering - a 360 degree view by
Platform Engineering - a 360 degree viewPlatform Engineering - a 360 degree view
Platform Engineering - a 360 degree viewGiulio Roggero
285 views33 slides
Kubernetes and CNCF Landscape 101 by
Kubernetes and CNCF Landscape 101Kubernetes and CNCF Landscape 101
Kubernetes and CNCF Landscape 101Giulio Roggero
378 views123 slides
Modernize Legacy Systems with Kubernetes by
Modernize Legacy Systems with KubernetesModernize Legacy Systems with Kubernetes
Modernize Legacy Systems with KubernetesGiulio Roggero
274 views62 slides
Stili architetturali in Kubernetes by
Stili architetturali in KubernetesStili architetturali in Kubernetes
Stili architetturali in KubernetesGiulio Roggero
504 views111 slides
Do pair programming with an artificial intelligence by
Do pair programming with an artificial intelligenceDo pair programming with an artificial intelligence
Do pair programming with an artificial intelligenceGiulio Roggero
297 views30 slides
Come i Microservizi favoriscono il lavoro dei Feature Teams by
Come i Microservizi favoriscono il lavoro dei Feature TeamsCome i Microservizi favoriscono il lavoro dei Feature Teams
Come i Microservizi favoriscono il lavoro dei Feature TeamsGiulio Roggero
583 views60 slides

More from Giulio Roggero(20)

Platform Engineering - a 360 degree view by Giulio Roggero
Platform Engineering - a 360 degree viewPlatform Engineering - a 360 degree view
Platform Engineering - a 360 degree view
Giulio Roggero285 views
Kubernetes and CNCF Landscape 101 by Giulio Roggero
Kubernetes and CNCF Landscape 101Kubernetes and CNCF Landscape 101
Kubernetes and CNCF Landscape 101
Giulio Roggero378 views
Modernize Legacy Systems with Kubernetes by Giulio Roggero
Modernize Legacy Systems with KubernetesModernize Legacy Systems with Kubernetes
Modernize Legacy Systems with Kubernetes
Giulio Roggero274 views
Stili architetturali in Kubernetes by Giulio Roggero
Stili architetturali in KubernetesStili architetturali in Kubernetes
Stili architetturali in Kubernetes
Giulio Roggero504 views
Do pair programming with an artificial intelligence by Giulio Roggero
Do pair programming with an artificial intelligenceDo pair programming with an artificial intelligence
Do pair programming with an artificial intelligence
Giulio Roggero297 views
Come i Microservizi favoriscono il lavoro dei Feature Teams by Giulio Roggero
Come i Microservizi favoriscono il lavoro dei Feature TeamsCome i Microservizi favoriscono il lavoro dei Feature Teams
Come i Microservizi favoriscono il lavoro dei Feature Teams
Giulio Roggero583 views
Da spaghetti API a Piattaforma Digitale by Giulio Roggero
Da spaghetti API a Piattaforma DigitaleDa spaghetti API a Piattaforma Digitale
Da spaghetti API a Piattaforma Digitale
Giulio Roggero1K views
API Conf 2017 - Allineare il business e la tecnologia grazie alle api by Giulio Roggero
API Conf 2017 - Allineare il business e la tecnologia grazie alle apiAPI Conf 2017 - Allineare il business e la tecnologia grazie alle api
API Conf 2017 - Allineare il business e la tecnologia grazie alle api
Giulio Roggero597 views
Progettare l’intangibile - Progettando 2017 by Giulio Roggero
Progettare l’intangibile - Progettando 2017Progettare l’intangibile - Progettando 2017
Progettare l’intangibile - Progettando 2017
Giulio Roggero871 views
Favorire i feature teams con architetture microservices by Giulio Roggero
Favorire i feature teams con architetture microservicesFavorire i feature teams con architetture microservices
Favorire i feature teams con architetture microservices
Giulio Roggero1.8K views
Agile Fixed Price - XP Days 2015 by Giulio Roggero
Agile Fixed Price - XP Days 2015Agile Fixed Price - XP Days 2015
Agile Fixed Price - XP Days 2015
Giulio Roggero1.8K views
Le aspettative delle trasformazioni agili by Giulio Roggero
Le aspettative delle trasformazioni agiliLe aspettative delle trasformazioni agili
Le aspettative delle trasformazioni agili
Giulio Roggero1.7K views

Recently uploaded

"Surviving highload with Node.js", Andrii Shumada by
"Surviving highload with Node.js", Andrii Shumada "Surviving highload with Node.js", Andrii Shumada
"Surviving highload with Node.js", Andrii Shumada Fwdays
53 views29 slides
Initiating and Advancing Your Strategic GIS Governance Strategy by
Initiating and Advancing Your Strategic GIS Governance StrategyInitiating and Advancing Your Strategic GIS Governance Strategy
Initiating and Advancing Your Strategic GIS Governance StrategySafe Software
140 views68 slides
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P... by
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...ShapeBlue
154 views62 slides
DRBD Deep Dive - Philipp Reisner - LINBIT by
DRBD Deep Dive - Philipp Reisner - LINBITDRBD Deep Dive - Philipp Reisner - LINBIT
DRBD Deep Dive - Philipp Reisner - LINBITShapeBlue
140 views21 slides
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ... by
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...ShapeBlue
123 views28 slides
CloudStack and GitOps at Enterprise Scale - Alex Dometrius, Rene Glover - AT&T by
CloudStack and GitOps at Enterprise Scale - Alex Dometrius, Rene Glover - AT&TCloudStack and GitOps at Enterprise Scale - Alex Dometrius, Rene Glover - AT&T
CloudStack and GitOps at Enterprise Scale - Alex Dometrius, Rene Glover - AT&TShapeBlue
112 views34 slides

Recently uploaded(20)

"Surviving highload with Node.js", Andrii Shumada by Fwdays
"Surviving highload with Node.js", Andrii Shumada "Surviving highload with Node.js", Andrii Shumada
"Surviving highload with Node.js", Andrii Shumada
Fwdays53 views
Initiating and Advancing Your Strategic GIS Governance Strategy by Safe Software
Initiating and Advancing Your Strategic GIS Governance StrategyInitiating and Advancing Your Strategic GIS Governance Strategy
Initiating and Advancing Your Strategic GIS Governance Strategy
Safe Software140 views
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P... by ShapeBlue
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...
ShapeBlue154 views
DRBD Deep Dive - Philipp Reisner - LINBIT by ShapeBlue
DRBD Deep Dive - Philipp Reisner - LINBITDRBD Deep Dive - Philipp Reisner - LINBIT
DRBD Deep Dive - Philipp Reisner - LINBIT
ShapeBlue140 views
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ... by ShapeBlue
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...
ShapeBlue123 views
CloudStack and GitOps at Enterprise Scale - Alex Dometrius, Rene Glover - AT&T by ShapeBlue
CloudStack and GitOps at Enterprise Scale - Alex Dometrius, Rene Glover - AT&TCloudStack and GitOps at Enterprise Scale - Alex Dometrius, Rene Glover - AT&T
CloudStack and GitOps at Enterprise Scale - Alex Dometrius, Rene Glover - AT&T
ShapeBlue112 views
The Role of Patterns in the Era of Large Language Models by Yunyao Li
The Role of Patterns in the Era of Large Language ModelsThe Role of Patterns in the Era of Large Language Models
The Role of Patterns in the Era of Large Language Models
Yunyao Li80 views
Digital Personal Data Protection (DPDP) Practical Approach For CISOs by Priyanka Aash
Digital Personal Data Protection (DPDP) Practical Approach For CISOsDigital Personal Data Protection (DPDP) Practical Approach For CISOs
Digital Personal Data Protection (DPDP) Practical Approach For CISOs
Priyanka Aash153 views
NTGapps NTG LowCode Platform by Mustafa Kuğu
NTGapps NTG LowCode Platform NTGapps NTG LowCode Platform
NTGapps NTG LowCode Platform
Mustafa Kuğu365 views
DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti... by ShapeBlue
DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti...DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti...
DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti...
ShapeBlue98 views
Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ... by ShapeBlue
Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ...Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ...
Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ...
ShapeBlue79 views
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N... by James Anderson
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...
James Anderson156 views
Webinar : Desperately Seeking Transformation - Part 2: Insights from leading... by The Digital Insurer
Webinar : Desperately Seeking Transformation - Part 2:  Insights from leading...Webinar : Desperately Seeking Transformation - Part 2:  Insights from leading...
Webinar : Desperately Seeking Transformation - Part 2: Insights from leading...
VNF Integration and Support in CloudStack - Wei Zhou - ShapeBlue by ShapeBlue
VNF Integration and Support in CloudStack - Wei Zhou - ShapeBlueVNF Integration and Support in CloudStack - Wei Zhou - ShapeBlue
VNF Integration and Support in CloudStack - Wei Zhou - ShapeBlue
ShapeBlue163 views
Migrating VMware Infra to KVM Using CloudStack - Nicolas Vazquez - ShapeBlue by ShapeBlue
Migrating VMware Infra to KVM Using CloudStack - Nicolas Vazquez - ShapeBlueMigrating VMware Infra to KVM Using CloudStack - Nicolas Vazquez - ShapeBlue
Migrating VMware Infra to KVM Using CloudStack - Nicolas Vazquez - ShapeBlue
ShapeBlue176 views
What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlue by ShapeBlue
What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlueWhat’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlue
What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlue
ShapeBlue222 views

Microservices, Microfrontends and Feature Teams

  • 2. expectations time discovery learn improve real world new culture We told our story. Feedbacks: “This is not agile. Agile is … bla bla” This is my Culture. Agile or not Agile it works for us :-) Agile at Scale, Agile Buzzwords, the “TRUE Agile” is ... Real life is hard but we can do it I understood the theory. Really nice! This is not correct… you are not Agile… (again!) Starting from here we build our business! Values, Principles, Culture, Tools and Individuals are all ingredients for our success. Now we are aware! Now we are satisfied! Now we are ready to improve continuously! I hate Agile! We are in production! It was hard but we’ve learnt a lot! Restart from Basics. Values, Principles, XP, Improvement Now it’s clear! Agile is a mindset, my mindset, our mindset! Hey guy, I found my way! I’m happy and it works (for us) WOW! The first conference We are going in production. Not all moments are easy as were during the project Thanks to retrospectives we are able to improve!
  • 3. Balance Business objectives ● Wow effect features ● Time-to-marker ● Customer satisfaction ● Upselling/Cross selling ● Profitability Technical objectives ● Reduce Technical Debt ● Simplicity ● Innovation ● Learning ● Team working ● Talent retention ● Happiness
  • 4. A Modern approach to create IT systems can favorite this balance The balance it’s not so easy to reach. Technical debt and time-to-market are factors that affect this balance. Which are the key factors to build Modern Applications?
  • 5. 3 pilastri dei sistemi IT moderni • Pongono i dati al centro: Big Data, Fast Data • Interconessi: API as a Product • Hanno capacità di evolvere: stili architetturali (es: Microservices) Gestite • Organizzativo: Agile, Lean • Pperations e Business Continuity: DevOps
  • 6. How we can mix this ingredients?
  • 7. Technology The Modern Application Ecosystem Non esiste un’architettura definitiva. Esistono stili, visioni e modi di pensare ed evolvere! Stimulus Big Data Analytics/Machine Learning Event Based Integration Layer Service Integration Layer Decoupling High Performance Data Store APIs Microservices/Miniservices Microfrontends (App, Web, Bot, Voice) System of Record Applications and DBs User Experience (Click, Touch, Speak, Chat, Watch) Dev Tools Ops Tools Analytics Tools
  • 8. Come organizzarsi per costruire e gestire questi sistemi? Breve intro
  • 9. “Any organization that designs a system … will inevitably produce a design whose structure is a copy of the organization's communication structure.” Melvin Conway, 1968 http://www.melconway.com/research/committees.html
  • 10. “Digital System modification and innovation will inevitably impact on organization's communication structure.” (my proposal)
  • 11. Team and Culture Il “noi” e “loro” rallenta le decisioni e aumenta i costi. Riorganizzarsi e allinearsi con le esigenze dei clienti finali diventa più efficace e riduce costi aumentando la velocità di delivery. Ispirato dal libro Monolith to Microservices - Sam Newman. Team Team Team PMO Tech Leadership (CTO, CIO) Customers Land of confusion POs Communicationwall Fabbrica Software Business Feature Team Customers Customers Tech Leadership (CTO, CIO) Digital Hub Team PO Feature Team Team PO Support
  • 12. Feature teams Un feature team non è creato in modo temporaneo per fare una o più funzionalità e poi si scioglie. Un feature team è stabile e gestisce tutto il ciclo di vita dell’insieme delle features che sono di sua responsabilità. Approfondimenti su less.works – CC BY-ND
  • 13. Component teams Approfondimenti su less.works – CC BY-ND
  • 14. Diversamente dai component team è in grado di toccare tutti i componenti e completare uno o più features. Approfondimenti su less.works – CC BY-ND Component teams Feature teams
  • 15. Esempi concreti Poca teoria e molta pratica
  • 16. Trenord 2014-2019 Integration Layer APIs Services App, Website, Moovit, Google External Systems: timetable, pricing model, live data Trenord in 5 anni ha costruito una piattaforma digitale in modo incrementale agganciando man mano nuovi canali e facendo evolvere l’architettura in base allo scaling degli utenti. Fast Data
  • 17. Trenord – La storia Anni 2015 API req/sec 10 Team Scrum 4 Stile architetturale Microkernel+ Fast Data Hosting OnPrem Backend Languages Node.js Mobile Languages Node.js+ ObjectiveC+ Java Android
  • 18. Trenord – La storia Anni 2015 2016 API req/sec 10 40 Team Scrum 4 4 Stile architetturale Microkernel+ Fast Data Microkernel+ Fast Data Hosting OnPrem OnPrem Backend Languages Node.js Node.js Mobile Languages Node.js+ ObjectiveC+ Java Android Node.js+ ObjectiveC+ Java Android
  • 19. Trenord – La storia Anni 2015 2016 2017 API req/sec 10 40 300 Team Scrum 4 4 5 Stile architetturale Microkernel+ Fast Data Microkernel+ Fast Data Microkernel+ Miniservice+ Fast Data Hosting OnPrem OnPrem OnPrem Backend Languages Node.js Node.js Node.js Mobile Languages Node.js+ ObjectiveC+ Java Android Node.js+ ObjectiveC+ Java Android Node.js+ ObjectiveC+ Java Android
  • 20. Trenord – La storia Anni 2015 2016 2017 2018 API req/sec 10 40 300 1500 Team Scrum 4 4 5 6 Stile architetturale Microkernel+ Fast Data Microkernel+ Fast Data Microkernel+ Miniservice+ Fast Data Microkernel+ Microservices+ Fast Data Hosting OnPrem OnPrem OnPrem OnPrem Backend Languages Node.js Node.js Node.js Node.js Mobile Languages Node.js+ ObjectiveC+ Java Android Node.js+ ObjectiveC+ Java Android Node.js+ ObjectiveC+ Java Android Node.js+ ObjectiveC+ Swift+ Java Android+ Kotlin Android
  • 21. Trenord – La storia Anni 2015 2016 2017 2018 2019 API req/sec 10 40 300 1500 4000 Team Scrum 4 4 5 6 6 Stile architetturale Microkernel+ Fast Data Microkernel+ Fast Data Microkernel+ Miniservice+ Fast Data Microkernel+ Microservices+ Fast Data Miniservices+ Fast Data Hosting OnPrem OnPrem OnPrem OnPrem Cloud Backend Languages Node.js Node.js Node.js Node.js Node.js+ Kotlin Mobile Languages Node.js+ ObjectiveC+ Java Android Node.js+ ObjectiveC+ Java Android Node.js+ ObjectiveC+ Java Android Node.js+ ObjectiveC+ Swift+ Java Android+ Kotlin Android Node.js+ ObjectiveC+ Swift+ Java Android+ Kotlin Android
  • 22. Trenord – Da Microkernel a Microservizi Integration Layer API Gateway Microkernel Mobile App External Systems: timetable, pricing model, live data Fast Data M53 Trip Plan Train Status Push Tickets Passes Paymens Favorites Settings News Stations Integration Layer API Gateway Microkernel Mobile App External Systems: timetable, pricing model, live data Fast Data M53 Trip Plan Train Status Push Tickets Passes Paymens Favorites Settings News Stations Microservices Un passaggio graduale con l’attenzione di sempre avere il fallback Trip Plan
  • 23. Trenord – Canary Releases Integration Layer External Systems: timetable, pricing model, live data API Gateway App v1/v2 100% Train Status v5.5 Microservices 100% Fast Data Ogni rilascio di nuove features è effettuato con Canary Releases sia lato APP che lato Microservices. Le API sono quasi sempre retrocompatibili. In 5 anni hanno avuto una volta sola una breaking change su una sotto parte
  • 24. Trenord – Canary Releases Integration Layer App v3 External Systems: timetable, pricing model, live data API Gateway App v1/v2 5% 95% Train Status v5.5 Microservices 100% Fast Data Ogni rilascio di nuove features è effettuato con Canary Releases sia lato APP che lato Microservices. Le API sono quasi sempre retrocompatibili. In 5 anni hanno avuto una volta sola una breaking change su una sotto parte
  • 25. Trenord – Canary Releases Integration Layer App v3 External Systems: timetable, pricing model, live data API Gateway App v1/v2 5% 95% Train Status v5.5 Microservices Train Status v6 20% 80% Fast Data Ogni rilascio di nuove features è effettuato con Canary Releases sia lato APP che lato Microservices. Le API sono quasi sempre retrocompatibili. In 5 anni hanno avuto una volta sola una breaking change su una sotto parte
  • 26. Trenord – Il team e l’organizzazione Caratteristiche ● Un team unico Scrum ● Sprint da 1 settimana ● Rilasci continui ● 3 Ambienti: integration, beta, prod Responsabilità ● Uptime 24/7 di tutto il sistema end-to-end ● Customer care app ● Analisi analitici e proposta features ● Coding, Testing, Ops, …
  • 27. Mia-Platform – Il team e l’organizzazione 2017 API Gateway Microservices (Node.js) Angular Core Team Customers Tech Leadership (CTO, CIO) Team PO Mia-Platform Products
  • 28. Mia-Platform – Accelerazione (+servizi, +FE capabilities) Microservices (Java, Node.js, Kotlin, Python, Go) React Core Team Customers Tech Leadership (CTO, CIO) Team PO Contributors Team Team PO API Gateway Angular I contributors team lavorano su progetti cliente e fanno evolvere il prodotto in stile open source Mia-Platform Products
  • 29. Mia-Platform – Microfrontends React Core Team Team PO Node.js Microservices Java/Kotlin Microservices Go Microservices Contributors Team Team PO Angular Contributors Team Team PO React • Un insieme di regole comuni sulla gestione dei feature branch, merge request e code design. • Pipelines automatizzate in diversi ambieti per conituous Delibery. • Kata, Mob Programming, Pair Programming per condividere la conoscenza. Librerie comuni per JavaScript per integrare diversi Framework e Librerie
  • 31. Culture is your asset! Don’t copy and paste from other companies but build your own! This is the real competitive advantage for your business! Giulio Roggero CTO and Founder Mia-Platform Chief Strategist and Partner Intré Advisor and Founder Agile Reloaded