O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.
Platform Governance
Gestire un ecosistema di microservizi a livello enterprise
Giulio Roggero
Founder and CTO Mia-Platform...
Perchè una piattaforma digitale ?
2
● Ammodernare il legacy per ridurre il TCO
● Accelerare il time-to-market
● Scalare i ...
Quale strategie per implementare la piattaforma?
3
● Sfruttare tecnologie Cloud Native
● Adottare metodi e pratiche Agile ...
Company
Cloud Native
Platform
CQRS Fast Data
Command Query Responsibility Segregation for read and write operations. Singl...
Tecnologie
Cloud Native
5
6https://landscape.cncf.io/
7https://landscape.cncf.io/ - Italy
Una volta fatte le proprie scelte e avviata la
piattaforma siamo arrivati in fondo al nostro
percorso?
8
No!
9
Quali sono le difficoltà?
10
Non c’è un solo team che ci lavora ma ci
sono decine di team e centinaia di
persone che collabo...
Evoluzione dei servizi
Service
Domain
Service
Domain
Monolithic Application
Macroservices
Service
Domain
Service
Domain
Mi...
rischio della perdita di
controllo delle scelte
tecniche e tecnologiche
scelta delle tecnologie più
adatte allo scopo e
ca...
Se non governiamo
13
14
● Debito tecnico elevato
● Total Cost of Ownership elevata
● In un paio di anni ci ritroviamo con un sistema Legacy che...
La risposta?
15
16
Una Software Development Guideline!
LOL
17
Cultura della condivisione e del continuo miglioramento
Dev Portal
OSS
Governance
Architettura
Emergente
ed Evolutiva
Comp...
Cultura
19
Democratizzare la
piattaforma
20
F. Team 1
F. Team 2
F. Team 3
Product
Backloge-Commerce
1 PO, 1 Backlog, 1 Prodotto, N Fe...
Open Source interno
21
Team Products Team Customer
Component
Lib
Service
Frontend
Ops
Mantainers
Users
Come gestire le
dipendenze tra
microserviz...
Team Products Team Customer
Chiedendo Aiuto!
Ask for an improvement
23
Component
Lib
Service
Frontend
Ops
Team Products Team Customer
Ma non sempre è
possibile sincronizzarsi
Ask for an improvement
24
Component
Lib
Service
Front...
Team Products Team Customer
Il codice è di tutti, per
cui lo modifico
rispettando le regole
che ci siamo dati
ispirate ai M...
Team Products Team Customer
Pull request
Implement the improvement
Il codice è di tutti, per
cui lo modifico
rispettando le...
Team Products Team Customer
In questo modo la
conoscenza si
distribuisce e
l’ecosistema evolve in
piattaforma.
Pull reques...
Architettura
emergente
28
System of Records Applications, SaaS, Legacy and Partner ApplicationsProduct Master of Record
System of Records Applications, SaaS, Legacy and Partner Applications
One
Responsibility
Microservice
One
Responsibility
M...
System of Records Applications, SaaS, Legacy and Partner Applications
One
Responsibility
Microservice
One
Responsibility
M...
System of Records Applications, SaaS, Legacy and Partner Applications
One
Responsibility
Microservice
One
Responsibility
M...
System of Records Applications, SaaS, Legacy and Partner Applications
One
Responsibility
Microservice
One
Responsibility
M...
System of Records Applications, SaaS, Legacy and Partner Applications
One
Responsibility
Microservice
One
Responsibility
M...
System of Records Applications, SaaS, Legacy and Partner Applications
One
Responsibility
Microservice
One
Responsibility
M...
System of Records Applications, SaaS, Legacy and Partner Applications
One
Responsibility
Microservice
One
Responsibility
M...
System of Records Applications, SaaS, Legacy and Partner Applications
One
Responsibility
Microservice
One
Responsibility
M...
System of Records Applications, SaaS, Legacy and Partner Applications
One
Responsibility
Microservice
One
Responsibility
M...
Dev Portal
39
40
Marketplace
41
42
Marketplace
43
Marketplace
Automatic git repo
generation
git-clone
Clone microservice source
code on local machine
Coding on local mac...
44
Marketplace
Automatic git repo
generation
my-service git-clone
Clone microservice source
code on local machine
Coding o...
Compliance as Code
45
46
Marketplace
clone code push pipeline run observe
Un feature team che lavora rispetta le regole
perché collabora in modo...
47
Marketplace
clone code push pipeline run observe
Se è team sono tanti?
48
Marketplace
clone code push pipeline run observe
Si riescono ad avere regole condivise?
49
Marketplace
clone code push pipeline run observe
rules
Si possono creare regole si Git e verificarle in
automatico!
50
Marketplace
clone code push pipeline run observe
rules
Un Bot può fare il confronto tra le regole e quello che i team
s...
51
Marketplace
clone code push pipeline run observe
rules
52
Marketplace
clone code push pipeline run observe
rules
Code
coverage
non
adeguata
53
Marketplace
clone code push pipeline run observe
rules
Formato
del log
non
standard
54
Marketplace
clone code push pipeline run observe
rules
continuo miglioramento
55
Marketplace
clone code push pipeline run observe
rules
continuo miglioramento
Aggiornamento delle regole in modo
collab...
Riassumendo
56
57
Open Source
Interno
Cultura
Dev Portal Marketplace
Architettura
emergente
Compliance as Code
58
https://sessionize.com/giulio-roggero/
Próximos SlideShares
Carregando em…5
×

