Es mejor tener un pájaro en mano que un hermoso grulla en el futuro lejano en DevOps.

Me encanta un proyecto de una semana, y los proyectos de un año me asustan. En Agile, me gustó mucho el concepto de MVP y de incrementos, es exactamente lo mío: crear una pieza funcional, implementarla y avanzar.

Sin embargo, la transformación DevOps en la forma en que se discute en los libros y conferencias es un proyecto de un año. O de varios años.

Construimos nuestro curso de DevOps en la parábola de 'MVP DevOps en un sprint' y 'preparación para incrementos'. En lenguaje sencillo, es 'para que el participante pueda implementar algo inmediatamente al regresar y obtener beneficios'.

MVP DevOps: el curso incluye herramientas para los procesos esenciales de DevOps. No nos propusimos revisar y comparar todos los sistemas CI/CD ni explorar las profundidades del enfoque de Infrastructure as Code. Ofrecemos un stack claro: GitLab CI/CD, Ansible, Terraform, Packer, Molecule, Prometheus, EFK. Se puede venir de los cursos, construir una infraestructura para un proyecto piloto a partir de los materiales de estudio y trabajar en ella.

Es mejor tener un pájaro en mano que un hermoso grulla en el futuro lejano en DevOps.

Preparación para los incrementos: cada elemento lo damos con mucha práctica y ejemplos. Se puede tomar una herramienta y trabajar en su implementación siguiendo los planos de estudio. Por ejemplo, escribir un playbook de Ansible para desplegar entornos de desarrollo o conectar un bot y administrarlo desde el teléfono. servidor Es decir, obtener un resultado práctico concreto en una semana. Aunque esté infinitamente lejos de la transformación DevOps de toda la empresa, existe, está aquí, funciona y aporta beneficios.

Temas del SLRM DevOps

Tema #1: Mejores prácticas de Git — habla por sí misma.
Tema #2: Trabajando con la aplicación desde la perspectiva del desarrollo — el ingeniero necesita competencias de administrador y desarrollador, así que les hablamos a los administradores sobre desarrollo.

Tema #3: Fundamentos de CI/CD

  • Introducción a la automatización de CI/CD
  • Fundamentos del trabajo con GitLab CI
  • Mejores prácticas con gitlab-runner
  • Herramientas bash, make, gradle como parte de CI/CD y más
  • Docker como solución a problemas de CI

Tema #4: GitLab CI/CD en producción

  • Concurrente al ejecutar trabajos
  • Control y restricciones de ejecución: solo, cuando
  • Trabajo con artefactos
  • Plantillas, inclusiones y microservicios: simplificando el despliegue

Introducimos a los estudiantes en los conceptos y principios básicos de CI/CD y en las herramientas para implementarlo. Como resultado, el estudiante podrá elegir de manera independiente una plantilla de diseño de CI/CD y una herramienta adecuada para su implementación.

Luego mostramos la implementación de CI/CD en Gitlab y analizamos su configuración, revisando formas avanzadas de utilizar Gitlab CI. Como resultado, el estudiante podrá configurar Gitlab CI de forma independiente para sus propios proyectos.

En comparación con la primera edición de DevOps, hemos reducido la teoría a la mitad (una hora por tema), dejando de lado la revisión de todos los sistemas y centrándonos únicamente en Gitlab CI. Nos enfocamos en la práctica y añadimos muchas mejores prácticas.

Tema Nº5: Infraestructura como Código

  • IaC: enfoque de infraestructura como código
  • Proveedores de nube como proveedores de infraestructura
  • Herramientas de inicialización de sistemas, construcción de imágenes (packer)
  • IaC utilizando Terraform
  • Almacenamiento de configuraciones, colaboración, automatización de aplicaciones
  • Práctica en la creación de playbooks de Ansible
  • Idempotencia, declaratividad
  • IaC utilizando Ansible

Hemos reducido la parte teórica sobre UI y openstack cli y nos hemos concentrado en la práctica.
Consideraremos dos enfoques de IaC, utilizando la misma aplicación, mostrando las ventajas y desventajas de cada enfoque. Como resultado, el estudiante entenderá qué enfoque aplicar en cada caso y podrá trabajar tanto con Terraform como con Ansible.

