SlideShare una empresa de Scribd logo
1 de 23
Descargar para leer sin conexión
Introduzione
Layer Fisico
Dal bare-metal ai Servizi di Sistema
Andrea Di Marco
Virtualizzazione (VM / LXC / Cloud)
Cluster Engine
Servizi applicativi (un esempio)
Case Study: SysOpen
Architettura
Tecnologie
DEFINIZIONI
High Availability
Alta Affidabilità è la caratteristica di un sistema che mira ad
assicurare un livello di prestazioni concordato, solitamente in
termini di disponibilità e raggiungibilità, per un periodo di tempo
superiore al “normale”.
RAS
Reliability, Availability, Serviceability
In breve:
● Affidabilità Correttezza dell’output [MTBF]
detect e/o auto correzione dell’errore
● Disponibilità UpTime [Nines]
● Manutenibilità Tempo di riparazione [ETR]
DALBARE-METALAISERVIZI
Layer architetturali
L’alta affidabilità è chiaramente richiesta dal Business
e impatta su tutto lo stack tecnologico
dalla network (pila ISO/OSI)
alle applicazioni
PHYSICALLAYER
Data Center / Network
● Backbone / POP
● Routing
● Switch Fabric
● Servizi (es. SAN)
● UPS
Server
● RAM ECC
● Hot Swap
● RAID (w battery)
● Schede di Rete
● Alimentatori
● OFB Management
Una parola con tante sfumature
Virtualizzazione sottende molti concetti e il panorama è molto ampio.
Da IBM SIMMON (1960) a IBM z/VM (2000) da XEN (2003) alle tecniche di Hyperjacking…
Panoramica
VIRTUALIZZAZIONE
...fino ai sistemi cloud come, ad esempio, OpenStack.
Il computer nel computer
E’ l’implementazione logica più semplice del concetto di virtualizzazione.
Da fisico a virtuale il passaggio è trasparente.
VIRTUAL MACHINE
VIRTUALIZZAZIONE
Pro
● Isolato
● Indipendente
● Massimo Controllo
Contro
● Legacy
● Alto Overhead
● Provisioning “lento”
Come si pone rispetto ad un’architettura in HA ?
Una VM leggera
Perché avere un sistema operativo stand-alone quando possiamo separare solo la parte
“logica” che ci interessa? I container consentono di ottimizzare le risorse.
CONTAINER
VIRTUALIZZAZIONE
Pro
● Leggero
● Provisioning “rapido”
Contro
● Poco isolato
● Lock sul sistema operativo
● Scarsa indipendenza
Come si pone rispetto ad un’architettura in HA ?
Un nuovo approccio
Il cloud prende la virtualizzazione, sia VM che Container, il bare-metal e fonde tutto in un unico
sistema “as-a-service” che consente di prendere il meglio di tutte le tecnologie
(o almeno questo promette...)
CLOUD
VIRTUALIZZAZIONE
Come si pone rispetto ad
un’architettura in HA ?
CONFRONTO
VIRTUALIZZAZIONE
L’alta affidabilità totale è raggiungibile solo con un approccio bottom-up dal Networking
all’applicativo. Il mondo della virtualizzazione delega, di fatto, l’HA dell’hardware al fornitore del
servizio, in modo proporzionale allo stack “as-a-Service”.
- Il mondo cloud, container, VPS è realmente in HA?
- Come sono implementati i servizi dei principali provider?
Clustering
La ridondanza dei servizi, in molti casi, passa per il clustering a basso livello.
Le macchine parte di un cluster devono conoscere i reciproci stati per sapere se e quando
sono autorizzate ad operare (es. lock su un file o acquisizione di un IP).
Ci sono diversi modi di definire un cluster…
Multi-Master / Fail Over (aka Active-Passive)
CLUSTERENGINE
Clustering FOSS
Sono tecnologie molto mature, dal primo
HeartBeat (1999) che consentiva solo una
configurazione Active-Passive al primo CRM
PaceMaker (2004) fino CoroSync (2012) che
permette di raggiungere configurazioni
decisamente complesse.
HeartBeat / PaceMaker / CoroSync
CLUSTERENGINE
Clustering applicativo
Lo stack applicativo può essere clusterizzato se il software lo supporta.
(S)Vantaggi
I vantaggi presunti di un ambiente clustered sono talvolta dei pitfall prestazionali.
Ogni situazione richiede un’opportuna analisi.
Esempio: sessioni in Tomcat
KPI
I punti di attenzione sono, nella maggioranza dei casi, molto simili:
- Condivisione dei dati
- Concorrenza
- (Dis)allineamento
- Performance
- Fault Tolerance
Stack Applicativo
SERVIZIAPPLICATIVI
Esempio: Liferay Portal
Si trovano innumerevoli guide sul clustering di questo stack applicativo, tuttavia, eliminare
gli SPF non è così semplice come la raccontano e, spesso, si vedono architetture figlie del
compromesso, che di HA hanno ben poco… un esempio lampante arriva dal wiki del portale
stesso.
Apache / Tomcat / MySQL / FileSystem
SERVIZIAPPLICATIVI
Ci sono alcune lacune:
● Cluster tra Tomcat
● Loadbalancer (?)
● DB Controller (?)
● Lo storage condiviso
○ Lucene index
○ Repository
Forse non è così semplice,
ma si può fare.
CASESTUDY
CASE STUDY: SysOpen
Un’infrastruttura pensata per essere resiliente.
Un solo principio:
“Keep it Simple”
La volontà di erogare servizi in alta affidabilità ha condotto
ad un disegno architetturale che portasse a sistema le
principali tecnologie Open Source del settore
Per essere competitivi occorre poter offrire servizi efficaci,
efficienti e in linea con i prezzi di mercato.
L’infrastruttura che vedremo è stata progettata attorno alle
tre parole chiave RAS:
● Reliability
● Availability
● Serviceability
Approccio: Bottom-Up
Proxmox
- VE High Availability Cluster
- Multi-master Design
- Proxmox Cluster File System
- Corosync
- Web & CLI interface
- Auth Realms LDAP / AD / PAM / VE
- Proxmox Cluster File System
- IPMI Fencing
pfSense
- Snort IDS / IPS
- Common Address Redundancy Protocol
- IPSec / OpenVPN
SSD & SAS + Cloud
- Fast SSD Storage
- GlusterFS Replica
- Swift backup
DBaaS
- 3x HA Proxy
- KeepAliveD
- MariaDB w xtrabackup
CASESTUDY
Capacità
Il modello di infrastruttura esposto ha un tempo di
realizzazione non trascurabile (~10gu), ma è in grado di
ospitare un numero elevato di applicativi grazie
all’efficienza nella gestione delle risorse.
Ad oggi il sistema ospita circa 70 VM tra sistemi di
produzione, macchine di sviluppo, test e staging.
Questi i numeri (a causa di un fault in Farm)
Uptime 99.990%
MTBF 96 giorni
ETR 12h (senza reperibilità)
Costi e Ricavi:
Budget ~900€/mese
Gestione 4h / mese
Capacità del sistema 40% usato [RAM]
Guadagno +30%
CASESTUDY
Performance
L’infrastruttura presentata, comparata con server fisici
equipaggiati con SSD e Xeon E5, nonché con architetture
AWS complesse ha mostrato prestazioni superiori.
Esempio: Benchmark Magento (cliente reale)
OVH
[as-is]
AWS
[proposta n.1]
SysOpen
[proposta n.2]
Performance
Sono stati eseguiti dei test di carico su configurazioni in HA per
sostituire il bare-metal di un applicativo Magento.
Virtual Users: 0-100
Bare-Metal
Load Avg Time: ~520ms
AWS
Load Avg Time: ~7320ms
SysOpen
Load Avg Time: ~540ms
Costo
Bare-Metal NO HA
216 €/mese
AWS ~ HA
~500 €/mese
SysOpen HA
~ 500 €/mese
Risorse
Server Intel(R) Xeon(R)
CPU E5-1630 v3 @ 3.70GHz
2x2TB SATA
2x480GB SSD Raid HW
+
NAS 4TB - link GigaBit
2x Nodi PHP m4.large
1x Nodo di search
1x load balancer
1x disco shared EFS
1x Istanza memcached
1x Istanza RDS MariaDB
2x Bilanciatore NGINX
3x Nodi Applicativi
2x Nodo RedisCache
3x Storage SSD
1x Istanza MariaDB Percona
XtremeDB Cluster
CASESTUDY
Vantaggi
Il vantaggio di un sistema gestito in toto, non aaS, è insito
in quattro key-word:
● Flessibilità
● Supporto
● Prestazioni
● Risparmio
L’alta personalizzabilità del sistema, e l’unione di questo con
la gestione “managed” consente in modo evidente di
sgravare il cliente dai problemi architetturali e permette al
fornitore del servizio di sfruttare appieno le potenzialità
dell’hardware.
GRAZIE

