devops jump start

24

Upload: felice-pescatore

Post on 15-Jan-2017

401 views

Category:

Leadership & Management


0 download

TRANSCRIPT

Page 1: DevOps Jump Start
Page 2: DevOps Jump Start

DevOps Jump Start

Felice PescatoreInnovation Manager – Microsoft MVP@felicepescatore

Page 3: DevOps Jump Start

DevOps: motivazioni e obiettiviAndare oltre l’Agile per abbattere i SilosLa Cultura al centro di tuttoComunicazione, Integrazione, Collaborazione e AutomazioneDevOps con Release Management e Visual StudioRisorse e Riferimenti

Agenda

Page 4: DevOps Jump Start

DevOps

Reattività• Passare in modo efficace da lunghi cicli di rilascio a rilasci

settimanali o giornalieri indispensabili oggi per supportare i moderni ritmi di evoluzione e trasformazione del business.

Desiderata• Rispondere rapidamente alle esigenze del clienti in

termini di risoluzione dei problemi e nuove funzionalità;

Trasparenza• Condividere la comprensione della pipeline di rilascio

in modo che ognuno possa svolgere al meglio il proprio lavoro;

Conformità• Essere confidenti che si sta propriamente tracciando,

gestendo e monitorando il ciclo di rilascio.

“A way of re-integrating IT to deliver business

value faster and better”

Page 5: DevOps Jump Start

DevOps, l’obiettivo: abbattere i Silos

Clienti

Innovazione Continua

Line of Business

Specifiche funzionali

Operation

Servizi a supporto del

business

Development

Code & Test

Quality Assurance

UAT & SLA Verify

2st Gap1st Gap

Portfolio managementBusiness process

managementBig Data/Analytics

Agile developer tools

Build automationContinuous integration

Test infrastructure automation

Test ManagementTest Automation

Cloud, virtualizationInfrastructure provisioning

automationApp and middleware

deployment automation

Page 6: DevOps Jump Start

L’Agile non è sufficiente

Le varie build di iterazione si accumulano se non si è in grado di effettuarne il delivery e il deploy in modo rapido. Sulla visione complessiva di Deployment si rischia spesso di lavorare con un approccio waterfall.

Functional Testing

Acceptance Testing

Ready to Production

DeployDelivery

UAT & QA Produzione

Page 7: DevOps Jump Start

DevOps, Holistic Vision

Non creare un nuovo Silos!1. enfatizzare le performance

dell’intero sistema, ovvero avere una visione olistica di quanto si sta realizzando;

2. consentire una rapida disponibilità delle nuove soluzioni a servizio del business;

3. ridurre i rischi ed i costi andando ad aumentare la qualità.

Page 8: DevOps Jump Start

DevOps è prima di tutto Cultura

tra DEV e OPS… e il resto dell’azienda.

MIGLIORARE

“DevOps isn’t something you can buy -- it’s something you have to do, and you have to do it

yourself.” John Michelsen, CTO, CA Technologies

Integrazione CollaborazioneComunicazione Automazione

Page 9: DevOps Jump Start

DevOps, ComunicazioneAbbattere le barriere tra le aree funzionali aziendali

Condividere le responsabilità individuando nuovi ruoli

Distillare la conoscenza

Focalizzarsi sui servizi a supporto del business, non sulla tecnologia

Creare un senso di fiducia reciproco

Integrazione CollaborazioneComunicazione Automazione

Page 10: DevOps Jump Start

DevOps, IntegrazioneCollaborazione tra Sviluppo, Operation… e il resto

dall’aziendaMigliorare e automatizzare la Collaborazione tra le varie

aree funzionaliRimuovere gli Ostacoli e i Colli di Bottiglia

Favorire il flusso informativo dall’Idea alla Consegna al cliente

Creare Loop di Feedback ad ogni fase

Integrazione CollaborazioneComunicazione Automazione

Page 11: DevOps Jump Start

DevOps, CollaborazioneRelazioni Face-to-face, real time

Ridurre al minimo, idealmente abolire, le comunicazioni formali

Team di piccole dimensioni focalizzati sul Business

Condividere i problemi con i pari e gli altri colleghi

Utilizzare strumenti di Visual Management / Information Radiator

Integrazione CollaborazioneComunicazione Automazione

Page 12: DevOps Jump Start

DevOps, Automazione

