Grupo de apoyo a la preparación de la XXII convocatoria de oposiciones al Cuerpo Superior de Sistemas y Tecnologías de la Información de la Administración del Estado
DIMENSIONAMIENTO Como en todas las preguntas, hay muchos enfoques posibles siendo el más adecuado el basado en el sentido común y la toma de decisiones justificadas en base a la experiencia y el conocimiento del opositor. No obstante, en este documento incluimos algunas formas de plantear el dimensionamiento del almacenamiento, de las comunicaciones y la capacidad de proceso. En todos los casos es importante recordar que no es tan importante la cifra exacta como:
Que se llegue a ella mediante un proceso razonado. Que las hipótesis en las que nos basemos estén bien explicadas y sean adecuadas para el enunciado del ejercicio. Que se mantenga la coherencia entre nuestro dimensionamiento y las decisiones que adoptemos luego, por ejemplo en cuanto a arquitectura de sistemas y comunicaciones.
Dimensionamiento de almacenamiento Básicamente hay que estimar qué volumen de información se va a generar en un año con ese sistema por cada unidad de tiempo (por años o por meses), cuánto espacio ocupa esa información y, finalmente, tener en cuenta consideraciones de conservación de información. Ejemplo. Si ponemos como ejemplo un sistema que automatiza un trámite electrónico de cara a los ciudadanos, un enfoque posible (que no único) puede ser el siguiente: 1.- Estimar el número potencial de usuarios del sistema. Para los trámites electrónicos, puede ser útil aplicar el dato de % de población que se relaciona con la Administración por medios electrónicos que viene en numerosos informes. Si nos ponemos en el caso más extremo y asumimos que ese % es el que va a usar nuestro sistema podemos tener una estimación del número de ciudadanos. 2.- Multiplicar el número de trámites anuales por el tamaño de la documentación asociada a cada uno de esos trámites.
Para cada fichero que se genere dentro del trámite, se estima su tamaño (pensemos en 1KB para un fichero XML aproximadamente, 100KB para un PDF pequeño o 1MB para un PDF pesado).
3.- Considerar que, de media, se precise conservar la documentación durante 5 años. Multiplicar el espacio anterior por 5.
1
Grupo de apoyo a la preparación de la XXII convocatoria de oposiciones al Cuerpo Superior de Sistemas y Tecnologías de la Información de la Administración del Estado Ya tendríamos una estimación del almacenamiento necesario. En relación con la conservación, en algunos casos puede ser necesario considerar más de un nivel de almacenamiento. Por ejemplo, por un lado los expedientes activos, durante el tiempo de vida de tramitación del procedimiento más el plazo legal permitido para recurrirlo, y por otro los expedientes archivados durante un plazo más largo. Si el volumen de almacenamiento es excesivamente grande, al diseñar la arquitectura física del sistema se puede considerar mencionar un sistema de compresión y deduplicación de datos. Dimensionamiento de comunicaciones Enfoque 1. Un primer enfoque se podría basar en estos datos:
Número de usuarios concurrentes. Tamaño de la petición o la respuesta (lo que ocupe más). Tiempo de respuesta deseable (para una página ligera 1-5s, para una pesada entre 10-15s podrían ser valores razonables).
Caudal (Mbps) = (Número usuarios concurrentes x Tamaño) / Tiempo de respuesta Como variaciones sobre este enfoque, se puede considerar la distribución de peticiones en el tiempo, la existencia de picos, etc. Enfoque 2. Otro enfoque se podría basar en:
Almacenamiento total anual necesario por el sistema. División de ese dato entre 260 días hábiles, suponiendo que la actividad se concentra en una franja horaria de 8 horas al día y pasándolo a segundos por hora:
Caudal (Mbps) = Almacenamiento anual / (260 días x 8h/día x 3.600s/h) En ese caso estaríamos asumiendo un uso homogéneo de este almacenamiento. Posibles variantes serían que haya una parte estable, y una parte dependiente de la actividad. Como siempre el opositor debe adaptar estas técnicas al ejercicio. Dimensionamiento de servidores Servidores Web
2
Grupo de apoyo a la preparación de la XXII convocatoria de oposiciones al Cuerpo Superior de Sistemas y Tecnologías de la Información de la Administración del Estado El número de accesos a la hora se utiliza para dimensionar el dimensionamiento de comunicaciones (caudal de red), los requisitos para un posible balanceador de tráfico o para determinar el número de servidores web necesarios. Para dimensionar el número de servidores web (servicios "sin estado"), es decir, que no tengan que mantener información de sesión de cada una de las visitas, se puede considerar como referencia que un servidor web Apache soporta 256 conexiones simultáneas en su configuración por defecto y si está optimizado podría dar servicio a más de 1000 usuarios. No obstante, sería necesario hacer pruebas de carga para determinar el número de servidores y balanceo del tráfico. Servidores de Aplicaciones Para dimensionar servidores de aplicaciones (servicios “con estado”), el máximo número de usuarios concurrentes impacta necesariamente en la memoria RAM consumida y, por tanto, en el número de máquinas y recursos necesarios. No hay una receta general que pueda aplicarse a todas las aplicaciones, por lo que es necesario hacer pruebas de carga y ajustar la configuración de los servidores (máximo número de conexiones, configuración del pool de threads, memoria asignada,…). Dependiendo de la arquitectura de la aplicación, los usuarios pueden estar haciendo muchas o pocas peticiones a los servidores de aplicaciones. Por ejemplo, en una aplicación Web que al acceder se hacen muchas peticiones AJAX y se refrescan cada pocos segundos, los threads que puede manejar el servidor de aplicaciones empieza a ser lo limitante. Si por el contrario los usuarios han iniciado una sesión pero no generan muchas peticiones HTTP, los hilos del servidor de aplicaciones no van a limitar pero sí la memoria RAM Criterios generales No existe un único criterio. Las necesidades de proceso dependerán mucho de las características del sistema de información. El tribunal no se va a detener en si un determinado servidor debe tener 16 o 32 Gb de memoria, o 4 u 8 núcleos. Pero sí esperará una coherencia en la forma de diseñar los recursos. A continuación damos algunos criterios generales. · Lo normal es que en el organismo se hayan normalizado ya varios tipos de servidor en función del nivel de exigencia, y que se puedan caracterizar simplemente como “servidor de altas, medias o bajas prestaciones”. En las organizaciones grandes se puede asumir la existencia de una plataforma de virtualización. · El mayor consumo de RAM se dará en bases de datos y sistemas de analítica de negocio, si el volumen de datos es alto. En estos casos es muy importante sobre todo la cantidad de memoria, y suele ser aconsejable usar sistemas dedicados (no virtuales). · Los sistemas que deberán tener más núcleos de CPU serán con carácter general los que soporten gran número de transacciones concurrentes (portales web accesibles a los ciudadanos, frontales de correo, sistemas de seguridad en tiempo real).
3