SlideShare ist ein Scribd-Unternehmen logo
1 von 24
Downloaden Sie, um offline zu lesen
#osd2015
DBaaS  con  Docker:  un  caso  di  studio
Michelangelo  Uberti,  Marketing  Analyst
Par-­Tec  e  Red  Hat:  10  anni  di  successi
Par-­Tec è  un  software  &  infrastructure system integrator  che  si  distingue  per:
• la  proposizione  al  mercato  di  servizi  professionali  altamente  qualificati  e  soluzioni  innovative
• il  rispetto  degli  standard  e  l’adozione  di  tecnologie  open  source
L’avventura  col  cappello  rosso  è  iniziata  10  anni  fa  con  l’adozione  del  GFS,  la  
specializzazione  su  RHEL  e  l’evoluzione  verso  il  middleware  e  la  più  recente  Cloud  
Infrastructure.
Il  nostro  attuale  rapporto  con  Red  Hat?
Red  Hat  Premier  Business  Partner  con  specializzazione  Datacenter  Infrastructure
DB-­as-­a-­Service:  la  semplicità  del  concept
I  macro-­obiettivi  del  progetto
Semplicità
d’uso
Provisioning
immediato
Accesso  via  console
web  e  client  TCP
Fatturazione
Flat  e  Pay-­per-­use  (to  be)
Orientato  alla
vendita  massiva
L’idea  del  Cliente  (correva  l’anno  2012…)
Offrire  un  servizio  di  database  remoto  che  garantisse:  
• accesso  via  internet  mediante  strumenti  e  protocolli  standard
• condivisione  multi-­tenant  delle  risorse  computazionali
• gestione  dell’infrastruttura  centralizzata
I  possibili  approcci:  Single  vs.  Multi-­instance
Single-­instance
1  istanza  :  1  VM
Multi-­instance
n istanze  :  1  VM
PRO
• Controllo  completo  di  OS  e  DBMS.
• Dimensionamento  puntuale  della  VM.
• Estremamente  personalizzabile  dal  
punto  di  vista  applicativo.
• Adatto  a  chi  dispone  delle  competenze  
interne.
• Semplicità  di  gestione  da  parte  dell’utilizzatore  finale.  
• Nessun  onere  relativo  al  patch  mgmt,  backup,  etc.  
• Tempi  e  costi  di  provisioning  ridotti.  
• Fruizione  via  web  e  client  SQL  compatibile.  
• Fatturazione  Flat  e  (in  futuro)  Pay-­per-­use.  
• Orientato  alla  vendita  massiva.
CONTRO
• Inadatta  ad  utenti  privi  di  competenze  
sistemistiche.  
• Il  servizio  è  più  esposto  a  rischi  di  
sicurezza  legati  alla  gestione  da  parte  
dell’utente  finale.  
• Richiede  una  VM  per  ogni  Cliente.
• Inadatto  ad  utenti  che  richiedono  configurazioni  fuori  
standard.  
• Inizialmente  non  prevedeva  configurazioni  in  HA  e  
replica.
I  possibili  approcci:  perché  non  usare  Trove?
Perché  reinventare  l’acqua  calda  anziché  scegliere  Trove?
• Il  nostro  progetto  è  nato  nell’estate  del  2012,  la  prima  release  pubblica  di  Trove è  stata  rilasciata  
in  OpenStack Havana  a  fine  2013
• Trove richiede  OpenStack (you don’t say?)
• Trove è  progettato  per  erogare  database  single-­tenant,  perciò  mantiene  un  rapporto  1:1  tra  
machine  instance e  database  instance
Trove  is  Database  as  a  Service  for  OpenStack.  It's  designed  to  run  entirely  on  
OpenStack,  with  the  goal  of  allowing  users  to  quickly  and  easily  utilize  the  features  
of  a  relational  or  non-­relational  database  without  the  burden  of  handling  complex  
administrative  tasks.
”
“
Architettura  di  alto  livello
SAN
Operations  e  MarketingUtente  finale
SQL
SQL
REST
SQL
HTTPS HTTPS
CSV  via  SFTP
CUSTOMER
PORTAL
ADMIN
PORTAL BILLING
PLATFORM
ORCHESTRATOR
DWH  -­ REPORT
DB  HOST
SILVER
DB  HOST
GOLD
DB  HOST
PLATINUM
TCP
SAN
Operations  e  MarketingUtente  finale
SQL
SQL
REST
SQL
HTTPS HTTPS
CSV  via  SFTP
CUSTOMER
PORTAL
ADMIN
PORTAL BILLING
PLATFORM
ORCHESTRATOR
DWH  -­ REPORT
DB  HOST
SILVER
DB  HOST
GOLD
DB  HOST
PLATINUM
TCP
Architettura  di  alto  livello
VM
(OS)
Istanza  1
Istanza  2
Istanza  n
Ogni  VM  esegue  un  container  per  ogni  istanza  
di  MySQL e  il  nostro  agent  di  mgmt  che  espone  le  
interfacce  RESTful  per  l’amministrazione.
Shared
libraries
Mgmt
Agent
Istanza  3
SAN
Operations  e  MarketingUtente  finale
SQL
SQL
REST
SQL
HTTPS HTTPS
CSV  via  SFTP
CUSTOMER
PORTAL
ADMIN
PORTAL BILLING
PLATFORM
ORCHESTRATOR
DWH  -­ REPORT
DB  HOST
SILVER
DB  HOST
GOLD
DB  HOST
PLATINUM
TCP
Architettura  di  alto  livello
Il  Customer Portal consente  all’utente  finale  di:
• gestire  il  proprio  contratto
• connettersi  al  db da  un’interfaccia  web-­based
L’Admin Portal è  dedicato  alla  gestione  della  
piattaforma  da  parte  del  Marketing  e  delle  Operations.
SAN
Operations  e  MarketingUtente  finale
SQL
SQL
REST
SQL
HTTPS HTTPS
CSV  via  SFTP
CUSTOMER
PORTAL
ADMIN
PORTAL BILLING
PLATFORM
ORCHESTRATOR
DWH  -­ REPORT
DB  HOST
SILVER
DB  HOST
GOLD
DB  HOST
PLATINUM
TCP
Architettura  di  alto  livello
Il  SQL  Proxy consente  all’utente  connettere  i  client  e  le  
proprie  applicazioni  mediante  connessione  SQL-­compatibile.
L’obiettivo  del  wrapper  è  filtrare  tutti  i  comandi  amministrativi,  
proteggere  l’utente  da  sé  stesso  e  semplificare  il  rilascio  di  
nuove  funzionalità.
SAN
Operations  e  MarketingUtente  finale
SQL
SQL
REST
SQL
HTTPS HTTPS
CSV  via  SFTP
CUSTOMER
PORTAL
ADMIN
PORTAL BILLING
PLATFORM
ORCHESTRATOR
DWH  -­ REPORT
DB  HOST
SILVER
DB  HOST
GOLD
DB  HOST
PLATINUM
TCP
Architettura  di  alto  livello
Il  DWH-­Report è  il  database  centralizzato  che  
contiene  i  dati  di  configurazione  e  tutte  le  metriche  di  
funzionamento  utilizzabili  ai  fini  della  fatturazione.
Disporre  di  dati  puntuali  è  utile  a  tutti:
• il  Marketing  può  progettare  dei  profili  migliori
• l’utente  può  verificare  l’adeguatezza  del  profilo  scelto
SAN
Operations  e  MarketingUtente  finale
SQL
SQL
REST
SQL
HTTPS HTTPS
CSV  via  SFTP
CUSTOMER
PORTAL
ADMIN
PORTAL BILLING
PLATFORM
ORCHESTRATOR
DWH  -­ REPORT
DB  HOST
SILVER
DB  HOST
GOLD
DB  HOST
PLATINUM
TCP
Architettura  di  alto  livello
Il  Platform  Orchestrator è  il  punto  di  contatto  tra  i  
sistemi  di  provisioning  esterni  e  la  piattaforma.
Trasforma  ogni  richiesta  in  una  serie  di  comandi  per  gli  
agent  a  bordo  dei  DB  Host,  istanzia  nuovi  container  e  
nuovi  DB  Host.
Focus  sul  Management  Agent
POST /dbaas/v1/instancecreate/
{
'user': 'mario.rossi',
'profile': 'gold',
'port': '12345',
'wwid': 'disk-wwid',
}
cgcreate –g memory,blkio,cpu,cpuset:gold
…
mount /dev/mapper/dbdataXXXp1 /data/mariorossi-1
…
cgexec mysql_install_db –datadir /data/mariorossi-1
…
È  la  componente  che  traduce  dei  comandi  di  alto  livello  in  task  complessi  eseguiti  sui  DB  Host,  ad  es:
• Creazione  di  un  nuovo  container
• Riconfigurazione  e  dismissione  di  un  container  esistente
• Migrazione  e  upgrade  di  profilo
• Gestione  del  processo  mysqld (start,  stop,  restart,  etc.)
Orchestration  at  work
Orchestration  at  work
L’utente  acquista  il  profilo  Gold  del  DBaaS  offerto  dal  provider.
Il  suo  contratto  viaggia  all’interno  della  catena  di  delivery.
Orchestration  at  work
DBaaS  Platform
La  richiesta  arriva  al  Platform  Orchestrator  della  nostra  piattaforma
Orchestration  at  work
DBaaS  Platform
L’Orchestrator  interroga  il  DWH-­Report  per  verificare  la  disponibilità  di  slot  per  il  profilo  Gold
Orchestration  at  work
DBaaS  Platform
Oops,  gli  slot  Gold  sono  finiti!
Lancia  una  nuova  VM  di  tipo  Gold,  la  aggiunge  al  pool  di  DB  Host  e  crea  i  nuovi  slot  sul  DWH-­Report
Orchestration  at  work
DBaaS  Platform
Gli  slot  Gold  sono  disponibili!
Riserva  uno  slot,  lancia  il  nuovo  container  sul  DB  Host  di  riferimento  e  aggiorna  i  dati  sul  DWH-­Report
Orchestration  at  work
DBaaS  Platform
Il  Platform  Orchestrator  completa  il  task  e  restituisce  le  informazioni  alla  catena  di  delivery.
Alla  fine  del  processo  l’utente  riceve  una  mail  con  IP,  porta  e  credenziali  d’accesso.
Da  cgroups  a  Docker
VERSIONE  1 VERSIONE  2
cgroups  +  selinux Docker
La  limitazione  delle  risorse  assegnate  al  
processo  mysqld  e  la  separazione  del  
contesto  di  sicurezza  era  gestita  mediante  la  
configurazione  manuale  di  cgroups  +  selinux.
La  versione  di  MySQL  era  identica  per  tutte  le  
istanze  all’interno  della  stessa  VM.
L’istanza  di  MySQL  viene  eseguita  in  un  
container  dedicato,  il  quale  gestisce  
nativamente  la  limitazione  delle  risorse  e  del  
namespace.
Potenzialmente,  ogni  istanza  potrebbe  usare  
una  diversa  versione  di  MySQL.
Da  cgroups  a  Docker:  un  esempio  concreto
cgroups  +  selinux Docker
cd /sys/fs/cgroup/memory/gold/
echo 1 > memory.oom_control
echo 10 > memory.swappiness
echo 1000000000 > memory.limit_in_bytes
…
chcon -R --reference /template/mariorossi-1
/volume-path
…
Docker run …
--memory=1g
--cgroup-parent=gold
--oom-kill-disable=true
--memory-swappiness=10
--name=mariorossi-1
--user=mariorossi-1
dbaas-gold …
Le  sfide  principali  (alcune  delle  tante…)
• Gestione  dei  log  delle  istanze  di  database
• Gestione  della  concorrenza  nell’accesso  all’I/O
• Performance  tuning di  Linux  e  MySQL su  istanze  multiple,  es:
Quale  futuro?
VERSIONE  1 VERSIONE  3
cgroups  +  selinux Docker
VERSIONE  2
Whatelse?
Ipotesi  per  la  v3:
• Fatturazione  pay-­per-­use
• Scelta  della  versione  di  MySQL in  fase  di  provisioning
• HA  dei  container,  ad  es.  con  Kubernetes e  Atomic Host
• Snapshot autogestiti  per  gestire  eventuali  attività  distruttive  o  backup
• Integrazione  con  Trove?
#osd2015
Thank  you
Michelangelo  Uberti,  Marketing  Analyst

