Todos tenemos metas. Algunos son pequeños y fáciles de alcanzar, pero muchos son grandes y complejos. Un gran objetivo puede ser lo suficientemente intimidante, pero tratar de visualizar todos los diferentes pasos es en sí mismo un desafío. El GPS de nuestros teléfonos nos muestra una solución a este problema. Enumera cada uno de los pasos individuales para ir del punto A al punto B mientras muestra el progreso general (es decir, el tiempo y la distancia restantes).
Al igual que nuestro GPS enumera cada paso del proceso, tener un plan de acción es clave. Por ejemplo, quiero ser desarrollador web, pero tratar de hacer un seguimiento de todo lo necesario para calificar para el rol de desarrollador es intimidante. Es difícil saber por dónde empezar cuando observa una larga lista de calificaciones y habilidades.
Afortunadamente, descubrí que un campo de entrenamiento rompió la pila de tecnología de Internet (front-end, back-end, full-stack) en el plan del curso. Los instructores presentaron un plan para cada pieza y cómo se relaciona con el todo más grande.
El campo del desarrollo web no es tan amplio como el conocimiento básico que necesita para trabajar en el ciclo de vida de DevOps. Esto hace que el plan de desarrollo de DevOps sea aún más crítico para garantizar que comprenda los requisitos de su trabajo y se mantenga encaminado para convertirse en un ingeniero de DevOps.
Entonces, ¿cómo te conviertes en un ingeniero DevOps? Comencemos mirando el cronograma de carrera de DevOps.
Hoja de ruta de DevOps
Antes de continuar, tomemos un momento para explorar la hoja de ruta de DevOps a continuación. Llamar a Kamran Ahmed por crear este excelente recurso y ponerlo a disposición a través de él. repositorio GitHub.