Más contenido relacionado

Similar a "Sistemi managed in alta affidabilità e in open source" by Andrea Di Marco

Evento EMC Forum 2013 | Il Disaster Recovery di GSE
Evento EMC Forum 2013 | Il Disaster Recovery di GSEEvento EMC Forum 2013 | Il Disaster Recovery di GSE
Evento EMC Forum 2013 | Il Disaster Recovery di GSEXenesys
 
IaC - Infrastructure as Code, gestire infrastrutture cloud tramite file di co...
IaC - Infrastructure as Code, gestire infrastrutture cloud tramite file di co...IaC - Infrastructure as Code, gestire infrastrutture cloud tramite file di co...
IaC - Infrastructure as Code, gestire infrastrutture cloud tramite file di co...Daniele Mondello
 
Virtualizzazione&Cloud Computing
Virtualizzazione&Cloud ComputingVirtualizzazione&Cloud Computing
Virtualizzazione&Cloud ComputingVMEngine
 
Consolidamento e virtualizzazione
Consolidamento e virtualizzazione Consolidamento e virtualizzazione
Consolidamento e virtualizzazione S.info Srl
 
Introduction to Cloud Computing - Edition Fall 2014
Introduction to Cloud Computing - Edition Fall 2014Introduction to Cloud Computing - Edition Fall 2014
Introduction to Cloud Computing - Edition Fall 2014Marco Parenzan
 
