A livello enterprise, le moderne architetture distribuite coinvolgono molti team differenti, centinaia di sviluppatori e operations e migliaia microservizi ed API in produzione. Come si può gestire questa
e o
un'esplosione di costi e preservando il time-to-market?
Call Girls In Panjim North Goa 9971646499 Genuine Service
Platform governance, gestire un ecosistema di microservizi a livello enterprise
1. Platform Governance
Gestire un ecosistema di microservizi a livello enterprise
Giulio Roggero
Founder and CTO Mia-Platform A livello enterprise, le moderne
architetture distribuite coinvolgono molti
team differenti, centinaia di sviluppatori e
operations e migliaia microservizi ed API in
produzione. Come si può gestire questa
complessità, continuando a scrivere e
mantenere codice pulito, evitando
un'esplosione di costi e preservando il
time-to-market?
2. Perchè una piattaforma digitale ?
2
● Ammodernare il legacy per ridurre il TCO
● Accelerare il time-to-market
● Scalare i sistemi per i servizi B2C
3. Quale strategie per implementare la piattaforma?
3
● Sfruttare tecnologie Cloud Native
● Adottare metodi e pratiche Agile e DevOps
● Adottare stili architetturali a Microservizi nei punti giusti
● Gestire i dati con Data Mesh e Data Streams
4. Company
Cloud Native
Platform
CQRS Fast Data
Command Query Responsibility Segregation for read and write operations. Single Views aggregators, storage and push to SaaSData
System of Records / Legacy
Application responsible of data consistency and transactions
Applications
B2C B2C/B2B B2BPartners / ISV SaaS Platforms
SaaS Application with
dedicated database
API integrationMix Microfronted and API
integration
Mobile, Web, Voice, BotMix Microfronted and API
integration
Channels
API Management Platform Identity Manager
Edge Router
Design, Version, Authorize, Publish, Document, Retire APIs Authorize and provide identity token with user info
SSL Termination, DDOS protection, Load Balancing
APIs
Services / Mini Services / Microservices
AggregatorsSingleResponsibility
Aggregates of single responsibility microservices with business logic in orchestrators (sagas, pub/sub, pre/post, cron job)
Single responsibility service/mini service/microservice that perform one business task autonomously
BFFs
Backend for frontend that exposes the experience API for channels
Business Logic
Connectors / Adapters / Integrations
APIs adapters, Events Brokers and ETLs to communicate in real-time with system of recordsEvents
10. Quali sono le difficoltà?
10
Non c’è un solo team che ci lavora ma ci
sono decine di team e centinaia di
persone che collaborano sulla
piattaforma.
11. Evoluzione dei servizi
Service
Domain
Service
Domain
Monolithic Application
Macroservices
Service
Domain
Service
Domain
Miniservices
App server App server
Service
Domain
Runtime
Data Store Data Store
Data
Store
Feature
A
Runtime
Data
Store
Feature
B
Runtime
Data
Store
Feature
C
Runtime
Data
Store
Feature
D
Runtime
Data
Store
Microservices
Feature
E
Runtime
Data
Store
Percorso verso una piattaforma digitale che adotta stili architetturali a microservizi
Tutto in un solo posto.
Tecnologie omogenee.
Separazione di responsabilità
a livello di codebase e non di
processo
Media eterogeneità di
tecnologie.
Medio/bassa separazione di
responsabilità
Alta eterogeneità di tecnologie.
Alta separazione di responsabilità di
processi.
12. rischio della perdita di
controllo delle scelte
tecniche e tecnologiche
scelta delle tecnologie più
adatte allo scopo e
capacità di innovare per
evolvere
Opportunità di una
piattaforma con stile a
microservizi e Cloud Native
Molti più gradi di libertà
Separazione delle responsabilità non un unico responsabile
Non tutto in un posto unico rischio di perdita di know-how
Scalabilità dei costi
riusare e comporre più
facilmente i componenti
per nuove logiche di
business
distribuzione del know-how
e maggior facilità di
aggiornamento dello stesso
non riesco a fare un budget
certo e posso perdere il
controllo di cosa spendo
spendo solo per quello che
mi serve
14. 14
● Debito tecnico elevato
● Total Cost of Ownership elevata
● In un paio di anni ci ritroviamo con un sistema Legacy che fa fatica
ad evolvere
Tutto come prima ma con nuove tecnologie
Quali problemi?
20. Democratizzare la
piattaforma
20
F. Team 1
F. Team 2
F. Team 3
Product
Backloge-Commerce
1 PO, 1 Backlog, 1 Prodotto, N Feature Teams
PO
Coordinamento e Focus sul Valore di Business generato
Mob programming e Code Reviews
Mob Code Reviews
Standard emergenti
Unconference
Condivisione della conoscenza ed esposizione delle idee
Kata
Esercitarsi in modo continuo
22. Team Products Team Customer
Component
Lib
Service
Frontend
Ops
Mantainers
Users
Come gestire le
dipendenze tra
microservizi?
22
23. Team Products Team Customer
Chiedendo Aiuto!
Ask for an improvement
23
Component
Lib
Service
Frontend
Ops
24. Team Products Team Customer
Ma non sempre è
possibile sincronizzarsi
Ask for an improvement
24
Component
Lib
Service
Frontend
Ops
25. Team Products Team Customer
Il codice è di tutti, per
cui lo modifico
rispettando le regole
che ci siamo dati
ispirate ai Modelli Open
Source!
Implement the improvement
25
Component
Lib
Service
Frontend
Ops
26. Team Products Team Customer
Pull request
Implement the improvement
Il codice è di tutti, per
cui lo modifico
rispettando le regole
che ci siamo dati
ispirate ai Modelli Open
Source!
26
Component
Lib
Service
Frontend
Ops
27. Team Products Team Customer
In questo modo la
conoscenza si
distribuisce e
l’ecosistema evolve in
piattaforma.
Pull request
Delivery new version
Implement the improvement
27
Component
Lib
Service
Frontend
Ops
29. System of Records Applications, SaaS, Legacy and Partner ApplicationsProduct Master of Record
30. System of Records Applications, SaaS, Legacy and Partner Applications
One
Responsibility
Microservice
One
Responsibility
Microservice
East-West Communication - Events
Product Catalogue
Product Stock Status
Product Tracking
Product Master of Record
One
Responsibility
Microservice
31. System of Records Applications, SaaS, Legacy and Partner Applications
One
Responsibility
Microservice
One
Responsibility
Microservice
One
Responsibility
Microservice
East-West Communication - Events
Product Catalogue
Product Stock Status
Product Tracking
Event Broker / APIs
Product Updated
Product Shipped
Product Master of Record
32. System of Records Applications, SaaS, Legacy and Partner Applications
One
Responsibility
Microservice
One
Responsibility
Microservice
One
Responsibility
Microservice
East-West Communication - Events
Product Catalogue
Product Stock Status
Product Tracking
Event Broker / APIs
Product Updated
Product Shipped
Product Master of Record
Fast Data
Store
Fast Data
33. System of Records Applications, SaaS, Legacy and Partner Applications
One
Responsibility
Microservice
One
Responsibility
Microservice
One
Responsibility
Microservice
East-West Communication - Events
Product Catalogue
Product Stock Status
Product Tracking
Event Broker / APIs
Product Updated
Product Shipped
Product Master of Record
Business Aggregators
Product Availability
Services and APIs
Fast Data
Store
Fast Data
34. System of Records Applications, SaaS, Legacy and Partner Applications
One
Responsibility
Microservice
One
Responsibility
Microservice
One
Responsibility
Microservice
East-West Communication - Events
Product Catalogue
Product Stock Status
Product Tracking
Event Broker / APIs
Product Updated
Product Shipped
Product Master of Record
Business Aggregators
Product Availability
Services and APIs
BFF BFF
App Status
Fast Data
Store
Fast Data
35. System of Records Applications, SaaS, Legacy and Partner Applications
One
Responsibility
Microservice
One
Responsibility
Microservice
One
Responsibility
Microservice
East-West Communication - Events
Product Catalogue
Product Stock Status
Product Tracking
Event Broker / APIs
Product Updated
Product Shipped
Product Master of Record
Business Aggregators
Product Availability
Services and APIs
BFF BFF
App Status
Fast Data
Store
Fast Data
App App
Channels
36. System of Records Applications, SaaS, Legacy and Partner Applications
One
Responsibility
Microservice
One
Responsibility
Microservice
One
Responsibility
Microservice
East-West Communication - Events
Product Catalogue
Product Stock Status
Product Tracking
Event Broker / APIs
Product Updated
Product Shipped
Product Master of Record
Business Aggregators
Product Availability
Services and APIs
BFF BFF
App Status
Fast Data
Store
Fast Data
App App App
Channels
One
Responsibility
Microservice
One
Responsibility
Microservice
Business Aggregators
BFF
App App AppApp
37. System of Records Applications, SaaS, Legacy and Partner Applications
One
Responsibility
Microservice
One
Responsibility
Microservice
One
Responsibility
Microservice
East-West Communication - Events
Product Catalogue
Product Stock Status
Product Tracking
Event Broker / APIs
Product Updated
Product Shipped
Product Master of Record
Business Aggregators
Product Availability
Services and APIs
BFF BFF
App Status
Fast Data
Store
Fast Data
App App App
Channels
One
Responsibility
Microservice
One
Responsibility
Microservice
Business Aggregators
BFF
App App AppApp
One
Responsibility
Microservice
One
Responsibility
Microservice
Business Aggregators
BFF BFF
App App App
BFF
38. System of Records Applications, SaaS, Legacy and Partner Applications
One
Responsibility
Microservice
One
Responsibility
Microservice
One
Responsibility
Microservice One
Responsibility
Microservice
One
Responsibility
Microservice
One
Responsibility
Microservice
One
Responsibility
Microservice
One
Responsibility
Microservice
Event Broker / APIs
East-West Communication - Events
Business Aggregators Business Aggregators Business Aggregators Business Aggregators
BFF BFF BFF BFF BFF BFF BFF BFF
App App App App App App App App App App App App
Product Catalogue
Product Stock Status
Product Tracking
Examples
Product Updated
Product Shipped
Product Availability
Services and APIs
Product Master of Record
App Status
Channels
Fast Data
Store
Fast Data
North-SouthCommunication-APIs
Analytics
AI
Stimulus