Proyecto Migración HOST.

Transcripción

Proyecto Migración HOST.
•
2014
•
2014
Proyecto Migración HOST
• CIMUBISA
CIMUBISA
• Departamentos
Desarrollo
y Sistemas
Ayuntamiento
de Bilbao
• Ayuntamiento de Bilbao
01/01/2014
• 01/01/2014
INDICE
1.
Antecedentes
3
3
3
6
6
6
7
7
8
Principal problema: el coste
Problema adicional: la tecnología
Formas de abordar el problema
Volumetría
Arquitectura técnica
Situación Anterior:
Situación Actual:
Coste de Oportunidad. Escenario de NO migración.
9
2.
Objeto del proyecto.
3.
Implicaciones.
12
4.
Las ventajas para el Ayuntamiento.
12
5.
Equipo de Desarrollo y Proveedores.
13
6.
Valoración económica.
13
7.
Plazo de cumplimiento.
13
2
1.
ANTECEDENTES
El Ayuntamiento de Bilbao, y por delegación CIMUBISA, mantenía una significativa parte de sus
sistemas informáticos sobre un entorno IBM System z (Host o Mainframe a partir de ahora).
Estos sistemas presentaban como fortaleza unos muy elevados ratios de disponibilidad (probablemente
los mejores del mercado) pero a la vez planteaban unas importantes debilidades y, sobre todo, grandes
amenazas. Es de ahí de donde surgen las oportunidades de cambio.
La principal fortaleza es la disponibilidad. Probablemente no hay en el mercado ninguna otra plataforma
equivalente en este indicador, tanto a nivel de hardware, a nivel de software de base (sistema operativo)
y a nivel de aplicaciones. El System z tiene internamente todo el hardware duplicado de forma que puede
salir airoso de un gran número de contratiempos que podrían en jaque a cualquier otra plataforma.
Igualmente, su sistema operativo (zOS) tiene casi la mitad de su código dedicado a la auto-corrección de
errores frente a las pantallas azules de la muerte de Windows o los traps de Linux. A su vez, el código
Cobol es tremendamente estable y capaz de funcionar sin cambios durante años, cosa que por unas
razones u otras resulta complejo en las plataformas Java y .NET.
PRINCIPAL PROBLEMA: EL COSTE
Por el contrario, la plataforma System z tiene unos elevados costes de mantenimiento anual. El pago por
consumo hace que muchas instalaciones estén planteando la migración a sistemas abiertos donde se
realiza un único pago (compra de licencia).
Del mismo modo, la plataforma System z va muy rezagada en la lucha por el mercado de Internet. Es
raro encontrar entidades que dispongan de sus sistemas de backend de Internet sobre esta plataforma.
Y la cantidad se reduce a cero cuando se trata de entidades y corporaciones de reciente creación
(menos de 15 años) que no tienen costes de arrastre por desinvertir en estas tecnologías. Y en ese
escenario, en el que ya todo mira a Internet, cabía preguntarse si la plataforma Host sigue siendo la
plataforma ideal.
PROBLEMA ADICIONAL: LA TECNOLOGÍA
Adicionalmente, todos los nuevos desarrollos puestos en producción en los últimos tres años están en
dos líneas bien definidas: SAP para el procesamiento interno de Expedientes y Web para lo que está
cara al público y para las aplicaciones Intranet. Cada vez que aparecía una nueva aplicación se arañaba
un pedacito de terreno al Host.
En esa línea cabe destacar el arranque de aplicaciones SAP como RRHH, Expedientes, Tasas y
Recaudación o Web como Gestión del área de Educación, GeoBilbao y resto de aplicaciones GIS,
Gestión de Bicicletas, Taxis y otros en CyT,… Con ello, el host iba quedando cada vez más aislado de
las nuevas tecnologías dentro del Ayuntamiento. Es significativo que ninguna aplicación nueva
desarrollada en los últimos cinco años se sustente sobre esta tecnología.
En ese escenario, la relación coste/beneficio del entorno mainframe será cada vez más discutible y
criticado porque se mantendrán los costes (hay una parte importante de costes fijos) para un volumen de
aplicaciones cada vez menor.
Los siguientes cuadros muestran los consumos realizados durante los últimos años y en ellos se puede
observar que no hay incrementos, ni en número de procesos batch, ni en transacciones online ni en
minutos de CPU. Esto no ocurre en ninguna otra plataforma municipal (SAP, J2EE, .NET,…) que
presentan incrementos de más del 25% año sobre año.
3
4
El declive del entorno Host en favor de otras plataformas es evidente en las gráficas.
5
FORMAS DE ABORDAR EL PROBLEMA
La estrategia de ir apagando aplicaciones progresivamente no era una opción porque la curva de costes
de consumo en los Host IBM no es lineal. Al principio describe una trayectoria prácticamente asintótica
en el eje de las Ys. Es decir, que el 80% del coste anual de la máquina se repercute con el primer 10%
de consumo. Como referencia, hace cuatro años el consumo de la máquina estaba en el 85% con
tendencia a subir al 95%. Gracias a las optimizaciones llevadas a cabo por el grupo de Sistemas
Centrales se consiguió llegar a una máquina auto-limitada al 65% con tendencia a bajar al 50%. Sin
embargo, el coste de estar al 95% y el de estar al 50% es razonablemente similar ya que la mayor parte
del coste se aplica al primer 10%.
A su vez, el problema de la alta estabilidad del entorno mainframe podía ser compensada con seguridad
mediante la creación de clústeres o entornos en los que el servicio estuviera cubierto por al menos dos
elementos independientes de infraestructura. De este modo, con la disponibilidad combinada de dos
máquinas independientes se llegaba a igualar los niveles de disponibilidad del Host.
Por último, el hecho de que únicamente se dispusiera de un Host en una ubicación imponía un nivel
elevado de riesgo antes fallos de los servicios de base (refrigeración, electricidad, sabotajes,…). Pero
disponer de un segundo mainframe supondría un elevado incremento de la inversión en hardware y el
gasto recurrente. Por tanto, en ese escenario incluso se podría llegar a decir que la seguridad y
estabilidad de la nueva plataforma era mayor que la que facilita un único Host no redundando en un
segundo CPD.
VOLUMETRÍA
En cuanto al número de programas y aplicaciones a migrar, partiendo de la cifra inicial de 43.000
(volumen acumulado a lo largo de 25 años de desarrollo en este entorno), se estimó que existían algo
menos de 25 mil programas activos, en torno a 125 bases de datos y unas cinco mil tablas.
ARQUITECTURA TÉCNICA
A continuación se muestran dos imágenes con la arquitectura técnica anterior y la arquitectura técnica
actual donde se pueden analizar los cambios de tecnologías punto por punto.
Es importante destacar que uno de los pilares del área de conocimiento del equipo de Desarrollo
(COBOL) no se ha visto afectado en modo alguno sino que se potencia con la implementación de nuevas
herramientas de desarrollo del ciclo completo de vida (editores, depuradores, compiladores,
simuladores,…) de este lenguaje.
6
SITUACIÓN ANTERIOR:
SITUACIÓN ACTUAL:
A grandes rasgos, el sistema operativo zOS se ha sustituido por Windows, la base de datos DB2 se ha
sustituido por SQL Server. Por su parte, tanto el monitor transaccional CICS como el JES se han
sustituido por Microfocus Enterprise Server.
7
En cuanto al desarrollo de aplicaciones, todas las herramientas de desarrollo del entorno Host han
desaparecido en favor del IDE de Visual Studio 2012. Toda la programación se ha hecho visual,
incluyendo el diseño de formularios, la depuración de programadas, la gestión del repositorio y control de
versiones, etc.
COSTE DE OPORTUNIDAD. ESCENARIO DE NO MIGRACIÓN.
En el supuesto de no abordar el cambio, el Ayuntamiento (CIMUBISA) se hubiera visto obligado a
abordar un proyecto de evolución de la plataforma mainframe (System z) para alinearlo con las nuevas
tecnologías. Este proyecto hubiera incluido la sustitución del hardware (la propia máquina) así como la
migración de versiones de sistema operativo, base de datos y monitor transaccional (zOS, DB2 y CICS)
entre otros dado que estaban desfasados tecnológicamente en varias versiones. Esta migración no era
banal ni simple al tiempo que era totalmente obligatoria dado que una parte importante de los productos
existentes actualmente en la plataforma Host estaban fuera de soporte.
Esta migración únicamente hubiera servido para mantener la infraestructura en línea dado que no se
hubiera mejorado ningún proceso, no se hubiese aumentado el rendimiento de la máquina, no se
hubieran mejorado las herramientas de Desarrollo ni de Sistemas ni se hubiera abordado la renovación
tecnológica y de conocimientos del personal.
Es decir, tanto si se hubiera abordado la transformación integral de las aplicaciones de CIMUBISA como
si no, CIMUBISA se hubiera visto inmersa en un proyecto de migración.
El siguiente gráfico muestra (en gris claro) los costes de mantenimiento de la infraestructura mainframe,
en rojo los costes de inversión del proyecto de migración (2012 y 2013) y los recurrentes en años
posteriores y en gris oscuro los costes de mantenimiento en el supuesto de que se hubiera continuado
con la plataforma IBM. Estos últimos se deben fundamentalmente a la renovación del hardware y la
consiguiente actualización de potencia en el software facturable anualmente en función del consumo.
Viendo las cifras de forma global se puede concluir que en el periodo 2012-2017 la diferencia de costes
de una y otra plataforma será la que se plasma en la gráfica siguiente:
8
2.
OBJETO DEL PROYECTO.
El objeto de este proyecto ha sido la consultoría, contratación de licencias de software y hardware y la
ejecución y puesta en marcha de un proyecto para la migración de las aplicaciones Cobol sobre
mainframe a un entorno igualmente Cobol pero con niveles de coste recurrente considerablemente
inferiores.
Esto ha incluido el análisis de las aplicaciones, las interconexiones internas de estas aplicaciones dentro
del Host, las conexiones con otros sistemas (Web, AS400, SAP, gráficos, impresión,…), la adquisición
de licencias de software, la migración de programas y bases de datos al nuevo entorno, la fase de
pruebas, la formación y cualquier otro aspecto no expresamente excluido en el pliego, con el objetivo de
poder apagar la máquina System z como conclusión del proyecto.
Este proyecto implicaba un nivel de riesgo tecnológico alto pero, sobre todo, un nivel de riesgo extremo,
tanto a nivel interno (área de Desarrollo de CIMUBISA fundamentalmente) como a nivel externo con los
directores de las áreas municipales y los usuarios. Este último colectivo debía conocer el proyecto,
entenderlo, comprender los motivos que lo provocaban y, sobre todo, tener un espíritu de colaboración,
fundamentalmente en la fase más importante de todas: la fase de pruebas.
Igualmente, se produjo un cambio disruptivo en las formas de hacer de los equipos del área de
Desarrollo, pasando de programar en un entorno 3270 a un entorno de programación integrado como
Visual Studio. El salto es de más de 30 años entre unas formas de hacer y otras y los beneficios serán
rentabilizados rápidamente una vez que los técnicos del equipo de desarrollo se sientan cómodos en el
nuevo entorno.
Los puntos fuertes de la migración se enumeran a continuación.
Inventario de objetos. Este inventario obligaba a detallar programa por programa todos los
objetos que había sido ejecutados en los últimos años y/o aquellos que aun no habiendo sido
ejecutados recientemente debían estar en producción para su utilización en periodos concretos
del tiempo tal que procesos electorales cuya periodicidad está muy distanciada en el tiempo.
Este paso se inició con criterios muy restrictivos obligando por ello a la incorporación constante
de objetos dentro del scope de migración. Gracias a ello se garantizó que no se migraba ningún
objeto que no fuera realmente necesario.
Migración de objetos. Una vez analizado el ámbito de objetos dentro del perímetro de la
migración se procedió al análisis de su sintaxis en busca de patrones de programación que
9
simplificaran el proceso. Esto permitió hacer la práctica totalidad de los cambios de forma
automática. Los mayores problemas en este punto se debieron a varios factores:
o
o
o
Falta de concordancia entre el objeto compilado y el fuente en producción e incluso
múltiples versiones del mismo programa. Esto obligó a la revisión individualizada de
estos programas que afortunadamente fueron muy pocos de entre los 25 mil objetos
a migrar.
El segundo problema fue la conversión ASCII-EBCDIC. El Host IBM utiliza el juego
de caracteres EBCDIC mientras que el resto de arquitecturas se basan
fundamentalmente en ASCII. Este cambio, en principio banal, puso de manifiesto un
grave problema dado que entre ambos juegos de caracteres los pesos de letras y
números están invertidos. Esto provocaba que ciertas instrucciones de comparación,
aun siendo correctas, produjera resultados contrarios a los esperados. Este punto
obligó a la revisión pseudo-manual de los cambios sugeridos por los autómatas de
migración en ciertas instrucciones de comparación que cumplían unos patrones
determinados.
El tercer y último problema fue una mala práctica de programación muy extendida
derivada de utilizar la fecha del sistema como clave única, tanto en tablas como en
procesos de gestión de colas. La mayor rapidez de procesamiento del nuevo sistema
puso de manifiesto que se daban casos en los que varias iteraciones dentro de bucle
podían obtener una fecha del sistema idéntica, incluyendo el segundo hasta con 8
decimales. Esto obligó a la identificación y conversión de estos programas para
utilizar una clave única real (número aleatorio combinado con otros factores para
añadir mayor complejidad) y no una clave basada en la fecha y hora.
Migración de datos. La migración de datos era compleja por múltiples razones. La primera el
volumen y la ventana de tiempo disponible. Era preciso migrar 125 bases de datos y más de
cinco mil tablas y el tiempo para ello no permitía grandes alegrías. Se diseñó un proceso de
migración que permitía el traspaso de datos por múltiples vías dedicando la mayor capacidad de
procesamiento posible paralelizando hilos de ejecución.
o
o
El segundo problema de la conversión eran los campos alfaclave. Existían campos
que ponderaban los nombres de personas y calles generando una especie de valor
numérico asociado al texto fonético. Estos campos permiten al Ayuntamiento la
realización de búsquedas sin importar si los textos reales están escritos con o sin h,
con ch o tx,… Estos campos alfaclave se veían nuevamente afectados por la
conversión ASCII/EBCDIC por lo que hubo que diseñar un proceso específico para
ellos.
El tercer problema derivado de la migración de datos radicaba en la existencia de
textos con diferentes juegos de caracteres dentro de la base de datos. No era lo
mismo un texto introducido desde un terminal 3270 que un texto introducido desde
una aplicación Java mediante conexión con el DB2 ya que hay un diferente soporte
de caracteres ASCII elevados como ñ’s, vocales acentuadas, etc. Hubo que
identificar y realizar procesos post-migración específicos para estos campos.
Integraciones. Como en todos los proyectos actuales, las integraciones fueron uno de los
problemas más complejos de resolver. Existían integraciones internas entre diferentes
aplicaciones municipales e integraciones externas con otras organizaciones.
Las primeras fueron resueltas con el ánimo de simplificar los procesos. Así, se aprovechó el
cambio para alterar los procesos, algunos de forma muy significativa, con objeto de hacerlos
compatibles con los nuevos sistemas. Quizá el más complejo y laborioso fue el de la impresión
ya que obligó al cambio de tecnología para la impresión Host pasando de una herramienta que
generaba informes con tecnología AFP (protocolo propietario de IBM) a una herramienta que era
10
capaz de generar impresos PCL y PDF. Esto obligó al rediseño de todos los listados e informes
del Ayuntamiento lo que fue aprovechado para un lavado de cara estético allí donde procedía.
En total se migraron más de dos mil informes de todo tipo. La impresión mediante PCL y PDF
permitió a su vez dos ventajas añadidas: el ahorro de papel al poder generar PDFs que son
enviados por email al usuario y archivados con la consiguiente no impresión y la generación PCL
de todo lo que debe ir a la impresora no haciendo necesaria la compra de adaptadores AFP para
las impresoras.
Las integraciones externas tenían como complejidad añadida la incapacidad para gestionar el
otro extremo (la entidad con la que se intercambia información). Por ello hubo que rehacer todos
los procesos de transferencia de información con los bancos mediante el estándar Editran.
Los procesos más complejos dentro de este subconjunto fueron, nuevamente, aquellos que
exigían cambio de juego de caracteres dado que la otra entidad esperaba información en
EBCDIC y la nueva plataforma la generaba en ASCII. Las pruebas con las entidades con las que
se compartía información mediante esta vía fueron especialmente complejas al no tener en
muchos casos visibilidad directa de la información que se estaba enviando o recibiendo.
Fase de pruebas. Ha sido, con diferencia, la fase más dura y compleja del proceso dado que ha
habido que construir entornos paralelos al Host que permitieran sincronizar las copias de datos
para permitir comparaciones homogéneas de procesos complejos.Esta fase ha sido muy
exigente para todos los equipos del proyecto al obligar a probar todas las aplicaciones y
programas. Incluso se daba el caso en cada programa que debía ser probado varias veces
provocando diferentes situaciones mediante datos en las BBDD que alteraban su
comportamiento.
Migración. La complejidad del proceso radicaba en que una vez puesta en marcha la nueva
plataforma no había marcha atrás. Durante las fases de análisis del proyecto se analizó la
posibilidad de migraciones parciales de aplicaciones pero tanto a nivel económico como
fundamentalmente a nivel técnico se descartó por la imbricada relación entre las aplicaciones;
migrar una implicaba migrar otras que a su vez implicaban otras más. Y la única alternativa a ello
era construir complejísimos procesos de intercambio entre las dos plataformas.
Por ello, una vez iniciada la andadura de la nueva plataforma con la consiguiente alteración de la base
de datos se hacía muy complejo volver a la plataforma anterior sin pérdida de información.
Todo el proceso debía realizarse durante un fin de semana intentando mantener vivo el sistema a migrar
la mayor cantidad de tiempo posible por necesidades del servicio, fundamentalmente por el Área de
Seguridad que requiere acceso a la información 24x7.
El proceso implicaba la realización de todo lo anterior con una coordinación de pasos perfectamente
establecidos. El plan de arranque contenía más de 50 hitos que debían ser alcanzados progresivamente
en el tiempo y que eran dependientes entre ellos.
La ejecución del plan fue realizada con éxito a principios de Julio tras un intento de arranque abortado a
mitad de proceso al detectar un bug de producto en el motor de base de datos que fue corregido pocos
días después.
En la actualidad, todos los sistemas del Ayuntamiento están funcionando a pleno rendimiento sobre una
máquina estándar x64.
11
3.
IMPLICACIONES.
La migración provoca a nivel interno (CIMUBISA) un cambio en la forma de hacer del personal de
Desarrollo. Pese a que el lenguaje de programación sigue siendo Cobol no cabe duda que hay una
transición para pasar de programar en un entorno 3270 a un entorno de desarrollo integrado y gráfico.
Las ventajas de este último son apabullantes. No ha sido necesario un gran ciclo de formación para
la adaptación al cambio dado que el lenguaje sigue siendo el mismo. La formación viene más ligada al
entorno de programación en sí (Visual Studio) y el manejo de nuevas herramientas gráficas que a la
programación propiamente dicha. Sin duda, permite renovar tecnológicamente los equipos de desarrollo
Cobol haciéndoles entrar en el mundo de la Web y los sistemas abiertos. En cualquier caso, no es
viable comenzar un proyecto de este calibre sin el convencimiento y colaboración decidida de
todo el personal de desarrollo y sistemas.
A nivel municipal no hay cambios significativos. El final del proyecto no ha cambiado nada desde el
punto de vista del usuario. El éxito, por tanto, es conseguir que el usuario no note nada más allá de
incrementos en el rendimiento, todo ello tras una fase de asentamiento inicial.
4.
LAS VENTAJAS PARA EL AYUNTAMIENTO.
Ámbito económico: Se reduce el gasto corriente asociado a la explotación de los sistemas, tanto del
hardware como del software, en un porcentaje en torno al 50% anual. Este cálculo no incluye los
beneficios indirectos derivados de la utilización de protocolos estándar ya que, por ejemplo, se deja de
usar Ficon en favor de FiberChanel lo que permite utilizar cabinas de almacenamiento y librerías de
cintas estándar.
Adicionalmente, hay un menor consumo energético ya que el Ayuntamiento ha obtenido un ahorro
derivado del menor consumo energético de la nueva plataforma. Este ahorro puede cifrarse en 1.200
watios/hora aproximadamente durante las 24 horas del día, los 365 días del año. Es decir, hay una
disminución de la huella de carbono superior a los 10,5 megawatios/año.
En el ámbito tecnológico se prepara la siguiente fase de modernización tecnológica municipal
ubicando todos los sistemas sobre plataformas abiertas. Actualmente ya se tienen muchos problemas
técnicos cuando se plantean actuaciones sobre tecnología Host o DB2. Algunos ejemplos:
Hay muchas aplicaciones que no soportan DB2 sino únicamente Oracle o SQL Server. Ejemplo de
ello son el control de turnos de Qmatic, la gestión bibliotecaria,… Igualmente, se complica sobremanera
cualquier acceso desde los sistemas GIS a datos ubicados a DB2 teniendo que realizar internamente
pasos intermedios desde SQL Server a DB2 para salvar la limitación técnica.
Las integraciones de la web con el Host pasan por un elemento intermedio (Gateway IBM o DB2
Connect, según el caso) que complica la programación. Cuando los sistemas de backend no están
sobre el Host, la programación es mucho más simple y natural.
Los proveedores externos tiene más dificultades técnicas para simular un entorno como el municipal
cuando el backend reside sobre el Host. Los proveedores puede reproducir un sistema Windows o
Linux pero no un zOS. Es una mera cuestión de costes.
12
5.
EQUIPO DE DESARROLLO Y PROVEEDORES.
Un proyecto de migración de estas características conlleva un riesgo tecnológico de primer nivel dado lo
delicado de muchas de sus actuaciones. A esto hay que añadir que son más bien escasas las
referencias en las que Bilbao podía fijarse para plasmar su estrategia.
Debido a ello se ha tenido que dimensionar un equipo de trabajo formado por el personal interno de
CIMUBISA (afecta de lleno a explotación, al equipo de desarrollo y al de técnica de sistemas), ciertos
usuarios clave que actuaban como validadores de las aplicaciones, Microfocus como proveedor de la
tecnología y Hewlett Packard como integrador de todos los procesos y sistemas.
Asimismo, se ha contado con la colaboración puntual de Microsoft para la resolución de incidencias
relacionadas con el motor de base de datos utilizado, Microsoft SQL Server.
6.
VALORACIÓN ECONÓMICA.
El proyecto se ha realizado en dos fases diferenciadas, una primera denominada fase de concepto, cuyo
importe fue de 193.000 € más IVA y una segunda fase con la migración en sí misma cuyo importe fue de
417.000 € más IVA.
El coste total del proyecto, por tanto, ascendió a 610.000 € más IVA.
7.
PLAZO DE CUMPLIMIENTO.
La razón principal de la división en fases del proyecto era el riesgo tecnológico.
Se determinó la existencia de una primera fase en la que se analizaría la viabilidad técnica del proyecto
así como la planificación de su ejecución. Esta primera fase, denominada prueba de concepto, tuvo una
duración de 5 meses. Durante esta fase se analizaron varias aplicaciones y se construyó una maqueta
tecnológica que, en miniatura, contenía la totalidad de los problemas que se habían identificado como
críticos en la fase siguiente. Su finalización fue exitosa llegando a ejecutar transacciones reales sobre el
entorno construido comparando resultados con el entorno Host.
La segunda fue la fase final, la de la construcción completa y migración. Esta fase tuvo una duración de
8 meses y durante la misma se construyó el nuevo sistema, se realizó un inventario detallado a la fecha
de los objetos a migrar, se analizaron y ejecutaron los planes de migración de datos, se analizaron y
ejecutaron los planes de migración de programas, se diseñó el plan de pruebas, se realizaron las
pruebas con las consiguientes correcciones de problemas y el 7 de julio de 2014 se puso en producción
todo el sistema.
13

Documentos relacionados