SlideShare une entreprise Scribd logo
1  sur  31
Télécharger pour lire hors ligne
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

Contenu connexe

Tendances

Beyond API Spray & Pray: Developer Portals in Digital Transformation
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
Pronovix
 
cubet_corporate_brochure
cubet_corporate_brochurecubet_corporate_brochure
cubet_corporate_brochure
Mathews Abraham
 

Tendances (19)

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 LIVE Paris 2021 - Generating OpenAPIs from business models by Frederi...
 
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...
Case Study of Financial Web System Development and Operations with Oracle Web...
 
Beyond API Spray & Pray: Developer Portals in Digital Transformation
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
 
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...
Accelerate Your Digital Transformation Journey with Cloud Native and Low-Cod...
 
Cubet Techno Labs Corporate Brochure
Cubet Techno Labs Corporate Brochure Cubet Techno Labs Corporate Brochure
Cubet Techno Labs Corporate Brochure
 
Case Study: Creating a DocOps/Docs-As-Code DevPortal for C3.ai
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
 
Migration to Liferay DXP - Digital Experience Platform | KNOWARTH
 Migration to Liferay DXP - Digital Experience Platform | KNOWARTH Migration to Liferay DXP - Digital Experience Platform | KNOWARTH
Migration to Liferay DXP - Digital Experience Platform | KNOWARTH
 
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...
Support unlimited and ever changing customer experiences with GraphQL by Andr...
 
Low code - empower the capability to accelerate | 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
 
apidays LIVE New York 2021 - Docs Driven API Development by Rahul Dighe, Paypal
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
 
Voices of Product: Discovery and Framing
Voices of Product: Discovery and FramingVoices of Product: Discovery and Framing
Voices of Product: Discovery and Framing
 
The subtle art of building scalable apps using low code
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
 
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...
apidays LIVE India - Data Pipelines to Dashboards by Rudranshu Praharaj, Gold...
 
Mendix - Cloud PAAS App Platform
Mendix - Cloud PAAS App PlatformMendix - Cloud PAAS App Platform
Mendix - Cloud PAAS App Platform
 
DEVOPS ENGINEER - CAREER PATH, JOB SCOPE, AND CERTIFICATIONS
DEVOPS ENGINEER - CAREER PATH, JOB SCOPE, AND CERTIFICATIONSDEVOPS ENGINEER - CAREER PATH, JOB SCOPE, AND CERTIFICATIONS
DEVOPS ENGINEER - CAREER PATH, JOB SCOPE, AND CERTIFICATIONS
 
cubet_corporate_brochure
cubet_corporate_brochurecubet_corporate_brochure
cubet_corporate_brochure
 
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...
FutureLink | Strategic Tooling Decisions in ALM Engineering: Migrate or Coexi...
 
Intland Software | Welcome and Opening Remarks - Intland Connect - 22 Oct 2020
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
 
SAAS @ Cubet
SAAS @ CubetSAAS @ Cubet
SAAS @ Cubet
 

Similaire à Microservices, Microfrontends and Feature Teams

DevOps Days Toronto: From 6 Months Waterfall to 1 hour Code Deploys
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 Grabner
 
Tech foundations-slides
Tech foundations-slidesTech foundations-slides
Tech foundations-slides
tranquynh93
 
Actminds Outsourcing Summit 07
Actminds Outsourcing Summit 07Actminds Outsourcing Summit 07
Actminds Outsourcing Summit 07
cnetto
 

Similaire à Microservices, Microfrontends and Feature Teams (20)

Platform governance, gestire un ecosistema di microservizi a livello enterprise
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
 
DevOps Days Toronto: From 6 Months Waterfall to 1 hour Code Deploys
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
 
Tech foundations-slides
Tech foundations-slidesTech foundations-slides
Tech foundations-slides
 
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?
AWS Community Day: From Monolith to Microservices - What Could Go Wrong?
 
Actminds Outsourcing Summit 07
Actminds Outsourcing Summit 07Actminds Outsourcing Summit 07
Actminds Outsourcing Summit 07
 
DevOpsDays Jakarta Igites
DevOpsDays Jakarta IgitesDevOpsDays Jakarta Igites
DevOpsDays Jakarta Igites
 
Serverless projects at Myplanet
Serverless projects at MyplanetServerless projects at Myplanet
Serverless projects at Myplanet
 
The Need for Speed
The Need for SpeedThe Need for Speed
The Need for Speed
 
DevOps in the Amazon Warehouse - Shawn Gandhi
DevOps in the Amazon Warehouse - Shawn GandhiDevOps in the Amazon Warehouse - Shawn Gandhi
DevOps in the Amazon Warehouse - Shawn Gandhi
 
Microservices the Good Bad and the Ugly
Microservices the Good Bad and the UglyMicroservices the Good Bad and the Ugly
Microservices the Good Bad and the Ugly
 