Weitere ähnliche Inhalte

Was ist angesagt?

Introduzione a Docker (parte 2 - Pratica)
Introduzione a Docker (parte 2 - Pratica)Introduzione a Docker (parte 2 - Pratica)
Introduzione a Docker (parte 2 - Pratica)Cristian Consonni
 
Google cloud: Big Data + docker = kubernetes
Google cloud: Big Data + docker = kubernetesGoogle cloud: Big Data + docker = kubernetes
Google cloud: Big Data + docker = kubernetesGiuliano Latini
 
Introduzione pratica a docker, da chi lo ha appena conosciuto
Introduzione pratica a docker, da chi lo ha appena conosciutoIntroduzione pratica a docker, da chi lo ha appena conosciuto
Introduzione pratica a docker, da chi lo ha appena conosciutoDaniele Megna
 
Introduzione a Docker (Maggio 2017) [ITA]
Introduzione a Docker (Maggio 2017) [ITA]Introduzione a Docker (Maggio 2017) [ITA]
Introduzione a Docker (Maggio 2017) [ITA]Valerio Radice
 
Introduzione a docker - DockerTutorial.it
Introduzione a docker - DockerTutorial.itIntroduzione a docker - DockerTutorial.it
Introduzione a docker - DockerTutorial.itFabio Ros
 
Real world Visual Studio Code
Real world Visual Studio CodeReal world Visual Studio Code
Real world Visual Studio CodeRoberto Messora
 
Usare SQL Server for Linux e Docker per semplificare i processi di testing - ...
Usare SQL Server for Linux e Docker per semplificare i processi di testing - ...Usare SQL Server for Linux e Docker per semplificare i processi di testing - ...
Usare SQL Server for Linux e Docker per semplificare i processi di testing - ...Giulio Vian
 
Workshop ASP.NET Core e Angular in produzione con Docker e Kubernetes
Workshop ASP.NET Core e Angular in produzione con Docker e KubernetesWorkshop ASP.NET Core e Angular in produzione con Docker e Kubernetes
Workshop ASP.NET Core e Angular in produzione con Docker e Kubernetesblexin
 
Un'Infrastruttura di Sviluppo Web Enterprise Distribuita Basata su Modelli Pa...
Un'Infrastruttura di Sviluppo Web Enterprise Distribuita Basata su Modelli Pa...Un'Infrastruttura di Sviluppo Web Enterprise Distribuita Basata su Modelli Pa...
Un'Infrastruttura di Sviluppo Web Enterprise Distribuita Basata su Modelli Pa...Natale Vinto
 
Meetup ASP.NET Core 2 e Docker
Meetup ASP.NET Core 2 e Docker Meetup ASP.NET Core 2 e Docker
Meetup ASP.NET Core 2 e Docker dotnetcode
 
Omnis italianmeeting 2016-10-20
Omnis italianmeeting 2016-10-20Omnis italianmeeting 2016-10-20
Omnis italianmeeting 2016-10-20Romualdo Gobbo
 
