devops: l'it al servizio del business

35
@ DevOps@Work 2016 #DOAW16 @ DevOps@Work 2016 #DOAW16 getlatestversion DevOps: l'IT al servizio del Business Felice Pescatore felicepecatore.it @felicepescatore

Upload: felice-pescatore

Post on 16-Apr-2017

675 views

Category:

Presentations & Public Speaking


3 download

TRANSCRIPT

Page 1: DevOps: l'IT al servizio del Business

@DevOps@Work 2016

#DOAW16@DevOps@Work 2016#DOAW16

getlatestversion

DevOps: l'IT al servizio del Business

Felice Pescatore

felicepecatore.it

@felicepescatore

Page 2: DevOps: l'IT al servizio del Business

@DevOps@Work 2016

#DOAW16

DevOps Elephant!Lean, Agile and DevOpsThe Three Ways of DevOpsLa Cultura al centro di

tuttoDevOps: Goal, Principi e

PraticheToolsRisorse e Riferimenti

Agenda

Page 3: DevOps: l'IT al servizio del Business

@DevOps@Work 2016

#DOAW16

DevOps Elephant!

…a movement, a philosophy, a way of thinking;…is a person who can perform both Dev/Ops roles;…means cross skilling people;…is continuous delivery;…is a job title;…is automation;…is a team of developers and operation staff;…is a culture movement;…is monitoring.

DevOps is…

It’s DevOps!

It’s DevOps!

It’s DevOps!

It’s DevOps!

Page 4: DevOps: l'IT al servizio del Business

@DevOps@Work 2016

#DOAW16

DevOps

DevOps è un approccio Culturale in cui l’intera Line of

Business si assume la responsabilità della creazione di

Valore per il cliente.

In tale scenario, Developers e Operations sperimentano

continuamente nuovi modi di lavorare insieme, andando a

standardizzare e padroneggiare i processi attraverso

la ripetitività e la pratica.DevOps: Delivery Enhanced Values Over Processes 

Smells [f.p.]

Page 5: DevOps: l'IT al servizio del Business

@DevOps@Work 2016

#DOAW16

DevOps….

…non sostituisce un approccio Agile

Viene esteso il concetto di “Done”: quanto realizzato è considerato completato solo quando i test di accettazione sono

superati ed è in erogazione.

…non significa NoOps…non è applicabile solo al mondo dell’Open Source

Entrambi spingono ad automatizzare quanto più possibile processi, configurazioni, deployment, e contemplano una governance di

Change Management.I sistemisti non diventano “inutili” ma innalzano l’asticella delle proprie competenze e delle proprie attività.

…non rimpiazza la metodologia ITIL

…non è solo “infrastructure as a code” o automazione

…non è solo per le Startup e le Unicorn

Soluzioni applicative per DevOps esistono sia in ambito commerciale che OpenSource, quest’ultimo spesso laboratorio

di nuove idee.Il cuore di questo approccio è la condivisione degli obiettivi lungo l’intero Stream di Valore che sottende la realizzazione di

soluzioni IT.DevOps è un approccio applicabile a qualsiasi realtà aziendale, soprattutto quelle che riconoscono nell’IT la propria dorsale di

supporto.

Page 6: DevOps: l'IT al servizio del Business

@DevOps@Work 2016

#DOAW16

Lean, Agile and DevOps

LEANValue Stream – End-to-End Flow

Solution Vision & Customer Delivery[Lean Startup, Running Lean]

Agile Solution Development[Scrum, Kanban] [XP, TDD]

Solution Delivery[Continuous Delivery e Deployment]

Values and

Principles

Practices

DevOps

Portfolio managementBusiness process managementBig Data/Analytics

Idea

Value

AGILE @Scale Framework(SAFe, DAD, LeSS, Nexus)

Consistent Environme

nt

Individualmente, nessuno di questi approcci è in grado di ottimizzare la creazione del Valore nel complesso.

Bisogna adottarli all’unisono per migliorare il proprio business.

Page 7: DevOps: l'IT al servizio del Business

@DevOps@Work 2016

#DOAW16

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

OPS

Agile Team

Agile Funnel

Page 8: DevOps: l'IT al servizio del Business

@DevOps@Work 2016

#DOAW16

The Three Ways of DevOps

DEVOPS

BUSINESS

The First Way: System ThinkingThe Second Way: Amplify Feedback Loop The Third Way: Culture of Continual Experimentation and Learning

CULTURA

CUSTOMER

Con DevOps si vuole creare un approccio Culturale focalizzato sul Delivery di Valore per il cliente, invece di prendersi cura solo dei problemi tecnici .