2015.01.09 - Principi del Cloud Computing e migrazione delle applicazioni mod...
2015.01.09 - Principi del Cloud Computing e migrazione delle applicazioni mod...2015.01.09 - Principi del Cloud Computing e migrazione delle applicazioni mod...
2015.01.09 - Principi del Cloud Computing e migrazione delle applicazioni mod...Marco Parenzan
 
Seminario: GNU/Linux come punto di forza
Seminario: GNU/Linux come punto di forzaSeminario: GNU/Linux come punto di forza
Seminario: GNU/Linux come punto di forzaMauro Fava
 
Digital Integration Hub per il monitoraggio in near-real time della logistica...
Digital Integration Hub per il monitoraggio in near-real time della logistica...Digital Integration Hub per il monitoraggio in near-real time della logistica...
Digital Integration Hub per il monitoraggio in near-real time della logistica...confluent
 
Open Source Day 2015 - DBaaS con Docker: un caso di studio
Open Source Day 2015 - DBaaS con Docker: un caso di studioOpen Source Day 2015 - DBaaS con Docker: un caso di studio
Open Source Day 2015 - DBaaS con Docker: un caso di studioPar-Tec S.p.A.
 
Cloud Computing reale: le basi, il presente ed il futuro del Cloud Computing
Cloud Computing reale: le basi, il presente ed il futuro del Cloud ComputingCloud Computing reale: le basi, il presente ed il futuro del Cloud Computing
Cloud Computing reale: le basi, il presente ed il futuro del Cloud Computingfestival ICT 2016
 
I Love Cloud by Soluzioni Futura
I Love Cloud by Soluzioni FuturaI Love Cloud by Soluzioni Futura
I Love Cloud by Soluzioni FuturaSoluzioni Futura
 
I Love Cloud by Soluzioni Futura
I Love Cloud by Soluzioni FuturaI Love Cloud by Soluzioni Futura
I Love Cloud by Soluzioni FuturaValerio Versace
 
Tutto il Cloud di Seeweb
Tutto il Cloud di SeewebTutto il Cloud di Seeweb
Tutto il Cloud di Seewebseeweb
 
Cloud infrastructure
Cloud infrastructureCloud infrastructure
Cloud infrastructureMattia Azzena
 
E suap - cloud computing (Italian)
E suap - cloud computing (Italian)E suap - cloud computing (Italian)
E suap - cloud computing (Italian)Sabino Labarile
 
Babel presenta: Opsview
Babel presenta: OpsviewBabel presenta: Opsview
Babel presenta: OpsviewBabel
 
Il Cloud Computing
Il Cloud ComputingIl Cloud Computing
Il Cloud Computingzambe92
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareAmazon Web Services
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareAmazon Web Services
 

Similar a "Sistemi managed in alta affidabilità e in open source" by Andrea Di Marco (20)

OCP Paas_ultima
OCP Paas_ultimaOCP Paas_ultima
OCP Paas_ultima
 
Evento EMC Forum 2013 | Il Disaster Recovery di GSE
Evento EMC Forum 2013 | Il Disaster Recovery di GSEEvento EMC Forum 2013 | Il Disaster Recovery di GSE
Evento EMC Forum 2013 | Il Disaster Recovery di GSE
 
IaC - Infrastructure as Code, gestire infrastrutture cloud tramite file di co...
IaC - Infrastructure as Code, gestire infrastrutture cloud tramite file di co...IaC - Infrastructure as Code, gestire infrastrutture cloud tramite file di co...
IaC - Infrastructure as Code, gestire infrastrutture cloud tramite file di co...
 
Virtualizzazione&Cloud Computing
Virtualizzazione&Cloud ComputingVirtualizzazione&Cloud Computing
Virtualizzazione&Cloud Computing
 
