Slurm DevOps: una tetta che funziona meglio in 3 giorni rispetto a una bellissima gru in un lontano futuro

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.

Slurm DevOps: una tetta che funziona meglio in 3 giorni rispetto a una bellissima gru in un lontano futuro

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 qui

Sarò felice di vederti allo Slurms!

Fonte: habr.com

Aggiungi un commento