En el tema sobre Terraform, analizaremos en la práctica el trabajo en equipo y el almacenamiento del estado en una base de datos. Al trabajar con módulos, el estudiante escribirá y configurará un módulo, aprendiendo a reutilizarlo y versionarlo. Agregaremos trabajo con Consul, mostrando en qué casos es necesario y cómo usarlo correctamente.

Tema Nº6: Pruebas de infraestructura

  • ¿Por qué no se escriben pruebas?
  • ¿Qué tipos de pruebas existen en IaC?
  • ¿Son útiles los analizadores estáticos?
  • Pruebas unitarias de IaC utilizando ansible + molecule
  • Pruebas, como parte de ci
  • Pruebas potentes o cómo no esperar 5 horas para que finalicen las pruebas de IaC

Hemos reducido la parte teórica, con menos charlas sobre Vagrant/Molecule y más práctica enfocada en pruebas, con énfasis en linters y el trabajo con ellos. Lo vemos desde la perspectiva de CI.
cómo hacer que las pruebas sean más rápidas. En la práctica se verá:

  • un linter personalizado que verifica la presencia de variables obligatorias para el host según el rol;
  • agregamos al CI las pruebas solo de aquellos roles que han cambiado, lo que permite reducir sustancialmente el tiempo de ejecución de las pruebas;
  • agregamos la prueba de escenarios. Desplegamos la aplicación en su totalidad, como una prueba de integración.

Tema Nº7: Monitoreo de infraestructura con Prometheus

  • Cómo construir un sistema de monitorización saludable
  • El monitoreo, como herramienta para el análisis, la eficiencia en el desarrollo y la estabilidad del código, incluso antes de la producción
  • Configuración de prometheus + alertmanager + grafana
  • Pasamos de la monitorización de recursos a la monitorización de aplicaciones

Hablaremos mucho sobre la monitorización de microservicios: ID de solicitudes, herramienta de monitorización de API. Habrá muchas mejores prácticas y mucho trabajo autónomo.

Escribiremos nuestro propio exportador. Configuraremos la monitorización no solo de la infraestructura de producción y la aplicación, sino también de las compilaciones en GitLab. Observaremos las estadísticas de las pruebas fallidas. Veremos en la práctica cómo se verá la monitorización sin healthCheck y con él.

Tema №8. Registro de aplicaciones con ELK

  • Resumen de Elastic y sus herramientas
  • ELK/Elastic Stack/x-pack: ¿qué es qué y cuál es la diferencia?
  • ¿Qué tareas se pueden resolver con ElasticSearch (búsqueda, almacenamiento, características de escalabilidad, flexibilidad de configuración)?
  • Monitorización de infraestructura (x-pack)
  • Registros de contenedores y aplicaciones (x-pack)
  • Registro utilizando nuestro ejemplo de aplicación
  • Prácticas con Kibana
  • Open Distro for Elasticsearch de Amazon

El tema ha sido completamente reconfigurado, lo imparte Eduard Medvedev, muchos lo han visto en el webinar sobre DevOps y SRE. Él compartirá y mostrará las mejores prácticas de trabajo con EFK usando un ejemplo de una aplicación de capacitación. Habrá práctica con Kibana.

Tema №9: Automatización de infraestructura con ChatOps

  • DevOps y ChatOps
  • ChatOps: ventajas
  • Slack y alternativas
  • Bots para ChatOps
  • Hubot y alternativas
  • Seguridad
  • Pruebas
  • Mejores y peores prácticas

En ChatOps se ha añadido la práctica de autenticación con separación de privilegios, confirmación de acciones por otro usuario, teoría y práctica de la alternativa a Slack llamada Mattermost, teoría de pruebas unitarias e integradas para el bot.

El Slurm de DevOps comienza el 30 de enero. Precio: 30 000.
Para quienes hayan llegado hasta aquí, un 15% de descuento en el curso de DevOps con el código promocional habrapost.

Registro aquí

¡Estaré encantado de verlos en los Slurms!

Fuente: habr.com

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster