Un colibrì DevOps lavora meglio in tre giorni piuttosto che un bellissimo gru nel lontano futuro.

Amo progetti che durano una settimana, mentre i progetti che durano un anno mi spaventano. Nell'approccio agile mi è piaciuta molto la concezione di MVP e incremento; è proprio ciò che mi rappresenta: creare un pezzo funzionante, implementarlo e andare avanti.

Tuttavia, la trasformazione DevOps come viene discussa nei libri e nelle conferenze è esattamente un progetto di un anno. O di anni.

Abbiamo costruito il nostro corso di DevOps seguendo la logica di 'MVP DevOps in un sprint' e 'prontezza agli incrementi'. In termini più pratici, significa 'che il partecipante possa immediatamente implementare qualcosa al suo ritorno e beneficiarne'.

MVP DevOps: il corso fornisce strumenti per i principali processi DevOps. Non ci siamo posti l'obiettivo di esaminare e confrontare tutti i sistemi CI/CD o di approfondire l'approccio Infrastructure as Code. Offriamo un unico stack chiaro: Gitlab CI/CD, Ansible, Terraform, Packer, Molecule, Prometheus, EFK. Si può uscire dai corsi, costruire l'infrastruttura per un progetto pilota e lavorare su di essa.

Un colibrì DevOps lavora meglio in tre giorni piuttosto che un bellissimo gru nel lontano futuro.

Prontezza agli incrementi: ogni elemento viene fornito con molta pratica ed esempi. Si può prendere uno strumento e, seguendo i materiali didattici, implementarlo. Ad esempio, scrivere un playbook Ansible per il deployment degli ambienti di sviluppo o collegare un bot e gestire un server dal telefono. In altre parole, ottenere un risultato pratico concreto in una settimana. Anche se è infinitamente lontano dalla trasformazione DevOps dell'intera azienda, è presente, è qui, funziona e porta beneficio.

Temi di Slurm DevOps

Tema n. 1: Best practices di Git — parla da sé.
Tema n. 2: Lavorare con l'applicazione dal punto di vista dello sviluppo — l'ingegnere ha bisogno delle competenze sia dell'amministratore sia dello sviluppatore, quindi parleremo dello sviluppo agli amministratori.

Tema n. 3: Fondamenti di CI/CD

  • Introduzione all'automazione CI/CD
  • Fondamenti di lavoro con Gitlab CI
  • Best practices con gitlab-runner
  • Strumenti bash, make, gradle come parte di CI/CD e non solo
  • Docker come soluzione ai problemi di CI

Tema n. 4: Gitlab CI/CD in produzione

  • Concorrenza nell'esecuzione dei job
  • Controllo e limitazioni dell'esecuzione: only, when
  • Gestione degli artefatti
  • Templati, inclusioni e microservizi: semplifichiamo il deployment

Introduciamo gli studenti ai concetti e alle idee principali di CI/CD e agli strumenti per implementarli. Alla fine, lo studente sarà in grado di scegliere autonomamente un template di design CI/CD e lo strumento di implementazione adatto.

Poi mostriamo l'implementazione di CI/CD in Gitlab, analizzando la configurazione e considerando modi avanzati di utilizzo di Gitlab CI. Alla fine, lo studente sarà in grado di configurare Gitlab CI per i propri progetti.

