Una pregunta que podemos encontrar muy a menudo: ¿cómo mejorar la productividad de los departamentos de TI? En nuestros tiempos de crisis económica, de creciente competencia, de globalización, ¿cómo reducir aún más los costes? ¿dónde encontrar nuevas fuentes de optimización? En pocas palabras, ¿cómo hacer « más con menos » ?
Seguro que muchos pensarán « ¿Cómo mejorar la productividad de los desarrolladores y de los proyectos? » pero, creo que, cada vez más, son los departamentos de Producción que son más capaces de responder a esta pregunta, gracias a la virtualización.
Anteriormente, la Producción tenía una imaginen bastante limitada, porque se necesitaba una buena cantidad de burocracia, de procedimientos y de paciencia para poder conseguir cualquier recurso, servidor o disco duro.
Y cuando ocurría un problema en el entorno de producción, tenía que ser realmente muy grave para que alguien decide investigar. Quiero decir, si el servidor de desarrollo o de QA era lento, nadie lo miraba.
Ahora, cuando necesitas una máquina, o más CPU o espacio de disco duro, puedes enviar un correo electrónico y esperar que se cumple tu petición lo antes posible, generalmente dentro de 48 horas. La respuesta de la Producción a las necesidades del negocio ha mejorado realmente. Con la virtualización, una nueva VM (Máquina Virtual o Virtual Machine) se instala con 3 clics del ratón, y recursos adicionales en la máquina virtual actual con aún menos tiempo.
Esto para la parte « más » de la ecuación.
Pero hay una ley natural que dice que cuanto más fácil es para obtener un recurso más aumenta el nivel de despilfaro. Y esta ley se cumple incluso con la virtualización, en la forma de un fenómeno conocido como la ‘proliferación de las VM’, principal preocupación de los departamentos de Producción y principal fuente de costes, con el crecimiento exponencial del almacenamiento (un promedio de 30% cada año).
¿Cómo evitar la inflación de los presupuestos y hacer « más con menos » ? La repueseta se encuentra en la Gestión de Capacidad (Capacity Management), que vamos a presentar a través de los principales ejes definidos por ITIL.
Conocer lo que tenemos
La virtualización es un nuevo mercado en fuerte crecimiento y la competencia es feroz entre los diferentes actores para conseguir mayores cuotas de mercado. Los departementos de Producción son muy conscientes de este juego competitivo y lo utilizan más a menudo con el fin de adquirir a mejor coste los recursos de hardware (CPU, memoria, cabinas de discos, etc.) y de software (OS, soluciones de virtualización, etc.) para sus infraestructuras.
Estos entornos, a su vez, se dividen en diferentes silos de tecnología. A menudo se encuentra en el mismo departamento servidores Solaris , IBM, x86, sistemas AIX, Linux, Windows, etc. y soluciones de virtualización de VMware o HyperV, según la oferta más interesante de un año a otro. Y no hablar de soluciones SAN, NAS, etc. Sin duda, el segmento de mercado en el que los avances tecnológicos son los más importantes y la competencia más feroz. Si este tema es de interés para ti, seguramente conces el blog de mi ex colega y buen amigo Philippe Nicolas.
Esta multiplicación de tecnologías también permite satisfacer mejor las necesidades de los departamentos de Desarrollo. Una base de datos Oracle con un alto volumen de transacciones se sentirá más cómoda en un servidor Unix cuando un servidor de correo no crítico puede conformarse con una máquina virtual con Windows. Y es probable que se necesitará una solución de almacenamiento de alto rendimiento, pero también de coste alto para la base de datos y un disco más lento, pero también más barato para el servidor de correo.
La gestión de una infraestructura heterogénea requiere una solución de Gestión de Capacidad capaz de reconocer estas diferentes tecnologías y proporcionar mediciones estandarizadas: el valor de un MIPS no es el mismo entre todos los fabricantes de hardware y editores de software.
Conocer el estado de lo que tenemos
Conocer su infraestructura no es suficiente, también se debe conocer su estado: ¿cuáles son los servidores y máquinas virtuales con saturación, contención de recursos o incidentes. Mejor aún, es crucial identificar los riesgos para estos recursos antes de que se produce un fallo en la base de datos u otra aplicación crítica para el buen funcionamiento de la empresa. Cuando un sistema de pagos bancarios no puede cumplir con los plazos porque un backup no se completó a tiempo por una saturación de disco duro, lo mejor es saber lo antes posible, es decir antes de que el teléfono comience a ponerse caliente.
La primera tarea del Capacity Manager, cuando llega al trabajo cada mañana, es para comprobar el estado de su infraestructura. Una vez más, una solución de Gestión de Capacidad debe:
- Entregar una visión general que identifica inmediatamente si una máquina tiene o va a experimentar un problema (con umbral de alerta).
- Permitir un drill-down desde el CPD, en el cluster, el servidor, la máquina virtual en el servidor, los recursos con problemas en esta VM, etc.
Responder a las necesidades de los usuarios
Ya lo hemos dicho, la virtualización aporta un nivel más alto de solicitudes de los usuarios, y las respuestas deben cumplirse tan pronto como sea posible. No sólo se trata de hacer más, sino también mejor y más rápido.
Por eso, es necesario identificar los recursos no utilizados y que se pueden entregar, por ejemplo:
- Una máquina virtual inactiva o apagada, pero que consume espacio en disco duro.
- Una máquina virtual activa, pero durmiente desde más de 20 semanas: un entorno de QA a disposición de un proyecto que ha terminado la fase control de calidad, pero ha ‘olvidado’ de informar la Producción.
Otro reto consiste también en responder rápidamente a necesidades correspondientes a un aumento de la actividad, por ejemplo, una aplicación con número de usuarios en aumento, evento de negocio raramente anunciado a los departamentos de Producción. En este caso, el Capacity Manager debe ser capaz de identificar qué cluster está disponible para instalar una máquina virtual con un perfil de consumo de recursos más alto. Sin dejar de respetar los umbrales de disponibilidad HA (High Availability).
Capacity Planning
El Capacity Planning es la forma más avanzada de la gestión de capacidad. Se debe responder, no sólo a los incidentes y solicitudes de los usuarios, pero de entregar de forma proactiva un plan de consumo de recursos en el futuro, generalmente para el Director de Producción o de TI, para la previsión de presupuesto del próximo año. La solución consiste en utilizar los datos históricos disponibles con el fin de identificar las tendencias y planificar la evolución de la demanda de recursos.
Pero también hay casos más complejos: una fusión con una otra entidad necesita gestionar 400 usuarios nuevos. ¿Cómo evaluar la necesidad de recursos adicionales, además del crecimiento orgánico?
Otros casos más frecuentes: un período de rebajas en un sitio web comercial aumenta el número de visitantes y de transacciones. ¿Cómo asegurar que el sitio absorbe los impactos y evitar una degradación de tiempos de respuesta, o incluso la falta de disponibilidad del sitio? Estas variaciones de actividades durante períodos atipicos ocurren en todos los sectores: vacaciones escolares en el sector del transporte, un evento meteorológico o una catástrofe para una empresa de seguros, o simplemente el final de meses o de años para los recursos humanos o el departamento de contabilidad.
Es entonces necesario el uso de la información disponible para realizar una simulación y proporcionar al management los datos lo más objetivos posible que le permita tomar las decisiones adecuadas.
Cuando nos fijamos en las diferentes actividades de la Gestión de Capacidad de acuerdo con ITIL, es interesante hacer una comparación con la Gestión de la Calidad de las aplicaciones. Esta es una oportunidad para un futuro post, para responder a preguntas tales como:
- ¿Como conocer el portafolio de aplicaciones?
- ¿Cuál es la calidad de este patrimonio?
- ¿Cómo responder a las peticiones de los usuarios?
- ¿Cómo planificar la evolución de las aplicaciones?
¿Cómo hacer más y mejor con menos para tus aplicaciones?
Esta entrada está disponible también en Lire cet article en français y Read that post in english.