Alfresco meetup Roma - docker
Alfresco meetup Roma - dockerAlfresco meetup Roma - docker
Alfresco meetup Roma - dockerDavid Ciamberlano
 
Da JavaScript a TypeScript
Da JavaScript a TypeScriptDa JavaScript a TypeScript
Da JavaScript a TypeScriptRoberto Messora
 
Git/Continuous Integration/Docker: la terna dello sviluppo moderno.
Git/Continuous Integration/Docker: la terna dello sviluppo moderno.Git/Continuous Integration/Docker: la terna dello sviluppo moderno.
Git/Continuous Integration/Docker: la terna dello sviluppo moderno.Gerardo Di Iorio
 

Was ist angesagt? (20)

Docker & DevOps
Docker  & DevOpsDocker  & DevOps
Docker & DevOps
 
Introduzione a Docker (parte 2 - Pratica)
Introduzione a Docker (parte 2 - Pratica)Introduzione a Docker (parte 2 - Pratica)
Introduzione a Docker (parte 2 - Pratica)
 
Google cloud: Big Data + docker = kubernetes
Google cloud: Big Data + docker = kubernetesGoogle cloud: Big Data + docker = kubernetes
Google cloud: Big Data + docker = kubernetes
 
Introduzione pratica a docker, da chi lo ha appena conosciuto
Introduzione pratica a docker, da chi lo ha appena conosciutoIntroduzione pratica a docker, da chi lo ha appena conosciuto
Introduzione pratica a docker, da chi lo ha appena conosciuto
 
Introduzione a Docker (Maggio 2017) [ITA]
Introduzione a Docker (Maggio 2017) [ITA]Introduzione a Docker (Maggio 2017) [ITA]
Introduzione a Docker (Maggio 2017) [ITA]
 
Introduzione a docker - DockerTutorial.it
Introduzione a docker - DockerTutorial.itIntroduzione a docker - DockerTutorial.it
Introduzione a docker - DockerTutorial.it
 
Real world Visual Studio Code
Real world Visual Studio CodeReal world Visual Studio Code
Real world Visual Studio Code
 
Usare SQL Server for Linux e Docker per semplificare i processi di testing - ...
Usare SQL Server for Linux e Docker per semplificare i processi di testing - ...Usare SQL Server for Linux e Docker per semplificare i processi di testing - ...
Usare SQL Server for Linux e Docker per semplificare i processi di testing - ...
 
Introduzione a .Net Core
Introduzione a .Net CoreIntroduzione a .Net Core
Introduzione a .Net Core
 
Workshop ASP.NET Core e Angular in produzione con Docker e Kubernetes
Workshop ASP.NET Core e Angular in produzione con Docker e KubernetesWorkshop ASP.NET Core e Angular in produzione con Docker e Kubernetes
Workshop ASP.NET Core e Angular in produzione con Docker e Kubernetes
 
Introduzione a Docker
Introduzione a DockerIntroduzione a Docker
Introduzione a Docker
 
Introduzione a docker
Introduzione a dockerIntroduzione a docker
Introduzione a docker
 
Anatomia di un progetto open-source
Anatomia di un progetto open-sourceAnatomia di un progetto open-source
Anatomia di un progetto open-source
 
Un'Infrastruttura di Sviluppo Web Enterprise Distribuita Basata su Modelli Pa...
Un'Infrastruttura di Sviluppo Web Enterprise Distribuita Basata su Modelli Pa...Un'Infrastruttura di Sviluppo Web Enterprise Distribuita Basata su Modelli Pa...
Un'Infrastruttura di Sviluppo Web Enterprise Distribuita Basata su Modelli Pa...
 
Meetup ASP.NET Core 2 e Docker
Meetup ASP.NET Core 2 e Docker Meetup ASP.NET Core 2 e Docker
Meetup ASP.NET Core 2 e Docker
 
Omnis italianmeeting 2016-10-20
Omnis italianmeeting 2016-10-20Omnis italianmeeting 2016-10-20
Omnis italianmeeting 2016-10-20
 
Alfresco meetup Roma - docker
Alfresco meetup Roma - dockerAlfresco meetup Roma - docker
Alfresco meetup Roma - docker
 
Da JavaScript a TypeScript
Da JavaScript a TypeScriptDa JavaScript a TypeScript
Da JavaScript a TypeScript
 
Git/Continuous Integration/Docker: la terna dello sviluppo moderno.
Git/Continuous Integration/Docker: la terna dello sviluppo moderno.Git/Continuous Integration/Docker: la terna dello sviluppo moderno.
Git/Continuous Integration/Docker: la terna dello sviluppo moderno.
 
Progetto Linux va a scuola
Progetto Linux va a scuolaProgetto Linux va a scuola
Progetto Linux va a scuola
 

Andere mochten auch

Smau Milano 2010 Giuliano Faini
Smau Milano 2010 Giuliano FainiSmau Milano 2010 Giuliano Faini
Smau Milano 2010 Giuliano FainiSMAU
 
Presentazione Sdg
Presentazione SdgPresentazione Sdg
Presentazione Sdggbelloni
 
Dalla parte degli utenti: riprogettare un sito della PA
Dalla parte degli utenti: riprogettare un sito della PADalla parte degli utenti: riprogettare un sito della PA
Dalla parte degli utenti: riprogettare un sito della PAMaria Cristina Lavazza
 
Il paradigma UCaaS: come migliorare i processi di business dell’azienda attra...
Il paradigma UCaaS: come migliorare i processi di business dell’azienda attra...Il paradigma UCaaS: come migliorare i processi di business dell’azienda attra...
Il paradigma UCaaS: come migliorare i processi di business dell’azienda attra...festival ICT 2016
 
Automatic Cloud Deployment: un caso di studio basato sul software OwnCloud
Automatic Cloud Deployment: un caso di studio basato sul software OwnCloudAutomatic Cloud Deployment: un caso di studio basato sul software OwnCloud
Automatic Cloud Deployment: un caso di studio basato sul software OwnCloudSonia Pepe
 
Building a multi-tenant cloud service from legacy code with Docker containers
Building a multi-tenant cloud service from legacy code with Docker containersBuilding a multi-tenant cloud service from legacy code with Docker containers
Building a multi-tenant cloud service from legacy code with Docker containersaslomibm
 
Open Source Day 2016 - Caso cliente: OpenStack Self Data Center, il cloud com...
Open Source Day 2016 - Caso cliente: OpenStack Self Data Center, il cloud com...Open Source Day 2016 - Caso cliente: OpenStack Self Data Center, il cloud com...
Open Source Day 2016 - Caso cliente: OpenStack Self Data Center, il cloud com...Par-Tec S.p.A.
 
Corso Resp 16 Lezione Analisi Rischio
Corso Resp   16 Lezione   Analisi RischioCorso Resp   16 Lezione   Analisi Rischio
Corso Resp 16 Lezione Analisi RischioLuca Vecchiato
 
Gestione dei rischi di progetto - Metodologia e applicazione
Gestione dei rischi di progetto - Metodologia e applicazioneGestione dei rischi di progetto - Metodologia e applicazione
Gestione dei rischi di progetto - Metodologia e applicazioneMarco De Santis, PMP, CFPP
 
KubeCon EU 2016: Creating an Advanced Load Balancing Solution for Kubernetes ...
KubeCon EU 2016: Creating an Advanced Load Balancing Solution for Kubernetes ...KubeCon EU 2016: Creating an Advanced Load Balancing Solution for Kubernetes ...
KubeCon EU 2016: Creating an Advanced Load Balancing Solution for Kubernetes ...KubeAcademy
 
Securing MongoDB to Serve an AWS-Based, Multi-Tenant, Security-Fanatic SaaS A...
Securing MongoDB to Serve an AWS-Based, Multi-Tenant, Security-Fanatic SaaS A...Securing MongoDB to Serve an AWS-Based, Multi-Tenant, Security-Fanatic SaaS A...
Securing MongoDB to Serve an AWS-Based, Multi-Tenant, Security-Fanatic SaaS A...MongoDB
 