Platform governance, gestire un ecosistema di microservizi a livello enterprise

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?

  • Seja o primeiro a comentar

Platform governance, gestire un ecosistema di microservizi a livello enterprise

  1. 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. 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. 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. 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
  5. 5. Tecnologie Cloud Native 5
  6. 6. 6https://landscape.cncf.io/
  7. 7. 7https://landscape.cncf.io/ - Italy
  8. 8. Una volta fatte le proprie scelte e avviata la piattaforma siamo arrivati in fondo al nostro percorso? 8
  9. 9. No! 9
  10. 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. 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. 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
  13. 13. Se non governiamo 13
  14. 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?
  15. 15. La risposta? 15
  16. 16. 16 Una Software Development Guideline!
  17. 17. LOL 17
  18. 18. Cultura della condivisione e del continuo miglioramento Dev Portal OSS Governance Architettura Emergente ed Evolutiva ComplianceMarketplace
  19. 19. Cultura 19
  20. 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
  21. 21. Open Source interno 21
  22. 22. Team Products Team Customer Component Lib Service Frontend Ops Mantainers Users Come gestire le dipendenze tra microservizi? 22
  23. 23. Team Products Team Customer Chiedendo Aiuto! Ask for an improvement 23 Component Lib Service Frontend Ops
  24. 24. Team Products Team Customer Ma non sempre è possibile sincronizzarsi Ask for an improvement 24 Component Lib Service Frontend Ops
  25. 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. 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. 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
  28. 28. Architettura emergente 28
  29. 29. System of Records Applications, SaaS, Legacy and Partner ApplicationsProduct Master of Record
  30. 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. 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. 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. 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. 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. 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. 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. 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. 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
  39. 39. Dev Portal 39
  40. 40. 40
  41. 41. Marketplace 41
  42. 42. 42 Marketplace
  43. 43. 43 Marketplace Automatic git repo generation git-clone Clone microservice source code on local machine Coding on local machine
  44. 44. 44 Marketplace Automatic git repo generation my-service git-clone Clone microservice source code on local machine Coding on local machinePublish su Marketplace New Reusable Service New Reusable Service
  45. 45. Compliance as Code 45
  46. 46. 46 Marketplace clone code push pipeline run observe Un feature team che lavora rispetta le regole perché collabora in modo stretto
  47. 47. 47 Marketplace clone code push pipeline run observe Se è team sono tanti?
  48. 48. 48 Marketplace clone code push pipeline run observe Si riescono ad avere regole condivise?
  49. 49. 49 Marketplace clone code push pipeline run observe rules Si possono creare regole si Git e verificarle in automatico!
  50. 50. 50 Marketplace clone code push pipeline run observe rules Un Bot può fare il confronto tra le regole e quello che i team stanno producendo
  51. 51. 51 Marketplace clone code push pipeline run observe rules
  52. 52. 52 Marketplace clone code push pipeline run observe rules Code coverage non adeguata
  53. 53. 53 Marketplace clone code push pipeline run observe rules Formato del log non standard
  54. 54. 54 Marketplace clone code push pipeline run observe rules continuo miglioramento
  55. 55. 55 Marketplace clone code push pipeline run observe rules continuo miglioramento Aggiornamento delle regole in modo collaborativo ed emergente
  56. 56. Riassumendo 56
  57. 57. 57 Open Source Interno Cultura Dev Portal Marketplace Architettura emergente Compliance as Code
  58. 58. 58 https://sessionize.com/giulio-roggero/

×