Rispetto al primo Slurm DevOps, abbiamo ridotto la teoria della metà (un'ora per tema), abbandonato la revisione di tutti i sistemi e mantenuto solo Gitlab CI. Ci siamo concentrati sulla pratica e abbiamo aggiunto molte best practices.

Tema n. 5: Infrastructure as Code

  • IaC: approccio all'infrastruttura come codice
  • Fornitori cloud come fornitori di infrastruttura
  • Strumenti di inizializzazione dei sistemi, creazione di immagini (packer)
  • IaC con Terraform come esempio
  • Archiviazione delle configurazioni, collaborazione, automazione delle applicazioni
  • Pratica nella creazione di playbook Ansible
  • Idempotenza, dichiaratività
  • IaC con Ansible come esempio

Abbiamo ridotto la parte teorica su UI e openstack cli e ci siamo concentrati sulla pratica.
Esamineremo due approcci IaC, utilizzando la stessa applicazione, evidenziando i vantaggi e gli svantaggi di ciascun approccio. Alla fine, lo studente comprenderà quale approccio utilizzare e sarà in grado di lavorare sia con Terraform che con Ansible.

Nel tema dedicato a Terraform esamineremo concretamente il lavoro di squadra e la gestione dello stato in un database. Durante il lavoro con i moduli, lo studente scriverà e configurerà un modulo, imparando a usarlo: riutilizzarlo, versionarlo. Aggiungeremo il lavoro con Consul, mostrando in quali casi è necessario e come utilizzarlo correttamente.

Tema n. 6: Test dell'infrastruttura

  • Esploriamo perché non vengono scritti test.
  • Quali tipi di test esistono in IaC?
  • Analizzatori statici, sono davvero inutili?
  • Unit testing IaC tramite ansible + molecule
  • Test come parte di ci
  • Test su steroidi, o come non aspettare 5 ore per il termine dei test di IaC

Abbiamo ridotto la parte teorica, meno racconti su Vagrant/Molecule, più pratica e test effettivi, focalizzandoci sui linters e sul loro utilizzo. Consideriamo come rendere i test più rapidi dal punto di vista di CI
Pratica includerà:

  • un linter personalizzato che verifica la presenza di variabili obbligatorie per l'host a seconda del ruolo;
  • aggiungeremo al CI il test solo dei ruoli che sono stati modificati, il che consente di ridurre significativamente il tempo di esecuzione dei test;
  • includeremo test sugli scenari. Deployiamo l'applicazione interamente come un test di integrazione.

Tema n. 7: Monitoraggio dell'infrastruttura con Prometheus

  • Come costruire un sistema di monitoraggio sano
  • Il monitoraggio, come strumento per analisi, efficacia dello sviluppo e stabilità del codice, anche prima della produzione.
  • Configurazione di prometheus + alertmanager + grafana
  • Passiamo dal monitoraggio delle risorse al monitoraggio delle applicazioni.

Discuteremo molto sul monitoraggio dei microservizi: id delle richieste, strumento di monitoraggio API. Ci saranno molte best practices e tanto lavoro autonomo.

Scriveremo il nostro esportatore. Configureremo il monitoraggio non solo delle infrastrutture di produzione e delle applicazioni, ma anche delle build in Gitlab. Esamineremo le statistiche sui test falliti. Vedremo in pratica come apparirà il monitoraggio senza healthCheck e con esso.

Argomento n. 8. Registrazione delle applicazioni con ELK

  • Panoramica su Elastic e i suoi strumenti
  • ELK/Elastic Stack/x-pack — cosa sono e qual è la differenza?
  • Quali problemi può risolvere ElasticSearch (ricerca, archiviazione, caratteristiche di scalabilità, flessibilità di configurazione)
  • Monitoraggio dell'infrastruttura (x-pack)
  • Log dei contenitori e delle applicazioni (x-pack)
  • Registrazione con l'esempio della nostra applicazione
  • Pratiche di lavoro con Kibana
  • Open Distro for Elasticsearch di Amazon

L'argomento è stato completamente rivisitato, ed è condotto da Eduard Medvedev, molti di voi lo hanno visto nel webinar su DevOps e SRE. Spiegherà e mostrerà le migliori pratiche di lavoro con EFK usando un'applicazione didattica. 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
  • Migliori e peggiori pratiche

In ChatOps è stata aggiunta la pratica di autenticazione con separazione dei diritti, conferma delle azioni da parte di un altro utente, teoria e pratica di un'alternativa a Slack sotto forma di Mattermost, teoria dei test unitari e di integrazione per il bot.

Il Slurm DevOps inizia il 30 gennaio. Prezzo — 30.000.
Per chi è arrivato fino a qui, sconto del 15% sul corso di DevOps con il codice promozionale habrapost.

Registrazione qui

Sarei felice di vedervi ai Slurm!

Fonte: habr.com

Acquista hosting affidabile per siti web con protezione DDoS, server VPS VDS 🔥 Acquista hosting affidabile per siti web con protezione DDoS, server VPS VDS | ProHoster