Consolidamento e virtualizzazione
Consolidamento e virtualizzazione Consolidamento e virtualizzazione
Consolidamento e virtualizzazione
 
Introduction to Cloud Computing - Edition Fall 2014
Introduction to Cloud Computing - Edition Fall 2014Introduction to Cloud Computing - Edition Fall 2014
Introduction to Cloud Computing - Edition Fall 2014
 
2015.01.09 - Principi del Cloud Computing e migrazione delle applicazioni mod...
2015.01.09 - Principi del Cloud Computing e migrazione delle applicazioni mod...2015.01.09 - Principi del Cloud Computing e migrazione delle applicazioni mod...
2015.01.09 - Principi del Cloud Computing e migrazione delle applicazioni mod...
 
Seminario: GNU/Linux come punto di forza
Seminario: GNU/Linux come punto di forzaSeminario: GNU/Linux come punto di forza
Seminario: GNU/Linux come punto di forza
 
Digital Integration Hub per il monitoraggio in near-real time della logistica...
Digital Integration Hub per il monitoraggio in near-real time della logistica...Digital Integration Hub per il monitoraggio in near-real time della logistica...
Digital Integration Hub per il monitoraggio in near-real time della logistica...
 
Open Source Day 2015 - DBaaS con Docker: un caso di studio
Open Source Day 2015 - DBaaS con Docker: un caso di studioOpen Source Day 2015 - DBaaS con Docker: un caso di studio
Open Source Day 2015 - DBaaS con Docker: un caso di studio
 
Cloud Computing reale: le basi, il presente ed il futuro del Cloud Computing
Cloud Computing reale: le basi, il presente ed il futuro del Cloud ComputingCloud Computing reale: le basi, il presente ed il futuro del Cloud Computing
Cloud Computing reale: le basi, il presente ed il futuro del Cloud Computing
 
I Love Cloud by Soluzioni Futura
I Love Cloud by Soluzioni FuturaI Love Cloud by Soluzioni Futura
I Love Cloud by Soluzioni Futura
 
I Love Cloud by Soluzioni Futura
I Love Cloud by Soluzioni FuturaI Love Cloud by Soluzioni Futura
I Love Cloud by Soluzioni Futura
 
Tutto il Cloud di Seeweb
Tutto il Cloud di SeewebTutto il Cloud di Seeweb
Tutto il Cloud di Seeweb
 
Cloud infrastructure
Cloud infrastructureCloud infrastructure
Cloud infrastructure
 
E suap - cloud computing (Italian)
E suap - cloud computing (Italian)E suap - cloud computing (Italian)
E suap - cloud computing (Italian)
 
Babel presenta: Opsview
Babel presenta: OpsviewBabel presenta: Opsview
Babel presenta: Opsview
 
Il Cloud Computing
Il Cloud ComputingIl Cloud Computing
Il Cloud Computing
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatare
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
 

Más de ThinkOpen

Discover Facilitation: gestire le riunioni in modo efficace
Discover Facilitation: gestire le riunioni in modo efficaceDiscover Facilitation: gestire le riunioni in modo efficace
Discover Facilitation: gestire le riunioni in modo efficaceThinkOpen
 
Infrastructure as a code: a cloud approach
Infrastructure as a code: a cloud approachInfrastructure as a code: a cloud approach
Infrastructure as a code: a cloud approachThinkOpen
 
Smart Signage: la nuova digital experience
Smart Signage: la nuova digital experienceSmart Signage: la nuova digital experience
Smart Signage: la nuova digital experienceThinkOpen
 
I Graph Database: analisi del comportamento degli utenti
I Graph Database: analisi del comportamento degli utentiI Graph Database: analisi del comportamento degli utenti
I Graph Database: analisi del comportamento degli utentiThinkOpen
 
2019: Odissea nell'e-commerce
2019: Odissea nell'e-commerce2019: Odissea nell'e-commerce
2019: Odissea nell'e-commerceThinkOpen
 
Guida galattica a Javascript
Guida galattica a JavascriptGuida galattica a Javascript
Guida galattica a JavascriptThinkOpen
 
Java 8 -12: da Oracle a Eclipse. Due anni e una rivoluzione
Java 8 -12: da Oracle a Eclipse. Due anni e una rivoluzioneJava 8 -12: da Oracle a Eclipse. Due anni e una rivoluzione
Java 8 -12: da Oracle a Eclipse. Due anni e una rivoluzioneThinkOpen
 
Amazon Alexa vs Google Home. Quale scegliere? Funzionalità e usi
Amazon Alexa vs Google Home. Quale scegliere? Funzionalità e usiAmazon Alexa vs Google Home. Quale scegliere? Funzionalità e usi
Amazon Alexa vs Google Home. Quale scegliere? Funzionalità e usiThinkOpen
 
