Click here to load reader

Devops, Cloud e Container

  • View
    326

  • Download
    0

Embed Size (px)

Text of Devops, Cloud e Container

  • Devops, Cloud e Container

    MoM - Bologna, 20/12/2016

    Speaker: Luca [email protected]

  • Agenda

    Cos unapplicazione Attori in gioco e percezioni diverse

    DevOps Come deve cambiare il delivery

    Cloud Come deve cambiare linfrastruttura

    Container Application container come elemento di

    semplificazione

    2

  • Il punto di vista utente

    3

  • Come lutente percepisce lapplicazione

    Nellimmaginario collettivo unapplicazione web vista come un semplice sito web che fornisce funzionalit ben definite e sempre disponibili

    Purtroppo questa affermazione non sempre vera perch sistemi apparentemente semplici in realt sono complessi e caratterizzati da molti componenti.

    4

  • Come in realta

    Molte tecnologie in gioco

    5

  • Come in realt

    Architettura distribuita e costituita da sistemi con caratteristiche differenti

    Team di sviluppo distinti e con obiettivi differenti

    Mobile API

    Push-Notification

    Web Site

    Monitoraggio

    App

    IOS

    App

    Android

    6

  • il team di sviluppo

    Focalizzato sullo sviluppo del proprio componente

    Non interessato al sistema complessivo n allinfrastruttura e tipicamente ne richiede la predisposizione ed attende la disponibilit

    Quando possibile crea riproduzioni parziali e non fedeli dellambiente reale

    7

  • E chi gestisce loperativit del sistema?

    Sistemi e Infrastrutture da predisporre

    Installazione e configurazione ambienti

    Monitoraggio del sistema

    Capacity planning

    E in caso di problemi?

    Spreco di effort in attivit di troubleshooting

    Richieste di supporto sparse ai Team di sviluppo

    8

  • Da Monolite a Microservizi

    Cosa Implica?

    La complessit aumenta

    Maggior numero di componenti, team di sviluppo e infrastrutture

    Maggior numero di rilasci, pi frequenti ma di minore impatto

    Se loperativit rimane manuale

    Aumentano gli errori

    La qualit percepita dallutente si abbassa

    Lintero processo di delivery del software deve essere rivisto

    9

  • Agenda

    Cos unapplicazione Attori in gioco e percezioni diverse

    DevOps Come deve cambiare il delivery

    Cloud Come deve cambiare linfrastruttura

    Container Application container come elemento di

    semplificazione

    10

  • DevOps

    DevOps is a set of practices that emphasizes the collaboration and communication of both software developers and other information-technology (IT) professionals while automating the process of software delivery and infrastructure changes.

    It aims at establishing a culture and environment where building, testing, and releasing software can happen rapidly, frequently, and more reliably

    Wikipedia

    11

  • Delivery Pipeline

    Una pipeline deve prevedere

    Build automation e Continuous Integration

    Test Automation

    Deployment Automation

    Provisioning e Configuration Management

    Per la creazione automatica di ambienti fedeli e ripetibili

    12

  • Obiettivi e Vantaggi

    Sviluppatori maggiormente coinvolti

    Incremento della qualit del codice

    Automatizzazione dellinfrastruttura e della sua evoluzione

    Ambienti riproducibili, testabili e versionabili

    Efficienza Deployment

    Aumenta lefficienza e la velocit del deploy

    Minimizza il numero di roll-back

    Risoluzione dei Defect

    Aumenta la capacit di riprodurre i defect

    Minimizza i tempi di ripristino (MTTR)

    13

  • Cosa serve per realizzarlo?

    Ambienti fedeli e facilmente riproducibili

    Provisioning Automatizzato e Configuration Management As a Service

    Processi e delivery pipeline per accelerare il processo di delivery

    Build, Test, Integration Test e Release

    14

  • Agenda

    Cos unapplicazione Attori in gioco e percezione

    DevOps Come deve cambiare il delivery

    Cloud Come deve cambiare linfrastruttura

    Container Application container come elemento di

    semplificazione

    15

  • Perch il Cloud

    The biggest benefit of cloud infrastructure came from disposable virtual servers that could be easily provisioned and reprovisioned, automatically

    IT operations teams realised that it is far more expensive to debug and fix a faulty virtual server than to replace it with a new server

    16

  • Quindi?

    Utilizzo di IaaS come infrastruttura

    Provisioning automatizzato degli ambienti

    Scaling orizzontale ed Elastico

    Alta affidabilit

    Infrastruttura immutabile

    Riduzione dei costi di Troubleshooting

    Resta un problema aperto: come distribuisco lapplicazione?

    17

  • Agenda

    Cos unapplicazione Attori in gioco e percezione

    DevOps Come deve cambiare il delivery

    Cloud Come deve cambiare linfrastruttura

    Container Application container come elemento di

    semplificazione del delivery

    18

  • Container

    OS Container: Contesto di esecuzione isolato basato sulla virtualizzazione offerta dal sistema operativo

    Simili alle Macchine Virtuali, ma molto pi leggeri

    non offre alcun vantaggio nel delivery di un applicazione

    Lintroduzione del concetto degli Application Container (Docker) rivoluziona il modo di distribuire applicazioni

    Docker: Progetto open-source per automatizzare il deployment di applicazioni all'interno di OS Container.

    19

  • Docker Concetti Base

    Immagine

    Costruita in modo dichiarativo a partire da un descrittore Dockerfile

    Estende un immagine di base Layered Software limita lo spazio disco

    Registry

    Repository pubblico o privato per il versionamento delle immagini

    Container

    Contesto di runtime dellimmagine

    20

  • Container: Caratteristiche

    Deployment semplificato: componente distribuibile e configurabile con una sola linea di comando

    Disponibilit rapida: avvio in tempi molto inferiori rispetto ad una VM

    Controllo pi granulare: i container consentono di suddividere ulteriormente le risorse computazionali in processi/microservizi

    Maggiore Densit Computazionale: Maggiore densit di processi per macchina host, ottimizzazione dellutilizzo delle risorse

    21

  • Container: cosa cambia

    I Container rivoluzionano

    DevOps

    Nelle delivery Pipeline i container portano numerosi vantaggi in termini di

    Replica di ambienti

    Possibilit di costruire velocemente delle pipeline di delivery

    Facilitano lo sviluppo, test e rilascio

    Il Cloud

    I Container sono Immutable Infrastructure

    Possono essere utilizzati per installare applicazioni e definire infrastrutture riproducibili

    22

  • Quindi?

    DevOps: Delivery Pipeline per la creazione delle immagini, test e distribuzione su vari ambienti

    Cloud: Utilizzo di Virtual Server on premise, (IaaS)

    Modello di cloud Ibrido

    Application container: per la distribuzione delle applicazioni in architettura a Microservizi

    23

  • Come cambia lo sviluppo?

    Sviluppare per il continuous delivery, cloud e container richiede di progettare le applicazioni seguendo alcuni requisiti.

    https://12factor.net/it/

    Qui vengono elencati i 12 requisiti che, se rispettati, permettono di risolvere problemi comuni che impedirebbero il continuous delivery.

    24

    https://12factor.net/it/

  • DOMANDE, DUBBI, CURIOSIT?

    Question Time

    25

  • Pi di 20 anni di esperienza nellEnterprise IT

    Consulenza e Skill Transfer su Architetture, Integrazione e Processo

    OMG Influence Member, JSR 312 Expert Group, CSI, WWISA, OpenESB Key Partner, NetBeans Strategic Partner

    La comunita italiana dedicata a Java

    10 anni di articoli, pubblicazioni, libri, eventi, training

    Dai programmatori agli architetti

    Piu di 1.000.000 pagine lette al mese

    Business partner in progetti con alto grado di innovazione

    Padroni in tecnologie e architetture mobile

    Competenti in architetture dellinformazione, UX e Design

    26

Search related