Conceptos básicos y prácticas de DevOps para automatización de despliegues

1/21
Recursos
Transcripción

¿Qué es el curso de DevOps y quién es su instructor?

Bienvenido al fascinante mundo de DevOps. En este curso, aprenderás sobre DevOps y los conceptos clave que le rodean. Soy Javi Villegas, ingeniero DevOps con cuatro años de experiencia, autor de libros para principiantes y creador de contenido en YouTube sobre herramientas, buenas prácticas y AWS en el ámbito cloud. Si has elegido seguir una carrera en DevOps, es hora de que te veas como un especialista en el área.

¿Cómo evolucionaron los sistemas web desde sus inicios?

Vamos a sumergirnos en los fundamentos para entender la evolución de los sistemas web. En sus inicios, la web funcionaba bajo un simple modelo cliente-servidor, donde el cliente solicitaba información al servidor. En aquella época, los servidores solo contenían texto plano, y el principal objetivo era mantener el servidor operativo y estable.

A medida que las aplicaciones web crecieron en complejidad, comenzaron a incorporarse lenguajes de programación en los servidores y los clientes se volvieron más interactivos. Las empresas empezaron a depender económicamente de las páginas web, lo que hizo evidente la necesidad de un equipo de desarrollo más grande y especializado.

¿Por qué surgieron los microservicios?

Con el creciente uso y complejidad de las aplicaciones, nació la necesidad de dividir los sistemas monolíticos en componentes más pequeños y manejables llamados microservicios. Esto brindó ventajas notables como la capacidad de escalar partes específicas del sistema sin afectar al todo.

Un ejemplo de cómo funcionan los microservicios es separar la funcionalidad de inicio de sesión de una aplicación del monolito principal. Esto te permite asignar más recursos al servicio de login de forma temporal cuando hay un pico de demandas, optimizando el uso de recursos.

¿Qué papel juegan Docker y los Cloud Providers?

La introducción de Docker revolucionó la implementación de microservicios al aislarlos y permitir una mejor gestión de recursos. Docker permite que los microservicios se agrupen en un entorno controlado, reduciendo el consumo de hardware y facilitando la administración de aplicaciones completas.

Por otro lado, los Cloud Providers transformaron la forma en que las empresas consumen servicios tecnológicos. Ofrecieron un modelo de pago por uso que democratizó el acceso a servicios avanzados, ayudando a pequeñas empresas a competir en igualdad de condiciones con los grandes jugadores. El uso de estos servicios permite escalar rápidamente y realizar implementaciones flexibles y eficientes.

¿Cómo se relacionan todos estos conceptos con DevOps?

Te estarás preguntando cómo encaja todo esto dentro del marco de DevOps. Al integrar herramientas como Docker y servicios cloud, DevOps se enfoca en optimizar el ciclo de vida del desarrollo de software, permitiendo automatizar tareas, mejorar la colaboración entre equipos y garantizar entregas continuas y confiables. Prepárate para descubrir más en las próximas lecciones y fortalecer tus habilidades en este apasionante campo.

Aportes 30

Preguntas 9

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

DevOps es la cultura, SRE es el puesto (Dicho por el Pelado Nerd)

¿Has decidido ser DevOps?

El especialista en DevOps , de ahora en adelante eres tú
.

La web como era en un inicio

  • El cliente muestra una página web con información estructurada.
  • Funcionaba de manera simple, el usuario solo podía leer.
  • El servidor solo contenía texto plano.
  • El administrador procura mantener el servidor funcionando.

>

  • Nacen lenguajes en el servidor y empiezan a aparecer proceso para responder al cliente.
  • El cliente empezó a mostrar cosas más atractivas y páginas web interactivas.

>

  • Se deja atrás al Webmaster y se conforma un equipo de desarrollo (ya no es suficiente con una sola persona a cargo)
    - Desarrollador Backend
    - Desarrollador Frontend
  • El servidor es consumido por varias empresas y servicios.
  • Nuestro servicio comenzó a consumir otros servicios adicionales de terceros.

>

  • Se vuelve crítico tener un servidor estable, para ello se crearon ambientes como por ejemplo:
    - Ambiente de producción
    - Ambientes de desarrollo
    - Ambiente demo (Para un cliente especial)

>

  • Las empresas empiezan a vender servicios.
    - Email
    - Almacenamiento
    - Tratamiento de imágenes, etc.

