¿Dónde empiezo a aprender DevOps?

10

La búsqueda de "cómo comenzar con devops" realmente no ayudó, ya que a muchos de ellos les gusta esto y esto , así como a muchos otros, no me señalan realmente de la manera correcta. Todos los videos de YouTube que he visto hasta ahora tampoco me han ayudado (ya que no necesito videos que me expliquen qué es lo que IS desarrolla), siendo este video la única excepción verdadera hasta ahora (que muestra cómo las cosas se integran entre sí).

Soy un CCNA y también soy muy competente con DBMS-s (actualmente estoy aprendiendo la ejecución de paralelismo, así como otras cosas).

Pero no tengo idea de lo que se supone que debo aprender primero (o dónde encontrar los recursos correctos para el caso).

Estoy a punto de graduarme, así que no tengo acceso a la experiencia del mundo real.

¿Algún consejo o ayuda?

Chessbrain
fuente

Respuestas:

5

Devops se relacionan con la ejecución de software. Se trata de cómo ejecutar una aplicación o servicio. Por lo tanto, las herramientas de configuración del servidor, las máquinas virtuales y los contenedores son los siguientes pasos. Sugiero mirar la documentación de esas herramientas y aprender de ellas cosas como descubrimiento, observabilidad, escalabilidad y redundancia. Solo por nombrar algunos ejemplos:

Configuración del servidor:

  • PXE
  • Ansible
  • Marioneta

VM:

  • Vagabundo
  • QEMU

Envase:

  • Estibador
  • Kubernetes

EDITAR: Descripción general de las tecnologías en la nube:

Cuando su arquitectura de software se trata de microservicios, los contenedores son una buena opción. Cuando utiliza aplicaciones monolíticas antiguas, las máquinas virtuales no son una mala opción. Por lo tanto, siempre depende del contexto lo que necesita aprender específicamente. El tema es bastante amplio para resumirlo. Un libro podría ayudar con eso, pero lamentablemente no puedo sugerir una buena y amplia. Sin embargo, "Kubernetes en acción" te da un buen comienzo en Kubernetes.

jhamfler
fuente
También agregaría algo sobre ci / di, por ejemplo bambú, jenkins, teamcity o similar.
Cyclonecode del
1
Una cosa que olvidé y que podría ayudar. Una visión general de las tecnologías en la nube: paisaje CNCF
jhamfler
Bueno, edita tu publicación y agrega más información =) Realmente me quedé mirando esto.
Cyclonecode del
@Cyclonecode tienes razón. hecho
jhamfler
perdón si esta es una pregunta estúpida, si EC2 ya se está ejecutando dentro de una máquina virtual, ¿por qué necesito Docker?
PirateApp
4

En primer lugar, me gustaría enfatizar que DevOps es una cultura y no un rol. En mi opinión, uno podría compararlo con un equipo de comandos que tienen su propia experiencia, por ejemplo, francotiradores, marinos, zapadores (piense en la serie de comandos). La combinación de estas experiencias, básicamente trabajando juntas, hace posible cumplir misiones o crear valor comercial lo antes posible.

LowOps y NoOps

Desde hace un par de semanas descubrí que después de muchas conversaciones con la gente, es bastante hablar sobre LowOps en estos días. Si implemento una solución, esto significa que está completamente automatizada y que un colega puede implementar máquinas por sí mismo en lugar de preguntarme. A veces no es posible automatizarlo por completo de inmediato, pero luego me aseguro de que esté automatizado por mí mismo para asegurarme de que solo tengo que ejecutar un comando para hacer el trabajo (LowOps), en lugar de perder un par de horas. Si he creado dicha solución, me aseguro de que se haya creado un ticket para que un colega automatice mi solución personal para todos. Ejemplo: un colega mío transformó uno de mis script de bash en un bot que ahora se ejecuta todas las noches.

ingrese la descripción de la imagen aquí

Figura 1: https://www.gslab.com/blog-post/what-is-noops/

"Cómo comenzar con devops"

Asegúrese de formar parte de un equipo con competencias mixtas y de que el equipo tenga que implementar el software ellos mismos. Hable con todos los miembros del equipo y comience con tareas que nadie quiere hacer ya que hay una falta de conocimiento o voluntad. Si comienzas con una tarea, te toparás con cosas que no sabes. Comience a mirar videos, asista a reuniones , compre y lea libros, lea blogs y documentación oficial sobre herramientas, solicite a sus colegas que revisen sus solicitudes de extracción y se comuniquen y escuchen bien a las personas, documenten bien las cosas y preparen y demuestren soluciones a los colegas (intercambio de conocimientos) . La última sugerencia es vigilar el equilibrio entre el trabajo y la vida .

030
fuente
2

Otras respuestas aquí se han centrado en las herramientas. En mi opinión, ganar competencia en un juego de herramientas es, por supuesto, algo bueno, pero no te hará encajar bien en una cultura DevOps. DevOps es primero un conjunto de prácticas o métodos .

Comprender por qué estas prácticas y métodos son útiles viene con experiencia, pero no tiene ese lujo. Por lo tanto, te señalaría

como textos fundacionales.

El sitio web de Entrega Continua también tiene un conjunto de Principios y Fundamentos que le brindan la base relevante al comenzar.

A partir de estos, aprenderá prácticas y métodos, que informarán cómo colabora y utiliza las herramientas.

Bruce Becker
fuente
2

Todo lo que necesitas aprender es Linux, Docker, Networking, Git, Jenkins, etc. Puedes aprenderlos interactivamente aquí

Si está buscando tutoriales en video, pluralsight tiene algo bueno para usted.

Err0rr
fuente
1

Este es el tipo de pregunta que me he estado haciendo muchas veces, y que me sigue (ahora que apenas estoy fuera de "principiante", me pregunto dónde aprender temas más avanzados). Lamentablemente, como usted señaló, hacer esas preguntas en el motor de búsqueda tiende a inundar con sitios web dirigidos a ejecutivos y tratando de explicar ¿Qué es DevOps? y ¿Por qué deberíamos industrializar el ciclo del software con devops?

Dicho esto, para tratar de responder a su pregunta, solo puedo hablar por experiencia personal: comencé mi viaje de aprendizaje con la excelente guía de inicio de Docker .

Anuncio N
fuente
1

"Learning DevOps" me parece una consulta demasiado amplia, como también descubrió, pero recuerdo haber tenido que buscar en Google lo mismo.

Para agregar a la respuesta de @ jhamfler: pregúntese, ¿por qué quiere aprender al respecto? ¿De qué contexto vienes? DevOps generalmente tiene que ver con romper obstáculos manuales, o también estructuras de silo en equipos (cada uno solo hace su propia tarea y confía en que alguien más piense en integrar los resultados). ¿Hay "lagunas" en su proyecto (supongo que tiene una)? ¿Qué partes podrían beneficiarse de la automatización?

Los problemas típicos que podría sugerir son:

  • mantenimiento manual del servidor VS soluciones con script
  • fiabilidad y copias de seguridad
  • automatización de pruebas de integración
  • Automatizar la implementación continua (por ejemplo, de un servicio web)
  • ...

Quizás una búsqueda de "implementación continua" e "integración continua" (CI / CD) también podría ayudarlo.

Sir jane
fuente
1

Las primeras cosas que necesita aprender y sentirse cómodo con:

  • Unix (sistema de archivos, permisos, procesos, servicios, registros, redes, etc.)
  • ssh y tunelización inversa
  • nano / vim
  • pitón
  • git

Entonces podría pasar a temas más específicos:

  • contenedorización (por ejemplo, acoplador)
  • gestión de configuración (p. ej. ansible)
  • despliegue continuo (por ejemplo, jenkins)
  • monitoreo (por ejemplo, prometeo / grafana)
GG.
fuente