Certificazioni di Sicurezza in ambito Cloud Computing
Certificazioni di Sicurezza in ambito Cloud ComputingCertificazioni di Sicurezza in ambito Cloud Computing
Certificazioni di Sicurezza in ambito Cloud ComputingMailUp
 

Andere mochten auch (13)

Smau Milano 2010 Giuliano Faini
Smau Milano 2010 Giuliano FainiSmau Milano 2010 Giuliano Faini
Smau Milano 2010 Giuliano Faini
 
Presentazione Sdg
Presentazione SdgPresentazione Sdg
Presentazione Sdg
 
Dalla parte degli utenti: riprogettare un sito della PA
Dalla parte degli utenti: riprogettare un sito della PADalla parte degli utenti: riprogettare un sito della PA
Dalla parte degli utenti: riprogettare un sito della PA
 
Il paradigma UCaaS: come migliorare i processi di business dell’azienda attra...
Il paradigma UCaaS: come migliorare i processi di business dell’azienda attra...Il paradigma UCaaS: come migliorare i processi di business dell’azienda attra...
Il paradigma UCaaS: come migliorare i processi di business dell’azienda attra...
 
Automatic Cloud Deployment: un caso di studio basato sul software OwnCloud
Automatic Cloud Deployment: un caso di studio basato sul software OwnCloudAutomatic Cloud Deployment: un caso di studio basato sul software OwnCloud
Automatic Cloud Deployment: un caso di studio basato sul software OwnCloud
 
Building a multi-tenant cloud service from legacy code with Docker containers
Building a multi-tenant cloud service from legacy code with Docker containersBuilding a multi-tenant cloud service from legacy code with Docker containers
Building a multi-tenant cloud service from legacy code with Docker containers
 
Open Source Day 2016 - Caso cliente: OpenStack Self Data Center, il cloud com...
Open Source Day 2016 - Caso cliente: OpenStack Self Data Center, il cloud com...Open Source Day 2016 - Caso cliente: OpenStack Self Data Center, il cloud com...
Open Source Day 2016 - Caso cliente: OpenStack Self Data Center, il cloud com...
 
Corso Resp 16 Lezione Analisi Rischio
Corso Resp   16 Lezione   Analisi RischioCorso Resp   16 Lezione   Analisi Rischio
Corso Resp 16 Lezione Analisi Rischio
 
Gestione dei rischi di progetto - Metodologia e applicazione
Gestione dei rischi di progetto - Metodologia e applicazioneGestione dei rischi di progetto - Metodologia e applicazione
Gestione dei rischi di progetto - Metodologia e applicazione
 
Multi tenancy for docker
Multi tenancy for dockerMulti tenancy for docker
Multi tenancy for docker
 
KubeCon EU 2016: Creating an Advanced Load Balancing Solution for Kubernetes ...
KubeCon EU 2016: Creating an Advanced Load Balancing Solution for Kubernetes ...KubeCon EU 2016: Creating an Advanced Load Balancing Solution for Kubernetes ...
KubeCon EU 2016: Creating an Advanced Load Balancing Solution for Kubernetes ...
 
Securing MongoDB to Serve an AWS-Based, Multi-Tenant, Security-Fanatic SaaS A...
Securing MongoDB to Serve an AWS-Based, Multi-Tenant, Security-Fanatic SaaS A...Securing MongoDB to Serve an AWS-Based, Multi-Tenant, Security-Fanatic SaaS A...
Securing MongoDB to Serve an AWS-Based, Multi-Tenant, Security-Fanatic SaaS A...
 
Certificazioni di Sicurezza in ambito Cloud Computing
Certificazioni di Sicurezza in ambito Cloud ComputingCertificazioni di Sicurezza in ambito Cloud Computing
Certificazioni di Sicurezza in ambito Cloud Computing
 

Ähnlich wie Open Source Day 2015 - DBaaS con Docker: un caso di studio

Sviluppo di servizi REST per Android - Luca Masini
Sviluppo di servizi REST per Android - Luca Masini Sviluppo di servizi REST per Android - Luca Masini
Sviluppo di servizi REST per Android - Luca Masini Whymca
 
SVILUPPO DI SERVIZI REST PER ANDROID
SVILUPPO DI SERVIZI REST PER ANDROIDSVILUPPO DI SERVIZI REST PER ANDROID
SVILUPPO DI SERVIZI REST PER ANDROIDLuca Masini
 
OCP-Architettura e caratteristiche della PaaS
OCP-Architettura e caratteristiche della PaaSOCP-Architettura e caratteristiche della PaaS
OCP-Architettura e caratteristiche della PaaSopencityplatform
 
Open Source Day 2017 - Caso cliente: uno stack cloud completo al servizio del...
Open Source Day 2017 - Caso cliente: uno stack cloud completo al servizio del...Open Source Day 2017 - Caso cliente: uno stack cloud completo al servizio del...
Open Source Day 2017 - Caso cliente: uno stack cloud completo al servizio del...Par-Tec S.p.A.
 
MySQL Tech Tour 2016 - Database-as-a-Service con MySQL e Oracle Openstack
MySQL Tech Tour 2016 - Database-as-a-Service con MySQL e Oracle OpenstackMySQL Tech Tour 2016 - Database-as-a-Service con MySQL e Oracle Openstack
MySQL Tech Tour 2016 - Database-as-a-Service con MySQL e Oracle OpenstackPar-Tec S.p.A.
 
CCI 2019 - Exchange 2019 da 0 ad HA in 1 ora
CCI 2019 - Exchange 2019 da 0 ad HA in 1 oraCCI 2019 - Exchange 2019 da 0 ad HA in 1 ora
CCI 2019 - Exchange 2019 da 0 ad HA in 1 orawalk2talk srl
 
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
 
Meetup ASP.NET Core e Kubernetes
Meetup ASP.NET Core e KubernetesMeetup ASP.NET Core e Kubernetes
Meetup ASP.NET Core e Kubernetesdotnetcode
 
Differenze tra Windows Server 2012 R2 su e Server 2016 Yashi Italia
Differenze tra Windows Server 2012 R2 su e Server 2016 Yashi ItaliaDifferenze tra Windows Server 2012 R2 su e Server 2016 Yashi Italia
Differenze tra Windows Server 2012 R2 su e Server 2016 Yashi ItaliaYashi Italia
 
Da Zero all'open per PA e PMI
Da Zero all'open per PA e PMIDa Zero all'open per PA e PMI
Da Zero all'open per PA e PMINaLUG
 
Tutto il Cloud di Seeweb
Tutto il Cloud di SeewebTutto il Cloud di Seeweb
Tutto il Cloud di Seewebseeweb
 
Yashi Enterprise e Microsoft Perchè aggiornare a windows server 2012 r2
Yashi Enterprise e Microsoft Perchè aggiornare a windows server 2012 r2Yashi Enterprise e Microsoft Perchè aggiornare a windows server 2012 r2
Yashi Enterprise e Microsoft Perchè aggiornare a windows server 2012 r2Yashi Italia
 
Panoramica sul progetto OpenStack
Panoramica sul progetto OpenStackPanoramica sul progetto OpenStack
Panoramica sul progetto OpenStackPar-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
 
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
 
Moving from Monolithic to Microservice Architecture: an OSS based stack deplo...
Moving from Monolithic to Microservice Architecture: an OSS based stack deplo...Moving from Monolithic to Microservice Architecture: an OSS based stack deplo...
Moving from Monolithic to Microservice Architecture: an OSS based stack deplo...Codemotion
 
