Principali architetture software

Concetti di DevOps

Cem Sakarya

DevOps Risk Advisor

Architettura software

 

L'architettura software è l'insieme delle strutture fondamentali di un sistema software e la disciplina che le progetta. Ogni struttura comprende elementi software, le loro relazioni e le proprietà sia degli elementi sia delle relazioni.

Disegno architettonico

1 https://en.wikipedia.org/wiki/Software_architecture
Concetti di DevOps

Application Programming Interfaces (API)

 

Application Programming Interfaces

  • I dati fluiscono tramite API
  • Sono essenziali per software e architetture
Concetti di DevOps

Vari sistemi architetturali

Fattori da considerare

  • Tipo di software
  • Su macchina o nel browser
  • Complessità del software
  • Parti semplici possono essere un'unica unità
  • Separa i componenti per software più complessi
Concetti di DevOps

Microservizi

Un grande cubo e un gruppo di cubi più piccoli che simboleggiano i microservizi.

  • Sistema architetturale più importante per software complessi
  • Comune nelle organizzazioni moderne
  • Invece di un unico blocco, molti componenti piccoli e indipendenti
  • I componenti piccoli si chiamano microservizi
  • Comunicano tra loro tramite API
Concetti di DevOps

Il cliente interagisce con l'app chiedendo opzioni di hotel e auto disponibili.

Concetti di DevOps

  L'app sul telefono del cliente chiede al backend le opzioni di prenotazione disponibili.

Concetti di DevOps

  I microservizi Hotel e Auto a noleggio inviano le informazioni all'app sul telefono del cliente.

Concetti di DevOps

DevOps per architetture a microservizi

Il microservizio Hotel viene aggiornato dalla versione uno alla versione due mentre gli altri restano invariati.

Concetti di DevOps

Vantaggi di DevOps per i microservizi

  • Nelle grandi organizzazioni il software cambia continuamente
  • Modifica un componente alla volta
  • I microservizi sono più sicuri e affidabili
  • Se un microservizio ha problemi, gli altri continuano a funzionare bene
Concetti di DevOps

Esercitiamoci!

Concetti di DevOps

Preparing Video For Download...