Estoy tratando de evaluar si es una buena idea alejarse de un flujo de trabajo de estilo devops a los tradicionales dev-then-ops (no estoy seguro de cómo se llama).
Somos un pequeño departamento de 5 personas escondido dentro de una compañía de medios tradicionales de 4000 empleados (por ejemplo, que no es de software). Hace dos años comenzamos a crear software para permitir que nuestro departamento escale significativamente nuestra producción. Hemos tenido bastante éxito y la gran empresa está comenzando a darse cuenta. Hasta la fecha, hemos sido los únicos responsables del diseño, desarrollo e implementación de lo que se ha convertido en una plataforma de microservicio AWS de ~ 10 servicios. Nuestro equipo no se identifica como DevOps, pero sin duda estamos viviendo la vida de DevOps, con cada desarrollador íntimamente familiarizado con el código y el sistema en el que se ejecuta.
Una de las preguntas que enfrentaremos en breve es qué "eficiencias" compartimos entre nosotros y el departamento de TI de nuestra empresa matriz. El propietario de nuestro proyecto generalmente prefiere la subcontratación en lugar del aprendizaje interno, por lo que en nuestro caso, estas eficiencias probablemente significan obtener la mayor cantidad de trabajo de TI "fuera de nuestro plato" como sea posible. Actualmente, diría que nuestro equipo tiene una división del 70/30% entre la experiencia en codificación y la infraestructura. El departamento de TI está sólidamente en el ámbito de TI, sin un cruce visible en el desarrollo de software.
El propietario de nuestro proyecto (un individuo no técnico) espera que al entregar la mayor cantidad de trabajo posible al equipo de TI veremos un aumento de ~ 1: 1 en la productividad por cada hora de trabajo de operaciones que eliminamos. Aunque soy escéptico sobre esto. Nuestro producto todavía es pre-beta (a pesar de que ya es un activo comercial significativo) y en nuestra experiencia limitada con el departamento de TI, generalmente hay retrasos significativos para cosas tan simples como los cambios de permisos del sistema de archivos.
En este momento, mi solución ideal sería que el departamento de TI nos "adoptara" y nos permitiera continuar implementando nuestro propio trabajo, a la vez que nos aseguramos de cumplir con los estándares y requisitos de la oficina de TI. Sin embargo, no estoy seguro de lo realista que es eso. Además, es casi el enfoque opuesto que defiende nuestro propietario del proyecto, ya que agregaría trabajo de operaciones adicionales a corto plazo.
En nuestra situación, ¿cuáles son las ventajas y desventajas probables de permanecer con el enfoque DevOps en lugar de entregar TI?