Integrazione CollaborazioneComunicazione Automazione

Automatizzare l’Esecuzione dei Task, soprattutto quelli ripetitivi

Automatizzare i Processi, connettendo task e decisioni

Automatizzare Delivery e Deployment, in funzione del Business

Trigger Decisionali, sfruttando Analytics e Monitoraggio delle Applicazioni

Page 13: DevOps Jump Start

I Valori portanti di DevOps

RISPONDERE AL CAMBIAMENTO

più che seguire un piano

SOFTWARE FUNZIONANTE

più che documentazione esaustiva

COLLABORAZIONE COL CLIENTE

più che negoziazione dei contratti

INDIVIDUI E INTERAZIONI

più che processi e strumenti

OVERALL SERVICE

più che documentazione esaustiva

Il Focus è sulla Soluzione funzionante e pronta per essere usata dal cliente!

Page 14: DevOps Jump Start

Da dove partire con la propria DevOps Transformation?

Investire su Formazione,

Comunicazioni e capacità Cross- Skilling

Valutare nuovi Processi e Tool avanzati per supportare DevOps

Rivalutare, modificare e migliorare il ciclo di

Delivery e Deployment

Valutare nuove Pratiche e Tecniche a supporto di DevOps

Sperimentare i cambiamenti in modo

localizzato: Singola Area Aziendale, Progetto Pilota

Microsoft Release Management

Page 15: DevOps Jump Start

Release Management

Page 16: DevOps Jump Start

DevOps con Release Manager e Visual Studio

Release Planning• Definire come, cosa, quando e dove effettuare il rilascio;

Release Definition• Definire la release pipeline e il workflow di approvazione;

Environment management• Provisioning, configurazione e teardown di ambienti

virtuali o fisici;

Deployment Automation• Automatizzare l’effettiva messa in erogazione della

Soluzione;

Track Status and Progress• Monitorare lo stato e garantire strumenti di alert e

rollback.

Completa integrazione con gli strumenti di VisualStudio Online/TFS (Source Control,

Build, ecc…)

Configurazione dettagliata delle singole componenti del processo di

Delivery/Deploy

Definizione dei gruppi che possono creare, editare ed eseguire il processo di Release

Page 17: DevOps Jump Start

Release Management: Path DefinitionConfigurazione

dell’ambiente di delivery

Definire gli ambienti e i relativi server su cui effettuare il delivery

Definire, per ogni ambiente, gli step di approvazione

Configurazione del Path di release

Page 18: DevOps Jump Start

Release Management: Release TemplateScelta di uno dei Path

precedentemente definiti

Definire il Workflow di delivery per ognuno degli

ambienti impostati nel Path

Definire il flusso completo in funzione dello specifico progetto

Definire le azioni da intraprendere specificamente per il tipo di ambiente

Page 19: DevOps Jump Start

Release Management: Release Monitoring

Identificare i problemi e i pattern comuni

nell’attività di delivery

Verificare lo stato del delivery per ogni

ambiente

Visualizzazione dello stato e degli eventuali problemi sulla pipeline di release

Monitoraggio del progresso di ogni release

Page 20: DevOps Jump Start

Release Management: Infrastructure

Team Foundation Server Drop Location

RM ClientRM Web

QA

DEV

RM Server

1. Deploy Release Management Server

2. Installare i Deployment Agent

3. Configurare Release Management Server

4. Configurare la pipeline di release: Path, Template, ecc…

Page 21: DevOps Jump Start

Continuos Delivery con Visual Studio & Azure

Utile per piccoli progetti e custom demo su ambienti specifici

Delivery diretto dalla propria postazione di lavoro

Page 22: DevOps Jump Start

DevOps, do and repeat it!

• Parlarsi!• Misurare;• Gestire la complessità, ma non abituarsi ad essa;• Creare micro-processi che accompagnano l’intero ciclo

rilascio;• Procedere con piccoli esperimenti (Lean Change);• Iniziare con un processo di rilascio condiviso;• Automatizzare il processo di rilascio;• Creare molti punti di feedback;• Cambiare il sistema di incentivazione in funzione dei

risultati generali;• Adattare l’organizzazione.

Page 23: DevOps Jump Start

About me…

felicepescatore.it

@felicepescatore

Felice PescatoreAgile@Scale Italy Group

getlatestversion