qs_presentation_v_1_0
qs_presentation_v_1_0qs_presentation_v_1_0
qs_presentation_v_1_0
 
Innovate Better Through Machine data Analytics
Innovate Better Through Machine data AnalyticsInnovate Better Through Machine data Analytics
Innovate Better Through Machine data Analytics
 
From Monoliths to Microservices at Realestate.com.au
From Monoliths to Microservices at Realestate.com.auFrom Monoliths to Microservices at Realestate.com.au
From Monoliths to Microservices at Realestate.com.au
 
Engineering at Slido
Engineering at SlidoEngineering at Slido
Engineering at Slido
 
Maintainable Machine Learning Products
Maintainable Machine Learning ProductsMaintainable Machine Learning Products
Maintainable Machine Learning Products
 
Lean UX + DevOps
Lean UX + DevOpsLean UX + DevOps
Lean UX + DevOps
 
How do we drive tech changes
How do we drive tech changesHow do we drive tech changes
How do we drive tech changes
 
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...
Von JavaEE auf Microservice in 6 Monaten - The Good, the Bad, and the wtfs...
 
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...
Data-Driven DevOps: Mining Machine Data for 'Metrics that Matter' in a DevOps...
 
DevOps-driving-blind
DevOps-driving-blindDevOps-driving-blind
DevOps-driving-blind
 

Plus de Giulio Roggero

Modernize Legacy Systems with Kubernetes
Modernize Legacy Systems with KubernetesModernize Legacy Systems with Kubernetes
Modernize Legacy Systems with Kubernetes
Giulio Roggero
 
Favorire i feature teams con architetture microservices
Favorire i feature teams con architetture microservicesFavorire i feature teams con architetture microservices
Favorire i feature teams con architetture microservices
Giulio Roggero
 

Plus de Giulio Roggero (20)

Platform Engineering - a 360 degree view
Platform Engineering - a 360 degree viewPlatform Engineering - a 360 degree view
Platform Engineering - a 360 degree view
 
Kubernetes and CNCF Landscape 101
Kubernetes and CNCF Landscape 101Kubernetes and CNCF Landscape 101
Kubernetes and CNCF Landscape 101
 
Modernize Legacy Systems with Kubernetes
Modernize Legacy Systems with KubernetesModernize Legacy Systems with Kubernetes
Modernize Legacy Systems with Kubernetes
 
Stili architetturali in Kubernetes
Stili architetturali in KubernetesStili architetturali in Kubernetes
Stili architetturali in Kubernetes
 
Do pair programming with an artificial intelligence
Do pair programming with an artificial intelligenceDo pair programming with an artificial intelligence
Do pair programming with an artificial intelligence
 
Come i Microservizi favoriscono il lavoro dei Feature Teams
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
 
Agile Journey
Agile JourneyAgile Journey
Agile Journey
 
Invisible infrastructures
Invisible infrastructuresInvisible infrastructures
Invisible infrastructures
 
Stop Meeting, Start Coding!
Stop Meeting, Start Coding!Stop Meeting, Start Coding!
Stop Meeting, Start Coding!
 
Eliminare gli Spaghetti API
Eliminare gli Spaghetti APIEliminare gli Spaghetti API
Eliminare gli Spaghetti API
 
Innovare nel B2C
Innovare nel B2CInnovare nel B2C
Innovare nel B2C
 
Da spaghetti API a Piattaforma Digitale
Da spaghetti API a Piattaforma DigitaleDa spaghetti API a Piattaforma Digitale
Da spaghetti API a Piattaforma Digitale
 
Kanban board!
Kanban board!Kanban board!
Kanban board!
 
API Conf 2017 - Allineare il business e la tecnologia grazie alle api
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
 
Progettare l’intangibile - Progettando 2017
Progettare l’intangibile - Progettando 2017Progettare l’intangibile - Progettando 2017
Progettare l’intangibile - Progettando 2017
 
Trust me, I'm a developer
Trust me, I'm a developerTrust me, I'm a developer
Trust me, I'm a developer
 
Agilità interculturale
Agilità interculturaleAgilità interculturale
Agilità interculturale
 
Favorire i feature teams con architetture microservices
Favorire i feature teams con architetture microservicesFavorire i feature teams con architetture microservices
Favorire i feature teams con architetture microservices
 
Agile Fixed Price - XP Days 2015
Agile Fixed Price - XP Days 2015Agile Fixed Price - XP Days 2015
Agile Fixed Price - XP Days 2015
 
Le aspettative delle trasformazioni agili
Le aspettative delle trasformazioni agiliLe aspettative delle trasformazioni agili
Le aspettative delle trasformazioni agili
 

Dernier

Dernier (20)

Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 

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