Adoro un progetto che dura una settimana e sono intimidito dai progetti che durano un anno. In Agile mi è piaciuto molto il concetto di MVP e incremento, questa è proprio la mia cosa: creare un pezzo realizzabile, implementarlo e andare avanti.
Allo stesso tempo, la trasformazione DevOps nella forma in cui viene discussa nei libri e nelle conferenze è solo un progetto che dura solo un anno. O tra anni.
Abbiamo costruito il nostro corso DevOps nel paradigma di "MVP DevOps in uno sprint" e "predisposizione per incrementi". E se in termini umani, allora "in modo che il partecipante, al ritorno, possa immediatamente realizzare qualcosa a casa e trarne beneficio".
MVP DevOps: il corso contiene strumenti per i processi DevOps di base. Non ci siamo posti il compito di rivedere e confrontare tutti i sistemi CI/CD o di rivelare le profondità dell’approccio Infrastructure as Code. Forniamo uno stack chiaro: Gitlab CI/CD, Ansible, Terraform e Packer, Molecule, Prometheus, EFK. Puoi venire dai corsi, raccogliere l'infrastruttura per un progetto pilota dai materiali di formazione e lavorarci.
Disponibilità per incrementi: forniamo ad ogni elemento molta pratica ed esempi. Puoi prendere uno strumento e iniziare a implementarlo utilizzando i disegni di formazione. Ad esempio, scrivi un playbook Ansible per implementare ambienti di sviluppo o collega un bot e amministra il server dal tuo telefono. Cioè, ottieni un risultato pratico concreto in una settimana. Potrebbe essere infinitamente lontano dalla trasformazione DevOps dell’intera azienda, ma è lì, è qui, funziona e porta benefici.
Argomenti DevOps di Slurm
Argomento n. 1: best practice Git - parla da solo.
Argomento n. 2: lavorare con l'applicazione dal punto di vista dello sviluppo — un ingegnere ha bisogno delle competenze di un amministratore e di uno sviluppatore, quindi diciamo agli amministratori dello sviluppo.
Argomento n. 3: Nozioni di base su CI/CD
- Introduzione all'automazione CI/CD
- Nozioni di base sull'CI Gitlab
- Migliori pratiche con gitlab-runner
- Strumenti Bash, make, gradle come parte di CI/CD e altro ancora
- Docker come modo per risolvere i problemi CI
Argomento n.4: Gitlab CI/CD in produzione
- Concorrenza quando si inizia un lavoro
- Controllo e restrizioni dell'esecuzione: solo, quando
- Lavorare con gli artefatti
- Modelli, include e microservizi: semplificare la distribuzione
Introduciamo gli studenti ai concetti e ai concetti di base di CI/CD e agli strumenti per l'implementazione di CI/CD. Di conseguenza, lo studente sarà in grado di scegliere autonomamente un modello di progettazione CI/CD e uno strumento di implementazione adeguato.
Successivamente mostreremo l'implementazione di CI/CD in Gitlab e analizzeremo la configurazione, esaminando i modi avanzati per utilizzare Gitlab CI. Di conseguenza, lo studente sarà in grado di configurare autonomamente Gitlab CI per i propri progetti.
Rispetto al primo DevOps Slurm, abbiamo ridotto la teoria di 2 volte (un'ora per argomento), ci siamo allontanati dalla revisione di tutti i sistemi e abbiamo lasciato solo Gitlab CI. Ci siamo concentrati sulla pratica e abbiamo aggiunto molte migliori pratiche.
Argomento n. 5: Infrastruttura come codice
- IaC: approccio all'infrastruttura come codice
- I fornitori di servizi cloud come fornitori di infrastrutture
- Strumenti di inizializzazione del sistema, creazione di immagini (packer)
- IaC utilizza Terraform come esempio
- Archiviazione della configurazione, collaborazione, automazione delle applicazioni
- Pratica di creazione di playbook Ansible
- Idempotenza, dichiaratività
- IaC utilizzando Ansible come esempio
Abbiamo ridotto la parte teorica su UI e cli openstack e ci siamo concentrati sulla pratica.
Esaminiamo due approcci IaC che utilizzano la stessa applicazione, mostrando i pro e i contro di ciascun approccio. Di conseguenza, lo studente capirà quale approccio utilizzare e dove e sarà in grado di lavorare sia con Terraform che con Ansible.
Nell'argomento su Terraform, esamineremo nella pratica il lavoro di squadra e l'archiviazione dello stato in un database. Quando lavora con i moduli, lo studente scriverà e configurerà lui stesso il modulo, imparerà come lavorarci: riutilizzarlo, modificarlo. Aggiungiamo il lavoro con Consul, mostriamo in quali casi è necessario e come usarlo correttamente.
Argomento n. 6: test dell'infrastruttura
- Scopriamo perché non scrivono test?
- Quali test sono presenti in IaC?
- Analizzatori statici, sono davvero così inutili?
- Test unitario di IaC utilizzando ansible + molecola come esempio
- Test nell'ambito di ci
- Test sugli steroidi o come non aspettare 5 ore per il completamento dei test IaC
Abbiamo ridotto la parte teorica, meno storie su Vagrant/Molecule, più pratica e test diretti, concentrandoci sui linter e sul lavoro con essi. Guardandolo dal punto di vista della CI
come rendere i test più veloci. In pratica ci saranno:
- un linter autoscritto che verifica la presenza di variabili obbligatorie per l'host a seconda del ruolo;
- Aggiungiamo ai test CI solo quei ruoli che sono cambiati, il che può ridurre significativamente i tempi di esecuzione dei test;
- aggiunta di test di scenario. Distribuiamo l'intera applicazione come test di integrazione.
Argomento n. 7: Monitoraggio dell'infrastruttura con Prometheus
- Come costruire un sistema di monitoraggio sano
- Il monitoraggio come strumento di analisi, efficienza dello sviluppo e stabilità del codice, anche prima della vendita
- Configurazione prometheus + alertmanager + grafana
- Passare dal monitoraggio delle risorse al monitoraggio delle applicazioni
Parleremo molto del monitoraggio dei microservizi: ID richiesta, strumento di monitoraggio delle API. Ci saranno molte migliori pratiche e molto lavoro indipendente.
Scriviamo il nostro esportatore. Organizzeremo il monitoraggio non solo delle infrastrutture e delle applicazioni di produzione, ma anche degli assemblaggi in Gitlab. Diamo un'occhiata alle statistiche sui test falliti. Vediamo in pratica come sarà il monitoraggio senza HealthCheck e con esso.
Argomento n.8. Registrazione di un'applicazione con ELK
- Panoramica di Elastic e dei suoi strumenti
- ELK/Elastic Stack/x-pack: cos'è e qual è la differenza?
- Quali problemi possono essere risolti utilizzando ElasticSearch (ricerca, archiviazione, funzionalità di ridimensionamento, flessibilità di configurazione)
- Monitoraggio dell'infrastruttura (x-pack)
- Registri del contenitore e dell'applicazione (x-pack)
- Registrazione utilizzando la nostra applicazione come esempio
- Pratiche di lavoro con Kibana
- Apri Distro per Elasticsearch da Amazon
L'argomento è stato completamente ridisegnato, è condotto da Eduard Medvedev, molti lo hanno visto al webinar su DevOps e SRE. Racconterà e dimostrerà le migliori pratiche per lavorare con EFK utilizzando l'esempio di un'applicazione educativa. Ci sarà pratica con Kibana.
Argomento n. 9: Automazione dell'infrastruttura con ChatOps
- DevOps e ChatOps
- ChatOps: punti di forza
- Slack e alternative
- Bot per ChatOps
- Hubot e alternative
- sicurezza
- Test
- Le migliori e le peggiori pratiche
ChatOps ha aggiunto la pratica dell'autenticazione con separazione dei diritti, la conferma delle azioni di un altro utente, la teoria e la pratica di un'alternativa a Slack sotto forma di Mattermost, la teoria dei test unitari e di integrazione per il bot.
Il periodo di crisi DevOps inizierà il 30 gennaio. Prezzo: 30.
Per chi ha finito di leggere è previsto uno sconto del 15% sul corso DevOps utilizzando il codice promozionale habrapost.
Registrati
Sarò felice di vederti allo Slurms!
Fonte: habr.com