Story Transcript
ANEXO 16 COMPUTACION POR DEMANDA
FONDO FINANCIERO DE PROYECTOS DE DESARROLLO – FONADE PROGRAMA AGENDA DE CONECTIVIDAD
CONVENIO INTERADMINISTRATIVO No. 210060
LICITACIÓN PÚBLICA LP 001-2011
OPERACIÓN INTEGRAL DE LAS SOLUCIONES TECNOLÓGICAS DE GOBIERNO EN LÍNEA, LA PLATAFORMA DE INTEROPERABILIDAD Y LA INFRAESTRUCTURA Y SERVICIOS ASOCIADOS A LA INTRANET GUBERNAMENTAL
BOGOTÁ D.C., MARZO DE 2011
ANEXO 16
LP 001-2011
Página 1 de 9
COMPUTACIÓN POR DEMANDA
1.
MODELO DE COMPUTACIÓN POR DEMANDA
Para optimizar la administración de los recursos de infraestructura de la operación se ha adoptado un modelo de computación por demanda que el contratista deberá implementar y mejorar gradualmente. A continuación se describen el alcance, los conceptos, el modelo actual y un ejemplo de su aplicación. 1.1. ALCANCE DEL MODELO DE COMPUTACIÓN POR DEMANDA Este modelo aplica actualmente para los servicios de Centro de Datos. Durante la etapa de Operación el contratista deberá ajustar este modelo, cada seis (6) meses. Adicionalmente, deberá realizar los análisis pertinentes para incorporar en modelos de optimización los demás servicios contratados. En caso de que los anteriores análisis sean viables, se deberá realizar su incorporación en los modelos durante la operación. 1.2. UNIDAD COMPUTACIONAL Las compañías de servicios públicos convencionales han encontrado unidades para cuantificar su provisión y, por ende, su tarificación a los servicios prestados. En el caso de la energía eléctrica, por ejemplo, es el Kilovatio - Hora (KW/H), para el servicio de agua potable, el metro cúbico (m3) y así para el resto. Algunas compañías de telefonía móvil han adoptado el KiloByte (KB) transmitido o recibido, como su unidad de cuantificación relacionada con la navegación por la Internet o más popular el minuto o segundo de uso. Definir una unidad similar para ofrecer servicios computacionales es mucho más complejo ya que la salida no es tan fácilmente cuantificable como en los otros casos mencionados. La Unidad Computacional representa el valor básico para el cálculo de las exigencias de capacidad de una aplicación o servicio del Centro de Datos del Estado (dada principalmente en términos de uso promedio de CPU, entre otros) e involucra la totalidad de los recursos requeridos mencionados para la operación del servicio como personal, hardware, licenciamiento de software requerido, energía, etc. Inicialmente, en el año 2007, se definió que la unidad computacional se basaría, en la variable de procesamiento. Posteriormente a esta unidad se le incluyó también la variable de memoria RAM y se estableció como proporción que una unidad computacional estaría compuesta por 60% en procesamiento, y 40% en memoria. 1.3. CUANTIFICACIÓN DE LA UNIDAD COMPUTACIONAL Para la definición inicial de la unidad computacional, se tomó como referencia un servidor con dos procesadores, cada uno de 2 Ghz de procesamiento, memoria RAM de 4 GB y disco duro de 2 TB. Lo anterior sería equivalente a 100 unidades computacionales. Si una aplicación requería un servidor adicional, en las mismas condiciones, esto equivalía a 200 unidades computacionales. Si se requería una máquina con menor procesador, memoria o disco, dependiendo de las condiciones que se asignaran a estas variables, se obtendrían menos de 100 unidades. En cualquier caso, el concepto que hay detrás de las unidades computacionales es que se ofrece capacidad computacional y servicios, en lugar de hardware y software. 1.4. APLICACIÓN DE LA UNIDAD COMPUTACIONAL El proceso de definición y cuantificación de la unidad computacional se cierra con su implementación. Los sistemas de cualquier entidad, instaladas en un proveedor de servicios por demanda, se verán como se muestra en la figura 1.
ANEXO 16
LP 001-2011
Página 2 de 9
Figura 1. Ejemplo de uso de capacidad computacional de tres aplicaciones en un total de 100 unidades (100%). En la figura 1, se muestra un ejemplo en el cual un proveedor de servicios ofrece capacidad computacional equivalente a 100 unidades y el alojamiento de 3 aplicaciones. Cada aplicación tiene un consumo diferente, pero éste se puede agregar. De esta forma: las 3 aplicaciones consumen el 4% de capacidad (4 unidades) en sistema operativo, el 12% (12 unidades) en software base (antivirus, base de datos, aplicación web) y el 24% (24 unidades) en las aplicaciones como tal. Con éste panorama, no sólo se evita la compra de tres servidores que se hubieran requerido para alojar las tres aplicaciones, sino que además el 60% de capacidad queda disponible para crecimientos de cualquiera de las tres o de una nueva entidad o aplicación que demande servicios en un instante de tiempo dado. El esquema de cobro del servicio se hace entonces por aplicación y es el uso efectivo que se haga de la capacidad de cómputo. En este ejemplo, la aplicación 1 deberá pagar por las 15 unidades que consumió (2 de sistema operativo, 3 de software base y 10 de la aplicación), mientras que las aplicaciones 2 y 3 deberán pagar por 15 y 10 unidades consumidas, respectivamente. Es necesario mencionar que la implementación de un esquema de tarificación como el expuesto implica sistemas de gestión y monitoreo de alta calidad y exactitud, de manera que puedan identificarse inequívocamente los consumos por instancias que estén operando. (Ver figura 2).
Figura 2. Consumo efectivo de aplicaciones en un esquema por demanda. (Fuente: Microsoft System Center Operations Manager – SCOM)
1.5. VALORACIÓN DE LA UNIDAD COMPUTACIONAL Se debe recordar que se ha definido la unidad computacional como el uso efectivo de la capacidad de procesamiento. Sin embargo, debe también recordarse, que dicha unidad computacional incluye todos y cada uno de los recursos requeridos para la operación del servicio. Es decir los servicios base – core de computación y los de soporte (mantenimiento, seguridad, etc.). Con base en lo anterior, no se podría hablar de equivalencias en valor cuando se habla de software libre o de software comercial. Es evidente que el licenciamiento, el soporte técnico y la experticia del talento humano impactan más al software comercial que al software libre dados sus respectivos modelos comerciales.
ANEXO 16
LP 001-2011
Página 3 de 9
Las unidades computacionales correspondientes a tecnologías comerciales, por lo tanto, deberían y deben ser más costosas que las tecnologías libres. La figura 3 muestra el comparativo de costos por tecnología computacional.
Figura 3. Valor por unidad computacional para diferentes tecnologías para la primera etapa del Modelo (Fuente: Programa Gobierno en Línea – Colombia).
1.6. HOMOLOGACIÓN DE LAS UNIDADES COMPUTACIONALES La variable de comparación entre tecnologías, que el Programa tomó de base, es el índice RPE2 (Relative Performance Estimate – Versión 2) el cual tiene como objetivo proveer información comparable de desempeño para estudios y análisis relacionados con consolidación de servidores. En el 2008 se llevó a cabo el siguiente procedimiento para deducir las unidades computacionales que soporta uno de los servidores utilizados (IBM HS21 8853C2U): 1.
2. 3. 4. 5.
Se buscó en el mercado un servidor cuya configuración fuera lo más cercana a la solicitada (TR): una máquina con dos procesadores (2ch/2co), cada uno con 2 Ghz, RAM de 4GB, disco duro de 2TB, para atender una capacidad de 100 unidades computacionales. El servidor encontrado (MR) correspondió a un IBM BladeCenter HS20 (7981) Xenon Dual Core (LV) 2.0 Ghz (2ch/4co) con RAM 3GB. Se buscó en Ideas International, el índice RPE2 correspondiente a este servidor y el valor encontrado fue 1420. Se buscó en Ideas International, el índice RPE2 calculado para el servidor ofertado (MO), el IBM HS21 8853C2U, cuyas características eran Quad Core 2.33 Ghz (2ch/8co) con 2 GB RAM y el resultado fue 4730. Se calculó la relación entre los dos índices de las máquinas anteriores (MO/MR), y el resultado fue 3.33 (4730 / 1420) A partir de los pesos asignados para cada componente (60% CPU y 40% RAM), se calculó el índice de desempeño relativo (RPER) para el servidor base (TR), basado en la máquina IBM HS20. RPER(TR) = Índice relativo (MR/MR) * #Ch TR * Velocidad TR * 60% + RAM TR * 40% #Ch MR * Velocidad MR * 60% + RAM MR * 40% RPER(TR) = 1*2*2*60% + 4*40% = 1.11 2*2*60% + 3*40%
6.
Igualmente, se determinó el RPER, para el servidor instalado (MO2), el IBM HS21 8853C2U, configurado con 16 GB RAM, partiendo del configurado en servidor del punto 3 RPER(MO2) = Índice relativo (MO/MR)* #Ch MO2*Velocidad MO2*60% + RAM MO2*40% #Ch MR * Velocidad MR * 60% + RAM MR * 40% RPER(MO2) = 3.33 * 2*2,33*60% + 16*40% = 8.51 2*2*60% + 3*40%
7. 8.
Al servidor TR se le asignan 100 Unidades Computacionales Aplicando el RPE2 como factor ponderador, se obtuvo el número de unidades computacionales (UC) para los demás servidores.
ANEXO 16
LP 001-2011
Página 4 de 9
UC (MO2) = 8.51 * 100 = 766,65 1.11 A continuación se presenta la deducción de las unidades computacionales para cada servidor mencionado:
Marca y Modelo
Servidor
2.0 Ghz (2ch/2co)
TR
Chips (ch)
Core (co)
Velocidad (Ghz)
Índice de Procesamiento
Capacidad máxima de procesamiento (Mhz)
Capacidad Máxima de Memoria (MB)
Chips* Velocidad
RAM (GB)
¨Velocidad * Número de Core*1000
¨Número de RAM en GB * 1024
Índice relativo
2
2
2
4
4
4.000
4096
2
4
2
4
3
8.000
3072
2
8
2,33
4,66
2
18.640
2048
2
8
2,33
4,66
16
18.640
16384
RPE2
RPER
Unidades Computaciona les
1,11
100
1420
1
90,09
4730
3,33
300
8,51
766,67
IBM HS20 (7981) Xeon Dual core (LV) 2.0 Ghz MR
(2ch/4co) IBM HS21 Xeon E5345 Quad Core 2.33 Ghz
MO
(2ch/8co) IBM HS21 Xeon E5345 Quad Core 2.33 Ghz
MO2
(2ch/8co)
Nota: Con el propósito de facilitar los cálculos se aproximó el número de unidades computacionales a 767 9.
Se calculó el número de unidades computacionales de cada uno de los componentes: a. Total de unidades computacionales de CPU = 767 * 60% = 460,2 b. Total de unidades computacionales de Memoria = 767 * 40% = 306,8
10. Se calculó el factor de unidades computacionales para cada uno de los componentes, dividiendo el número de unidades computacionales de cada componente, entre la capacidad máxima del componente: Factor CPU (equivalente a 1 Mhz) = 460,2/18640(a) = 0,025 Factor Memoria (equivalente a 1 MB) = 306,8/16384(b) = 0,019 (a)
El cálculo se obiene de multiplicar los core por la velocidad en Mhz: 8 co * 2,33 Ghz * 1000 Mhz/Ghz = 18640
(b)
El cálculo se obtiene de multiplicar indicar la memoria ram en MB, teniendo en cuenta que 1GB es equivalente a 1024 MB: 16 GB * 1024 MB/GB = 16384
11. Para el cálculo de la unidad computacional de almacenamiento, se definió que 1 Unidad computacional corresponde a 10 GB o 10240 MB.
ANEXO 16
LP 001-2011
Página 5 de 9
1.7. MODELO ACTUAL En el año 2009, se realiza una optimización del modelo de computación por demanda, manteniendo el concepto de unidad computacional, pero teniendo en cuenta variables adicionales relacionadas con la “fidelidad” y “uso efectivo de tecnología”. Actualmente el modelo incorpora dos variables que permiten “ajustar” el modelo y las unidades a las tendencias financieras y del mercado imperantes: Un alfa ( ) que corresponde a un indicador de tarifa y un beta ( ) que permite incluir incentivos a comportamientos estables y crecientes de las aplicaciones usuarias según sus condiciones de uso. El modelo premia, en resumen, a aquellas entidades que hacen consumo estable o creciente de recursos además de un uso continuo de los mismos. Así mismo, permite una variación dinámica de tarifas conforme los cambios del mercado si esto es requerido. 1.8. EJEMPLOS DE CÁLCULO (PARA REFERENCIA) SITI es la aplicación del Programa Gobierno en línea que le permite a las entidades registrar la información relacionada con tecnologías de la información y las comunicaciones. Se basa en una arquitectura ORACLE de dos niveles (presentación y aplicación en una capa, y base de datos en otra) La aplicación está instalada en dos espacios virtuales separados con asignación de recursos para cada espacio, pero en la misma máquina (XXXXXBD011). El modelo de reporte que arrojan las herramientas de monitoreo, es el siguiente (Se muestra octubre de 2009, a manera ilustrativa):
La consolidación de la información de CPU2 y memoria RAM para los meses de octubre, noviembre y diciembre, para las capas de aplicación (presentación) y base de datos es:
1
Mes
Capa
Promedio Mensual CPU (Mhz)
Promedio memoria (Mb)
Septiembre
Aplicación
479,84
936,78
Septiembre
Base de Datos
144,77
1097,61
Octubre
Aplicación
522,48
956,63
Octubre
Base de Datos
106,55
994,29
Noviembre
Aplicación
433,5
975,69
Mensual
Se restringe el nombre de la máquina, por seguridad
ANEXO 16
LP 001-2011
Página 6 de 9
Mes
Capa
Promedio Mensual CPU (Mhz)
Noviembre
Base de Datos
163,3
Promedio memoria (Mb)
Mensual
1124,70
En cuanto a componente de almacenamiento, los datos medidos para el mes de noviembre son: Mes
Noviembre Noviembre
Aplicación Base de datos
Capa
Uso en MB 25497,6 25804,8
La metodología de cuantificación y tarificación se describe a continuación: a.
Establecer las unidades computacionales consumidas en cada capa
APLICACIÓN (PRESENTACIÓN)3: Consumo mes CPU o MEMORIA en Mhz * Factor CPU o memoria4 433,50 Mhz * 0,025 = 10,838 Unidades en CPU 975,69 MB * 0,019 = 18,538 Unidades en RAM DISCO5: 25.497,60MB / 10.240 = 2,490 Unidades en disco Todos los cálculos son realizados con precisión de tres dígitos decimales. BASE DE DATOS: Consumo mes CPU o MEMORIA en Mhz * Factor CPU o memoria6 163,30 Mhz * 0,025 = 4,083 Unidades en CPU 1.124,70 MB * 0,019 = 21,369 Unidades en RAM DISCO: 25.804,80 MB / 10.240 = 2,520 unidades en disco b. Establecer el total de unidades computacionales de la línea tecnológica El total de unidades computacionales se calcula sumando el número de unidades computacionales de memoria más las de procesamiento. Las unidades de almacenamiento serán sumadas para todas las capas de la aplicación y facturadas de forma independiente, de acuerdo al valor de almacenamiento. APLICACIÓN (PRESENTACIÓN) = 10,838 + 18,538 = 29,376 BASE DE DATOS: 4,083 + 21,369 = 25,452 DISCO: 2,490 + 2,520 = 5,010 c. Establecer el descuento por consumo Se debe recordar que el modelo también genera descuentos por consumo, que corresponden a las variables que permiten “ajustar” el modelo y las unidades a las tendencias financieras y del mercado imperantes: Un alfa ( ) que corresponde a un indicador de tarifa, o valor de la unidad computacional del servicio, y un beta ( ) que permite incluir incentivos a comportamientos estables y crecientes de las aplicaciones usuarias. La fórmula a utilizar es:
Donde: En algunas de las aplicaciones las capas de presentación y aplicación están separadas. Así mismo, es posible que aplicaciones que tengan las dos capas fusionadas, tengan más características de presentación que de aplicación y viceversa, lo que hace que se tome una u otra tarifa. 4 Peso de la CPU o de la memoria, dentro de la unidad, que arrojó el estudio llevado a cabo por el Programa. 5 Se debe recordar que en la conversión de KBytes a MBytes se tiene en cuenta que 1024 Kbyte corresponden a 1 Mbyte y que 10 MBytes corresponden a una (1) unidad de almacenamiento. 6 Peso de la CPU o de la memoria, dentro de la unidad, que arrojó el estudio llevado a cabo por el Programa. 3
ANEXO 16
LP 001-2011
Página 7 de 9
: Es el precio de la línea tecnológica ofrecido por el contratista q: Unidades computacionales del mes de la línea tecnológica : Constante = 1,25 µ: Constante = 0,6 0,93: constante definida por el proponente = Factor de multiplicación para el costo de la línea tecnológica, incluyendo descuento según ofrecimiento del proponente. El valor de esta constante siempre está entre 0 y 1. 1 representa costo del total, o sin descuento, y 0 representa descuento total, o del 100%. El valor asignado de 0,93 representa un descuento del 7% La anterior fórmula premio a quienes tengan una variación promedio menor o igual al µ por el promedio de los últimos 3 meses. En el ejemplo, el sistema lleva varios meses operando bajo el modelo, de manera que se tienen en cuenta la antigüedad y el consumo de meses anteriores. CAPA APLICACIÓN (PRESENTACIÓN) BASE DE DATOS
UC 2 meses antes 29,795 24,474
UC 1 mes antes 31,238 21,556
UC mes actual 29,376 25,452
Se deben cumplir dos condiciones: llevar, con el uso del modelo actual, al menos tres meses de antigüedad y que el consumo sea estable. Es decir que no presente variaciones considerables. (Se deja al lector el ejercicio de calcular tales variaciones pero es fácil encontrar, que son reducciones similares a las geométricas a lo largo de los 2 últimos períodos). La antigüedad de estar vinculado al modelo se cumple, para este ejemplo. En cuanto al consumo como se verá la fórmula fija un parámetro de estabilidad basado en el µ , que estabiliza las variaciones propias de consumo en cualquier proceso hasta un límite de operación dado, en este caso el 60% del promedio de los consumos de los 3 meses incluido el actual: CAPA APLICACIÓN (PRESENTACIÓN)
UC SEPT 29,795
UC OCT 31,238
UC NOV 29,376
PROMEDIO 30,136
APLICACIÓN (PRESENTACIÓN): a. b.
Noviembre es ligeramente inferior que el promedio de los últimos tres meses. Sin embargo pese a que hubo un crecimiento en el mes de octubre, el consumo ha sido bien portado, estable. Se calcula el factor q que incluye un factor llamado µ el cual vale, para la operación actual, 0,6. q corresponde al valor absoluto de la diferencia entre lo consumido y el promedio. Este mide la variación del consumo a lo largo del período. Fija el criterio de si el consumo ha estado en una franja que permite la utilización estable de la plataforma. q = ABS (UC NOV - µ * PROMEDIO ULTIMOS 3 MESES) q = ABS (29,376 UC - 0,6 * 30,136 UC) q = 11,294 UC
c.
Se hace el cálculo intermedio del factor Beta que es *Raíz( q/2) que es la forma de fidelizar al cliente. Factor *Raiz( q/2) = 1,25 * Raiz (5,647) Factor *Raiz( q/2) = 3,529
d.
Se calcula el valor total de las unidades sin descuento y con descuento: Valor sin descuento: Unidades computacionales*valor por unidad7 = 29,376 UC * $228.123 = $6.701.341 (aproximando a la unidad) Valor con descuento Valor por unidad*0,93*(unidades computacionales- Factor *Raiz( q/2)) = $228.123 * 0,93 * (29,376 UC - 3,529 UC) = $5.483.555 (aproximado a la unidad)
7
El valor por unidad es el definido en el contrato y en la propuesta del operador
ANEXO 16
LP 001-2011
Página 8 de 9
En estos cálculos, el valor de la unidad computacional para la línea tecnológica es de $228.123 CAPA DE BASE DE DATOS: BASE DE DATOS a. b.
CAPA
UC SEPT 24,474
UC OCT 21,556
UC NOV 25,452
PROMEDIO 23,827
Noviembre en este caso ha mostrado un consumo creciente, caso más probable cuando por ejemplo se llega a un mes donde hay un comportamiento de estacionalidad donde crece el consumo. Se calcula el factor q: q = ABS (UC NOV - µ * PROMEDIO ULTIMOS 3 MESES) q = ABS (25,452 UC - 0,6 * 23,827 UC) q = 11,156
c.
Se hace el cálculo intermedio del factor Beta que es *Raiz( q/2) que es la forma de fidelizar al cliente. Factor *Raiz( q/2) = 1,25 * Raiz (5,578) Factor *Raiz( q/2) = 3,486
d.
Se calcula el valor total de las unidades sin descuento y con descuento: Valor sin descuento: Unidades computacionales * valor por unidad8 = 25,452 UC * $256.684 = $6’533.121 (aproximando a la unidad) Valor con descuento Valor por unidad * 0,93 * (unidades computacionales - Factor *Raiz( q/2)) = $256.684 * 0,93 * (25,452 UC – 3,486 UC) = $5.243.638 (aproximado a la unidad) El valor total del servicio para la capa de base de datos es: $5.243.638
Nota: Es importante resaltar que el contratista además de cumplir con este modelo de computación por demanda para el cobro de los servicios prestados en el cumplimiento del objeto contractual, deberá realizar al menos 1 revisión al año de dicho modelo ajustando las variables del mismo así como las tarifas a que haya lugar de tal manera que se obtengan descuentos mayores por la economía de escala y consolidación de infraestructura y servicios.
ANEXO 16
LP 001-2011
Página 9 de 9