Page 9: DevOps: l'IT al servizio del Business

@DevOps@Work 2016

#DOAW16

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

Comunicazione Integrazione AutomazioneCollaborazione

Page 10: DevOps: l'IT al servizio del Business

@DevOps@Work 2016

#DOAW16

Comunicazione e Integrazione

Comunicazione

Integrazione

Unico value-path per Sviluppo, Operation… e il resto dall’azienda

Migliorare e automatizzare i processiRimuovere gli Ostacoli e i Colli di Bottiglia

Favorire il flusso informativo dall’Idea alla Consegna al cliente

Creare Loop di Feedback ad ogni fase

Abbattere le barriere tra le aree funzionali aziendaliCondividere le responsabilità individuando nuovi ruoli

Distillare la conoscenzaFocalizzarsi sui servizi a supporto del business, non sulla

tecnologiaCreare un senso di fiducia reciproco

Page 11: DevOps: l'IT al servizio del Business

@DevOps@Work 2016

#DOAW16

Collaborazione e Automazione

Collaborazione

Relazioni Face-to-face, real timeRidurre al minimo, idealmente abolire, le

comunicazioni formaliTeam di piccole dimensioni focalizzati sul BusinessCondividere i problemi con i pari e gli altri colleghi

Uso di strumenti di Visual Management / Information Radiator

Automazione

Automatizzare l’esecuzione dei Task ripetitiviAutomatizzare i Processi, connettendo task e

decisioniAutomatizzare Delivery e Deployment

Trigger Decisionali sfruttando Analytics e Monitoraggio

Page 12: DevOps: l'IT al servizio del Business

@DevOps@Work 2016

#DOAW16

Shorten Cycle Time

Optimize Resources

Improve Quality and Availability

DevOps: Goal, Principi e Pratiche

Evidenziare sempre i problemi e risolverli velocemente;Build Quality in, software di qualità;«Done» significa «Rilasciato»;Tutti sono responsabili per il Delivery e il Deployment;Continuous Improvement: miglioramento continuo.

Principi

Creare processi affidabili, ripetibili, versionabili e verificabili;Automatizzare il più possibile i diversi step del processo;Gli Script sono la vera documentazione up-to-date;Tutti gli elementi del progetto vanno nel sistema di source control;Le build avvengono sempre e solo dal codice sorgente;Configurazione automatica degli ambienti

Pratiche

Page 13: DevOps: l'IT al servizio del Business

@DevOps@Work 2016

#DOAW16

DevOps Goal

Shorten Cycle Time

Passare in modo efficace da lunghi cicli di rilascio a rilasci settimanali o giornalieri indispensabili per supportare adeguatamente i clienti e le trasformazione del business.

Page 14: DevOps: l'IT al servizio del Business

@DevOps@Work 2016

#DOAW16

Full Application Lifecycle Management

Continuous Delivery

Continuous Deployment

Agile Project Manag.

IDEVersion Control System

Continuous Integration

Agile Project Management and Development

Agile Team

Analysis + DesignDevelopment

Testing1 2 3 4 n

IntegrationQuality + Acceptance Test

ReleaseOperation

Ops

Agile Deployment Pipeline: the «last mile»

Customer& Business

Agile Team & QA Team

Page 15: DevOps: l'IT al servizio del Business

@DevOps@Work 2016

#DOAW16

Agile Project Management and Development

I tool di Agile Project Management consento di gestire le varie fasi di sviluppo legando direttamente i vari artefatti alle

attività annesse al processo.

Un Integrated Development Environment è un ambiente omnicomprensivo che permette di sviluppare nel linguaggio di

riferimento, sfruttando le funzionalità dei framework interconnettendosi con i vari sistemi a supporto.

Agile Project Management

IDE

Version Control System

Un Version Control System (VCS) consente una gestione efficace della propria code-base, persistendo i file, tracciando le

modifiche e gestendo l’history di sviluppo.

Page 16: DevOps: l'IT al servizio del Business

@DevOps@Work 2016

#DOAW16

L’Agile Deployment Pipeline (ADP) descrive il processo che porta il software dal version control system nelle «mani» dell’utente finale.

Si tratta di un concetto ispirato dal “Value Stream Maps” di Lean Software

Development: ogni step produce un output che è prelevato (pull) dallo step successivo quando è pronto ad elaborarlo.

L’ADP è anche nota come Continuous

Integration Pipeline, build pipeline, ecc

Agile Deployment Pipeline: the «last mile»

.