Amazon Web Services - Le potenzialità di AWS e il mondo di Amazon Alexa by Ni...
Amazon Web Services - Le potenzialità di AWS e il mondo di Amazon Alexa by Ni...Amazon Web Services - Le potenzialità di AWS e il mondo di Amazon Alexa by Ni...
Amazon Web Services - Le potenzialità di AWS e il mondo di Amazon Alexa by Ni...ThinkOpen
 
Polymer 3.0 by Michele Gallotti
Polymer 3.0 by Michele GallottiPolymer 3.0 by Michele Gallotti
Polymer 3.0 by Michele GallottiThinkOpen
 
"Java 8, Lambda e la programmazione funzionale" by Theodor Dumitrescu
"Java 8, Lambda e la programmazione funzionale" by Theodor Dumitrescu"Java 8, Lambda e la programmazione funzionale" by Theodor Dumitrescu
"Java 8, Lambda e la programmazione funzionale" by Theodor DumitrescuThinkOpen
 
"Odoo: l'open source che fa tremare SAP" by Davide Davin e Nicola Napolitano
"Odoo: l'open source che fa tremare SAP" by Davide Davin e Nicola Napolitano"Odoo: l'open source che fa tremare SAP" by Davide Davin e Nicola Napolitano
"Odoo: l'open source che fa tremare SAP" by Davide Davin e Nicola NapolitanoThinkOpen
 
"Configuration Manager: il ruolo nel ciclo di vita del software" by Omar Rossini
"Configuration Manager: il ruolo nel ciclo di vita del software" by Omar Rossini"Configuration Manager: il ruolo nel ciclo di vita del software" by Omar Rossini
"Configuration Manager: il ruolo nel ciclo di vita del software" by Omar RossiniThinkOpen
 
"Google Home: how to make Google do it" by Theodor Dumitrescu e Gianfranco Bo...
"Google Home: how to make Google do it" by Theodor Dumitrescu e Gianfranco Bo..."Google Home: how to make Google do it" by Theodor Dumitrescu e Gianfranco Bo...
"Google Home: how to make Google do it" by Theodor Dumitrescu e Gianfranco Bo...ThinkOpen
 
"ThinkOpen Agile Days - #Day3" by Donato Andrisani e Giuseppe Trotta
"ThinkOpen Agile Days - #Day3" by Donato Andrisani e Giuseppe Trotta"ThinkOpen Agile Days - #Day3" by Donato Andrisani e Giuseppe Trotta
"ThinkOpen Agile Days - #Day3" by Donato Andrisani e Giuseppe TrottaThinkOpen
 
"Reactive programming" by Theodor Dumitrescu & Gianfranco Bottiglieri
"Reactive programming" by Theodor Dumitrescu & Gianfranco Bottiglieri"Reactive programming" by Theodor Dumitrescu & Gianfranco Bottiglieri
"Reactive programming" by Theodor Dumitrescu & Gianfranco BottiglieriThinkOpen
 
"GDPR: cos'è e come funziona" by Francesco Puglisi
"GDPR: cos'è e come funziona" by Francesco Puglisi"GDPR: cos'è e come funziona" by Francesco Puglisi
"GDPR: cos'è e come funziona" by Francesco PuglisiThinkOpen
 
"ThinkOpen Agile Days - #Day2" by Donato Andrisani e Giuseppe Trotta
"ThinkOpen Agile Days - #Day2" by Donato Andrisani e Giuseppe Trotta"ThinkOpen Agile Days - #Day2" by Donato Andrisani e Giuseppe Trotta
"ThinkOpen Agile Days - #Day2" by Donato Andrisani e Giuseppe TrottaThinkOpen
 
"ThinkOpen Agile Days - #Day" by Giuseppe Trotta
"ThinkOpen Agile Days - #Day" by Giuseppe Trotta"ThinkOpen Agile Days - #Day" by Giuseppe Trotta
"ThinkOpen Agile Days - #Day" by Giuseppe TrottaThinkOpen
 
"React Native" by Vanessa Leo e Roberto Brogi
"React Native" by Vanessa Leo e Roberto Brogi "React Native" by Vanessa Leo e Roberto Brogi
"React Native" by Vanessa Leo e Roberto Brogi ThinkOpen
 

Más de ThinkOpen (20)

Discover Facilitation: gestire le riunioni in modo efficace
Discover Facilitation: gestire le riunioni in modo efficaceDiscover Facilitation: gestire le riunioni in modo efficace
Discover Facilitation: gestire le riunioni in modo efficace
 
Infrastructure as a code: a cloud approach
Infrastructure as a code: a cloud approachInfrastructure as a code: a cloud approach
Infrastructure as a code: a cloud approach
 
