View
62
Download
0
Embed Size (px)
Citation preview
• Emerasoft srl
• Mission
• Vision
• Solutions
Monica Burzio– Emerasoft
Ugo Ciracì – Emerasoft
Emerasoft Srl
Data di nascita: 2005
Dove siamo:
Via Po, 1 – TorinoPiazzale Luigi Sturzo, 15 - Roma
“Il nostro impegno è nella costante ricerca dellamigliore soluzione per il cliente, garantendoeccellenza nella qualità di servizi e prodottiproposti. La nostra promessa è di svolgere il nostrolavoro con costanza e passione”
Emerasoft Srl
DevOpsIoT
Testing
ALM
SOABusiness Intelligence
Security
University
ALM+PLM
standard compliance
BRMS
User Experience SS4BEnterprise Mobility
agile
IoD
BPM
OpenSource
APIUsability
traceability
Compliance Management
ITSM
Solutions
DevOpsIoT
Testing
ALM
SOABusiness Intelligence
Security
University
ALM+PLM
standard compliance
BRMS
User Experience SS4BEnterprise Mobility
agile
IoD
BPM
OpenSource
APIUsability
traceability
Compliance Management
ITSM
Emerasoft Srl
AgendaWebinar: “Il database: l’equipaggiamento su cui fare affidamento ”
APRILE
• DevOps e automazione
• Lo scenario classico e le battaglie quotidiane
• DBmaestro: equipaggiamento ideale per combattere le battaglie quotidiane
• DEMO
• Q&A
Il webinar di oggi
Ugo CiracìDevOps Specialist @Emerasoft
NOVEMBRE
Efficace & produttivo Sicuro, predicibile,
scalabile & controllato
Tracciatura di modifiche evolutive e
mantenimento
SecRuoli, Permessi, Norme
& Controllo
Repositoriosorgenti
ARA: integrazionecon sistemi di
rilascio automatico
Etichette, rilevamento e
risoluzione conflitti
Cruscotti e analitiche
Configurazione di gestione dei ruoli,
monitoraggio, conformità, controllo
Dev OpsDeposito binari
DevOps: reinterpretare lo sviluppo sui database in chiave
moderna
Lo scenario classico e le battaglie quotidiane: il controllo del
codice sorgente
SCHEMA_X
SVILUPPO INTEGRAZIONE
SCRIPT1.SQL
TABELLA 1PROC 2
DEV
Vers 1
OPS
SCHEMA_X
SCRIPT2.SQL
TABELLA 2PROC 2
SCRIPT3.SQL
TABELLA 2PROC 2
Vers 2
Vers 3
Vers 1
Vers 2
Vers 3
Storicizzazione e tracciatura del codice sorgente: • Nessun sistema per la storicizzazione dei sorgenti (DEV)• Nessuna tracciatura del processo di sviluppo• Nessuna verifica della conformità del codice• Automazione povera o inesistente del rilascio di codice in Sviluppo secondo un approccio di continuous integration.• Si delegano sistemi di ticketing esterni per la tracciatura del codice come allegato al ticket.
Rilascio:• Delega del rilascio di codice a ruoli non coinvolti nella progettazione e sviluppo del software (OPS): gli amministratori di
database devono spesso controllare manualmente gli script per evitare inefficienze, operazioni non consentite, garantire conformità al sistema e alle norme aziendali;
• Processo di rilascio manuale: nessuna possibilità di automatismo, difficoltà di eseguire le operazioni senza errori umani;• Nessun costruzione automatica di analitiche sui rilasci;
Lo scenario classico e le battaglie quotidiane: rilascio
SCHEMA_X
SVILUPPO INTEGRAZIONE
SCRIPT1.SQL
TABELLA 1PROC 2
DEV
Vers 1
OPS
SCHEMA_X
SCRIPT2.SQL
TABELLA 2PROC 2
SCRIPT3.SQL
TABELLA 2PROC 2
Vers 2
Vers 3
Vers 1
Vers 2
Vers 3
Lo scenario classico e le battaglie quotidiane: sicurezza
Controllo accessi e amministrazione:• Gli amministratori devono occuparsi degli aspetti legati alla gestione delle modifiche applicative come se fossero problematiche di
amministrazione di database;• L’accoppiamento della gestione di database e schemi applicativi scarica sugli amministratori due attività trasversali: da un lato la gestione
operativa di un database (cluster, multi-tenancy, alta affidabilità, disaster recovery, efficienza e performance, gestione delle risorse, etc.) che richiede conoscenze verticali, dall’altro lo sviluppo del software che richiede conoscenze orizzontali (lo schema applicativo e la costruzione della business logic del software vanno di pari passo).
• Il DevOps e gli strumenti a sua disposizione rendono lo sviluppo di software più automatizzato ed efficiente rispetto allo sviluppo di schemi applicativi con la evidente generazione di un collo di bottiglia legato al processo di gestione del ciclo di vita del software.
DEV
SCHEMA_X
SVILUPPO INTEGRAZIONE
SCRIPT1.SQL
TABELLA 1PROC 2
DEV
Vers 1
OPS
SCHEMA_X
SCRIPT2.SQL
TABELLA 2PROC 2
SCRIPT3.SQL
TABELLA 2PROC 2
Vers 2
Vers 3
Vers 1
Vers 2
Vers 3
Lo scenario classico e le battaglie quotidiane: scalabilità
SCHEMA_X
SVILUPPO INTEGRAZIONE
SCRIPT1.SQL
TABELLA 1PROC 2
DEV
Vers 1
OPS
SCHEMA_X
Vers 1
PRODUZIONEOPS
SCHEMA_X
Vers 1
Scalabilità:• Attualmente tutte le procedure di rilascio di schemi applicativi sono effettuate manualmente. Inevitabilmente i problemi
elencati precedentemente si moltiplicano per ciascun ambiente e per ciascuno schema e ciascuna verifica deve essere svolta da capo per ciascuno script;
• Il mantenimento di ticket che allegano script da rilasciare manualmente non è scalabile e richiede maggiore sforzo di gestione rispetto allo sviluppo di software. Si crea una gestione del database e del software a due velocità.
DEV DEV
SCHEMA_ZSCRIPT1.SQL
TABELLA 1PROC 2 Vers 1
SCHEMA_Z
Vers 1
SCHEMA_Z
Vers 1
Lo scenario classico e le battaglie quotidiane: conformità
SCHEMA_X
SVILUPPO INTEGRAZIONE
SCRIPT1.SQL
TABELLA 1PROC 2
DEV
Vers 1
OPS
SCHEMA_X
SCRIPT2.SQL
TABELLA 2PROC 2
SCRIPT3.SQL
TABELLA 2PROC 2
Vers 2
Vers 3
Vers 1
Vers 2
Vers 3
PRODUZIONEOPS
SCHEMA_X
Vers 1
Vers 2
Vers 3
Conformità:• Ambienti: il rilascio degli script in ciascun ambiente demanda alla verifica manuale la correttezza del rilascio o un maggiore
sforzo nella costruzione di test unitari. Nessuna possibilità reale di validare lo stato dei rilasci dello schema. Il rilascio di schemi errati o la propagazione di errori tra i vari ambienti non è tracciata o tracciabile;
• Operazioni: il rilascio di script che includano operazioni non consentite richiede una analisi manuale attenda da parte dei DBA i quali spesso impiegano il loro stesso utente anche per l’esecuzione che non necessitano di privilegi particolari. La conformità al processo aziendale è priva di meccanismi di validazione e controllo delle norme e pratiche aziendali.
DEV DEV
Lo scenario classico e le battaglie quotidiane: ripristino
SCHEMA_X
SVILUPPO INTEGRAZIONE
SCRIPT1.SQL
TABELLA 1PROC 2
DEV
Vers 1
OPS
SCHEMA_X
Vers 1
PRODUZIONEOPS
SCHEMA_X
Vers 1
Vers 2
Vers 1
Ripristino:• Non è possibile ripristinare in maniera ripetibile una versione precedente degli schemi applicativi;• L’esecuzione dello script che ha generato la versione 1 (versione di cui effettuare il ripristino) non garantisce la corretta
costruzione di quella versione a partire dallo schema attualmente in uso.
DEV DEV
Lo scenario classico e le battaglie quotidiane: urgenze
SCHEMA_X
SVILUPPO INTEGRAZIONE
SCRIPT1.SQL
TABELLA 1PROC 2
DEV
Vers 1
OPS
SCHEMA_X
Vers 1
PRODUZIONEOPS
SCHEMA_X
Vers 1
Vers 2
Vers 1
Urgenze:• Le modifiche d’urgenza (hotfix) seguono procedure veloci, spesso perdono il tracciamento attraverso procedure manuali e
sono effettuate con meno controllo e senza nessuna possibilità di verificare lo stato complessivo dello schema applicativo• L’integrazione delle modifiche d’urgenza nell’ambiente di sviluppo è difficile per il fatto che l’ambiente di sviluppo ha subito
diverse evolutive e la hotfix potrebbe non essere più coerente e riconducibile ad uno stato dello schema precedente• Difficile ricostruire versioni precedenti dalle quali evolvere una modifica d’urgenza
DEV DEV
SCRIPTn.SQL…
Vers N
La vita degli amministratori non è facile….
DBmaestro: equipaggiamento ideale per combattere le
battaglie quotidiane
SVILUPPOINTEGRAZI
ONEPRODUZIO
NE
DBMAESTRO TW SERVER
SCHEMA_X
DBMAESTRO_TW DBMAESTRO_TW DBMAESTRO_TW
DBMAESTRO CLIENTSIDE CI/CD/ARA
SERVER SIDE
CLIENT SIDE
REPOSITORYVERSION
MANAGE
SCHEMA_X SCHEMA_X
DBmaestro: concetti base
Database gestito: DB in cui DBmaestro ha il controllo degli schemi applicativi
Controllo di sorgente: oggetti sui quali applicare il versionamento.
Revisione: modifica ad un oggetto collezionata nel repository di DBmaestro
1
1
1
SCHEMA_X
TABELLA 1
TABELLA 2
PROC 1
PROC 2
SVILUPPO
Scripts
Controllo di versione
DBmaestro: concetti base
Revisione: modifica ad un oggetto collezionata nel repository di DBmaestro
Versione: insieme di tutte le ultime revisioni in ogni dato momento
1
1
1
2
2
1
2
SCHEMA_X
TABELLA 1
TABELLA 2
PROC 1
PROC 2
SVILUPPO
1
1
3
3
2
3
1
Scripts
Controllo di versione
DBmaestro: concetti base
Etichetta: nome di una versione
Baseline: versione di riferimento
1
1
1
2
2
1
2
SCHEMA_X
TABELLA 1
TABELLA 2
PROC 1
PROC 2
SVILUPPO
1
1
3
3
2
3
1
3
2
4
2
4
2
5
2
1.0 1.1 2.0
Scripts
Controllo di versione
DBmaestro: concetti base
Database gestito: DB in cui DBmaestro ha il controllo degli schemi applicativi
Controllo di sorgente: oggetti sui quali applicare il versionamento.
Revisione: modifica ad un oggetto collezionata nel repository di DBmaestro
Versione: insieme di tutte le ultime revisioni in ogni dato momento
Etichetta: nome di una versione
Baseline: versione di riferimento
1
1
1
2
2
1
2
SCHEMA_X
TABELLA 1
TABELLA 2
PROC 1
PROC 2
SVILUPPO
1
1
3
3
2
3
1
3
2
4
2
4
2
5
2
1.0 1.1 2.0
Revisione
Versione
Etichetta
Scripts
Controllo di versione
DBmaestro: automatismo, controllo, validazione
SCHEMA_X
SVILUPPO INTEGRAZIONE
SCRIPT1.SQL
TABELLA 1PROC 2
DEV
Vers 1
OPS
SCHEMA_X
SCRIPT2.SQL
TABELLA 2PROC 2
SCRIPT3.SQL
TABELLA 2PROC 2
Vers 2
Vers 3
Vers 1
Vers 2
PRODUZIONE
OPS
SCHEMA_X
Vers 1
Vers 1
DBmaestro: automatismo, controllo, validazione
SCHEMA_X
SVILUPPO INTEGRAZIONE
SCRIPT1.SQL
TABELLA 1PROC 2
DEV
Vers 1
OPS
SCHEMA_X
SCRIPT2.SQL
TABELLA 2PROC 2
SCRIPT3.SQL
TABELLA 2PROC 2
Vers 2
Vers 3
Vers 1
Vers 2
PRODUZIONE
OPS
SCHEMA_X
Vers 1
DBMAESTROVERSION
MANAGE
Controllo di versione
Controllo accessi
Controllo conformità
Vers 1
Vers 1
DBmaestro: automatismo, controllo, conformità
SCHEMA_X
SVILUPPO INTEGRAZIONE
SCRIPT1.SQL
TABELLA 1PROC 2
DEV
Vers 1
OPS
SCHEMA_X
SCRIPT2.SQL
TABELLA 2PROC 2
SCRIPT3.SQL
TABELLA 2PROC 2
Vers 2
Vers 3
Vers 1
Vers 2
PRODUZIONE
OPS
SCHEMA_X
Vers 1
DBMAESTROVERSION
MANAGEGIT
Controllo di versione
Controllo accessi
Controllo conformità
Vers 1
Vers 1
Dulcis in fundo…
DBmaestro: operazioni di base
SCHEMA_X
SVILUPPO
SCRIPT1.SQL
TABELLA 1PROC 2 Vers 1
PRODUZIONE
SCHEMA_X
Vers 1
Vers 1
RilascioSCRIPT_VERS_1..SQL
Ooggetti delloSCHEMA_X versione 1
Costruzione
Rilascio: esecuzione controllata di uno script
Costruzione: generazione di uno script in grado di generare esattamente una versione
Validazione: confronto tra una etichetta e lo stato attuale di uno schema
DBmaestro: per saperne di
più
Scarica online l’eBook
“Modernizing your database processes with DevSecOps”
www3.dbmaestro.com/modernizing-your-database-processes-with-devsecops
DBmaestro: per saperne di
più
Quanto potrebbe farti risparmiarel’automazione del database?
www.dbmaestro.com/roi-calculator/
Scopri lo spreco, scopril’opportunità…usando il calcolatore ROI
di DBmaestro
Contenuti disponibili su:
Canale slideshare di Emerasoft
Canale Youtube Emerasoft
Visita il nostro sito emerasoft.com
Contattaci: [email protected] @
WWW
Emerasoft Srl
I prossimi webinar
8 novembre: “Il software: la strategia vincente sta nella qualità”
16 novembre:“La User Experience: la tecnica per far passare il nemico dalla tua
parte”
www.emerasoft.com/inverno-webinar-emerasoft/
Segui i nostri
canali…
Emerasoft Srl
via Po, 1 – 10124 Torino
Piazzale Luigi Sturzo, 15 - 00144 Roma
T +39 011 0120370
T +39 06 87811323
F +39 011 3710371
Grazie…
Contatti