DevOps para operación y desarrollo - curso 124.000 rublos. de Yandex Workshop, formación 6 meses (8 horas semanales), Fecha: 6 de diciembre de 2023.
Miscelánea / / November 30, 2023
Actualmente trabajando con ETL, ultimando el monitoreo del sistema BI, desarrollando en Python y todo esto en la nube de Azure. Construí CI/CD para el sistema de BI, escribí pruebas automáticas de UI en Selenium. En LANIT (hasta 2018) creó...
Actualmente trabajando con ETL, ultimando el monitoreo del sistema BI, desarrollando en Python y todo esto en la nube de Azure. Construí CI/CD para el sistema de BI, escribí pruebas automáticas de UI en Selenium. En LANIT (hasta 2018) creó su propio “Frankenstein” a partir de Jenkins, Ansible, VMware, Telegram bot, Jira, bash- y Scripts de Python para ChatOps completos, donde todas las actualizaciones tanto de los servidores como de los tickets se realizaron a través de un bot en telegrama para https://gis-tek.ru. También ayudó a Kubernetes a orquestar páginas. https://мдм.моидокументы.рф. En NIIAS (hasta 2016) escribió scripts mega-bash para actualizar los servidores de despacho de Russian Railways para que su tren pudiera llegar a tiempo.
1) Sistemas de control de versiones y automatización de creación de aplicaciones. 15 horas
Te encuentras trabajando en una startup, conoces al equipo y te preguntas cómo es posible trabajar así. Al querer hacer las cosas bien rápidamente, comienza a comprender cómo funciona el desarrollo de software hoy en día y da los primeros pasos para acelerar la producción.
- ¿Cómo funciona el ciclo de vida del software?
- Sistemas de control de versiones. ¿Por qué todo el mundo elige Git?
• Organizar el trabajo en equipo mediante el flujo de trabajo de rama de funciones.
• Organización del almacenamiento de repositorios Git en Gitea. - Inclinarse:
• Muda (Pérdida).
• Valor y flujo de valor. - Inclinarse:
• Herramientas de automatización para tareas repetitivas.
• Frameworks para la automatización del montaje de proyectos.
2) Metodologías flexibles e Integración Continua 15 horas
Su startup está siendo comprada por el gigante informático Krupnaya Kompaniya (KK). El líder de su equipo se convierte en su guía en el camino hacia el aprendizaje de DevOps. Pero los problemas con su aplicación no desaparecen. Descubre que la aplicación funciona mal en un entorno de producción y constantemente entran en desarrollo nuevas solicitudes para corregir defectos. Debido a esto, el trabajo se acumula y uno ni siquiera puede soñar con lanzar nuevas funciones y estabilidad.
- Problemas de DevOps:
• Pozos funcionales.
• Espiral descendente. - Metodologías ágiles y cultura DevOps:
• Interacción en equipo.
• Enfoques modernos. ¿Qué causó el surgimiento de Agile?
• Tres formas de DevOps: ciclo de entrega de valor, bucles de retroalimentación, experimentación y aprendizaje. - Integración continua:
• Organización del almacenamiento de códigos.
• Organización de asambleas.
• Organización de pruebas.
• Obtenga comentarios rápidamente. - Servidores de Integración Continua:
• Descripción general de la interfaz y funcionalidad de GitLab CI. - Medición de calidad y pruebas de seguridad de código estático:
• Herramientas de análisis de calidad de código estático: SonarQube, GitLab Analyzer.
• Herramientas de análisis de seguridad de código estático: SonarQube SAST, GitLab SAST.
3) Redes y conceptos básicos para trabajar en servidores Linux. 15 horas
Conoce al administrador del sistema KK, quien le explica cómo está estructurada la red y cómo funciona todo para él. Durante la demostración, verá que el administrador controla mucho más rápido mediante comandos y movimientos del cursor en la consola, y le pedirá que le cuente sobre estas técnicas. El administrador lo invita a comprender el ejemplo de la tarea de transferir un servicio de un servidor antiguo a uno nuevo, resolviendo al mismo tiempo un problema candente.
- Conceptos básicos de trabajar en servidores Linux, trabajar con la línea de comando.
- Subsistema de disco de Linux.
- Derechos de usuario de Linux.
- Conceptos básicos de redes: problemas para conectarse a un servidor remoto.
- Virtualización:
• Hipervisores populares.
• Maquinas virtuales.
• Redes virtuales.
4) Entrega continua e implementación continua 20 horas
Después de recibir otra actualización de la aplicación en su teléfono inteligente en una semana, se interesó en la frecuencia con la que los usuarios reciben actualizaciones. Resultó que no con mucha frecuencia. ¿Es necesario más a menudo?
- ¿Cómo funciona el proceso de entrega de productos de TI?
• ¿Cuál es el proceso de entrega?
• Gestión del Flujo de Valor. - Sistemas de almacenamiento de artefactos: Nexus.
- Entrega continua:
• Visualización de etapas de entrega.
• Organización del proceso de entrega. Tubería de entrega. Despliegue continuo. - Metodología de la aplicación de doce factores.
5) Infraestructura como Código y sistemas de gestión de configuración. 20 horas
Esta es la primera vez que se encuentra con un problema de infraestructura. Alguien cambió la configuración de los servidores de los desarrolladores en los que estaban ejecutando experimentos, y ahora los servidores funcionan tan mal que ya no se pueden utilizar.
- Respaldo:
• Organización de copias de seguridad.
• Tipos de copias de seguridad.
• Rotación de copias de seguridad. - Infraestructura como Código: describimos la infraestructura con código, adoptando la experiencia de desarrollo.
- Sistemas de gestión de configuración:
• Ansible (roles, tareas, inventario, bóveda, awx).
• Familiaridad con otros sistemas: Chef, Salt, Puppet.
6) DBOps: bases de datos relacionales y no relacionales 15 horas
Te reunirás con el DBA. Recibe comentarios amenazantes de los usuarios que dicen que el sitio es lento. Empíricamente, descubre que la última actualización ha ralentizado significativamente la base de datos.
- Conceptos básicos de la teoría de bases de datos:
• Bases de datos relacionales: PostgreSQL.
• Consultas SQL básicas.
• Cómo acelerar la ejecución de consultas en una base de datos: optimización, almacenamiento en caché, crecimiento de capacidad, indexación. - Organización de alta disponibilidad de la base de datos:
• Principios DBOps.
• Migración de base de datos mediante Flyway. - Bases de datos no relacionales: MongoDB.
7) Contenedorización de Docker y almacenamiento de datos 20 horas
Te encontrarás entre dos fuegos: por un lado, hay desarrolladores a los que todo les funciona localmente, pero a algunos de ellos quizás no; por otro lado, está el departamento de operaciones, al que no le sirve nada de nada. Descubrimos cómo asegurarnos de que todo sea igual de bueno para todos y finalmente lanzamos la aplicación a producción.
- Contenedorización:
• Descripción general de los contenedores Linux y Docker.
• Dispositivo Docker: capas, imágenes, contenedores, archivo Docker, Registro.
• Alternativas a Docker (containerd, Podman, LXC, CRI-O). - Almacenamiento de datos: trabajando con S3, MinIO vs Ceph.
- Almacenamiento y transmisión de datos confidenciales: una excelente descripción general de Vault.
8) Microservicios, equilibrio y almacenamiento en caché 15 horas
Te estás preparando para el lanzamiento de una nueva versión de la aplicación y quieres tener en cuenta los errores del pasado, cuando tu servicio no pudo soportar el tráfico y estuvo inactivo durante tres días. ¡Esta vez una empresa se acercó a usted y le exigió que esto no sucediera! Quedará tan inmerso en el proceso que introducirá nuevas funciones interesantes y estrategias de entrega.
- Equilibrio y almacenamiento en caché.
- Microservicios:
• Enfoques para organizar la arquitectura de aplicaciones.
• Herramientas para la gestión de aplicaciones de microservicios: Docker Compose. - Estrategias de entrega y elección de la correcta:
• ¿Qué tipos de usuarios hay?
• Despliegue azul-verde.
• Despliegue en Canarias.
9) Kubernetes. Implementación y garantía de la confiabilidad de la aplicación 50 horas
Usted crea una plataforma de servicios para garantizar un funcionamiento de alta calidad de todo el ciclo de entrega.
- Orquestación de contenedores:
• Ejecutar la aplicación en una infraestructura moderna.
• Por qué se necesitan sistemas de orquestación y cómo son.
• Kubernetes: razones y objetivos de desarrollo. - Lanzamiento de un clúster de Kubernetes para pruebas y desarrollo:
• Cómo obtener Kubernetes: descripción de los 5 métodos principales de instalación.
• Análisis de comandos simples de kubectl.
• Trabajar con la utilidad kubectl. - Arquitectura de Kubernetes:
• Componentes principales y su interacción: planificador, kubelet, kube-proxy, administrador de controladores, etcd y servidor api. - Entidades centrales de Kubernetes:
• Nodos, Podes, Servicios, Volúmenes Persistentes, Reclamación de Volumen Persistente.
• Manifiestos de Kubernetes.
• Usar kubectl en el nivel de conexión del clúster.
• Ver la configuración de Nodos, Pods, Secretos, etc. - Entidades avanzadas de Kubernetes:
• ReplicaSet, Implementación, DaemonSet y StatefulSet.
• Sonda Liveness, Readiness + contenedores Init.
• Adición sobre kubectl: editar, aplicar, eliminar, crear.
• Comunicación en red en un cluster. - Trabajo avanzado con la utilidad kubectl:
• Comandos kubectl adicionales, indicadores y representación de entidades de Kubernetes como archivos YAML o JSON/YAML.
• Implemente la aplicación de dos maneras: usando un comando y mediante un archivo YAML. - Implementación de aplicaciones en Kubernetes:
• Despliegue del frontend de la aplicación.
• Implementación y re-implementación vía ArgoCD. - Estrategias de implementación:
• Conexión entre Kubernetes y la App Twelve-Factor.
• Estrategias de despliegue en Kubernetes.
• Cómo se implementa el mecanismo de reversión en Kubernetes. - Prácticas de GitOps para trabajar con infraestructura.
- Escribir un gráfico de Helm para la implementación de aplicaciones.
- Configurando ArgoCD.
- Utilizando motores de plantillas.
10) Errores de registro y seguimiento 15 horas
Su plataforma de servicios deja de funcionar repentinamente.
- Registro y seguimiento de errores:
• Registros de Linux.
• Loki.
• Centinela - Supervisión:
• Tipos de métricas, anomalías típicas.
• Alertas.
• Pila GAP (Grafana, Prometheus, Alertmanager).
• Señales Doradas.
• Métricas a nivel de aplicación. - Sistemas AWS y rastreo distribuido.
- CALMA.
- Registro y seguimiento de errores:
D
soñador-fkn
23.03.2022 GRAMO.
Buen servicio y buen curso de DevOps para operaciones y desarrollo.
Ventajas: plataforma conveniente, buen equipo, buen material. Desventajas: material crudo Completé la mitad del curso DevOps para operaciones y desarrollo. Llegó al segundo set. En este sentido, el material teórico es húmedo y hay imprecisiones. Pero hay que reconocer el mérito de los organizadores: los problemas se resuelven rápidamente. Se eliminan las deficiencias. Un equipo muy amigable de curadores y mentores. Por la mitad...