Implementación de un Centro de Excelencia de Base de Datos

En su organización, ¿quién decide qué plataforma de base de datos se utilizará para esa nueva aplicación que se ha creado? Para muchos grupos, esta decisión la toma el Equipo de desarrollo, mientras que para otros, es el Equipo de base de datos. Pero, ¿quién está mejor equipado para tomar esa decisión? Como suele ser el caso, la respuesta se encuentra en la cooperación común entre los dos.

Por supuesto, los equipos de desarrollo y los DBA pueden caer en la trampa de querer trabajar solo con la tecnología con la que están familiarizados. En muchas organizaciones, el CTO u otra línea ascendente puede conducir a la adopción de nuevas tecnologías. La trampa aquí, sin embargo, no es solo implementar el nuevo y brillante juego en el mercado, sino tomar decisiones bien informadas sobre cuál es realmente la mejor opción.

Ir con lo que sabes?

Con la presión de liberar las aplicaciones lo antes posible, la trampa de ir con lo que ya sabes es muy atractiva. Después de todo, no necesita aprender poco o nada sobre nuevas tecnologías e incluso es posible que ya tenga bibliotecas de código extensas que se pueden informar. Como gerente de consultoría técnica (TAM), veo que esto sucede a menudo cuando no hay otra razón convincente para adoptar una plataforma de base de datos que no sea familiar. Forcé aplicaciones en un modelo de base de datos relacional donde debería hacerse con una plataforma NoSQL, o viceversa. Con toda la prisa por llegar a la meta, a menudo es casi una necesidad debido a las limitaciones de tiempo. El mayor desafío, por supuesto, es el impacto en los usuarios cuando la aplicación no cumple con las métricas de rendimiento requeridas. A esto le sigue la frustración del equipo de DBA al administrar un sistema que siempre está por debajo de la media.

Pero es nuevo…

Como se indicó anteriormente, otra trampa es implementar una tecnología simplemente porque es nueva. El desafío con este enfoque es precisamente «por qué es nuevo». El nuevo software conlleva el riesgo de que no se revelen todos los errores y existe un riesgo sostenible de detectar estos errores en los momentos más desafortunados. Este riesgo se ve agravado por la falta de disponibilidad de expertos en la materia. ¡Si puedes encontrarlos, no serán buenos! Esto puede hacer que el costo de implementación se dispare artificialmente, sin mencionar la temida pregunta de cuánto tiempo lleva recuperar un sistema cuando el equipo tiene experiencia limitada con él.

A mí, como a muchos otros, se me ha encomendado dar soporte a una plataforma de base de datos con la que tengo poca o ninguna experiencia. La asustó mucho y aumentó sus niveles de estrés exponencialmente. El miedo se apoderó de mí cuando un sistema colapsó, preguntándome si seríamos capaces de recuperar una solución con la que teníamos poca experiencia. Ya es bastante malo que un técnico conocido te llame a una sala de guerra en medio de la noche, ¡pero ir allí preguntándote si puedes resolver el problema es otra cosa!

Pagar por familiaridad

Otro problema es elegir una plataforma de base de datos de mayor costo cuando tal vez una solución de base de datos de código abierto sería más que adecuada. Recuerdo una vez como líder del equipo MySQL DBA para una gran empresa que se enfrentaba cara a cara con una gran plataforma «empresarial» para un nuevo proyecto. Cuando me preguntaron cuánto costaría implementar en MySQL, ¡mi respuesta fue nada! La gran plataforma de negocios DBA dijo que su solución costó alrededor de $ 1,000,000 debido a los costos anuales de licencia. Creo que eso hizo que la decisión fuera obvia, pero aparentemente, ¡estaba equivocado que la organización eligiera gastar un millón de dólares al año! ¿Qué hace tal decisión? Familiaridad. Simplemente me sentí más cómodo con la gran solución de «negocios» porque había estado trabajando con ella durante mucho tiempo. Para que conste, MySQL habría sido una solución perfecta para sus necesidades, aunque en mi opinión fue un poco parcial. ¿Se tomaron el tiempo para hacer una prueba de concepto (POC) para ver si MySQL cumplía con las expectativas antes de tomar una decisión tan importante? ¡No, desafortunadamente no lo hacen! El desarrollo lideró el proceso de toma de decisiones con liderazgo yendo con lo que mejor sabían, independientemente de los ahorros potenciales para la empresa.

Es… Una Solución

Entonces, ¿cuál es la solución? Hemos implementado lo que veo que implementan otras empresas hoy en día, como TAM: un Centro de Excelencia (CoE). Si bien este término puede significar diferentes cosas para diferentes personas, esencialmente significa para mí que los equipos de administración, desarrollo y base de datos trabajan juntos para revisar nuevas aplicaciones y decidir cuál es la mejor solución. Para tener éxito, dichos procesos deben involucrar criterios de toma de decisiones que lo ayuden a tomar la mejor decisión. Los criterios evaluarán si se requiere una solución RDBMS o NoSQL. ¿O parte de la aplicación debe funcionar con una tecnología diferente? Si se selecciona NoSQL, ¿qué tecnología puede admitir DBA? ¿Necesitan agregar una nueva plataforma a sus habilidades? ¿Necesitamos nuevos recursos para apoyar esto?

Sin un CoE, a menudo el equipo de DBA no es consciente de una tecnología elegida hasta que está cerca de la producción. Sin embargo, si no tienen suficientes habilidades, a menudo es demasiado tarde para obtenerlas a tiempo. Como resultado, la aplicación se inicia sin el soporte adecuado. Con el CoE, la deficiencia en la viabilidad de apoyo se identifica antes de que comience el desarrollo y la gerencia puede decidir continuar o cambiar los planes. Si se toma la decisión de continuar, la siguiente pregunta es implementar la capacitación para el equipo de DBA o contratar expertos en el campo.

Para el desarrollo, elimine la presión de ellos y los dos equipos pueden trabajar juntos para garantizar que el equipo DBA respalde todos los esfuerzos de desarrollo. Los equipos esencialmente pueden aprender juntos y desarrollar el conocimiento de los demás a lo largo de la fase de desarrollo. Sé lo que estás pensando – es un sueño imposible. Para muchas organizaciones puede serlo, pero para muchas es el futuro.

Cuando se hace esto, la gerencia puede estar segura de que las decisiones no se toman en el vacío y que todo se hace para desarrollar una aplicación estable y eficiente. Si soy el CTO de una organización de este tipo, sé que estoy utilizando todos los recursos disponibles. El empoderamiento de los equipos de aplicaciones y DBA crea una moral fuerte y la visión de lo que viene a continuación alivia mucha tensión. Ya sea que la gerencia lo sepa o no, los equipos a menudo se preguntan qué se descargará en sus rondas junto al soporte y si estarán listos. Esto alivia la mayor parte de ese estrés.

Entonces, ¿su organización ha implementado un Centro de Excelencia o algo similar? Si no, ¡aquí hay un nuevo producto solo para ti!

Author: Ing. Luis

A lo largo de conocer Windows y otros sistemas operativos me eh encontrado con diversos tipos de error, ahora brindo soluciones según mi experiencia-

Deja un comentario