>

  • Aparecen los Cloud providers para cambiar la forma de cobro, abaratando costos de utilización y la manera de escalar los servicios.
  • Aparecieron los microservicios para solucionar problemas de escalabilidad.
    - Estos son una pequeña parte de un gran servidor.

>

  • En la práctica se vuelve más caro utilizar Microservicios comparado con un sistema de un solo servidor (Monolito).
  • Aparece Docker y este nos permite tener nuestros microservicios dentro de un sitio aislado y configurarlo para consumir menos recursos de hardware y ahorrar en costos.

Vengo a repasar de los cursos de DevOps que he tomado, y sobre todo para reforzar porque estoy en un proceso de selección para iniciar mi carreca como Especialista de DevOps, muchas gracias!

Hola a todos los estudiantes!

Les comparto mis apuntes del curso por si desean complementar y/o tomar una idea de anotaciones. Un abrazo para todos! 💚🥰

https://gravel-fontina-fe3.notion.site/Curso-de-Introducci-n-a-DevOps-854856cbccdc4003bc5123b894496605

Excelente explicación de conceptos

**Aqui les dejo el canal del profe:** <https://www.youtube.com/@CulturaDevOps/videos>

Mucho contenido a digerir en la primera clase! Un mapa conceptual o una linea de tiempo de evolución seria de utilidad para dar a explicar el tema.! Por su puesto es una oportunidad de mejora. 😄

Justo busque este curso 1 dia previo a su estreno. Un curso muy esperado

Hey diferencias entre monolitos y microservicios

Hay varias diferencias clave entre las arquitecturas monolíticas y de microservicios:

Monolito: todo el código de la aplicación está en un solo proceso/aplicación. Microservicios: la app se divide en servicios independientes que se ejecutan en procesos separados.

Monolito: cambios pequeños requieren reconstruir y deployar la app completa. Microservicios: se puede construir y deployar servicios específicos de forma independiente.

Monolito: un fallo puede afectar toda la aplicación. Microservicios: el aislamiento limita el impacto de fallos a un servicio.

Monolito: escalado implica escalar toda la app en conjunto. Microservicios: se puede escalar servicios específicos según la necesidad.

Monolito: lenguajes y tecnologías unificados. Microservicios: cada servicio puede usar la tecnología más adecuada.

Monolito: deploys menos frecuentes y de mayor riesgo. Microservicios: deploys pequeños, frecuentes y con menor riesgo.

Monolito: código base grande y compleja. Microservicios: código organizado en repos/servicios independientes.

En resumen, los microservicios permiten escalar y evolucionar partes de la aplicación de forma independiente, limitando el impacto de cambios y fallos. Pero la complejidad inicial es mayor.

Interesantísimo ver cómo los servidores cobran un papel cada vez más importante, pasando de apenas mostrar un texto a ser la capacidad de cómputo que podría incluso ser entendido como el motor de la informática moderna (por no decir de la humanidad).
Excelente clase, los diagramas están muy bien. 💚

Chamooooo, yo fui tu primer estudiante !

18/05/2023 a darle con todo !!

Otro recurso que nos ayuda a dar claridad frente a DevOps y SRE

Estoy trabajando como Devops! antes de haber estudiado de esto… muy bueno el curso.

:0

Aquí definitivamente un recurso bastante útil SREs by Google

un repaso 😃 se ve intersante el curso.

