lunes, 21 de octubre de 2013

Cosillas que no te cuentan cuando estás estudiando informática.

En las entradas anteriores vimos como a la hora de emprender un proyecto ni las cosas son tan simples ni tan baratas como se piensa. De hecho, cuando alguien te dice que "yo tengo una web por cuatro duros" (como este blog por ejemplo) obvia el hecho de que detrás hay a serie de horas de trabajo y muchísimas más horas de estudio, preparación y experiencia. Pues aparte de esos, en la vida hay una serie de "sorpresas" que no te suelen contar y con las que posiblemente te vas a encontrar tarde o temprano.

El backup, ese gran desconocido.

Seguramente te habrán dicho millones de veces que es necesario un backup ... y nada más. Te imaginarás que el backup es una cosa sencilla, estandarizada, simplona, barata ..... ¡y una mierda!

Para empezar se pueden hacer copias de muchas cosas. Lo interesante es hacer copias de la cosa correcta y no por ejemplo, de los links simbólicos (ha pasado) 

Se puede hacer copias de muchas cosas:
- Datos. Parece lo mas lógico ¿no? Pues si, el o mas lógico, pero claro hay que saber qué tipos de datos porque no es lo mismo hacer una copia de ficheros de texto o de Word que copiar los datos de una base de datos. Según lo que tengas que sacar, se hace una forma u otra y las hay harto complicadas.
- Fuentes. Cuando están trabajando en un proyecto de desarrollo parece lógico hacer copia de los fuentes, no sirve con dejarlos en el repositorio CVS, hay que salvaguardar éste. La no protección de estos datos te puede dar  lugar a situaciones surrealista como alguien que le dijo a su jefe "Oye, que he perdido los fuentes pero no te preocupes, que tengo los ejecutables"  Lo malo de esto es que no es coña (bueno, pasó hace bastantes años) También recuerdo de una aplicación en mainframe que en lugar de COBOL estaba en ensamblador. La explicación oficial era que estaba así para mejorar las prestaciones. La extraoficial era que se habían perdido los fuentes y se había desensamblado para poder parchear el efecto 2000.Por cierto, ese sistema se quería haber sustituido a principios de los años 90 (por antiguo) y por el 2005 creo que seguía dando guerra.
- Configuraciones. Aunque no lo parezca, hay veces que hace falta reinstalar un sistema y el volverlo a configurar (si ha perdido la configuración o se está creando un nuevo entorno) es de lo más doloroso.
- El Sistemas Operativo. Pues aunque no lo parezca pues puede interesar para recuperar el sistema completo. En virtualización el lanzar un snapshot es na manera sencilla de obtener un backup. En virtualización se hace más o menos bien, pero ojo con las máquinas físicas que si no se sabe lo que hace es fácil obtener ... una máquina lista para formatear y reinstalar, y aunque no lo parezca, el trabajo ese, junto con el lucro cesante por  no tener la máquina operativa puede ser más oneroso que el coste de la máquina.

Afortunadamente hoy en día hay sistemas de backup que simplifican mucho esta labor, pero en el pasado muchos sistemas operaban con una política de backup muy deficiente o casi sin ella (copias semanales o mensuales) Lo malo es que precisamente no son baratos.

Un detalle curioso. Muchos sistemas de esos de cierta empresa de tres letras que no voy a nombrar y que presumen de sus five nines y de que nunca se paran resulta que paran todos los días un par de horas para hacer el backup ....

El restore o ¡que tutto, prefiero la muette!

Que le recupere ¿qué?
Creo que hay por ahí una estadística que afirma que un muy alto porcentaje de los backup que se hacen no se pueden recuperar. No soy yo quien vaya a llevar la contraria al estudio ... pero me lo creo. Dado que por lo general, no se hacen recuperaciones más de que de manera puntual la dificultad de recuperar un dato de un backup aumenta exponencialmente a medida que pasa el tiempo. Es fácil recuperar el último hecho (machacando todo el trabajo) pero como tengas que recuperar información de hace algún tiempo la cosa se complica y mucho. No solo el acceder a la BD de objetos preservado puede ser increíblemente complicado por su número y versiones. El localizar un fichero determinado de hace unos meses que se haya volcado a cinta puede costar varias horas. Afortunadamente, los usuarios  no suelen ser conscientes de estas capacidad, por lo que el tener que restaurar cosas antiguas no suele ser lo normal, aunque en ciertos ámbitos, puede ser normal. Por ejemplo, en un hospital te pueden reclamar una radiografía de hacer un montón de años para ver si una manchita que te han visto estaba allí hace años o es nueva.

Si es posible, o mejor es restaurar en otro sitio aparte y luego, te llevas lo que quieres al sitio correcto.

El firmware y la madre que lo parió.

Al parecer a la gente que se dedica al software no le mola mucho el meterse en las cosas del firmware. Les parecen cosas raras, frikies, .... de muy bajo nivel. Bueno, razón no les falta pero tampoco hay que olvidar que tiene su importancia. Las actualizaciones de firmware puede solventar diversos problemas que no te tienen por qué afectar directamente pero tienen su importancia en dos aspectos claves:

- El fabricante no te da soporte si no tienes la última versión del firmware. Dado que por lo general, una actualización de firmware suele precisar tener el sistema parado a los responsables de explotación no les suele gustar demasiado ... hasta que peta algo, momento en el que se remueve Roma con Santiago para dejarlo todo como se debe en un tiempo record. La frase "como pollos sin cabeza" suele aplicar bastante bien en estas circunstancias.
A ver, tengo que actualizar el firmware del blade,
del switch, de la cabina, del ....


