El papel cambiante de los DBA en un mundo "como servicio".

Durante la última década, ha habido una evolución masiva en la gestión de bases de datos y las necesidades y requisitos de gestión en una empresa moderna. Los administradores de bases de datos (DBA) responsables de administrar las bases de datos empresariales están viendo un cambio de enfoque predominante: en lugar de garantizar el acceso y la disponibilidad, se les pide que desarrollen estrategias de arquitectura, diseño y escalabilidad que satisfagan las necesidades y los objetivos comerciales.

Gran parte de esta evolución comenzó con las empresas basadas en Internet y los nuevos modelos de ingresos que han empleado. Estas empresas pidieron a sus ingenieros de confiabilidad del sitio (SRE) o DBA multifacéticos que se aseguraran de que el principal motor de ingresos de la empresa (aplicaciones y páginas web) no solo se mantuviera activo, sino que pudiera escalar donde el negocio necesitara ir. Esto ha superado con creces las funciones estándar de los administradores de bases de datos anteriores: mantener viva la base de datos, realizar copias de seguridad y reaccionar ante los problemas a medida que surjan.

Índice

Nuevos modelos de ingresos, nuevos problemas de aplicación

A medida que hacer negocios en Internet se ha vuelto no solo más común, sino también necesario para seguir siendo competitivas, las empresas han tenido que encontrar nuevos modelos de implementación que puedan seguir el ritmo de las tecnologías y arquitecturas cambiantes. Uno de los más grandes fue la nube y los paradigmas "como servicio", donde el software, las bases de datos, las plataformas e incluso la infraestructura se podían "alquilar" a través de modelos basados ​​en la nube (software como servicio). [SaaS], base de datos como servicio [DBaaS], plataforma como servicio [PaaS]e infraestructura como servicio [IaaS], respectivamente).

Los requisitos y necesidades para administrar bases de datos basadas en la nube y entornos de bases de datos basados ​​en DBaaS han evolucionado junto con este cambio. Por ejemplo, en el mundo SaaS, las interrupciones de las aplicaciones dan como resultado una pérdida de ingresos. Más allá de la pérdida inmediata de ingresos (junto con los gastos que acompañan a la resolución), los servicios y aplicaciones inactivos suponen una pérdida de clientes. Esto significa una pérdida de ingresos recurrentes (tanto para los clientes como para los proveedores de SaaS). Para mantener el flujo de ingresos, se debe planificar cada parte de la infraestructura de base de datos SaaS crítica de una empresa, incluidas cosas como tener redundancia integrada y una arquitectura preparada para el futuro, así como también cómo escalar para crecer.

El crecimiento significa expandir los servicios o ingresar a nuevos mercados. Esto a menudo surge de la necesidad de nuevas aplicaciones críticas para el negocio. En el mundo actual "como servicio", hay varias formas de desarrollarlos e implementarlos. ¿In-house, en la nube, como servicio? ¿Una combinación? ¿Son los contenedores una buena idea? ¿Entornos virtualizados? Todas estas son opciones cuando busca hacer crecer su negocio y satisfacer las necesidades de los clientes.

Y el éxito en el cumplimiento de los requisitos del cliente es la forma en que las empresas cumplen (o no cumplen) los objetivos comerciales. En el mundo actual, los clientes esperan que las aplicaciones y las páginas web se ejecuten rápidamente, sin problemas y con poco esfuerzo. Todos nos hemos acostumbrado a la inmediatez de lo que queremos, cuando lo queremos. Esto significa que las empresas deben ser ágiles y capaces de implementar rápidamente nuevos servicios y aplicaciones para satisfacer la demanda de nuevas funciones o aprovechar nuevas oportunidades en mercados inexplorados.

Las necesidades de las bases de datos empresariales están evolucionando

Al implementar servicios, aplicaciones o sitios web, siempre debe planificar la escalabilidad. Lo primero que puede afectar a los datos es un cambio en la carga de trabajo de la base de datos, ya sea debido a un cambio en los datos almacenados y accedidos o un cambio en la cantidad de tráfico.

También es importante comprender qué tan flexible es su entorno de base de datos. ¿Puede expandirse horizontalmente para hacer frente al crecimiento o necesitará más hardware? Si está en la nube, ¿cuáles son los costos asociados con un mayor uso? Es fácil comprar varias instancias en la nube para satisfacer una necesidad inmediata, pero se pueden olvidar y dejar que agoten sus gastos operativos, incluso después de que la necesidad haya desaparecido.

Saber qué tipo de información está recopilando y por qué puede proporcionar una idea de cómo. Esto a menudo significa usar diferentes bases de datos para diferentes aplicaciones.