Smart Signage: la nuova digital experience
Smart Signage: la nuova digital experienceSmart Signage: la nuova digital experience
Smart Signage: la nuova digital experience
 
I Graph Database: analisi del comportamento degli utenti
I Graph Database: analisi del comportamento degli utentiI Graph Database: analisi del comportamento degli utenti
I Graph Database: analisi del comportamento degli utenti
 
2019: Odissea nell'e-commerce
2019: Odissea nell'e-commerce2019: Odissea nell'e-commerce
2019: Odissea nell'e-commerce
 
Guida galattica a Javascript
Guida galattica a JavascriptGuida galattica a Javascript
Guida galattica a Javascript
 
Java 8 -12: da Oracle a Eclipse. Due anni e una rivoluzione
Java 8 -12: da Oracle a Eclipse. Due anni e una rivoluzioneJava 8 -12: da Oracle a Eclipse. Due anni e una rivoluzione
Java 8 -12: da Oracle a Eclipse. Due anni e una rivoluzione
 
Amazon Alexa vs Google Home. Quale scegliere? Funzionalità e usi
Amazon Alexa vs Google Home. Quale scegliere? Funzionalità e usiAmazon Alexa vs Google Home. Quale scegliere? Funzionalità e usi
Amazon Alexa vs Google Home. Quale scegliere? Funzionalità e usi
 
Amazon Web Services - Le potenzialità di AWS e il mondo di Amazon Alexa by Ni...
Amazon Web Services - Le potenzialità di AWS e il mondo di Amazon Alexa by Ni...Amazon Web Services - Le potenzialità di AWS e il mondo di Amazon Alexa by Ni...
Amazon Web Services - Le potenzialità di AWS e il mondo di Amazon Alexa by Ni...
 
Polymer 3.0 by Michele Gallotti
Polymer 3.0 by Michele GallottiPolymer 3.0 by Michele Gallotti
Polymer 3.0 by Michele Gallotti
 
"Java 8, Lambda e la programmazione funzionale" by Theodor Dumitrescu
"Java 8, Lambda e la programmazione funzionale" by Theodor Dumitrescu"Java 8, Lambda e la programmazione funzionale" by Theodor Dumitrescu
"Java 8, Lambda e la programmazione funzionale" by Theodor Dumitrescu
 
"Odoo: l'open source che fa tremare SAP" by Davide Davin e Nicola Napolitano
"Odoo: l'open source che fa tremare SAP" by Davide Davin e Nicola Napolitano"Odoo: l'open source che fa tremare SAP" by Davide Davin e Nicola Napolitano
"Odoo: l'open source che fa tremare SAP" by Davide Davin e Nicola Napolitano
 
"Configuration Manager: il ruolo nel ciclo di vita del software" by Omar Rossini
"Configuration Manager: il ruolo nel ciclo di vita del software" by Omar Rossini"Configuration Manager: il ruolo nel ciclo di vita del software" by Omar Rossini
"Configuration Manager: il ruolo nel ciclo di vita del software" by Omar Rossini
 
"Google Home: how to make Google do it" by Theodor Dumitrescu e Gianfranco Bo...
"Google Home: how to make Google do it" by Theodor Dumitrescu e Gianfranco Bo..."Google Home: how to make Google do it" by Theodor Dumitrescu e Gianfranco Bo...
"Google Home: how to make Google do it" by Theodor Dumitrescu e Gianfranco Bo...
 
"ThinkOpen Agile Days - #Day3" by Donato Andrisani e Giuseppe Trotta
"ThinkOpen Agile Days - #Day3" by Donato Andrisani e Giuseppe Trotta"ThinkOpen Agile Days - #Day3" by Donato Andrisani e Giuseppe Trotta
"ThinkOpen Agile Days - #Day3" by Donato Andrisani e Giuseppe Trotta
 
"Reactive programming" by Theodor Dumitrescu & Gianfranco Bottiglieri
"Reactive programming" by Theodor Dumitrescu & Gianfranco Bottiglieri"Reactive programming" by Theodor Dumitrescu & Gianfranco Bottiglieri
"Reactive programming" by Theodor Dumitrescu & Gianfranco Bottiglieri
 
"GDPR: cos'è e come funziona" by Francesco Puglisi
"GDPR: cos'è e come funziona" by Francesco Puglisi"GDPR: cos'è e come funziona" by Francesco Puglisi
"GDPR: cos'è e come funziona" by Francesco Puglisi
 
"ThinkOpen Agile Days - #Day2" by Donato Andrisani e Giuseppe Trotta
"ThinkOpen Agile Days - #Day2" by Donato Andrisani e Giuseppe Trotta"ThinkOpen Agile Days - #Day2" by Donato Andrisani e Giuseppe Trotta
"ThinkOpen Agile Days - #Day2" by Donato Andrisani e Giuseppe Trotta
 
