The AWS CDK is a software development framework to define cloud infrastructure as code and provision it through CloudFormation. The CDK integrates fully with AWS services and offers a higher-level object-oriented abstraction to define AWS resources imperatively. The CDK improves your end-to-end development experience because you get to use the power of modern programming languages to define your AWS infrastructure in a predictable and efficient manner.” You can build test and deploy a true Infrastructure as a Code architecture using Typescript. make Reusable code and enjoy the code completion feature of IDE’s to create your cloud Infrastructure.
7. DevOps: Un po’ Dev un po’ Ops?
Definizione Wikipedia: “In informatica DevOps (dalla contrazione
inglese di development, "sviluppo", e operations, qui simile a "messa
in produzione" o "deployment") è un metodo di sviluppo del software
che punta alla comunicazione, collaborazione e integrazione tra
sviluppatori e addetti alle operations della information technology
(IT). DevOps vuole rispondere all'interdipendenza tra sviluppo
software e IT operations, puntando ad aiutare un'organizzazione a
sviluppare in modo più rapido ed efficiente prodotti e servizi
software.”
8. “DevOps is not a new technology or a product, it's an
approach or culture of software development that seeks
stability and performance at the same time that it speeds
software deliveries to the business”
- Andi Mann - CA Technologies -
9. DevOps significa:
Essere organizzati, responsabili, coinvolti e
collaborativi.
Avere servizi IT sempre più automatizzati =
risorse più libere da lavori ripetitivi (ma
necessari)
Impiegare meglio il tempo e concentrarsi sulla
progettazione del software e delle
infrastrutture
10. DevOps or not DevOps?
● Chi si occupa di mantenere il software deve essere considerato un “first class
citizen”
● Considerare sempre un “Developer On Call” che affiancherà chi mantiene
l’applicazione se necessario.
● Attivare processi di Continous Integration e Continous Delivery. Minore
intervento umano significa minore rischio di errore.
● Ridurre le barriere di comunicazione tra team di sviluppo e sistemisti
● Automatizzare quanto piu’ possibile il bug fixing sui sistemi
● Monitorare in maniera efficiente tutte le componenti aziendali per ridurre gli
errori
13. DevOps = Cambiamento
Comunicazione
Condivisione Obiettivi
Collaborazione
Rispetto e Fiducia
“Mettersi insieme è un inizio, rimanere insieme è un progresso, lavorare insieme un
successo.” - Henry Ford
17. Infrastructure as Code
“is the process of managing and provisioning
computer data centers through machine-
readable definition files, rather than physical
hardware configuration or interactive
configuration tools.”
18. Infrastructure as Code
1. Ottimizzazione dei costi:
elimina la componente manuale del deployment, riducendo il numero di persone necessarie al
completamento dei task .
2. Maggiore velocità di deploy
permette di effettuare velocemente il deployment di macchine identiche ad altre già definite in
precedenza.
3. Riduzione dei rischi
separare la definizione delle best practices e delle caratterisitiche ”fisiche” dalla fase di
deployment riduce i rischi derivanti da errate configurazioni sia per eventuali
malfunzionamenti che per problemi di sicurezza.
4. Controllo di consistenza
permette di controllare e nel caso forzare la compliance della configurazione di una macchina
con uno standard ben definito.