Por ejemplo, considere un sitio de comercio electrónico. Hay muchas aplicaciones que interactúan para recopilar datos para el comercio electrónico: contenido del carrito, pedidos completados, información de inventario y pedidos de reabastecimiento. Es posible almacenar toda esta información en una sola base de datos, pero esto puede requerir trabajo adicional y gastos generales para convertir los datos a un formato que pueda usarse para aplicaciones específicas. En su lugar, puede almacenar la información en una base de datos que se adapte mejor a ese tipo de datos. Obligar a una base de datos a manejar una carga de trabajo para la que no fue diseñada puede degradar el rendimiento y causar otros problemas.

Cuantos más problemas pueda diseñar antes de lanzar productos o servicios, menos posibilidades hay de una catástrofe futura. Esto significa, por ejemplo, que un desarrollador de aplicaciones de comercio financiero requiere DBA e ingenieros de bases de datos para diseñar una base de datos que se caliente fácilmente y evite problemas de latencia. Para hacer esto, deben trabajar en estrecha colaboración con los desarrolladores para escribir llamadas de base de datos mejores y más eficientes y crear una base de datos que reduzca la demora a casi cero.

Cuando una empresa traslada su base de datos a la nube (por ejemplo, utilizando opciones DBaaS como Amazon Relational Base de datos Service y Aurora, Google Cloud o Microsoft Azure), el proveedor de servicios en la nube a menudo se hace cargo de gran parte de la automatización operativa y de tareas cotidianas. Tareas.

Entonces, ¿todavía necesita DBA? ¡Sip! El panorama cambiante de las bases de datos no elimina la necesidad de tener conocimientos de bases de datos, sino que cambia el enfoque de esas habilidades hacia el lado del diseño y desarrollo de la aplicación. Alguien no solo debe diseñar y optimizar la base de datos para respaldar la aplicación, sino también comprender cómo construir los componentes modulares disponibles en la nube en una unidad cohesiva y escalable que satisfaga las necesidades de la aplicación y el negocio. Esto significa que se logran impactos mucho mayores y retornos de la inversión más claros mediante una experiencia de base de datos eficiente.

¿Qué necesitan saber los DBA?

A medida que evoluciona el panorama de las bases de datos, los DBA valiosos se centrarán menos en las soluciones de reparación y más en las soluciones de estrategia y planificación. Se preguntará a los DBA cómo la base de datos puede contribuir a los objetivos comerciales generales de la empresa y qué soluciones existen para lograr esos objetivos. Deberán ayudar a los desarrolladores de aplicaciones a crear llamadas a bases de datos que no solo tengan sentido ahora, sino que funcionen a escala.

Con nuevas opciones tecnológicas como la implementación en la nube y la creación de contenedores, deberán monitorear y reevaluar constantemente cómo funcionan las aplicaciones con la base de datos y cómo mejorar el rendimiento (o incorporar nuevas funciones o solicitudes de los clientes sin afectar el rendimiento).

Finalmente, a medida que más y más empresas utilizan diferentes bases de datos para diferentes aplicaciones y escenarios, los DBA deberán mantenerse constantemente al tanto de las nuevas tendencias y tecnologías de bases de datos para seguir siendo una fuente experta de conocimiento de bases de datos.

A lo largo de los años en Percona también hemos visto este cambio. Los tipos de problemas a los que nos enfrentamos a diario han evolucionado junto con el entorno de la base de datos (y el papel del DBA). Actualmente, más del 50% de los tickets de soporte abiertos por nuestros clientes están relacionados con problemas de diseño de aplicaciones, rendimiento de consultas o diseño de infraestructura de base de datos. Hace cinco años, las solicitudes de ayuda y los tickets de soporte sobre problemas como estos representaban menos del 20 % de nuestra carga de trabajo general.

Esto tiene sentido cuando piensa en la madurez de las bases de datos de código abierto como MySQL, MongoDB, MariaDB y PostgreSQL, y los avances tecnológicos que impactan en la base de datos. Las bases de datos más estables, junto con los avances en la automatización interna o la infraestructura basada en la nube, reducen la probabilidad de fallas genéricas debido al software de la base de datos central. A menudo, las causas actuales de interrupciones y problemas son decisiones de diseño, código incorrecto o "casos extremos" extraños que no se consideraron en la planificación inicial.

Todo esto significa que el papel del DBA está cambiando de simplemente "mantenerlo en funcionamiento" a una posición mucho más estratégica: el DBA es uno de los expertos que ayuda a las empresas a alcanzar sus objetivos comerciales estratégicos.

Artículos de interés

Subir