Hoy voy a criticar duramente otro de los temas «de moda» en las TICs, otra de esas palabras que te encuentras en la mitad de los anuncios de cualquier revista especializada. Me he metido varias veces contra «la nube», el manido «cloud computing» que lo inunda todo (en las revistas, que no en la realidad), he criticado con dureza el software libre (y seguiré haciéndolo, es mi «archienemigo»), hoy le toca a la virtualización y creo que solo me quedará el «green computing», que caerá pronto. Ya adelanto que estoy totalmente de acuerdo con los equipos «ecológicos», reciclables y, a ser posibles, que tampoco aumente la contaminación acústica (vamos, que no hagan ruido), pero que esa sea la característica principal de un equipo me parece una tontería. Pero de eso hablaré otro día.
Antes de empezar, que conste que no me dedico a criticar estas «tendencias» por llevar la contraria a mis colegas de otras empresas. Lo hago porque surgen al hablar con los clientes y me fastidia que se hable de ellas porque «están de moda», dicho con toda la mala intención, no por sus «cualidades» técnicas. En mis 26 años desarrollando software he vivido varias «modas» más o menos molestas. Recuerdo perfectamente la época de la arquitectura «cliente-servidor»: si no programa no era «cliente-servidor» no servía para nada. Y, por el contrario, había multitud de anuncios en las revistas que no decían absolutamente nada del producto, salvo que era «cliente-servidor».
Claro que mucho peor fue la primera «oleada» de programas en Windows. La mayoría eran malísimos. Obligaban, en la práctica, a comprar ordenadores nuevos. Aún así iban mucho más lentos que los basados en MS DOS. Se colgaban continuamente y eran muy incómodos de manejar. ¡Pero estaban en Windows! Lo que los hacía inmediatamente mejores que cualquier programa similar en MS DOS.
Me he entretenido con toda la intención es contar estas anécdotas para dejar claro mi opinión sobre las «modas»: son frecuentemente argumentos de venta sin justificación real. Pero el problema es que, a fuerza de insistir, todo el mundo acaba convencido de que son lo mejor. Estoy seguro de que muchos empezarán a leer este artículo pensando que estoy obsoleto: ¿Cómo se puede criticar la virtualización si «todo» el mundo habla de ella? Todos los grandes fabricantes, de hardware y de software. Todos los vendedores, perfectamente enchaquetados. En todas las mesas redondas se explican sus virtudes: el de IBM habla mientras sus colegas de HP, CISCO o EMC asienten complacidos.
¿Has visto una mesa redonda en el que hable una sola persona en contra de la virtualización? Seguro que no. Es tan difícil como encontrar una voz en contra del cloud computing. O que la Universidad organice una jornada sobre software NO libre.
El rey va desnudo, pero ¿quién se atreve a decirlo en voz alta? Pues yo mismo. Y aquí mismo.
Pero creo que ya va siendo hora de explicar porqué no creo en la virtualización en las PYMES. Y lo primero es ponernos en situación. No me canso de repetir (quizás tú sí te canses de leerlo) que cada cliente, cada instalación, cada programa necesita una solución específica. No es lo mismo hablan de virtualizar servidores en un centro de datos de una gran empresa con 500 ó 1000 servidores en una sala enorme, refrigerada, a la que se conectan 1.000, 2.000 ó 10.000 usuarios, que buscar la mejor solución para una asesoría de una pequeña ciudad en la que hay un servidor con un programa de contabilidad que utilizan los 5 empleados que trabajan en la oficina. NO es lo mismo. No es el mismo problema, no es la misma necesidad. Y NO es la misma solución.
Y esto que acabo de decir y que es OBVIO, lo olvidan los vendedores, consciente o inconscientemente. Igual que intentan vender un servidor de la NASA que cuesta 3.000€ a esa miniempresa (esto pasa todos los días), le intentan vender un software de virtualización diseñado inicialmente para miles de usuarios. Y es el mismo sinsentido. Veámoslo con mas detenimiento.
Un caso claro de virtualización. La gran empresa de antes: 500 servidores en una habitación. Ocupan un valioso espacio físico. Necesitan sistemas de alimentacion ininterrumpida, aire acondicionado, armarios (racks), cientos de cables conectados a docenas de conmutadores… y resulta que la mayor parte de los servidores están trabajando a un 5 ó 10% de su capacidad total la mayor parte del tiempo. Aquí surge de una forma «natural» la idea de «virtualizar» servidores, es decir, en lenguaje sencillo: ¿por qué no aprovecho la capacidad que me sobra en un servidor para hacer las tareas que se están ejecutando en otros y me ahorro unos cuantos? Esto se está haciendo a otra escala al ejecutar varios programas a la vez en un servidor, o en un puesto, la multitarea que usamos desde hace muchos años, pero la virtualización va más allá. Permite crear varios servidores «virtuales» sobre una sola máquina «física» de forma que los programas se ejecutan en un entorno diseñado para ellos sin interferir unos con otros. El concepto es antiguo, de 1960, pero es ahora cuando se dan las condiciones para utilizarlo de forma generalizada. Por una parte, se dan las condiciones técnicas, con una enorme potencia de procesamiento, bajo precio de la memoria RAM, capacidad de almacenamiento más el ancho de banda adecuado en las conexiones a la red local. Por otra parte, el uso masivo de los ordenadores ha incrementado la demanda de servidores. El «matrimonio» es perfecto y, siempre que tengamos la potencia suficiente, es posible que esos 500 servidores se reduzcan a 100, con los enormes ahorros de espacio, energía, coste de mantenimiento… que conlleva.
Aplicación para una PYME. Vamos ahora al otro extremo, el que me gusta a mí (porque no olvidemos que las PYMES son el 95% de las empresas de la mayoría de los países). Mi último cliente, una gestoría con 19 usuarios. Ya tienen un servidor en el que corre un programa de contabilidad, facturación y gestión, un ERP, que utilizan todos. Va bien de velocidad, pero tampoco es que vaya muy sobrado. Y ahora que va a montar ArchivaTech, que no olvidemos que corre sobre Oracle, viene la gran pregunta: ¿lo montamos en nuestro servidor? Y yo siempre les contesto lo mismo: «Puedes hacerlo, pero no te lo recomiendo». Lo primero que piensa entonces el cliente es que le quiero vender un servidor. La empresa se llama MTC Soft, no MTC Hard. No nos gusta vender hardware, aunque lo hacemos a los clientes que lo piden. Digo esto para que quede claro que no tenemos ningún interés en venderle un servidor. Es una lata. Se rompe. A 300Km de nuestros técnicos. Pero, a pesar de todo, le recomiendo que se compren un servidor solo para montar la base de datos de la gestión documental.
Veamos los pros y contras de las dos opciones:
a) Usan un solo servidor. Se ahorran el segundo (empezamos bien), y su mantenimiento (seguimos bien). Llega un técnico de mi empresa y monta Oracle en su servidor. Y empezamos a tener problemas. Para instalarlo hay que reiniciar el equipo. Pero los 19 usuarios están trabajando. Y no es cuestión de que se lo montemos un fin de semana. A mis técnicos les gusta pasar el fin de semana en familia, como a todos. Así que tenemos un problema. Y si su programa funciona con SQL Server tenemos un gran problema. Oracle y SQL Server en la misma máquina. No es que no se pueda, pero es un latazo. Tampoco es raro que cuando reiniciemos después de montar Oracle, con todos los empleados cabreados con nuestro técnico, resulta que su programa ha dejado de funcionar. Y el problema es que no es «nuestro» programa así que no sabemos porqué. Si es en SQL Server, todavía puede que nos enteremos de algo, pero como sea un poco más «raro»,… hay que llamar a su técnico. Y, mientras, todo el mundo cabreado sin trabajar.
Después de muchos problemas, y cabreos, y si hay suerte, todo vuelve a funcionar. Pero lentamente. Claro, su servidor no estaba pensado para ejecutar dos programas «exigentes» a la vez. Quizás si le amplian la memoria, o le ponen otro disco duro… pero si hay que instalar todo de nuevo es otro día de trabajo, como mínimo, con su desplazamiento, dietas, horas…
b) Un servidor para cada programa (insisto, programas de uso generalizado en la oficina y exigentes, no para el correo, o pequeñas aplicaciones): Llegamos con nuestro servidor debajo del brazo, con todo instalado, y en un solo día se quedan montados los 19 puestos, el programa funcionando y la formación inicial impartida. Y, además, va perfectamente, que para eso lo hemos montado tranquilamente en la oficina. Y, más todavía, no han dejado de trabajar en su programa de contabilidad o ERP ni hemos llamado a su técnico. Todo eso por 500€ que vale hoy un servidor en el que hemos llegado a montar 1.000.000 de PDFs sin problemas. Haz la cuenta de las horas perdidas y el coste de los técnicos de la otra opción y compara.
No sé tú, pero yo me quedo con la opción b y a virtualización la dejamos para empresas más, mucho más, grandes.
Sinceramente, la virtualización no es para PyMEs, es para grandes centros de datos, donde una máquina la podemos virtualizar en varias máquinas, ahorrando costes, como por ejemplo en los centros de datos de Hosting.
Para las PyMEs, el 90% de las que tienen servidor de aplicaciones o datos en la empresa, solo tienen datos o algún programa compartido, si necesitan algo más, el 90% de las ocasiones será más barato poner otro servidor al lado, que comprar un servido potente, instalar un Linux, instalar un software de virtualización, instalar varios sistemas operativos, y mantener varios sistemas virtualizados. Eso es más caro de mantener. Además el equipo necesita que se haga un mejor mantenimiento, es recomendable que se limplie cada cierto tiempo, ya que si se va el servidor, se van todos los servidores virtuales.
La verdad es que la virtualización hay que saber usarla, yo por ejemplo que soy desarrollador, utilizo la virtualización para no tener más equipos, en la actualidad tengo 5 equipos (3 Windows XP, un Windows Vista 64Bits y un Mac), para tener Windows 7, Windos Vista 32Bits, Windows 2003 Server y Linux decidí virtualizar, que me sale más barato comprar un disco duro nuevo de 1TB que comprar 6 ordenadores para hacer pruebas de mi software, además de ahorrar dinero, cuando arranco una máquina virtual, ahorro en tiempo, ya que no sé por qué va más rápido.
La cosa es que la virtualización efectivamente está de moda, pero para lo que vale, para prácticas, para emular cosas (por ejemplo un Windows dentro de un Mac, sin tener que reiniciar con BootCamp) o para «servidores grandes».
En cuanto al Cloud Compiting, no es que esté de moda, es que es la mejor manera de evitar la piratería, o que compres servicios extra (un claro ejemplo es Picasa Web, 1Gb gratis y 25Gb por 19,90€), yo no sé como evitas tú la piratería de tu sistema, me imagino que con algún tipo de mochila o algo parecido, pero con el cloud computing, es muy sencillo, si tu usuario no está en mi base de datos no entras, es 100% seguro para el desarrollador. Bueno en realidad esto es SaaS (Software as a Service), el problema es que si te quedas sin internet el sistema se cae.
Por lo que hablas en este post, no te gustan las «modas», lo que no te gusta, y lo comprendo, es cambiar una cosa que te funciona, a los nuevos gustos o necesidades de la industria.
Sí es verdad que cuando un cliente lee el «PC Actual» o revistas similares, es un coñazo, ya que se creen informáticos, o que el que les asesora (su primo) les ha dicho que lo mejor es tal solución. A estos clientes yo les explico que la solución que yo les doy es la que mejor se acomoda a su empresa, aunque yo gane menos, pero es la que más opima para ellos en cuanto a costes, mantenimiento y eficiencia, y si se ponen pesados con otro tipo de solución, les invito a que la hagan con otro proveedor, en ocasiones, han venido y me han dado la razón, diciendo que si hubieran optado por mi solución se habrían ahorrado mucho dinero.
Por último, solo hacerte una pregunta, si están en contra del software libre, qué haces usando un blog de WordPress, deberías programarte tu propio sistema de blog. En la vida no se puede ser un radical, como yo siempre digo, el Software Libre tiene sus usos, y en muchos casos es muy bueno, como el WordPress, Open Office, Gimp, … , pero para otras cosas en las que necesitas ya muchos conocimientos deja de ser atractivo, ya que necesitarás personal que te mantenga, lo que quiere decir que lo que era gratis empieza a costar dinero.
Gracias por tu comentario que enriquece mucho mi artículo. Sin duda, sabes mucho más que yo de virtualización. Además has tratado el tema de virtualización en los ordenadores de sobremesa, que yo no he tratado para no liar a mis «lectores» no profesionales.
En este tema, la virtualización, estoy de acuerto contigo, completamente.
En cuanto a las modas, lo ya comentado: hay que instalar una tecnología porque sea útil, no porque la usen los demás, que no siempre tienen las mismas necesidades que yo. Pero hay comerciales realmente malos que van a lo fácil y generan muchos problemas.
Por último, el software libre. No soy tan radical. Lo de «archienemigo» lo digo en broma, por eso uso esta palabra más propia de un comic de Batman. Puedes leer en algún post anterior que lo que me molesta es el uso «político» que se hace del software libre, sobre todo en las Administraciones Públicas y, más aún, la forma de venderlo, usando argumentos que son falsos, por ejemplo que es más barato seguro.
Además, nosotros alquilamos nuestro software de gestión documental y llevamos usando este concepto de pago por uso o software como servicio (aunque no en la nube) desde hace 15 años.
Espero que sigas contribuyendo con tus comentarios a enriquecer el blog pero no olvides su nombre, es «para gente normal», es decir, para usuarios, no para programadores.
Hola Fernando, estás que lo tiras… Software libre y ahora Virtualización !!
Pero si la Virtualización para profesionales en entornos privativos es una de las actividades económicas más pujantes del mercado IT actual (no hay más que ver VMware y su subida estratosférica…)
Si, si… las PYMES, las PYMES… No me olvido de ellas.
Según la definición oficial europea, una PYME es:
«La categoría de microempresas, pequeñas y medianas empresas
(PYME) está constituida por empresas que ocupan a menos de 250 personas y cuyo volumen de negocios anual no excede de 50 millones de euros o cuyo balance general anual no excede de
43 millones de euros».
Extracto del artículo 2 del anexo
de la Recomendación 2003/361/CE
Yo sí creo en la Virtualización en las PYMES.
Mi sincera opinión es que no podemos aprovecharnos del «desconocimiento tecnológico» de la PYME granadina para sustentar la idea de que un producto tan ventajoso como la Virtualización no es recomendable para ellas.
Y entrecomillo «desconocimiento tecnológico» puesto que el 99% de los clientes a los que le hables de virtualización te mirarán con cara de espanto y pensarán que quieres llevarte su modelo de negocio (o su mesa y su silla) a china y ponerle gafas 3D para que admire el espectáculo.
Cuales son las ventajas competitivas de la virtualización inclusive en entornos pequeños?
* Aprovechamiento del Hardware (esta la has apuntado tú en repetidas ocasiones). Un equipo actual dedicado a tareas de servidor puede (y debe en términos de rentabilidad) dedicarse a más tareas que compartición de archivos o programas básicos y no tan básicos.
* Escalabilidad. Ojalá la productividad española fuera tan grande que una empresa tuviera que utilizar esta palabra con asiduidad. Las técnicas de virtualización permiten escalar aplicaciones y servicios con menor coste de implantación y de tiempo que las tradicionales técnicas denominadas férricas, que implican a más necesidad más hierro.
* Facilidad en la administración y reducción de costes de la misma. Aquí es donde difiero del anterior comentario. (Valde) Una administración centralizada de los servicios tecnológicos de una empresa que los basa en la virtualización es menos costosa y más fácil de gestionar puesto que no hay que mantener varias máquinas, se reducen los puntos de fallo y se puede prestar mayor atención a los que existen y son inevitables (discos duros, alimentación eléctrica estable, higiene técnológica, etc).
* Reducción del consumo y del espacio necesario para albergar las necesidades tecnológicas de una empresa. Obvio. Un ejemplo claro lo tengo en mi oficina, 1 servidor ERP funcionando desde hace 6 años (4U de altura) más un clon listo para funcionar con características similares de hardware, total 8U de altura, unos 1200-1400watt de consumo. En unos meses cambiará a: 1 servidor 1U con virtualización (350Watt) y un servidor de Backup (un virtualizador genérico que se encarga de otras tareas actualmente) y que puede recibir una máquina virtual migrada en menos de 8 minutos y ponerla en funcionamiento sin adaptar hardware ni tener que hacer reinstalaciones.
* Reducción de los tiempos de parada. Agregar un disco duro nuevo a una solución software virtualizada es fácil, limpio y no implica paradas. Idéntico razonamiento para la memoria, interfaces de red, almacenamiento externo, etc…
* Multitud, MULTITUD y MULTITUD de alternativas. No me he referido en todo el post a nada relativo a la utilización de sistemas operativos privativos o basados en Software Libre. Tanto en unos como en otros existen multitud de alternativas viables y factibles. Si una PYME puede elegir entre tanto abanico de ofertas (tanto de pago como gratuitas) es más un hecho de desconocimiento tecnológico que de otra cosa que no aproveche las características beneficiosas de la Virtualización.
Por último las contra-indicaciones de la virtualización pueden verse en la necesidad de un mayor grado de integración tecnológica en los procesos productivos justificado no obstante por las ventajas que menciono anteriormente y también por la capacitación técnica de los trabajadores del sector que luchamos por una mayor productividad tecnológica de las PYMES con un coste menor lo que lleva a intentar que seamos (y seáis) más competitivos en el mercado actual.
Mi defensa no es a ultranza, existen casos y casos, evidentemente no beneficia a ninguna de las posturas la generalización total del tema. Sí creo que con una mayor información y educación tecnológica las técnicas de virtualización ahorran costes, incrementan la productividad y revierten en términos económicos en la empresa o PYME que las utiliza.
Y lo mejor de todo es que estoy dispuesto a demostrárselo a cualquiera que reniegue de ello…!
Siempre que no quiera virtualizar el café y el bocata de jamón.
Un saludo
Javier
Hola Javier, gracias por tu comentario. Supera con mucho al propio post. Y estoy de acuerdo con casi todo lo que dices. ¿Dónde no? En la puesta en marcha en micropymes, de 5, 10, 15 usuarios, que tienen una infraestructura básica y no cuentan, desde luego, con un técnico como tú. Porque tú no eres un técnico «normal», en el sentido de corriente, de usual. Cuando dejamos un programa instalado a 300km de nuestras oficinas, nos da mucho miedo que llamen con un problema de hardware o software básico, del sistema operativo, la red… son problemas sencillos pero con frecuencia requieren una visita. Si el técnico que mantiene el sistema es bueno, perfecto, pero si no lo es, tenemos que ir en persona, y eso es muy caro.
En resumen, intentamos simplificar al máximo las instalaciones en clientes «básicos» y aquí la virtualización se convierte en un problema.
En todo caso, no soy enemigo irreconciliable de la virtualización, en absoluto, solo que creo que necesita un soporte técnico, un conocimiento de los instaladores que no encuentras habitualmente. Al final nos vamos a lo sencillo, montar un servidor propio, y ahorramos muchas horas al cliente, horas que no suele estar dispuesto a pagar (al menos mis clientes, que deben ser los más rácanos del mercado).
Buenoooo, esto está animado (no te quejarás ¿eh?). A ver, yo, como te supondrás soy el defensor a ultranza del Software Libre (y su modelo de negocio que no el que últimamente están haciendo algunas «empresas»), del Cloud computing, del XML (últimamente más de JSon) y por supuesto de la virtualización (aunque más de la paravirtualización como Xen).
Un inciso primero, el tema de reiniciar la máquina con Oracle, si hubiera sido un servidor Linux no hubieras tenido que reiniciar 😉
Con el tema de la virtualización, evidentemente, casos y opciones hay a miles, como bien te han presentado aquí, pero un servidor normal hoy día tiene una capacidad bastante aceptable para aguantar un par de máquinas virtuales. Si metes tu programa, Oracle, etc. en una máquina virtual, tu técnico podrá llevarla al cliente y instalarlo todo en cuestión de 30 min. y funcionará, porque funcionaba cuando salió de la oficina 🙂
Además, se pueden crear «Snapshots» con lo que puedes recuperar una máquina en cuestión de minutos aunque se rompa, se borre, etc.
Si hablamos de paravirtualización ya… bueno, eso mejor lo dejamos para más adelantes, que me emociono…
Además, en el fondo usamos «máquinas» virtuales constantemente aunque no contengan sistemas operativos como Linux, Windows,… como es la propia Java Virtual Machine, la .Net de M$, etc.
En la Junta de Andalucía se usa mucho por las Consejerías, y no necesariamente por las más grandes, que también, si no por los Institutos Públicos, etc. y la verdad es que el ahorro de costes y tiempo es bastante considerable.
Por cierto, el tema que comentas de «renting» de tu aplicativo… creo que deberías mirar el tema del cloud computing y lo mismo hasta reorientas en parte tu negocio 😉
Creo que usas Delphi, me gusta, aunque no sé si ese producto sigue teniendo soporte. Yo en su tiempo era de Visual Basic y Visual C++ (siii, vale, estaba en el lado oscuro), y siempre quise ponerme con él… pero la vida… 🙂
Un saludo.
Bueno Fernando, como sigáis hablando bien de la virtualización a pequeña escala, voy a tener que subirme al carro. Y no lo digo en broma.
De todas formas, ahora nuestra preocupación es conseguir el máximo rendimiento de los servidors, vamos, que el cliente obtenga su documento «pesado» en PDF cuanto antes en su pantalla y para eso probamos discos a 10.000rpm, discos SSD, balanceo de carga… y la virtualización nos parece que, por bien que vaya, siempre hará algo más lenta la respuesta del servidor.
Sí, programamos en Delphi. Y sigue habiendo soporte y nuevas versiones cada año, aunque nos actualizamos cada 2 ó 3, que hay que dominar y no cambiar por que sí.
Gracias por tu comentario.
La virtualización de las aplicaciones ayudaria muchismo con este ejemplo que usas de un PDF, actualmente mi fuerte es citrix, y admiro mucho la virtualización con XenApp es una maravilla, en tanto al ejemplo este PDF por mas «pesado» que sea, un cliente final no nota la diferencia pues la aplicación se procesa en el servidor, y lo que se envía al usuario son los pixeles…en tanto a tu post me parece excelente!
Saludos
No he utilizado Citrix pero siempre he oído muy buenos comentarios sobre él. Lo malo, casi siempre hay algo malo, es que resulta caro y realmente complicado de instalar para una PYME que no tenga un técnico. Un escollo importante.
Por lo demás, sin duda un opción muy interesante. El envío de «las pantallas» en lugar de enviar el documento completo es una forma estupenda de solventar los problemas de ancho de banda. Lo aprovechamos ampliamente en la versión para iPad de nuestro software.
Gracias por el comentario.