Applicazioni Serverless con AWS
Applicazioni Serverless con AWSApplicazioni Serverless con AWS
Applicazioni Serverless con AWSsparkfabrik
 

Ähnlich wie Open Source Day 2015 - DBaaS con Docker: un caso di studio (20)

Sviluppo di servizi REST per Android - Luca Masini
Sviluppo di servizi REST per Android - Luca Masini Sviluppo di servizi REST per Android - Luca Masini
Sviluppo di servizi REST per Android - Luca Masini
 
SVILUPPO DI SERVIZI REST PER ANDROID
SVILUPPO DI SERVIZI REST PER ANDROIDSVILUPPO DI SERVIZI REST PER ANDROID
SVILUPPO DI SERVIZI REST PER ANDROID
 
OCP-Architettura e caratteristiche della PaaS
OCP-Architettura e caratteristiche della PaaSOCP-Architettura e caratteristiche della PaaS
OCP-Architettura e caratteristiche della PaaS
 
OCP Paas_ultima
OCP Paas_ultimaOCP Paas_ultima
OCP Paas_ultima
 
Open Source Day 2017 - Caso cliente: uno stack cloud completo al servizio del...
Open Source Day 2017 - Caso cliente: uno stack cloud completo al servizio del...Open Source Day 2017 - Caso cliente: uno stack cloud completo al servizio del...
Open Source Day 2017 - Caso cliente: uno stack cloud completo al servizio del...
 
MySQL Tech Tour 2016 - Database-as-a-Service con MySQL e Oracle Openstack
MySQL Tech Tour 2016 - Database-as-a-Service con MySQL e Oracle OpenstackMySQL Tech Tour 2016 - Database-as-a-Service con MySQL e Oracle Openstack
MySQL Tech Tour 2016 - Database-as-a-Service con MySQL e Oracle Openstack
 
CCI 2019 - Exchange 2019 da 0 ad HA in 1 ora
CCI 2019 - Exchange 2019 da 0 ad HA in 1 oraCCI 2019 - Exchange 2019 da 0 ad HA in 1 ora
CCI 2019 - Exchange 2019 da 0 ad HA in 1 ora
 
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
 
Meetup ASP.NET Core e Kubernetes
Meetup ASP.NET Core e KubernetesMeetup ASP.NET Core e Kubernetes
Meetup ASP.NET Core e Kubernetes
 
Differenze tra Windows Server 2012 R2 su e Server 2016 Yashi Italia
Differenze tra Windows Server 2012 R2 su e Server 2016 Yashi ItaliaDifferenze tra Windows Server 2012 R2 su e Server 2016 Yashi Italia
Differenze tra Windows Server 2012 R2 su e Server 2016 Yashi Italia
 
Da 0 all'open per PA e PMI
Da 0 all'open per PA e PMIDa 0 all'open per PA e PMI
Da 0 all'open per PA e PMI
 
Da Zero all'open per PA e PMI
Da Zero all'open per PA e PMIDa Zero all'open per PA e PMI
Da Zero all'open per PA e PMI
 
Tutto il Cloud di Seeweb
Tutto il Cloud di SeewebTutto il Cloud di Seeweb
Tutto il Cloud di Seeweb
 
Yashi Enterprise e Microsoft Perchè aggiornare a windows server 2012 r2
Yashi Enterprise e Microsoft Perchè aggiornare a windows server 2012 r2Yashi Enterprise e Microsoft Perchè aggiornare a windows server 2012 r2
Yashi Enterprise e Microsoft Perchè aggiornare a windows server 2012 r2
 
Panoramica sul progetto OpenStack
Panoramica sul progetto OpenStackPanoramica sul progetto OpenStack
Panoramica sul progetto OpenStack
 
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
 
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...
 
Moving from Monolithic to Microservice Architecture: an OSS based stack deplo...
Moving from Monolithic to Microservice Architecture: an OSS based stack deplo...Moving from Monolithic to Microservice Architecture: an OSS based stack deplo...
Moving from Monolithic to Microservice Architecture: an OSS based stack deplo...
 
Applicazioni Serverless con AWS
Applicazioni Serverless con AWSApplicazioni Serverless con AWS
Applicazioni Serverless con AWS
 

Mehr von Par-Tec S.p.A.

RHACS: creare, distribuire ed eseguire applicazioni cloud native in modo più ...
RHACS: creare, distribuire ed eseguire applicazioni cloud native in modo più ...RHACS: creare, distribuire ed eseguire applicazioni cloud native in modo più ...
RHACS: creare, distribuire ed eseguire applicazioni cloud native in modo più ...Par-Tec S.p.A.
 
MySQL Day Roma 2022 - MySQL: dall'alta disponibilità al disaster recovery in ...
MySQL Day Roma 2022 - MySQL: dall'alta disponibilità al disaster recovery in ...MySQL Day Roma 2022 - MySQL: dall'alta disponibilità al disaster recovery in ...
MySQL Day Roma 2022 - MySQL: dall'alta disponibilità al disaster recovery in ...Par-Tec S.p.A.
 
Webinar 23 giugno 2022 - Advanced Cluster Security: come si mette davvero al ...
Webinar 23 giugno 2022 - Advanced Cluster Security: come si mette davvero al ...Webinar 23 giugno 2022 - Advanced Cluster Security: come si mette davvero al ...
Webinar 23 giugno 2022 - Advanced Cluster Security: come si mette davvero al ...Par-Tec S.p.A.
 
Webinar 18 novembre 2021 - Dall’endpoint protection al servizio gestito: come...
Webinar 18 novembre 2021 - Dall’endpoint protection al servizio gestito: come...Webinar 18 novembre 2021 - Dall’endpoint protection al servizio gestito: come...
Webinar 18 novembre 2021 - Dall’endpoint protection al servizio gestito: come...Par-Tec S.p.A.
 
MySQL Day 2021 Digital Edition - Da Percona e MariaDB a MySQL: vantaggi e str...
MySQL Day 2021 Digital Edition - Da Percona e MariaDB a MySQL: vantaggi e str...MySQL Day 2021 Digital Edition - Da Percona e MariaDB a MySQL: vantaggi e str...
MySQL Day 2021 Digital Edition - Da Percona e MariaDB a MySQL: vantaggi e str...Par-Tec S.p.A.
 
Webinar 2 marzo 2021 - DevSecOps: la cybersecurity sposa lo sviluppo moderno
Webinar 2 marzo 2021 - DevSecOps: la cybersecurity sposa lo sviluppo modernoWebinar 2 marzo 2021 - DevSecOps: la cybersecurity sposa lo sviluppo moderno
Webinar 2 marzo 2021 - DevSecOps: la cybersecurity sposa lo sviluppo modernoPar-Tec S.p.A.
 
MySQL Day 2020 Digital Edition - Come proteggere al meglio un database MySQL
MySQL Day 2020 Digital Edition - Come proteggere al meglio un database MySQLMySQL Day 2020 Digital Edition - Come proteggere al meglio un database MySQL
MySQL Day 2020 Digital Edition - Come proteggere al meglio un database MySQLPar-Tec S.p.A.
 
Webinar 6 ottobre 2020 - Sicurezza e Compliance a misura di RPA
Webinar 6 ottobre 2020 - Sicurezza e Compliance a misura di RPAWebinar 6 ottobre 2020 - Sicurezza e Compliance a misura di RPA
Webinar 6 ottobre 2020 - Sicurezza e Compliance a misura di RPAPar-Tec S.p.A.
 
MySQL Day Milano 2019 - Da MySQL 5.7 a MySQL 8.0
MySQL Day Milano 2019 - Da MySQL 5.7 a MySQL 8.0MySQL Day Milano 2019 - Da MySQL 5.7 a MySQL 8.0
MySQL Day Milano 2019 - Da MySQL 5.7 a MySQL 8.0Par-Tec S.p.A.
 
