Webinar: "Il database: l’equipaggiamento su cui fare affidamento"

30

Transcript of Webinar: "Il database: l’equipaggiamento su cui fare affidamento"

• 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

Il database: l’equipaggiamento su cui fare affidamento

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: DEMO

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…

[email protected]

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