Agile Project Management

IDE

Version Control System Continuous Integration

Continuous Delivery

Continuous Deployment

Page 17: DevOps: l'IT al servizio del Business

@DevOps@Work 2016

#DOAW16

The «last mile»

La Continuous Integration è una pratica di sviluppo software dove i membri di un team integrano il lavoro frequentemente,

almeno una volta al giorno.

La Continuous Delivery è un set di principi e di pratiche volte a rilasciare il software in ambiente di pre-produzione, velocemente e frequentamene, sfruttando strumenti

automatizzati di building e testing.La Continuous Deployment è la fase successiva alla

Continuous Delivery, incentrata sul rilascio automatizzato in ambiente di produzione della soluzione precedentemente

convalidata in pre-prod. Solo le build che superano gli UAT e i QA Test vengono messe in erogazione automaticamente.

Continuous Integration

Continuous Delivery

Continuous Deployment

Page 18: DevOps: l'IT al servizio del Business

@DevOps@Work 2016

#DOAW16

Agile Deployment Pipeline: automation levels

build unittests

integrationtests

validationtests

deploy toproduction

build unittests

integrationtests

build unittests

integrationtests

validationtests

Continuos Integration Code Unit Test + Integration Build + Integration Test

Continuous Delivery Continuous Integration + QA Test & ATDDContinuos Deployment Continuos Delivery +automatic deploy in prod

Manual Actions

Manual Actions

Page 19: DevOps: l'IT al servizio del Business

@DevOps@Work 2016

#DOAW16

Agile Deployment Pipeline Trigger

Continuos Integration Continuous Delivery Cont. Deployment

Page 20: DevOps: l'IT al servizio del Business

@DevOps@Work 2016

#DOAW16

L’«ultimo miglio» nella realtà

La Continuous Integration è relativamente semplice da implementare:

è tutta una questione di comunicazione, vista la maturità dei tool.

La Continuous Delivery è difficile, ma un po' tutte le software house trovano una soluzione contestuale per adottarla:

• alcune cose sono difficili da testare in modo automatico;• è necessario avere dei tecnici dedicati alla scrittura di parte

dei test.La Continuous Deployment è adottata molto raramente

• i Clienti non la vogliono;• inadatta alle soluzioni Mission Critical.

Continuous Integration

Continuous Delivery

Continuous Deployment

Page 21: DevOps: l'IT al servizio del Business

@DevOps@Work 2016

#DOAW16

Optimize Resurces

DevOps Goal

Condividere la comprensione della pipeline di rilascio in modo che ognuno possa svolgere al meglio il proprio lavoro.

Page 22: DevOps: l'IT al servizio del Business

@DevOps@Work 2016

#DOAW16

Ogni membro del team deve disporre di una workstation con IDE e strumenti appropriati al proprio ruolo per essere sempre produttivo.

I team progettano, sviluppano e dispiegano le applicazioni utilizzando una suite integrata per la gestione del ciclo di vita della soluzione.

E’ fondamentale disporre di ambienti di pre-produzione per lo sviluppo, l’integrazione e l’esecuzione dei test di Quality Assurance e di Accettazione.

Developer Workstation

Team Collaboration Environment

Dev and Test Environments

Cloud Services for DevelopmentSfruttare servizi cloud-oriented, public o on-premise.

Software Development Infrastructure

Page 23: DevOps: l'IT al servizio del Business

@DevOps@Work 2016

#DOAW16

High Cost

Inability to Delivery Value

Deploying Software Manually

Software Development Infrastructure Issue

Mantenere un’efficace infrastruttura di sviluppo e test può diventare costoso.

Processi lunghi e burocratizzati minano la capacita del team di consegnare Valore.

Il Deploy Manuale è un anti-pattern, che incide negativamente sulla creazione di Valore.

Page 24: DevOps: l'IT al servizio del Business

@DevOps@Work 2016

#DOAW16

Improve Quality and Availability

DevOps Goal

Essere confidenti che si sta propriamente tracciando, gestendo e monitorando il ciclo di rilascio.

Page 25: DevOps: l'IT al servizio del Business

@DevOps@Work 2016

#DOAW16

Improve quality & availability

Plan

Develop & test Release

Monitor & learn

ProductionDevelopment

Collaboration

BacklogRequirements

All stakeholdersAcceptance test planning

Continuous acceptance testing

Continuous learning and improvement

Integrated incident management

Performance and availability diagnostics

Release management

Developers& testers

Operations

Page 26: DevOps: l'IT al servizio del Business

@DevOps@Work 2016