Notará que la hoja de ruta de DevOps cubre muchos conceptos de desarrollo de software. Esto se debe a que DevOps cubre todo el proceso de desarrollo y mantenimiento de software, desde el desarrollo hasta las operaciones que abarcan toda la pila de tecnología. Esta hoja de ruta tiene muchos detalles excelentes, pero cuando planifiquemos nuestro curso juntos, nos centraremos en el camino principal y discutiremos cada paso.
Etapas del desarrollo profesional de DevOps
- Aprende lenguajes de programación.
- Estudiar sistemas operativos.
- Revisar la seguridad y los protocolos de la red.
- Comprender la infraestructura como código.
- Aplicar herramientas CI/CI.
- Invierta en monitoreo de aplicaciones e infraestructura.
- Estudie a los proveedores de servicios en la nube.
- Explora patrones de diseño en la nube.
Repasemos cada uno de los pasos principales de este plan.
1. Aprende lenguajes de programación.
Si bien un ingeniero de DevOps no suele escribir el código fuente, integrará bases de datos, depurará código del equipo de desarrollo y automatizará procesos. La automatización es una parte fundamental de lo que garantiza la velocidad del ciclo de vida de DevOps, y el ingeniero de DevOps desempeñará un papel importante en la implementación de su estrategia de automatización de DevOps.
Además, un ingeniero de DevOps debe tener un conocimiento práctico de los lenguajes que usa su equipo para ayudarlo a comprender el código existente, revisar el código nuevo y ayudar con la depuración.
Los lenguajes de programación para aprender incluyen:
- Ir (recomendado)
- Rubí
- Pitón
- Nodo.js
2. Estudiar sistemas operativos.
Los sistemas operativos (SO) son un componente clave de la pila de tecnología que debe funcionar el equipo de DevOps. Los sistemas operativos no solo alimentan las máquinas locales que utiliza el equipo para comunicarse y realizar sus tareas, sino que también ejecutan los servidores donde se implementan las aplicaciones del equipo.
Como tal, debe aprender a usar la terminal de línea de comandos para no depender de la interfaz gráfica de usuario (GUI) al configurar sus servidores. La línea de comandos simplifica las tareas que requerirían varios clics en la GUI, y algunos comandos solo se pueden ejecutar a través de la terminal. Cada sistema operativo es diferente, por lo que es recomendable aprender más de uno.
Los sistemas operativos de aprendizaje incluyen:
- Linux (Recomendado)
- Unix
- ventanas
También querrá aprender acerca de las estrategias y reglas más importantes que rigen la creación y ejecución de sistemas operativos. Para un ingeniero DevOps, el conocimiento técnico y el conocimiento conceptual son igualmente importantes.
Los conceptos del sistema operativo para aprender incluyen:
- Gestión de proceso
- Enchufes
- Hilos y concurrencia
3. Revisar la seguridad y los protocolos de la red.
Cada aplicación web utilizará protocolos para enviar y recibir información del usuario. Esto significa que también debe comprender cómo los protocolos manejan diferentes tipos de solicitudes.
Igualmente importante, debe saber riesgo estos métodos de transferencia y cómo protegerlos para evitar que sus datos sean interceptados por delincuentes o se infiltren en su aplicación. La ciberseguridad es una habilidad clave independientemente de su rol en el ciclo de vida de DevOps.
Los protocolos de red que deben aprenderse incluyen:
4. Comprender la infraestructura como código.
Infraestructura como código (IaC) es una práctica que agiliza el aprovisionamiento de infraestructura para respaldar la implementación de aplicaciones. Las redes, los servidores y otra infraestructura se configuran y administran mediante archivos de plantilla para crear un entorno con los requisitos exactos de la aplicación. IaC le permite automatizar este proceso para acelerar las implementaciones y actualizaciones.
Las estrategias de aprendizaje de IaC incluyen:
- Contenedores
- Gestión de la configuración
- Orquestación de contenedores
- Proporcionar infraestructura
5. Aplicar herramientas de integración continua/despliegue continuo.
La integración continua y el despliegue continuo (CI/CD) es el principio rector detrás de DevOps: la integración del desarrollo y las operaciones, y las iteraciones continuas. Para lograr esta filosofía, la mayoría de los equipos de DevOps utilizan herramientas creadas para respaldar el ciclo de vida de DevOps. Las herramientas de CI/CD admiten múltiples fases de la canalización y automatizan los procesos y la retransmisión a los miembros del equipo libres.
Las herramientas de aprendizaje de CI/CD incluyen:
6. Invierta en monitorear sus aplicaciones e infraestructura.
El monitoreo es la práctica de observar signos de problemas en una aplicación y su infraestructura subyacente para que el equipo de operaciones pueda solucionar los problemas antes de que se conviertan en tiempo de inactividad. Por supuesto, esta práctica se divide en dos partes.
Monitoreo de aplicaciones
Los problemas internos de la aplicación pueden manifestarse de muchas maneras, por lo que es mejor monitorear varias métricas.
Por ejemplo, una tasa de conversión más baja de lo normal en un formulario podría significar que el formulario no funciona correctamente cuando los usuarios intentan registrarse. Idealmente, sus herramientas de monitoreo deberían marcar los errores generados en el código cuando envía la solicitud de inscripción, así como la tasa de conversión, para que tenga múltiples formas de identificar problemas.
Las herramientas de monitoreo de aplicaciones de aprendizaje incluyen:
- Prometeo (Recomendado)
- nagios
- perro de datos
Monitoreo de infraestructura
Es natural suponer que el problema debe estar en la propia aplicación, pero a menudo los problemas en la infraestructura de soporte de la aplicación pueden tener el mismo impacto, si no más.
Por ejemplo, los problemas con el alojamiento de una aplicación web en la nube pueden provocar interrupciones para los usuarios cuando intentan acceder a ella. Las herramientas de monitoreo analizan los errores generados en la pila de aplicaciones, así como las métricas de rendimiento para marcar los errores con anticipación. Cuanto más rápido responda su equipo, menos impacto tendrán estos problemas en la experiencia del usuario.
Las herramientas de monitoreo de infraestructura que deben aprenderse incluyen:
- Nueva reliquia (recomendado)
- Jaeger
- Dinámica de aplicaciones
7. Estudie proveedores de servicios en la nube.
La mayoría de las aplicaciones modernas, si no todas, están alojadas en la nube. Los servicios en la nube brindan muchos beneficios, incluido el ahorro de costos y la escalabilidad que se obtienen cuando ya no necesita alojar sus propios servidores para su aplicación. Por supuesto, es importante comprender los diferentes servicios en la nube disponibles y sus costos y beneficios únicos para poder elegir el mejor alojamiento para sus aplicaciones estándar.
Los proveedores de nube de aprendizaje incluyen:
- AWS (recomendado)
- Azul
- Nube de Google
- Heroku
8. Aprende patrones de diseño en la nube.
Los patrones de diseño de la nube son filosofías que garantizan la escalabilidad, la confiabilidad y la seguridad de las aplicaciones en la nube. Tan importante como comprender a los proveedores de la nube, también debe comprender estos patrones.
Se pueden aprender muchas lecciones de las mejores prácticas en la nube (por ejemplo, alta latencia) que se pueden aplicar a las aplicaciones alojadas en la nube y al enfoque de desarrollo. antes de solicitud. Por ejemplo, hacer una copia de seguridad de su código fuente en un repositorio habilitado para la nube para que no pierda el acceso si el almacenamiento local no está disponible.
Los patrones de diseño de la nube para el aprendizaje incluyen:
- Disponibilidad
- Gestión de datos
- Diseño e implementación
Todo lo que hemos cubierto no representa el conocimiento completo que necesitará para ser un ingeniero DevOps efectivo, pero conocimiento básico debe hacer esto antes de centrarse en los detalles más finos. Descubrirá que el aprendizaje es mucho más fácil cuando tiene esta experiencia para ayudarlo a comprender.
Para cerrar esta publicación, repasemos algunas lecciones clave basadas en las diferentes etapas del plan de desarrollo de DevOps.
Conclusiones de la hoja de ruta de DevOps
1. Utilice su experiencia técnica previa.
Volviendo al ejemplo del desarrollo web, tuve la suerte de haber aprendido HTML, CSS y JavaScript. Estos antecedentes me ayudaron a apreciar las otras tecnologías cubiertas. También estaba trabajando en un sitio web corporativo donde la capacidad de respuesta móvil era un desafío, lo que me animó a prestar más atención a este aspecto de nuestro campo de entrenamiento.
Un ingeniero de DevOps se encargará del ciclo de vida completo del desarrollo de software, por lo que cualquier experiencia que tenga en el campo les permitirá coordinar mejor las diferentes fases de DevOps y colaborar con sus compañeros de equipo. También les ayudará a sentirse más seguros con sus recomendaciones mientras trabajan en la optimización de su canalización.
2. Prioriza los conceptos, no solo las herramientas.
Habiendo aprendido JavaScript, tuve la ventaja de entender no solo la sintaxis sino también algunas reglas de programación que me sirvieron mucho en el campo de entrenamiento en comparación con aquellos que nunca antes habían codificado.
Del mismo modo, el conocimiento técnico es importante, pero si no entiende las razones por qué sigues un cierto enfoque, no podrás transmitirlos al resto del equipo. El ingeniero DevOps es un defensor del método DevOps además de todo lo que hacen en el equipo, por lo que es crucial comprender los conceptos detrás de la tecnología.
3. Sea un generalista, no un especialista.
Dado que los ingenieros de DevOps tocan todo el ciclo de vida de DevOps, es mejor saber un poco sobre todo que ser fuerte solo en unas pocas áreas. Los colaboradores individuales de su equipo deben especializarse en sus áreas específicas (desarrollo, redes, monitoreo, etc.). Usted es responsable de transferir el producto entre cada colaborador.
Si tienes una buena comprensión del proceso y quieres aprender más, tampoco te limites. Las personas apasionadas por el aprendizaje serán excelentes como ingenieros de DevOps. Solo asegúrate de enfocarte en el panorama general también.
4. Busque siempre nuevas oportunidades de aprendizaje.
La tecnología está en constante cambio. Su organización también debe adaptarse a las últimas mejores prácticas y desarrollos para garantizar que se mantenga actualizado con el software entregado. Como parte de esto, un ingeniero de DevOps siempre debe buscar la próxima tendencia para poder asesorar mejor a su equipo sobre cómo incorporarla en su proceso.
Como ya habrás notado, el plan de desarrollo de DevOps está lleno de diferentes tecnologías y conceptos para que los descubras. Si le apasiona aprender, esta hoja de ruta debería servir como una guía valiosa a medida que comienza a desarrollar su conocimiento. Concéntrese en cada paso y pronto obtendrá las habilidades que necesita para comenzar su carrera como ingeniero de DevOps.








