lunes, 16 de septiembre de 2013

Vamos a diseñar un sistema informático (I)

Estoy viendo muchas veces en prensa noticias con intenciones más bien malévolas acerca de instituciones públicas o otros organismos diciendo que tal o cual organismo se ha gastado xxx miles de euros (o cienes de miles) en una aplicación web y claro, a continuación salen comentarios de todo tipo acerca de derroche, dispendio, que si eso lo hago yo con cuatro duros, que si patatín que si patatán ... vamos, al igual que cada celtíbero tiene un seleccionador de fútbol en su interior tiene un arquitecto software.

La pregunta es ¿vale una aplicación los dineros que ha salido en el concurso o no? ¿está trincando alguien o no? ¿caso no saben lo que validan en concurso? Pues hay una respuesta muy clara: depende.

Y con esto doy por finalizada mi exposición .... ¿qué pasa? ¿por qué me miran así? ¿no les ha quedado claro? Valeeeee, me explico. Agárrense los machos que esto va a ser largo (por eso de lo del I del título)

Lo primero he de decir que llevo más de veinte años haciendo sistemas informáticos. En ese tiempo he visto evolucionar tecnologías, desaparecer, cambiar, nacer y morir sistemas (y otros que no los matas ni a tiros) y me he presentado a algunos concursos públicos y he contestado a docenas de RFP, RFI y RFQ cosas que por cierto, cuestan dinero y que alguien acaba pagando siempre en forma de costes indirectos (si no es este cliente, es el siguiente) y la primera experiencia es que por lo general, suele saber de lo que habla. El presupuesto de dichos trabajos por lo general suele ser "justito" en el mejor de los casos. Otra cosa es que se pueda manipular el proceso de adjudicación o que en la fase de ejecución la empresa elegida se quede sin dinero y se les caiga el boli hasta que les unten más. Cierta afamada consultora con una letra repetida en su nombre es una experta en ello (aparte de ganar los concursos desde "arriba") Otra cosa interesante de los concursos públicos es que son con IVA INCLUIDO o lo que es lo mismo, en un concurso que el importe total sea de 100.000 € al encargado del proyecto le quedan solo 82.644 para ejecutarlo. buen pellizco ¿no?

Pues como no hay nada mejor que un ejemplo para ilustrar las cosas, vamos a intentarlo. Vamos a imaginarnos una localidad de tamaño medio, de nombre Bustelfollado. En esta localidad el alcalde ha decidido que ya hay que entrar en la era de los ayuntamientos 2.0 (como si hubiera llegado a la 1.0) pero como lo suyo no es la informática con buen criterio decide buscar a alguien que entiende y lo primero que hace es consultar al personal del Ayuntamiento. Por desgracia la rotación en el Ayuntamiento no es muy elevada y el último funcionario accedió a la plaza en 1995 antes de que explotara una cosa llamada la burbuja puntocom y no están muy al día en el tema. Cierto que el Principado de Asturias les ha puesto una serie de ordenadores y algunas aplicaciones que son útiles para ver las parcelas de la gente pero aparte de utilizar cuatro cosas y darle a Ctrl-Alt-Del ocho veces al día de media, la gente no es muy experta. A lo mejor es que los sistemas son un poco antiguos, pero como ya se han acostumbrado al Windows 98 SE los funcionarios no quieren cambiar nada.

¿Os pensabais que me lo había inventado? Pues no. Fuente: Propia.

Tras consultar al personal del Ayuntamiento resulta que el hijo del Ernesto que es un juaker de esos, que  tiene tuinter, feisbú, guasap y lee el periódico en una tele pequeña que resulta que le ha costado tanto como una tele de 42" pulgadas del Media Markt ... hay que ser tonto para comprar eso. Este les habla de algo llamado Open Source, bases de datos, Web 2.0, SSL, Apache, Tomcat ..... total que el alcalde y el secretario salen de hablar con el chaval con una cosa muy clara: ¡qué bonito debe ser eso de hablar idioma y en qué leches estaba hablando el gachó!