#DOAW16

Hypothesis-Driven Development

La Hypothesis-Driven Development è un approccio allo sviluppo che si basa su una serie di continui esperimenti al fine di determinare se un’idea è valida o fino all’ottenimento del risultato desiderato.Le ipotesi vengono testate nel giro di ore grazie alle pratiche di Continuous Delivery (Deployment) e gli strumenti di MonitoringWe believe <that if we write a blog post on our new product>

Will result in <people that will want to buy it>

We will have confidence to proceed when <30 people sign up

within 24 hours>

Page 27: DevOps: l'IT al servizio del Business

@DevOps@Work 2016

#DOAW16

ProblemiMancanza di informazioni per scegliere su quali iniziative investire.

SoluzioniOttenere rapidamente informazioni dai [potenziali] clienti per aiutare le scelte.

AzioniAllineare il proprio ciclo ALM ai risultati ottenuti per massimizare il Valore prodotto.

Continuous Learning

Page 28: DevOps: l'IT al servizio del Business

@DevOps@Work 2016

#DOAW16

Parlarsi!Misurare

Gestire la complessità senza abituarsi ad essa

Creare micro-processi che accompagnano l’intero ciclo

rilascioProcedere con piccoli esperimenti

Automatizzare il processo di rilascio

Iniziare con un processo di rilascio condiviso

Creare molti punti di feedbackCambiare il sistema di

incentivazione in funzione dei risultati generali

Adattare l’organizzazione

Eliminating Waste: do and repeat it!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

Page 29: DevOps: l'IT al servizio del Business

@DevOps@Work 2016

#DOAW16

DevOps Tools

Platform and Stand-alone

Per raggiungere un alto livello di automazione, andando a ridurre gli errori, è imprescindibile l’utilizzo di adeguati strumenti a supporto.

Page 30: DevOps: l'IT al servizio del Business

@DevOps@Work 2016

#DOAW16

DevOps Tools Families

Configuration Manager Software

Provisioning Software

Packaging Software

Consentono di definire da codice lo stato di una specifica macchina, andando ad esplicitare la configurazione, il software

installato, ecc..Consentono di istanziare una macchina virtuale da codice e configurarla a livello di sistema operativo. Si interfacciano con

i Configuration Manager Software per completarne la configurazione applicativa.

Consentono di impacchettare il software in un’unità atomica auto contenuta.

Monitoring Software

Consentono di monitorare il corretto funzionamento del software e segnalare le relative anomalie

Page 31: DevOps: l'IT al servizio del Business

@DevOps@Work 2016

#DOAW16

DevOps Tools FamiliesConfiguration Management

Server Image ProvisioningPackage Management

(Container Management)

PowerShell DSC

Drawbridge

LXD

VORTEX

Monitoring

Page 32: DevOps: l'IT al servizio del Business

@DevOps@Work 2016

#DOAW16

Microsoft DevOps Platform

People

BusinessIT OperationsDevelopers/Testers

ProcessPlan

Develop& test Release

Monitor& learn

Azure services Visual Studio Team Services

Microsoft products

Websites

Cloud service

sSQL

database

API manageme

ntBuild &

continuousintegration

Azure deploy & continuousdeployment

Virtualmachines

StorSimple

Release management

Lab management

Teamfoundationserver

PowerShell DSC

Build &continuousintegration

LoadtestingActive

directory

Virtualnetwork

CLOUD

HYBRID

ON-PREMISE

S

Collaborate

Multifactorauthorizatio

n

Release managementPowerShe

llDSC

Testprofessional

Page 33: DevOps: l'IT al servizio del Business

@DevOps@Work 2016

#DOAW16

Risorse e Riferimenti

DevOps Jump Start - L'approccio DevOpsAgile Application Lifecycle Management con VSO/TFSPubblicare un package nuget grazie alla buildGestire la Semantic Versioning con GitFlow e GitVersion in una vNext BuildLean Startup, Jump Start!

Agile@Scale: visione olistica del valoreLean Philosophy Introduzione a KanbanApplication Lifecycle Management (ALM) con VSO

getlatestversion

Page 34: DevOps: l'IT al servizio del Business

@DevOps@Work 2016

#DOAW16

Grazie agli sponsor

Page 35: DevOps: l'IT al servizio del Business

@DevOps@Work 2016

#DOAW16

http://bit.ly/DOAW16FEED1

Dedicateci 2 minuti del vostro tempo, e ci aiuterete a crescere e migliorare!

Track Introhttp://bit.ly/DOAW16FEED2

Track Avanzata