La Complejidad del Data Center

¿Qué sistema de gestión necesita su empresa?

Ninguna empresa desea que su data center sea complejo de administrar u operar. De hecho, el requerimiento es exactamente el contrario: simplicidad. Las compañías buscan ganancias económicas, es su razón de ser, y cualquier complejidad en el data center crea un problema a ser superado lo que conlleva horas de trabajo, servicios profesionales, etc., que al final del día se traducen en gastos para el negocio.

La tecnología se encuentra en un cierto punto en la actualidad en la que es posible, a través de hardware, software y expertos de IT, alcanzar la meta de ofrecerle al negocio agilidad, desempeño, confiabilidad, disponibilidad y escalabilidad. Sin embargo, el problema para la mayoría de empresas es que no pueden darse el lujo de incurrir o justificar los costos de la nueva infraestructura o del personal necesario para modernizar su data center. Es entonces, la complejidad es, en muchos casos, la barrera que el grupo de TI debe sortear con el fin de cumplir y exceder los requerimientos del departamento de IT.

Data center moderno

El data center moderno basado en una solución de SDDC, siglas del inglés Software Defined Data Center, es capaz de eliminar las complejidades existentes en las plataformas tradicionales basadas en sistemas definidos por hardware propietario. Estos sistemas definidos por hardware fueron creados porque soluciones basadas en hardware tipo commodity no podían proveer los recursos o el desempeño requerido para ejecutar los servicios necesarios para el negocio. Por ejemplo, las redes SAN fueron creadas cuando se volvió obvio que los servidores con discos locales simplemente no podían proveer el desempeño o capacidad necesaria para almacenar todos los archivos de la compañía.

Hoy en día, el hardware tipo commodity y las soluciones basadas en software son capaces de proveer todo el desempeño y capacidad necesaria para cualquier empresa pequeña o grande. Además, ejecutar todos los servicios en software de tal manera que toda la complejidad de los servidores, almacenamiento y redes es eliminada, permite que las tareas de los administradores de la plataforma sean aliviadas enormemente permitiéndole destinar más tiempo en innovar y apoyar directamente al negocio.

Sin embargo, las soluciones de data center basadas en software no se tratan simplemente de hacer la vida de los administradores de IT más fácil. Los sistemas modernos definidos por software permiten alcanzar la visión del nuevo departamento de IT (es decir que se convierta en un proveedor interno de servicios) al proveer la agilidad, alto desempeño, disponibilidad, y escalabilidad que el negocio requiere.

Agilidad y Desempeño

Para competir en el campo de los negocios hoy en día las empresas deben ser ágiles. Lo que significa que ellas deben ser capaces de adaptarse rápidamente al ambiente siempre cambiante y competitivo del negocio. Para lograrlo, las instituciones deben poder ejecutar y desarrollar, lo que sea necesario realizar, exactamente cuándo se requiera, y en la forma justa en que el negocio exige que sea realizado. En muchos casos, la agilidad y desempeño de una empresa son factores determinantes del éxito o fracaso de la misma en el mercado.

En términos, de la infraestructura moderna, la agilidad y el desempeño pueden ligarse a un alto nivel para permitir desplegar nuevas aplicaciones o funcionalidades de manera muy rápida, y darle la capacidad a la empresa de escalar las aplicaciones existentes a medida que el negocio así lo exija.

A nivel más bajo, el término desempeño puede ser asociado a la performance mismo de la aplicación. Esto as su vez, está atado a la performance actual que entregan los servidores, el almacenamiento, y la red sobre los cuales se ejecuta la aplicación. Con el fin de conseguir ese desempeño deseado de las aplicaciones, en la actualidad existe una variedad de recursos de hardware disponibles a precios muy asequibles como por ejemplo almacenamientos con discos SSD, CPUs de 20 cores, memorias de alta velocidad, etc.

En la actualidad no existe más la gran brecha tecnológica que había entre las grandes y las pequeñas compañías, que dejaban a estas últimas en una desventaja competitiva. Son las compañías ágiles, con una infraestructura que les permita desarrollar lo que el negocio exige cuando se necesite, las más exitosas en el mundo de los negocios.

Existen unos conceptos indispensables que toda compañía que apunta a modernizar y dinamizar debería manejar y entender, tales como la automatización de servicios y orquestación de recursos, mismos que serán revisados a continuación.

Automatización y Orquestación

Una de las maneras en las que las empresas se están volviendo más ágiles es automatizando los servicios y orquestando los procesos actuales que rigen el negocio y el despliegue de nuevos servicios de TI. Es común que exista una confusión entre estos dos términos y es importante aclarar sus diferencias.

La Automatización

Es utilizada para tomar las tareas de administración y configuración de infraestructura comunes y escribirlas en un script de tal manera que puedan completarse con unos pocos comandos. Un ejemplo de esto es el despliegue de un servidor nuevo en Windows utilizando plantillas en un ambiente VMWare. En lugar de tomar un template y desplegarlo manualmente desde una librería y luego tener que personalizarlo (por ejemplo, asignarle manualmente dirección IP y nombre al servidor), proceso que llevaría aproximadamente 10 minutos; la automatización tomaría control de todo este proceso y permitiría realizarlo con un solo comando y en una fracción de tiempo.