"ThinkOpen Agile Days - #Day" by Giuseppe Trotta
"ThinkOpen Agile Days - #Day" by Giuseppe Trotta"ThinkOpen Agile Days - #Day" by Giuseppe Trotta
"ThinkOpen Agile Days - #Day" by Giuseppe Trotta
 
"React Native" by Vanessa Leo e Roberto Brogi
"React Native" by Vanessa Leo e Roberto Brogi "React Native" by Vanessa Leo e Roberto Brogi
"React Native" by Vanessa Leo e Roberto Brogi
 

"Sistemi managed in alta affidabilità e in open source" by Andrea Di Marco

  • 1.
  • 2. Introduzione Layer Fisico Dal bare-metal ai Servizi di Sistema Andrea Di Marco Virtualizzazione (VM / LXC / Cloud) Cluster Engine Servizi applicativi (un esempio) Case Study: SysOpen Architettura Tecnologie
  • 3. DEFINIZIONI High Availability Alta Affidabilità è la caratteristica di un sistema che mira ad assicurare un livello di prestazioni concordato, solitamente in termini di disponibilità e raggiungibilità, per un periodo di tempo superiore al “normale”. RAS Reliability, Availability, Serviceability In breve: ● Affidabilità Correttezza dell’output [MTBF] detect e/o auto correzione dell’errore ● Disponibilità UpTime [Nines] ● Manutenibilità Tempo di riparazione [ETR]
  • 4. DALBARE-METALAISERVIZI Layer architetturali L’alta affidabilità è chiaramente richiesta dal Business e impatta su tutto lo stack tecnologico dalla network (pila ISO/OSI) alle applicazioni
  • 5. PHYSICALLAYER Data Center / Network ● Backbone / POP ● Routing ● Switch Fabric ● Servizi (es. SAN) ● UPS Server ● RAM ECC ● Hot Swap ● RAID (w battery) ● Schede di Rete ● Alimentatori ● OFB Management
  • 6. Una parola con tante sfumature Virtualizzazione sottende molti concetti e il panorama è molto ampio. Da IBM SIMMON (1960) a IBM z/VM (2000) da XEN (2003) alle tecniche di Hyperjacking… Panoramica VIRTUALIZZAZIONE ...fino ai sistemi cloud come, ad esempio, OpenStack.
  • 7. Il computer nel computer E’ l’implementazione logica più semplice del concetto di virtualizzazione. Da fisico a virtuale il passaggio è trasparente. VIRTUAL MACHINE VIRTUALIZZAZIONE Pro ● Isolato ● Indipendente ● Massimo Controllo Contro ● Legacy ● Alto Overhead ● Provisioning “lento” Come si pone rispetto ad un’architettura in HA ?
  • 8. Una VM leggera Perché avere un sistema operativo stand-alone quando possiamo separare solo la parte “logica” che ci interessa? I container consentono di ottimizzare le risorse. CONTAINER VIRTUALIZZAZIONE Pro ● Leggero ● Provisioning “rapido” Contro ● Poco isolato ● Lock sul sistema operativo ● Scarsa indipendenza Come si pone rispetto ad un’architettura in HA ?
  • 9. Un nuovo approccio Il cloud prende la virtualizzazione, sia VM che Container, il bare-metal e fonde tutto in un unico sistema “as-a-service” che consente di prendere il meglio di tutte le tecnologie (o almeno questo promette...) CLOUD VIRTUALIZZAZIONE Come si pone rispetto ad un’architettura in HA ?
  • 10. CONFRONTO VIRTUALIZZAZIONE L’alta affidabilità totale è raggiungibile solo con un approccio bottom-up dal Networking all’applicativo. Il mondo della virtualizzazione delega, di fatto, l’HA dell’hardware al fornitore del servizio, in modo proporzionale allo stack “as-a-Service”. - Il mondo cloud, container, VPS è realmente in HA? - Come sono implementati i servizi dei principali provider?
  • 11. Clustering La ridondanza dei servizi, in molti casi, passa per il clustering a basso livello. Le macchine parte di un cluster devono conoscere i reciproci stati per sapere se e quando sono autorizzate ad operare (es. lock su un file o acquisizione di un IP). Ci sono diversi modi di definire un cluster… Multi-Master / Fail Over (aka Active-Passive) CLUSTERENGINE
  • 12. Clustering FOSS Sono tecnologie molto mature, dal primo HeartBeat (1999) che consentiva solo una configurazione Active-Passive al primo CRM PaceMaker (2004) fino CoroSync (2012) che permette di raggiungere configurazioni decisamente complesse. HeartBeat / PaceMaker / CoroSync CLUSTERENGINE
  • 13. Clustering applicativo Lo stack applicativo può essere clusterizzato se il software lo supporta. (S)Vantaggi I vantaggi presunti di un ambiente clustered sono talvolta dei pitfall prestazionali. Ogni situazione richiede un’opportuna analisi. Esempio: sessioni in Tomcat KPI I punti di attenzione sono, nella maggioranza dei casi, molto simili: - Condivisione dei dati - Concorrenza - (Dis)allineamento - Performance - Fault Tolerance Stack Applicativo SERVIZIAPPLICATIVI
  • 14. Esempio: Liferay Portal Si trovano innumerevoli guide sul clustering di questo stack applicativo, tuttavia, eliminare gli SPF non è così semplice come la raccontano e, spesso, si vedono architetture figlie del compromesso, che di HA hanno ben poco… un esempio lampante arriva dal wiki del portale stesso. Apache / Tomcat / MySQL / FileSystem SERVIZIAPPLICATIVI Ci sono alcune lacune: ● Cluster tra Tomcat ● Loadbalancer (?) ● DB Controller (?) ● Lo storage condiviso ○ Lucene index ○ Repository Forse non è così semplice, ma si può fare.
  • 15. CASESTUDY CASE STUDY: SysOpen Un’infrastruttura pensata per essere resiliente. Un solo principio: “Keep it Simple” La volontà di erogare servizi in alta affidabilità ha condotto ad un disegno architetturale che portasse a sistema le principali tecnologie Open Source del settore Per essere competitivi occorre poter offrire servizi efficaci, efficienti e in linea con i prezzi di mercato. L’infrastruttura che vedremo è stata progettata attorno alle tre parole chiave RAS: ● Reliability ● Availability ● Serviceability Approccio: Bottom-Up
  • 16.
  • 17.
  • 18. Proxmox - VE High Availability Cluster - Multi-master Design - Proxmox Cluster File System - Corosync - Web & CLI interface - Auth Realms LDAP / AD / PAM / VE - Proxmox Cluster File System - IPMI Fencing pfSense - Snort IDS / IPS - Common Address Redundancy Protocol - IPSec / OpenVPN SSD & SAS + Cloud - Fast SSD Storage - GlusterFS Replica - Swift backup DBaaS - 3x HA Proxy - KeepAliveD - MariaDB w xtrabackup
  • 19. CASESTUDY Capacità Il modello di infrastruttura esposto ha un tempo di realizzazione non trascurabile (~10gu), ma è in grado di ospitare un numero elevato di applicativi grazie all’efficienza nella gestione delle risorse. Ad oggi il sistema ospita circa 70 VM tra sistemi di produzione, macchine di sviluppo, test e staging. Questi i numeri (a causa di un fault in Farm) Uptime 99.990% MTBF 96 giorni ETR 12h (senza reperibilità) Costi e Ricavi: Budget ~900€/mese Gestione 4h / mese Capacità del sistema 40% usato [RAM] Guadagno +30%
  • 20. CASESTUDY Performance L’infrastruttura presentata, comparata con server fisici equipaggiati con SSD e Xeon E5, nonché con architetture AWS complesse ha mostrato prestazioni superiori. Esempio: Benchmark Magento (cliente reale) OVH [as-is] AWS [proposta n.1] SysOpen [proposta n.2]
  • 21. Performance Sono stati eseguiti dei test di carico su configurazioni in HA per sostituire il bare-metal di un applicativo Magento. Virtual Users: 0-100 Bare-Metal Load Avg Time: ~520ms AWS Load Avg Time: ~7320ms SysOpen Load Avg Time: ~540ms Costo Bare-Metal NO HA 216 €/mese AWS ~ HA ~500 €/mese SysOpen HA ~ 500 €/mese Risorse Server Intel(R) Xeon(R) CPU E5-1630 v3 @ 3.70GHz 2x2TB SATA 2x480GB SSD Raid HW + NAS 4TB - link GigaBit 2x Nodi PHP m4.large 1x Nodo di search 1x load balancer 1x disco shared EFS 1x Istanza memcached 1x Istanza RDS MariaDB 2x Bilanciatore NGINX 3x Nodi Applicativi 2x Nodo RedisCache 3x Storage SSD 1x Istanza MariaDB Percona XtremeDB Cluster
  • 22. CASESTUDY Vantaggi Il vantaggio di un sistema gestito in toto, non aaS, è insito in quattro key-word: ● Flessibilità ● Supporto ● Prestazioni ● Risparmio L’alta personalizzabilità del sistema, e l’unione di questo con la gestione “managed” consente in modo evidente di sgravare il cliente dai problemi architetturali e permette al fornitore del servizio di sfruttare appieno le potenzialità dell’hardware.