MySQL Day Milano 2019 - Il backup non ammette ignoranza
MySQL Day Milano 2019 - Il backup non ammette ignoranzaMySQL Day Milano 2019 - Il backup non ammette ignoranza
MySQL Day Milano 2019 - Il backup non ammette ignoranzaPar-Tec S.p.A.
 
Open Source Day 2019 - Cosa puoi fare con Ansible in 1200 secondi?
Open Source Day 2019 - Cosa puoi fare con Ansible in 1200 secondi?Open Source Day 2019 - Cosa puoi fare con Ansible in 1200 secondi?
Open Source Day 2019 - Cosa puoi fare con Ansible in 1200 secondi?Par-Tec S.p.A.
 
Forum ICT Security 2019 - L’Identity Governance come difesa dagli insider thr...
Forum ICT Security 2019 - L’Identity Governance come difesa dagli insider thr...Forum ICT Security 2019 - L’Identity Governance come difesa dagli insider thr...
Forum ICT Security 2019 - L’Identity Governance come difesa dagli insider thr...Par-Tec S.p.A.
 
MySQL Day Roma 2019 - Da MySQL 5.7 a MySQL 8.0
MySQL Day Roma 2019 - Da MySQL 5.7 a MySQL 8.0MySQL Day Roma 2019 - Da MySQL 5.7 a MySQL 8.0
MySQL Day Roma 2019 - Da MySQL 5.7 a MySQL 8.0Par-Tec S.p.A.
 
MySQL Day Roma 2019 - Le architetture a microservizi e MySQL
MySQL Day Roma 2019 - Le architetture a microservizi e MySQLMySQL Day Roma 2019 - Le architetture a microservizi e MySQL
MySQL Day Roma 2019 - Le architetture a microservizi e MySQLPar-Tec S.p.A.
 
C&CNR2019 - Containers Landscape Review
C&CNR2019 - Containers Landscape ReviewC&CNR2019 - Containers Landscape Review
C&CNR2019 - Containers Landscape ReviewPar-Tec S.p.A.
 
C&CNR2019 - Cloud-Native Landscape Review
C&CNR2019 - Cloud-Native Landscape ReviewC&CNR2019 - Cloud-Native Landscape Review
C&CNR2019 - Cloud-Native Landscape ReviewPar-Tec S.p.A.
 
Open Source Day 2018 - OpenShift accelera la digital transformation di SIAE
Open Source Day 2018 - OpenShift accelera la digital transformation di SIAEOpen Source Day 2018 - OpenShift accelera la digital transformation di SIAE
Open Source Day 2018 - OpenShift accelera la digital transformation di SIAEPar-Tec S.p.A.
 
Open Source Day 2018 - Caso Cliente INAIL: Soluzioni e competenze che abilita...
Open Source Day 2018 - Caso Cliente INAIL: Soluzioni e competenze che abilita...Open Source Day 2018 - Caso Cliente INAIL: Soluzioni e competenze che abilita...
Open Source Day 2018 - Caso Cliente INAIL: Soluzioni e competenze che abilita...Par-Tec S.p.A.
 
MySQL Day Milano 2018 - MySQL e le architetture a microservizi
MySQL Day Milano 2018 - MySQL e le architetture a microserviziMySQL Day Milano 2018 - MySQL e le architetture a microservizi
MySQL Day Milano 2018 - MySQL e le architetture a microserviziPar-Tec S.p.A.
 
MySQL Day Milano 2018 - Le architetture a microservizi
MySQL Day Milano 2018 - Le architetture a microserviziMySQL Day Milano 2018 - Le architetture a microservizi
MySQL Day Milano 2018 - Le architetture a microserviziPar-Tec S.p.A.
 

Mehr von Par-Tec S.p.A. (20)

RHACS: creare, distribuire ed eseguire applicazioni cloud native in modo più ...
RHACS: creare, distribuire ed eseguire applicazioni cloud native in modo più ...RHACS: creare, distribuire ed eseguire applicazioni cloud native in modo più ...
RHACS: creare, distribuire ed eseguire applicazioni cloud native in modo più ...
 
MySQL Day Roma 2022 - MySQL: dall'alta disponibilità al disaster recovery in ...
MySQL Day Roma 2022 - MySQL: dall'alta disponibilità al disaster recovery in ...MySQL Day Roma 2022 - MySQL: dall'alta disponibilità al disaster recovery in ...
MySQL Day Roma 2022 - MySQL: dall'alta disponibilità al disaster recovery in ...
 
Webinar 23 giugno 2022 - Advanced Cluster Security: come si mette davvero al ...
Webinar 23 giugno 2022 - Advanced Cluster Security: come si mette davvero al ...Webinar 23 giugno 2022 - Advanced Cluster Security: come si mette davvero al ...
Webinar 23 giugno 2022 - Advanced Cluster Security: come si mette davvero al ...
 
Webinar 18 novembre 2021 - Dall’endpoint protection al servizio gestito: come...
Webinar 18 novembre 2021 - Dall’endpoint protection al servizio gestito: come...Webinar 18 novembre 2021 - Dall’endpoint protection al servizio gestito: come...
Webinar 18 novembre 2021 - Dall’endpoint protection al servizio gestito: come...
 
MySQL Day 2021 Digital Edition - Da Percona e MariaDB a MySQL: vantaggi e str...
MySQL Day 2021 Digital Edition - Da Percona e MariaDB a MySQL: vantaggi e str...MySQL Day 2021 Digital Edition - Da Percona e MariaDB a MySQL: vantaggi e str...
MySQL Day 2021 Digital Edition - Da Percona e MariaDB a MySQL: vantaggi e str...
 
Webinar 2 marzo 2021 - DevSecOps: la cybersecurity sposa lo sviluppo moderno
Webinar 2 marzo 2021 - DevSecOps: la cybersecurity sposa lo sviluppo modernoWebinar 2 marzo 2021 - DevSecOps: la cybersecurity sposa lo sviluppo moderno
Webinar 2 marzo 2021 - DevSecOps: la cybersecurity sposa lo sviluppo moderno
 
MySQL Day 2020 Digital Edition - Come proteggere al meglio un database MySQL
MySQL Day 2020 Digital Edition - Come proteggere al meglio un database MySQLMySQL Day 2020 Digital Edition - Come proteggere al meglio un database MySQL
MySQL Day 2020 Digital Edition - Come proteggere al meglio un database MySQL
 
Webinar 6 ottobre 2020 - Sicurezza e Compliance a misura di RPA
Webinar 6 ottobre 2020 - Sicurezza e Compliance a misura di RPAWebinar 6 ottobre 2020 - Sicurezza e Compliance a misura di RPA
Webinar 6 ottobre 2020 - Sicurezza e Compliance a misura di RPA
 
MySQL Day Milano 2019 - Da MySQL 5.7 a MySQL 8.0
MySQL Day Milano 2019 - Da MySQL 5.7 a MySQL 8.0MySQL Day Milano 2019 - Da MySQL 5.7 a MySQL 8.0
MySQL Day Milano 2019 - Da MySQL 5.7 a MySQL 8.0
 
MySQL Day Milano 2019 - Il backup non ammette ignoranza
MySQL Day Milano 2019 - Il backup non ammette ignoranzaMySQL Day Milano 2019 - Il backup non ammette ignoranza
MySQL Day Milano 2019 - Il backup non ammette ignoranza
 
Open Source Day 2019 - Cosa puoi fare con Ansible in 1200 secondi?
Open Source Day 2019 - Cosa puoi fare con Ansible in 1200 secondi?Open Source Day 2019 - Cosa puoi fare con Ansible in 1200 secondi?
Open Source Day 2019 - Cosa puoi fare con Ansible in 1200 secondi?
 