Por suerte para el alcalde de Bustelfollado andaba por ahí cerca el marido de la Maru, uno con cara de tonto que dicen que es informático pero que trabaja en una empresa que todo el mundo asocia con otra cosa. Como se aburre por el pueblo se dedica a arreglar grifos, cables o lo que sea con tal de pasar el rato. Y por suerte para el alcalde, tiene una amplia experiencia con altos directivos que curiosamente algunas veces recuerdan a nuestro despistado alcalde. Al final se ponen a hablar con él y ya la primera pregunta que les hace les desconcierta. Menudo resabidillo.
- ¿Qué quieren ustedes hacer con su aplicación?- ¿Cómo que qué queremos hacer? ¡habráse visto semejante morro! ¡que nos lo diga él que es el que sabe!
 Aunque claro, el secretario del ayuntamiento que lleva allí 30 años y ya ha sobrevivido a varios alcaldes empieza a pensar que casi igual tiene razón.
- Alcalde, mira que cuando hacemos un edificio antes pensamos para qué lo queremos ... aunque luego no lo usemos. Recuerda que cuando hicimos el polideportivo era para que los chavales jugaran al baloncesto dentro si llovía (el hecho de que el chaval más joven tenga 38 años es anecdótico) y cuando hicimos el mercado de ganado era pensando en hacer ferias de ganado. Vale que ya todo el ganado se compra y vende en mercados más grandes a 100 kms de aquí, pero tenemos mercado de ganado.
- Pues va a tener razón el jodío este.
- Por ejemplo, podemos utilizar la página para informar de cosas del ayuntamiento, para que los vecinos no tengan que venir a enterarse a la puerta del ayuntamiento. Además Ricardo el pregonero anda jodido del asma y cualquier día se nos muere de tanto soplar la trompetilla.
- Pues no es mala idea.
- Y les podemos informar de cuando se paga el IBI, los vados, el impuesto de circulación, la basura que todos estos se hacen los locos, como que no se enteran.
- También está bien la cosa.
- Y de paso, que se puedan pagar recibos por ahí, que el de la Caja Rural se jubila el año que viene y no creo que pongan otro y la gente tendría que hacerse 40 kms para pagar un recibo.
- Pues me gusta esto del ayuntamiento 2.0 .... además me podrían cambiar el solitario ese del ordenador, que ya me lo sé de memoria. A ver si me ponen un juego de Tute o algo más moderno
- Alcalde creo que no es para eso ....
- Oye (al informático) ¿y si empiezas a trabajar y te vamos diciendo?- ¿y que les parece si me empiezan a pagar lo que les diga y ya voy haciendo? ¿no? Pues yo igual. no ya es perro viejo para que le cuelen eso (AVISO A NEOFITOS: ni se os ocurra aceptar esa modalidad de contrato nunca)
 Pues con esta sencilla conversación se inicia el primer paso de una especificación de requisitos (no requerimientos) de una aplicación. De la capacidad de los ingenieros de requisitos, de la capacidad del cliente para expresar sus deseos y del grado de detalle suele depender bastante el éxito del proyecto (aunque los proyectos por lo general suelen pegar bastantes giros)

Aquí tenemos el primer gasto del proyecto: un equipo bueno de requisitos es caro aunque para el Ayuntamiento de Bustelfollado se lo vamos a dejar baratito: un equipo de dos personas trabajando un mes (toma y redacción de requisitos) son 40 jornadas, a 300 € jornada salen 12.000 € y no hemos tirado una línea de código.

A lo mejor esto puede parecer caro sobre todo si sabemos lo que cobra un informático últimamente pero una jornada de una consultora estrella estilo HP, Accenture, IBM o Indra sale por bastante más caro. Para abaratar sus precios globales suelen recurrir a empresas filiales con un status inferior (sobre todo en sueldo y condiciones laborales) como Coritel o subcontratas a las que se exprime en lo posible (o más) que suelen ser las que hacen el trabajo sucio (a todos los niveles)

