Slurm DevOps: una pit amb millor funcionament en 3 dies que una bella grua en un futur llunyà

M'encanta un projecte d'una setmana i m'intimida els projectes d'un any. A Agile, em va agradar molt el concepte de MVP i increment, això és només el meu: fer una peça viable, implementar-la i seguir endavant.

Al mateix temps, la transformació de DevOps en la forma en què es parla als llibres i a les conferències és només un projecte d'un any. O en anys.

Hem construït el nostre curs DevOps en el paradigma de "MVP DevOps en un sprint" i "preparació per a increments". I si en termes humans, llavors "perquè el participant, en tornar, pugui implementar immediatament alguna cosa a casa i beneficiar-se'n".

MVP DevOps: el curs conté eines per als processos bàsics de DevOps. No ens vam proposar la tasca de revisar i comparar tots els sistemes CI/CD ni revelar les profunditats de l'enfocament d'Infraestructura com a codi. Oferim una pila clara: Gitlab CI/CD, Ansible, Terraform i Packer, Molecule, Prometheus, EFK. Pots venir dels cursos, recollir la infraestructura per a un projecte pilot a partir de materials de formació i treballar-hi.

Slurm DevOps: una pit amb millor funcionament en 3 dies que una bella grua en un futur llunyà

Preparació per a increments: proporcionem a cada element molta pràctica i exemples. Podeu agafar una eina i començar a implementar-la mitjançant els dibuixos de formació. Per exemple, escriviu un llibre de jugades Ansible per desplegar entorns de desenvolupament o connecteu un bot i administreu el servidor des del vostre telèfon. És a dir, obtenir un resultat pràctic concret en una setmana. Pot ser que estigui infinitament lluny de la transformació DevOps de tota l'empresa, però és allà, és aquí, funciona i aporta beneficis.

Temes de Slurm DevOps

Tema 1: bones pràctiques de Git - parla per si mateix.
Tema #2: Treballar amb l'aplicació des del punt de vista del desenvolupament — un enginyer necessita les competències d'un administrador i d'un desenvolupador, així que expliquem als administradors sobre el desenvolupament.

Tema #3: Fonaments de CI/CD

  • Introducció a l'automatització CI/CD
  • Conceptes bàsics de Gitlab CI
  • Bones pràctiques amb gitlab-runner
  • Bash, make, gradle tools com a part de CI/CD i molt més
  • Docker com a forma de resoldre problemes de CI

Tema #4: Gitlab CI/CD en producció

  • Competència a l'hora d'iniciar una feina
  • Control d'execució i restriccions: només, quan
  • Treballar amb artefactes
  • Plantilles, inclusions i microserveis: simplificació del desplegament

Introduïm als estudiants els conceptes i conceptes bàsics de CI/CD i les eines per a la implementació de CI/CD. Com a resultat, l'estudiant serà capaç de triar de manera independent un patró de disseny CI/CD i una eina d'implementació adequada.

A continuació, mostrem la implementació de CI/CD a Gitlab i passem per la configuració, mirant maneres avançades d'utilitzar Gitlab CI. Com a resultat, l'estudiant serà capaç de configurar de manera independent Gitlab CI per als seus propis projectes.

En comparació amb el primer DevOps Slurm, vam reduir la teoria dues vegades (una hora per tema), vam deixar de revisar tots els sistemes i vam deixar només Gitlab CI. Ens vam centrar en la pràctica i vam afegir moltes pràctiques recomanades.

Tema #5: Infraestructura com a codi

  • IaC: abordar la infraestructura com a codi
  • Proveïdors de núvol com a proveïdors d'infraestructures
  • Eines d'inicialització del sistema, creació d'imatges (empaquetador)
  • IaC sobre l'exemple de Terraform
  • Emmagatzematge de configuració, col·laboració, automatització d'aplicacions
  • La pràctica de crear llibres de jugades Ansible
  • Idempotència, declarativa
  • IaC sobre l'exemple d'Ansible

Hem reduït la part teòrica sobre UI i openstack cli i ens hem centrat en la pràctica.
Vegem dos enfocaments IaC que utilitzen la mateixa aplicació, mostrant els avantatges i els contres de cada enfocament. Com a resultat, l'estudiant entendrà quin enfocament ha d'utilitzar on, i serà capaç de treballar tant amb Terraform com amb Ansible.