Este proceso de automatización, podría manejar parámetros posicionales para asignar el nombre y la dirección IP al servidor de manera automática, por ejemplo. Si es que se hace la analogía con una orquesta sinfónica, el proceso de automatización de servicios vendría a ser la partitura que todos los músicos tienen enfrente y que les indica qué notas tocar, en qué momento, de tal manera que la melodía pueda tocarse de manera precisa, en cualquier momento y cuando sea que el director necesite que la interpreten.

La Orquestación

A diferencia que la automatización, trabaja en un nivel más alto y en últimas es la que permite que se puedan automatizar las tareas.

Un ejemplo de orquestación podría ser el despliegue de un ambiente para una aplicación de 3-capas con un servidor Web, un servidor para el Middleware, y una base de datos. Para cumplir con este nivel de orquestación, el motor debería permitir reconstruir las tareas automáticas que finalmente lleven al despliegue del ambiente de la aplicación en cuestión. Una de esas tareas sería la misma del ejemplo de la automatización planeando arriba donde se escribió un script para el despliegue de un servidor Windows. El motor de orquestación en este caso usaría la misma tarea de automatización para desplegar tres servidores de Windows nuevos, todos desde el mismo script, y luego utilizar otros scripts de automatización para llevar a cabo la configuración de esos tres tipos diferentes de servidores. El proceso completo que es disparado en conjunto a través de múltiples tareas automatizadas es lo que se conoce como orquestación.

Los sistemas definidos por software hacen que el proceso de automatización y orquestación sean mucho más fáciles de adoptar y de aplicar. Estos sistemas utilizan interfaces de programación de aplicaciones o APIs, las cuales hacen posible la automatización y orquestación al permitir a los administradores escribir dentro de un script las tareas que comúnmente las harían de forma manual y utilizar los motores de orquestación para ejecutar esas tareas automáticamente con el fin optimizar los procesos del negocio y reducir los riesgos de errores humanos.

Es gracias a esta capacidad de desarrollar y desplegar los procesos del negocio de manera rápida, que una empresa puede alcanzar una mayor agilidad y desempeño tan necesarios en el mundo siempre cambiante de los negocios actuales, en donde las compañías requieren dicha agilidad para mantenerse competitivas y poder entregar sus servicios y productos de manera más eficiente.

Auto-Aprovisionamiento

Una vez que las empresas adoptan logran orquestar sus procesos y automatizar las tareas comunes, éstas podrían optar por implementar el Auto-aprovisionamiento. Se trata de la opción que ofrecen varios proveedores de Cloud como Amazon Web Services, en donde se pone a disposición del cliente un portal desde el cual éste puede acceder a un menú con múltiples opciones y una vez que elige una de ellas, ésta automáticamente es aprovisionada y puesta a disposición del cliente.

En el caso de una empresa, a nivel de su infraestructura de TI, el concepto de aprovisionamiento o self-service, quiere decir que cuando un empleado de la compañía necesite una aplicación/servicio de IT; o un desarrollador necesite infraestructura; éste podrá acceder a un portal y con unos pocos clics tener acceso casi inmediato al recurso solicitado y empezar a trabajar con él. En un departamento de TI tradicional sin automatización, ni orquestación y ni auto-aprovisionamiento, este proceso podría haber tardado horas o días.

Cabe señalar que muchas organizaciones de IT se oponen al auto-aprovisionamiento principalmente por temor a perder el control de los recursos e información de infraestructura de su compañía y en realidad es una preocupación muy valedera. Sin embargo, el autoaprovisionamiento puede ser construido de manera que el departamento de TI no pierda control. Así, una plataforma de auto-aprovisionamiento bien construida le debe permitir al administrador de TI definir de manera clara los servicios que serán puestos a disposición de los clientes, quién puede usar esos servicios, qué aprobaciones son necesarias para usarlos, además de proveer la manera de ponerle un costo monetario a esos recursos y ser capaz de informar al departamento al que pertenece el usuario cuál es el gasto que implica a nivel de infraestructura el proveer los recursos a su empleado.

Hay que tomar en cuenta que el auto-aprovisionamiento no necesariamente significa que cualquiera dentro de la organización puede acceder al catálogo de servicios/aplicaciones, y desplegar cualquier VM (Virtual Machine) que desee. Por ejemplo, el auto-aprovisionamiento puede diseñarse de tal manera que sea accesible solo para personal de desarrollo entrenado o súper usuarios confiables en la compañía que trabajen en el core de TI del negocio y la rapidez y la agilidad en la provisión de servicios sea vital para su trabajo.

El auto-aprovisionamiento combinado con la automatización y la orquestación también es capaz de brindar múltiples servicios internos y externos en una sola interfaz, haciendo que el despliegue y la reconfiguración de los mismos sea mucho más fácil.

Aunque aún exista cierta reserva con respecto al auto-aprovisionamiento, una vez que se implementó la automatización y orquestación, el auto-aprovisionamiento es el siguiente paso que una organización TI moderna debería dar con el fin de convertirse verdaderamente en el aliado y habilitador del negocio brindándole la agilidad que necesita para competir.

Fuente: Pontificia Universidad Católica del Ecuador, Estudio de las tendencias tecnológicas para la modernización de centro de datos y presentación de una propuesta de una arquitectura de data center moderno, Mario Sánchez Paz

¿Qué sistema de gestión necesita su empresa?