Curso de Istio
Aprende a crear y desplegar microservicios en resiliencia y tolerante a fallos.
Tabla de contenidos
Es una pregunta que ha estado intrigando a muchos en el sector de TI (Tecnologías de la Información) y que probablemente hayas escuchado, así que antes de comenzar a explicarte de que se trata primero quiero que conozcas por qué nace la necesidad de un DevOps en el mundo de TI.
En algunas compañías de TI suelen tener una gran muralla entre el área de desarrolladores de software y operadores de sistemas. Un desarrollador de software tiene como finalidad codificar y hacer sus correspondientes pruebas unitarias y generar lanzamientos de su aplicación (releases) en periodos cortos de tiempo, en cambio para el área de operaciones, su finalidad es mantener la plataforma estable y colaborar en el despliegue de esa aplicación, de tal manera que el usuario final la pueda ver en su pantalla.
Así que son dos áreas completamente distintas y que para cada una conlleva tareas de monitoreo, configuración e instalación, que no siempre será responsabilidad del desarrollador o del operador. En conclusión, el desarrollador no se responsabiliza de la estabilidad de la plataforma y el operador no le incumbe si la aplicación compilo bien o mal. (Problema común en las compañías de Software).
“La unidad es la fuerza…cuando hay trabajo en equipo y colaboración se pueden lograr cosas maravillosas”. Mattie Stepanek.
DevOps es un rol, una cultura y una metodología de buenas practicas de software, que aplica distintas tecnologías y herramientas que conllevan a acelerar los tiempos de implementación y entrega continua de una aplicación. DevOps es el resultado de la unión entre desarrolladores y operadores de sistemas, simplemente es quien se preocupa porque la aplicación compile correctamente y que la plataforma se mantenga estable.
Así las responsabilidades ya no están separadas, un DevOps está entre los dos bandos y derrumba esta gran muralla de la que hablábamos, promueve trabajo en equipo y colaboración entre las dos áreas.
Tenemos muchos beneficios de tener un DevOps en nuestro equipo, uno de ellos es dar pequeños adelantos de la aplicación en periodos cortos de tiempo y en lugar de demorarnos meses, lo podemos hacer en días :). También mejoramos notablemente la calidad de nuestro software, debido a que uno de los pilares DevOps es hacer pruebas de calidad automatizadas a nuestra aplicación.
Vamos a nombrar un tema adicional y no menos importante aquí y es la parte de infraestructura. Infraestructura es un conjunto de servicios, dispositivos físicos y componentes de hardware que cumplen una función específica y es el foco del área de operadores.
Pues DevOps debe tener conocimiento de Cloud Computing con el fin de dejar atrás la administración de máquinas físicas y enfocarnos en solo los servicios que necesitamos. A esto se le suma tecnologías de plataforma como servicio, software como servicio, infraestructura como servicio (PAAS, SAAS, IAAS ) que no es la finalidad de este articulo pero es importante nombrarlos, debido a que hacen parte de la adopción de DevOps a una compañía.
DevOps es el mejor amigo del Cloud Computing.
A continuación, listo algunos de los objetivos básicos y principales que debe tener un DevOps:
No es solo contratar un DevOps y listo, que haga maravillas, no funciona así. Una empresa tiene que empezar por adoptar bases de metodologías ágiles de software en su equipo. Al tener estos cimientos sólidos, se crea la necesidad de implementar metodologías DevOps para acelerar la entrega del software; esto genera la importancia de capacitar al equipo en herramientas de automatización y tecnologías con el fin de que NO exista la famosa muralla entre operaciones y desarrollo. Ahora todos son un solo equipo que va hacia un mismo objetivo, entregar software de calidad y mas rápido.
Existen muchísimas herramientas con la cual un DevOps puede trabajar, entre las más importantes están:
¡Si y definitivamente si!, como un futuro DevOps tienes una visión más global de como funciona el desarrollo de un software, te sientes libre y más productivo. En mi caso personal, es muy reconfortante cuando libero cargas al equipo de desarrollo y operaciones, dando como resultado un trabajo en equipo. El ser productivo te hace sentir bien y que sientes que hiciste un gran trabajo. Además, la tendencia del sector de TI va hacia la aceleración, la innovación y entrega continua de software para ser más competitivos en el Mercado tecnológico. Un DevOps es súper activo en este proceso de transformación tecnológica en el que están muchas compañías en el sector TI, así que es un buen arranque y lo más importante es que lo disfrutes al hacerlo.
También te puede interesar
Aprende a crear y desplegar microservicios en resiliencia y tolerante a fallos.