En el tema sobre Terraform, veurem a la pràctica el treball en equip i l'estat d'emmagatzematge en una base de dades. Quan es treballa amb mòduls, l'alumne escriurà i configurarà ell mateix el mòdul, aprendrà a treballar-lo: reutilitzar-lo, versionar-lo. Afegim treball amb Consul, mostrem en quins casos es necessita i com utilitzar-lo correctament.

Tema #6: Proves d'infraestructura

  • Anem a esbrinar per què no escriuen proves?
  • Quines proves hi ha a IaC?
  • Els analitzadors estàtics, són realment tan inútils?
  • Prova unitària de IaC utilitzant ansible + molècula com a exemple
  • Prova com a part de ci
  • Proves amb esteroides o com no esperar 5 hores perquè acabin les proves IaC

Hem reduït la part teòrica, menys històries sobre Vagrant/Molecule, més pràctica i proves directes, centrant-nos en linters i treballant-hi. Mirant-ho des del punt de vista de CI
com fer les proves més ràpides. A la pràctica hi haurà:

  • un linter escrit per si mateix que verifica la presència de variables obligatòries per a l'amfitrió en funció del rol;
  • Afegim a la prova CI només aquells rols que han canviat, cosa que pot reduir significativament el temps d'execució de la prova;
  • afegir proves d'escenari. Despleguem tota l'aplicació com a prova d'integració.

Tema #7: Seguiment d'infraestructures amb Prometheus

  • Com construir un sistema de control saludable
  • Monitorització com a eina d'anàlisi, eficiència del desenvolupament i estabilitat del codi, fins i tot abans de la venda
  • Configuració de prometheus + alertmanager + grafana
  • Passar de la supervisió de recursos a la de l'aplicació

Parlarem molt de la monitorització de microserveis: identificadors de sol·licitud, eina de monitorització de l'API. Hi haurà moltes bones pràctiques i molt treball independent.

Escrivim el nostre propi exportador. Configurarem el seguiment no només de les infraestructures i aplicacions de producció, sinó també dels muntatges a Gitlab. Vegem les estadístiques de les proves fallides. Vegem a la pràctica com serà el seguiment sense HealthCheck i amb ell.

Tema núm. 8. Registre d'una aplicació amb ELK

  • Visió general d'Elastic i les seves eines
  • ELK/Elastic Stack/x-pack: què és i quina diferència hi ha?
  • Quins problemes es poden resoldre amb ElasticSearch (cerca, emmagatzematge, funcions d'escalat, flexibilitat de configuració)
  • Monitorització d'infraestructura (x-pack)
  • Registres de contenidors i aplicacions (x-pack)
  • Inici de sessió utilitzant la nostra aplicació com a exemple
  • Pràctiques de treball amb Kibana
  • Obriu Distro per a Elasticsearch d'Amazon

El tema ha estat completament redissenyat, està acollit per Eduard Medvedev, molts el van veure al webinar sobre DevOps i SRE. Explicarà i demostrarà les millors pràctiques per treballar amb EFK utilitzant l'exemple d'una aplicació educativa. Hi haurà pràctica amb Kibana.

Tema #9: Automatització de la infraestructura amb ChatOps

  • DevOps i ChatOps
  • Punts forts de ChatOps
  • Slack i alternatives
  • Bots per a ChatOps
  • Hubot i alternatives
  • Безопасность
  • Proves
  • Bones i pitjors pràctiques

ChatOps va afegir la pràctica de l'autenticació amb separació de drets, la confirmació d'accions per part d'un altre usuari, la teoria i pràctica d'una alternativa a Slack en forma de Mattermost, la teoria de les proves d'unitat i integració per al bot.

El slurm de DevOps comença el 30 de gener. Preu - 30.
Per a aquells que hagin acabat de llegir, hi ha un 15% de descompte al curs DevOps utilitzant el codi promocional habrapost.

registre aquí

Estaré encantat de veure't a Slurms!

Font: www.habr.com

Afegeix comentari