Forum ICT Security 2019 - L’Identity Governance come difesa dagli insider thr...
Forum ICT Security 2019 - L’Identity Governance come difesa dagli insider thr...Forum ICT Security 2019 - L’Identity Governance come difesa dagli insider thr...
Forum ICT Security 2019 - L’Identity Governance come difesa dagli insider thr...
 
MySQL Day Roma 2019 - Da MySQL 5.7 a MySQL 8.0
MySQL Day Roma 2019 - Da MySQL 5.7 a MySQL 8.0MySQL Day Roma 2019 - Da MySQL 5.7 a MySQL 8.0
MySQL Day Roma 2019 - Da MySQL 5.7 a MySQL 8.0
 
MySQL Day Roma 2019 - Le architetture a microservizi e MySQL
MySQL Day Roma 2019 - Le architetture a microservizi e MySQLMySQL Day Roma 2019 - Le architetture a microservizi e MySQL
MySQL Day Roma 2019 - Le architetture a microservizi e MySQL
 
C&CNR2019 - Containers Landscape Review
C&CNR2019 - Containers Landscape ReviewC&CNR2019 - Containers Landscape Review
C&CNR2019 - Containers Landscape Review
 
C&CNR2019 - Cloud-Native Landscape Review
C&CNR2019 - Cloud-Native Landscape ReviewC&CNR2019 - Cloud-Native Landscape Review
C&CNR2019 - Cloud-Native Landscape Review
 
Open Source Day 2018 - OpenShift accelera la digital transformation di SIAE
Open Source Day 2018 - OpenShift accelera la digital transformation di SIAEOpen Source Day 2018 - OpenShift accelera la digital transformation di SIAE
Open Source Day 2018 - OpenShift accelera la digital transformation di SIAE
 
Open Source Day 2018 - Caso Cliente INAIL: Soluzioni e competenze che abilita...
Open Source Day 2018 - Caso Cliente INAIL: Soluzioni e competenze che abilita...Open Source Day 2018 - Caso Cliente INAIL: Soluzioni e competenze che abilita...
Open Source Day 2018 - Caso Cliente INAIL: Soluzioni e competenze che abilita...
 
MySQL Day Milano 2018 - MySQL e le architetture a microservizi
MySQL Day Milano 2018 - MySQL e le architetture a microserviziMySQL Day Milano 2018 - MySQL e le architetture a microservizi
MySQL Day Milano 2018 - MySQL e le architetture a microservizi
 
MySQL Day Milano 2018 - Le architetture a microservizi
MySQL Day Milano 2018 - Le architetture a microserviziMySQL Day Milano 2018 - Le architetture a microservizi
MySQL Day Milano 2018 - Le architetture a microservizi
 

Kürzlich hochgeladen

Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...Associazione Digital Days
 
Programma Biennale Tecnologia 2024 Torino
Programma Biennale Tecnologia 2024 TorinoProgramma Biennale Tecnologia 2024 Torino
Programma Biennale Tecnologia 2024 TorinoQuotidiano Piemontese
 
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...Associazione Digital Days
 
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...Associazione Digital Days
 
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...Associazione Digital Days
 
Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...
Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...
Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...Associazione Digital Days
 
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...Associazione Digital Days
 
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”Associazione Digital Days
 
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...Associazione Digital Days
 

Kürzlich hochgeladen (9)

Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...
 
Programma Biennale Tecnologia 2024 Torino
Programma Biennale Tecnologia 2024 TorinoProgramma Biennale Tecnologia 2024 Torino
Programma Biennale Tecnologia 2024 Torino
 
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...
 
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
 
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...
 
Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...
Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...
Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...
 
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...
 
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”
 
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...
 