## **Evolución de los sistemas web** ### **El inicio de la web** Para comprender DevOps, es importante conocer la evolución de los sistemas web. Al principio, la web se basaba en un **modelo cliente-servidor**, donde el cliente enviaba solicitudes y el servidor respondía con información en **texto plano**. Inicialmente, los usuarios solo podían leer información, y la persona encargada del servidor solo debía asegurarse de que funcionara correctamente. ### **Aumento de la complejidad** Con el tiempo, los sistemas web evolucionaron: * Surgieron **lenguajes de programación en el servidor**, aumentando la complejidad. * Se comenzó a extraer y procesar **datos dinámicamente**. * El **cliente** (navegador) empezó a mostrar interfaces más atractivas e interactivas. * Las empresas comenzaron a depender de las páginas web para **generar ingresos**. El **webmaster**, que antes se encargaba de todo, ya no podía manejar todas las tecnologías involucradas. Surgió la necesidad de **equipos de desarrollo especializados**, con roles como **desarrollador backend** (servidor) y **desarrollador frontend** (cliente). ### **Consumo de servicios y crecimiento del servidor** El crecimiento de los sistemas web trajo consigo: * **Mayor tráfico** de usuarios y empresas. * **Servicios adicionales** que el servidor debía consumir. * La necesidad de que el servidor estuviera siempre **disponible y estable**. Para gestionar estos cambios, surgieron los **ambientes de desarrollo**. ## **Ambientes de desarrollo** Para garantizar estabilidad en los cambios de software, las empresas crearon **diferentes ambientes**: * **Producción (PROD):** Donde la aplicación final está disponible para los usuarios. * **Desarrollo (DEV):** Espacio para los desarrolladores. * **QA:** Donde se realizan pruebas de calidad. * **Staging y preproducción:** Réplicas casi exactas de producción para pruebas antes del lanzamiento. * **Demo:** Versiones congeladas para mostrar a clientes especiales. El número y tipo de ambientes varía según el **presupuesto y necesidades** de la empresa. ## **Aparición de los proveedores de la nube (Cloud Providers)** Las empresas descubrieron que podían vender servicios digitales, como envío de correos y mensajes de texto. Sin embargo, la **verdadera revolución** llegó con los **Cloud Providers**, que: * Ofrecieron servicios listos para desarrolladores. * Implementaron **modelos de pago flexibles**, permitiendo que empresas pequeñas accedieran a tecnología avanzada. * Facilitaron el **escalamiento rápido** de aplicaciones sin grandes inversiones en infraestructura. ## **De los monolitos a los microservicios** ### **Monolito** Inicialmente, las aplicaciones se ejecutaban en un solo servidor con todas sus funcionalidades juntas. Esto facilitaba la programación y el mantenimiento, pero presentaba **problemas al escalar**. ### **Microservicios** Para mejorar la escalabilidad, surgieron los **microservicios**, que consisten en dividir un sistema monolítico en **componentes más pequeños e independientes**. **Ejemplo:** * Separar los módulos de **login** y **cobro** en microservicios. * Si el servicio de **login** tiene alta demanda, se pueden asignar más recursos solo a ese microservicio sin afectar al resto del sistema. * Esto permite **escalar automáticamente** según la demanda. ### **Desafíos de los microservicios** Aunque los microservicios ofrecen ventajas, también presentan **desafíos**: * **Mayor costo** que un monolito, ya que requieren más recursos. * **Mayor complejidad** en la gestión y comunicación entre servicios. ## **Docker y la optimización de microservicios** Para reducir costos y gestionar mejor los microservicios, surgió **Docker**, una tecnología que permite: * Ejecutar servicios en **entornos aislados**. * Configurar cuánta **memoria y CPU** usa cada microservicio. * Agrupar múltiples servicios en menos hardware.
Muy buena explicación!!!
**\*\*\*\*\*\*CLASE.1\*\*\*\*\*\*\*\*\*\*** **RESUMEN DE LA CLASE** \- Uusarios y desarrolladores \- Monolitos y Microservicios \- Ambientes (Dev y Prod) \- Dockers y Cloud provider
No entendí ni papa vean :( ya me asusté

buen dia, compañeros comparto unos de los roadmap mas completos que he encontrado https://roadmap.sh/devops, adicional pueden mirar muchos mas, como backend, frontend, etc

Buena intro para el curso.

Muy buena introduccion

hola y es transitional la escala

Esta contextualización, está muy buena. Me deja claro el proceso de evolución del servicio y la forma como se ha transformado.

Gracias Jaivic Villegas.

DevOps, es un especialista encargado de la mejora continua de los servidores desplegados. /Ese era mi primer concepto/

En resumen, el desarrollo web ha evolucionado a lo largo del tiempo, pasando de una página estática y simple a una plataforma interactiva y compleja, con un equipo de desarrollo que incluye diferentes roles, ambientes y servicios adicionales. Con la aparición de los Cloud providers y Docker, se ha buscado optimizar la escalabilidad y reducir los costos de utilización. El especialista en DevOps (El SRE) es responsable de asegurar la estabilidad del sistema, implementando prácticas y herramientas para lograrlo.

Una introducción espectacular, aprovechar estos cursos al máximo.

let’s go started !!!
gran idea poder tener una carera Devops y este curso.