Suponiendo que su rol de infraestructura involucra algunas implementaciones de software, querrá adquirir algo de experiencia usando Jenkins para automatizar y administrar algunas de sus implementaciones. Por supuesto, está utilizando alguna combinación de scripts y procesos manuales para hacerlo hoy. Comience a reemplazar algunos de estos scripts con procesos y notificaciones de Jenkins.
A continuación, una vez que tenga sus piernas Jenkins, tendrá que mirar el paquete de software a través de contenedores Docker. Ya debería tener algo de experiencia en la gestión de imágenes de VM. Docker es más flexible y liviano: las distribuciones son muy concisas, en términos de administración de configuración, y simplemente no son tan grandes, en términos de tamaño de archivo.
Jenkins y Docker son fácilmente el 80–95% de DevOps hoy, para la mayoría de las organizaciones. Una vez que tenga estas habilidades … la gente de DevOps debe ser “consciente” de sus capacidades, ¡y listo!
- ¿Es realista mantener las especificaciones actualizadas?
- ¿Cuáles son algunas formas en que un ingeniero de software puede ofrecer voluntariamente su trabajo calificado?
- ¿Cuáles son algunas historias de éxito del uso de la recolección automática de basura en sistemas a gran escala?
- Como gerente de desarrollo de software, ¿cómo puedo convencer a una empresa compradora para que conserve mis excelentes pero costosos desarrolladores frente a la contratación externa?
- ¿Qué es más importante que un ingeniero informático sepa? ¿Conceptos técnicos o codificación?
Además, desea conocer el desarrollo de software, probar e implementar ciclos de vida. Alguna experiencia con APM (Application performance Management) también sería muy útil. Y debe tener conocimientos de arquitectura y API sobre cómo se construyen e implementan los microservicios.
Si bien esta ruta es suficiente para las aplicaciones y operaciones heredadas, las nuevas aplicaciones se desarrollan directamente para su implementación en la nube. Por lo tanto, también querrá saber acerca de AWS, Cloud Foundry, etc. Docker y Jenkins son las bases de estas herramientas.
El objetivo de DevOps es automatizar el ensamblaje, las pruebas y la implementación de software escalable, a fin de aumentar el ritmo de implementación de nuevas funciones, así como mejorar la solidez general de los componentes del software. Esto es bastante diferente del rol de infraestructura, pero centrarse en la automatización del proceso de implementación es la habilidad valiosa en el futuro.