Open Source Day 2015 - DBaaS con Docker: un caso di studio

  • 1. #osd2015 DBaaS  con  Docker:  un  caso  di  studio Michelangelo  Uberti,  Marketing  Analyst
  • 2. Par-­Tec  e  Red  Hat:  10  anni  di  successi Par-­Tec è  un  software  &  infrastructure system integrator  che  si  distingue  per: • la  proposizione  al  mercato  di  servizi  professionali  altamente  qualificati  e  soluzioni  innovative • il  rispetto  degli  standard  e  l’adozione  di  tecnologie  open  source L’avventura  col  cappello  rosso  è  iniziata  10  anni  fa  con  l’adozione  del  GFS,  la   specializzazione  su  RHEL  e  l’evoluzione  verso  il  middleware  e  la  più  recente  Cloud   Infrastructure. Il  nostro  attuale  rapporto  con  Red  Hat? Red  Hat  Premier  Business  Partner  con  specializzazione  Datacenter  Infrastructure
  • 3. DB-­as-­a-­Service:  la  semplicità  del  concept I  macro-­obiettivi  del  progetto Semplicità d’uso Provisioning immediato Accesso  via  console web  e  client  TCP Fatturazione Flat  e  Pay-­per-­use  (to  be) Orientato  alla vendita  massiva L’idea  del  Cliente  (correva  l’anno  2012…) Offrire  un  servizio  di  database  remoto  che  garantisse:   • accesso  via  internet  mediante  strumenti  e  protocolli  standard • condivisione  multi-­tenant  delle  risorse  computazionali • gestione  dell’infrastruttura  centralizzata
  • 4. I  possibili  approcci:  Single  vs.  Multi-­instance Single-­instance 1  istanza  :  1  VM Multi-­instance n istanze  :  1  VM PRO • Controllo  completo  di  OS  e  DBMS. • Dimensionamento  puntuale  della  VM. • Estremamente  personalizzabile  dal   punto  di  vista  applicativo. • Adatto  a  chi  dispone  delle  competenze   interne. • Semplicità  di  gestione  da  parte  dell’utilizzatore  finale.   • Nessun  onere  relativo  al  patch  mgmt,  backup,  etc.   • Tempi  e  costi  di  provisioning  ridotti.   • Fruizione  via  web  e  client  SQL  compatibile.   • Fatturazione  Flat  e  (in  futuro)  Pay-­per-­use.   • Orientato  alla  vendita  massiva. CONTRO • Inadatta  ad  utenti  privi  di  competenze   sistemistiche.   • Il  servizio  è  più  esposto  a  rischi  di   sicurezza  legati  alla  gestione  da  parte   dell’utente  finale.   • Richiede  una  VM  per  ogni  Cliente. • Inadatto  ad  utenti  che  richiedono  configurazioni  fuori   standard.   • Inizialmente  non  prevedeva  configurazioni  in  HA  e   replica.
  • 5. I  possibili  approcci:  perché  non  usare  Trove? Perché  reinventare  l’acqua  calda  anziché  scegliere  Trove? • Il  nostro  progetto  è  nato  nell’estate  del  2012,  la  prima  release  pubblica  di  Trove è  stata  rilasciata   in  OpenStack Havana  a  fine  2013 • Trove richiede  OpenStack (you don’t say?) • Trove è  progettato  per  erogare  database  single-­tenant,  perciò  mantiene  un  rapporto  1:1  tra   machine  instance e  database  instance Trove  is  Database  as  a  Service  for  OpenStack.  It's  designed  to  run  entirely  on   OpenStack,  with  the  goal  of  allowing  users  to  quickly  and  easily  utilize  the  features   of  a  relational  or  non-­relational  database  without  the  burden  of  handling  complex   administrative  tasks. ” “
  • 6. Architettura  di  alto  livello SAN Operations  e  MarketingUtente  finale SQL SQL REST SQL HTTPS HTTPS CSV  via  SFTP CUSTOMER PORTAL ADMIN PORTAL BILLING PLATFORM ORCHESTRATOR DWH  -­ REPORT DB  HOST SILVER DB  HOST GOLD DB  HOST PLATINUM TCP
  • 7. SAN Operations  e  MarketingUtente  finale SQL SQL REST SQL HTTPS HTTPS CSV  via  SFTP CUSTOMER PORTAL ADMIN PORTAL BILLING PLATFORM ORCHESTRATOR DWH  -­ REPORT DB  HOST SILVER DB  HOST GOLD DB  HOST PLATINUM TCP Architettura  di  alto  livello VM (OS) Istanza  1 Istanza  2 Istanza  n Ogni  VM  esegue  un  container  per  ogni  istanza   di  MySQL e  il  nostro  agent  di  mgmt  che  espone  le   interfacce  RESTful  per  l’amministrazione. Shared libraries Mgmt Agent Istanza  3
  • 8. SAN Operations  e  MarketingUtente  finale SQL SQL REST SQL HTTPS HTTPS CSV  via  SFTP CUSTOMER PORTAL ADMIN PORTAL BILLING PLATFORM ORCHESTRATOR DWH  -­ REPORT DB  HOST SILVER DB  HOST GOLD DB  HOST PLATINUM TCP Architettura  di  alto  livello Il  Customer Portal consente  all’utente  finale  di: • gestire  il  proprio  contratto • connettersi  al  db da  un’interfaccia  web-­based L’Admin Portal è  dedicato  alla  gestione  della   piattaforma  da  parte  del  Marketing  e  delle  Operations.
  • 9. SAN Operations  e  MarketingUtente  finale SQL SQL REST SQL HTTPS HTTPS CSV  via  SFTP CUSTOMER PORTAL ADMIN PORTAL BILLING PLATFORM ORCHESTRATOR DWH  -­ REPORT DB  HOST SILVER DB  HOST GOLD DB  HOST PLATINUM TCP Architettura  di  alto  livello Il  SQL  Proxy consente  all’utente  connettere  i  client  e  le   proprie  applicazioni  mediante  connessione  SQL-­compatibile. L’obiettivo  del  wrapper  è  filtrare  tutti  i  comandi  amministrativi,   proteggere  l’utente  da  sé  stesso  e  semplificare  il  rilascio  di   nuove  funzionalità.
  • 10. SAN Operations  e  MarketingUtente  finale SQL SQL REST SQL HTTPS HTTPS CSV  via  SFTP CUSTOMER PORTAL ADMIN PORTAL BILLING PLATFORM ORCHESTRATOR DWH  -­ REPORT DB  HOST SILVER DB  HOST GOLD DB  HOST PLATINUM TCP Architettura  di  alto  livello Il  DWH-­Report è  il  database  centralizzato  che   contiene  i  dati  di  configurazione  e  tutte  le  metriche  di   funzionamento  utilizzabili  ai  fini  della  fatturazione. Disporre  di  dati  puntuali  è  utile  a  tutti: • il  Marketing  può  progettare  dei  profili  migliori • l’utente  può  verificare  l’adeguatezza  del  profilo  scelto
  • 11. SAN Operations  e  MarketingUtente  finale SQL SQL REST SQL HTTPS HTTPS CSV  via  SFTP CUSTOMER PORTAL ADMIN PORTAL BILLING PLATFORM ORCHESTRATOR DWH  -­ REPORT DB  HOST SILVER DB  HOST GOLD DB  HOST PLATINUM TCP Architettura  di  alto  livello Il  Platform  Orchestrator è  il  punto  di  contatto  tra  i   sistemi  di  provisioning  esterni  e  la  piattaforma. Trasforma  ogni  richiesta  in  una  serie  di  comandi  per  gli   agent  a  bordo  dei  DB  Host,  istanzia  nuovi  container  e   nuovi  DB  Host.
  • 12. Focus  sul  Management  Agent POST /dbaas/v1/instancecreate/ { 'user': 'mario.rossi', 'profile': 'gold', 'port': '12345', 'wwid': 'disk-wwid', } cgcreate –g memory,blkio,cpu,cpuset:gold … mount /dev/mapper/dbdataXXXp1 /data/mariorossi-1 … cgexec mysql_install_db –datadir /data/mariorossi-1 … È  la  componente  che  traduce  dei  comandi  di  alto  livello  in  task  complessi  eseguiti  sui  DB  Host,  ad  es: • Creazione  di  un  nuovo  container • Riconfigurazione  e  dismissione  di  un  container  esistente • Migrazione  e  upgrade  di  profilo • Gestione  del  processo  mysqld (start,  stop,  restart,  etc.)
  • 14. Orchestration  at  work L’utente  acquista  il  profilo  Gold  del  DBaaS  offerto  dal  provider. Il  suo  contratto  viaggia  all’interno  della  catena  di  delivery.
  • 15. Orchestration  at  work DBaaS  Platform La  richiesta  arriva  al  Platform  Orchestrator  della  nostra  piattaforma
  • 16. Orchestration  at  work DBaaS  Platform L’Orchestrator  interroga  il  DWH-­Report  per  verificare  la  disponibilità  di  slot  per  il  profilo  Gold
  • 17. Orchestration  at  work DBaaS  Platform Oops,  gli  slot  Gold  sono  finiti! Lancia  una  nuova  VM  di  tipo  Gold,  la  aggiunge  al  pool  di  DB  Host  e  crea  i  nuovi  slot  sul  DWH-­Report
  • 18. Orchestration  at  work DBaaS  Platform Gli  slot  Gold  sono  disponibili! Riserva  uno  slot,  lancia  il  nuovo  container  sul  DB  Host  di  riferimento  e  aggiorna  i  dati  sul  DWH-­Report
  • 19. Orchestration  at  work DBaaS  Platform Il  Platform  Orchestrator  completa  il  task  e  restituisce  le  informazioni  alla  catena  di  delivery. Alla  fine  del  processo  l’utente  riceve  una  mail  con  IP,  porta  e  credenziali  d’accesso.
  • 20. Da  cgroups  a  Docker VERSIONE  1 VERSIONE  2 cgroups  +  selinux Docker La  limitazione  delle  risorse  assegnate  al   processo  mysqld  e  la  separazione  del   contesto  di  sicurezza  era  gestita  mediante  la   configurazione  manuale  di  cgroups  +  selinux. La  versione  di  MySQL  era  identica  per  tutte  le   istanze  all’interno  della  stessa  VM. L’istanza  di  MySQL  viene  eseguita  in  un   container  dedicato,  il  quale  gestisce   nativamente  la  limitazione  delle  risorse  e  del   namespace. Potenzialmente,  ogni  istanza  potrebbe  usare   una  diversa  versione  di  MySQL.
  • 21. Da  cgroups  a  Docker:  un  esempio  concreto cgroups  +  selinux Docker cd /sys/fs/cgroup/memory/gold/ echo 1 > memory.oom_control echo 10 > memory.swappiness echo 1000000000 > memory.limit_in_bytes … chcon -R --reference /template/mariorossi-1 /volume-path … Docker run … --memory=1g --cgroup-parent=gold --oom-kill-disable=true --memory-swappiness=10 --name=mariorossi-1 --user=mariorossi-1 dbaas-gold …
  • 22. Le  sfide  principali  (alcune  delle  tante…) • Gestione  dei  log  delle  istanze  di  database • Gestione  della  concorrenza  nell’accesso  all’I/O • Performance  tuning di  Linux  e  MySQL su  istanze  multiple,  es:
  • 23. Quale  futuro? VERSIONE  1 VERSIONE  3 cgroups  +  selinux Docker VERSIONE  2 Whatelse? Ipotesi  per  la  v3: • Fatturazione  pay-­per-­use • Scelta  della  versione  di  MySQL in  fase  di  provisioning • HA  dei  container,  ad  es.  con  Kubernetes e  Atomic Host • Snapshot autogestiti  per  gestire  eventuali  attività  distruttive  o  backup • Integrazione  con  Trove?