- Las matrices de compatibilidad. Es un sub-caso del anterior, pero un poco más cabrón. Tu puedes tener tu sistemilla funcionando de p.m., sin interrupción y amplias el HW con una cabina ultimo modelo, unos servidores nuevos, unas cabinas de discos superguays .... y de repente te dicen que si quieres soporte es con una versión de firmware determinada .... y entonces es cuando te tiemblas las piernas porque para poner un blade nuevo tienes que actualizar el firmware de la cabinas, pero como esta conectada a un switch de fibra tienes que actualizar el firmware de los SFP y del switch, que por simpatía arrastra el cambio de firmware de otra cabina de disco .... total, que al final acabas actualizado hasta los interruptores de la luz, el extintor de incendios y la cafetera Nespresso. Y no veas el miedito que da todo eso. Eso sí, después de tomar todas las precauciones habidas y por haber, preparar alternativas, HW redundante, comunicaciones alternativas ... va el firmware y actualiza a la primera en 10 minutos dejándote con cara de tonto y pensando "¿y hacía falta todo esto?" Pues sí. Te en cuenta que como se te olvidara algo, te iba a petar ahí. Y por cierto, el caso que acabo de contar ... no me lo he inventado.

No obstante, el numero de máquinas con un firmware obsoleto que ya no existe ni en la fábrica como recuerdo es mucho mayor de lo parece.

Actualizaciones de software. Más peligro que una piraña en un bidé.

Se dice que el hardware es algo que puedes partir de un hachazo, al softwre sólo lo puedes maldecir. Pues es igual de cabrón que el firmware, si no más. Encima, tiene la manía de hacer gracias como cambiar APIS y funcionalidades como hace el JAVA, dejar de funcionar cosas (muy de Windows Update) cambiarte la configuración de red como hace el Linux, .... eso cuando no tenemos la costumbre de reiniciar el ordenador o como poco la aplicación. En aplicaciones que deben funcionar en 7x24 (cada vez más) se hace en horas tan bonitas como la noche del lunes al martes entre las 02:00 y las 03:00 y cosas similares.
- Creo que tenemos un problema ¿actualizamos?
- Nada, tu sigue, que de momento, no hay problemas

Al igual que con el firmware, hay sistemas corriendo en sistemas obsoletos por todas partes con los que los informáticos sudan la gota gorda cuando hay que montar, por ejemplo, un entorno igual para hacer desarrollo, pruebas o sencillamente, cambiar el sistema dónde está corriendo porque es viejo. Vete a buscar el SW que tiene instalado.

Este software tiene bugs ... vamos a actualizarlo.

Esta frase tan inocente es uno de los mayores quebraderos de cabeza con que se suelen encontrar los responsables de los sistemas. No es lo mismo actualizar un PC que un SGBD pero vamos, lo dicho antes aplica aquí. Y al igual que con lo anterior, hay auténticas reliquias por esos mundos de dios.

No busques al enemigo fuera ... lo tienes en casa.

A todo el mundo le suenan los  peligro de la Internet, los hackers y demás mandanga. Pues eso, por lo general, con una buena política de seguridad, un buen firewall y un poco de sentido común añadido todo ello a un buen equipo de BOFHers (no vale el sobrino del jefe) suele estar bien controlado.

No me refiero a eso ... me refiero al enemigo interior. A los errores de la capa 8 del modelo OSI ... y a algo peor, la capa 9 (los jefes de la capa 8)

Cuando hablo de los errores de capa 8 no me estoy refiriendo a las chiquillerías de algunos usuarios inexpertos que se narran magistralmente en algunos blog si no a otros bastante más peligrosos que son perpetrados por presuntos sysadmin que en el mejor de los casos no están preparados para las tareas encomendadas (porque el que sabía ha sido despedido porque el economista de turno ha dicho que era muy caro "y total, eso lo hace cualquiera") Y no solo hablo de conocimientos técnicos (sistemas operativos, bases de datos, administración de redes y demás) sino de conocer un poco la aplicación y su entorno.
Usuario agazapado esperando armarla sin que le pillen.

Para dar algunos ejemplos, hay sitios donde está directamente prohibido instalar nada la última semana del mes (periodo de facturación) ... vete a saber por qué, a saber que gloriosas experiencias habrán tenido.

Hay una gloriosa frase emitida por una directora de una gran empresa ante el error de uno de sus subordinados por "exceso de iniciativa" (vamos, que se saltó todos los procedimientos y metió en producción un parche que no había pasado siquiera por pruebas de sistemas)
¡¡¡ Es que tengo el enemigo en casa !!!
Por cierto, ni que decir tiene que el enemigo llegó muy alto (pero muy, muy alto)

El miedo a cagarla.

Esto podría parecer lógico pero en realidad no lo es tanto. Es como si un electricista le tuviera miedo a un cable y por eso no lo toca. Por supuesto que hay que tener precaución con lo que se hace, preparar las cosas muy bien, revisar los procesos (mejor entre varios que uno solo) pero de un tiempo a esta parte se detecta en el personal en general un miedo a cagarla que por lo general, se avanza muy poquito.

Cierto es que no se puede hacer lo del ejemplo anterior, pero entre la informática kamikaze y el (a mi juicio) exceso de prudencia existente hay un mundo. Se pueden hacer cosas teniendo las precauciones adecuadas y con planes de contingencia se puede hacer cosas, pero últimamente parece que hay tal temor a meter la pata que parece que no se hace nada por no equivocarse. Claro que habida cuenta que muchos de los profesionales que mantenían esos sistemas ya no están (o se han ido o los han ido)


No hay comentarios:

Armaduras.

He de reconocer que últimamente no me estiro demasiado en el tema bloguero este. Tampoco voy a molestarme en hacer propósito de enmienda so...