Desarrolladores, IT Pros, ¡Háganse amigos con DevOps!
Con una mano en el corazón y aprovechando que esto es un blog y no voy a esperar tu respuesta, pero al menos contéstate a ti mismo en forma sincera: ¿Cómo se llevan tu equipo de desarrolladores y tu gente de infraestructura? ¿Has probado ya con todas las actividades de los libros de “team building” pero no hay avances? ¿Has también intentado juntarlos con algún deporte en equipo y siempre termina alguno lesionado por algún pisotón?
Te entiendo. Es muy habitual que los equipos de desarrollo y operaciones tengan fricciones debido al escaso grado de comunicación (efectiva) que logramos entre ellos.
Un diálogo ilustrativo de un típico escenario:
- Operador: ¿Cómo monitoreo tu aplicación .NET?
- Desarrollador: pero si anda bien en desarrollo.
- Operador: es que sólo sé si no está disponible cuando los usuarios llaman.
- Desarrollador: ¿y por qué falla?
- Operador: ¡¿cómo voy a saberlo si es tu código?!
- Desarrollador: ¡pero es tu hardware!
- Ambos: texto (auto)censurado…
He visto empresas que presentan planes de sistemas totalmente aislados desde desarrollo y operaciones. El primero apunta a sus metodologías ágiles (o no tanto) y ALM, el segundo, a alta disponibilidad. Pero hay algo que ambos deben entender: no hay ALM sin información de feedback de la operación ni alta disponibilidad si la aplicación falla.
¡Es allí en donde entra DevOps! La idea es lograr integrar a estos equipos durante el ciclo de vida de la aplicación a través de los siguientes hitos:
- Definir un criterio de testeo continuo.
- Automatizar tareas operacionales relacionadas, tales como la administración del laboratorio de tests y el desarrollo mismo.
- Establecer un mecanismo de manejo de incidentes en el cual participen activamente ambos aportando la información necesaria para reducir el tiempo de resolución de bugs.
- Proveer diagnósticos accionables (no guías de instrucciones) en ambientes administrados por operaciones.
¿Y las herramientas? TFS (los desarrolladores la conocen muy bien) y System Center (el personal de infraestructura lo conoce muy bien) te habilitan a establecer esa unión para contar con información de troubleshooting y la detección de excepciones o problemas de performance automáticamente y sin tocar una línea de código (en el caso de aplicaciones .net), alertas que automáticamente se convierten en workitems para el equipo de desarrollo y permiten establecer un flujo de trabajo ordenado hasta el cierre del problema.
Si recién empiezas a conocer estas herramientas, te recomiendo que te focalices en TFS y, en cuanto a System Center, específicamente en los módulos Operations Manager (manejo de alertas, monitoreo), Orchestrator (orquestación de procesos) y Service Manager (manejo de incidentes y problemas).
Mas info (videos incluidos, por ahora en inglés) para que profundices: https://www.microsoft.com/visualstudio/eng/alm/operate
Y, por sobre todo esto, la oportunidad de que tus equipos se profesionalicen aún más.
¡Hasta la próxima!
____________________________________________________________________________________________________________________________________________________________________
El tip del post viene deportivo y tecnológico a la vez. Tecnológico, porque se basa en un (casi) nuevo material llamado grafeno que está siendo utilizado en gran cantidad de aplicaciones en informática. Pero también deportivo, dado que se trata de una raqueta de tenis de grafeno. Seguramente no jugaré como Djokovic (es “algo” probable que me venza en un single) pero tengo que decir que se siente muy cómoda en el uso. Aquí te paso el link para que las veas: la nueva línea de Head.
Enjoy life!