Ya tenemos los requisitos establecidos y en un alarde de ingenuidad digno de un recién salido de la Facultad de Económicas (el de Informática ya sale medio resabiao) adorador de Milton Friedman nos creemos que los requisitos son correctos y vamos a diseñar la arquitectura del sistema. Esto es como cuando te vas a comprar un Mercedes. La cantidad de opciones es tan amplia que te puedes hacer un sistema desde una cantidad realmente moderada a gastarte millones de euros. Por ejemplo, sin entrar en la arquitectura software del sistema (eso lo voy a dejar para la siguiente entrada) vamos a echar una risas.
- Alcalde ¿dónde va a correr la aplicación?- ¿cómo que dónde? En la Internete esa ¿no?- Noooo ¿qué dónde van a estar los servidores?- ¿Los servicios? joder, dónde siempre, al final del pasillo a la izquierda. Ten cuidado con la cisterna que si no tiras recto se engancha y queda echando agua ....- Que no, que los ordenadores, que dónde los vamos a poner.- ¡ah! leches que raro habla esta gente. Pues en el ayuntamiento.- Tenemos un problema de infraestructura. Aquí no hay CPD y para todo lo que necesita hay que colocar unas cuantas máquinas.
¿A qué nos referimos? Pues a una condiciones adecuadas para instalar unos cuantos servidores que no son PC de Media Markt para meter unos datos y que no es demasiado grave que se caigan. Si estos servidores se caen, se va todo a tomar por el saco. Vamos pedir una serie de cosas al señor alcalde:
- Sistema de alimentación ininterrumpida. Lo ideal sería una doble acometida eléctrica pero en España dónde las eléctricas campas a sus anchas es prácticamente imposible. Entonces los servidores deben estar alimentados por un sistema de baterías conectado a un generador que se arranque de manera automática en caso de problema eléctrico. Un sistema similar de baterías con un generador de 50 kVA puede salir por unos 10-15.000 € fácilmente instalado.
- Extinción de incendios que no estropee las máquinas. Otros 4-5.000 € (me lo he inventado, no se por cuanto puede salir)
- Sistema de climatización. Por suerte Bustelfollado no está situado en una zona demasiado cálida con lo que no hace falta un equipo demasiado potente. Se puede aprovechar el aire frío del exterior la mayor parte del año con lo que con unos equipos de 4.000 € alcanza.
- Red eléctrica: aumentar la potencia, instalación de acometidas, cuadros, .... Otros 5.000 €
- Comunicaciones. Una red Macrolan (nada de red de backup) de 10 Mbps simétricos ... unos 4.000 € al mes.

Vamos que de mano aflojamos 25.000 € más las comunicaciones.
- Esto ... ¿y no hay otra alternativa más barata?
Hombre, se puede instalar en precario solo con la corriente y si se caen en verano o se quema algo se jode todo .... (pues aunque no lo parezca, esto se hace mucho más de lo que se piensa) o llevarlo a un datacenter que nos cobren por alojarlo.
- ¿Y cuanto nos cobra ese chisme por alojarlo?
Si es mas económico que hacer una inversión de este estilo pero claro necesitamos saber que les vamos a llevar.
- Pues un chisme bueno, claro. 
Pues mira, hay una cosa maja. Un chasis de c7000 de HP que puede alojar hasta 16 servidores. Es uno de los más usados. A ésto se le puede añadir una cabina de discos HP de gama media que va muy bien y tendríamos capacidad actual y de crecimiento.
- Eso me gusta ¿y cuanto vale eso? ¿5.000? ¿6.000 €?- Pues el chasis vacío como unos 30.000 €, cada servidor 6-8.000 dependiendo de la configuración, la cabina de discos varía un poco pero empezando en 60.000 podemos apañar .... señor alcalde ¿se encuentra bien? Se está poniendo de un color muy raro .... señor alcalde responda ......
Captamos la indirecta de que el presupuesto no le convence al alcalde con lo que descartamos a HP y con disimulo ocultamos el presupuesto de IBM que habíamos pedido con la sibilina intención de mostrarle que HP no eran tan caro. Descartamos el alojamiento en máquinas físicas y mejor pensamos en algo en virtual. Al fin y al cabo, el hecho de alojar algo en un DC no estan chollo. Te clavan en torno a 1.000 al mes sin hacer nada y te cobran la corriente que te puede salir por más de 1.500 € al año por KW y esos dos chisme pueden llegar a consumir 14 KW aunque seguramente el consumo real no pase de 7 serían unos 10-11.000 € solo de corriente.

Vámonos a la nube que encima está de moda (pero eso será en la próxima entrada)

No hay comentarios: