El efecto Parque Jurásico
«Si me permite… Eh, le diré cuál es el problema con el poder científico que están utilizando aquí: no requirió disciplina alguna alcanzarlo. Leyeron lo que otros habían hecho y dieron el siguiente paso. No se ganaron el conocimiento por sí mismos, así que no asumen ninguna responsabilidad por él. Se subieron a hombros de genios para lograr algo tan rápido como pudieron y, antes incluso de saber qué tenían entre manos, lo patentaron, lo empaquetaron, lo pusieron en una fiambrera de plástico y ahora…» – Dr. Ian Malcolm, Parque Jurásico
Al plantearse construir un servidor de almacenamiento o un NAS, existe una sensación común de que lo que se necesita es un «sistema operativo NAS». Esta es una reacción extraña, en mi opinión, ya que el término NAS no significa más que un «servidor de archivos con una interfaz de almacenamiento dedicada». O, dicho de otro modo, simplemente un servidor de archivos con funcionalidad expuesta limitada. La razón por la que elegimos los dispositivos NAS físicos es el soporte integrado y, en ocasiones, una funcionalidad especial y propietaria (NetApp es un ejemplo clave de ello, al ofrecer una amplia integración con SMB y NFS y algunas opciones de RAID y sistema de archivos realmente singulares, o Exablox, que ofrece almacenamiento de archivos escalable horizontalmente y totalmente gestionado y protección de estilo RAIN). Usar un NAS para reemplazar un servidor de archivos tradicional es, en su mayor parte, un fenómeno bastante reciente y uno que, según he comprobado, suele estar impulsado por una idea equivocada o por la impresión de que gestionar un servidor de archivos, una de las cargas de trabajo de TI más básicas, es algo especial o difícil. Los servidores de archivos suelen considerarse la forma más básica de servidor y, tradicionalmente, era a lo que la gente se refería al usar el término servidor, a menos que se añadiera alguna descripción adicional, y la única forma comúnmente integrada en el escritorio (todos los escritorios Mac, Windows y Linux pueden funcionar como servidor de archivos y es muy habitual hacerlo así).
No hay, por supuesto, nada de malo en recurrir a un NAS en lugar de a un servidor de archivos tradicional para cubrir sus necesidades de almacenamiento, sobre todo porque algunas opciones modernas de NAS, como Exablox, ofrecen escalado horizontal y opciones de almacenamiento que no están disponibles en la mayoría de los sistemas operativos. Pero parece que la tendencia a usar un NAS en lugar de un servidor de archivos ha llevado a algunos comportamientos extraños cuando los profesionales de TI vuelven a plantearse los servidores de archivos. Un efecto en cascada, sospecho, en el que las razones por las que a veces se prefiere un NAS y el razonamiento de fondo se pierden, y permanece la idea resultante de «debería tener un NAS», de modo que, al volver a examinar las opciones de servidor de archivos, surge el impulso de «tener un NAS» con independencia de que exista una razón lógica para sentir que esto es necesario o no.
Primero debemos considerar que el concepto general de un NAS es sencillo: tomar un servidor de archivos tradicional, simplificarlo eliminando opciones y empaquetarlo con todo el hardware necesario para crear un dispositivo simplificado con todo el soporte incluido, desde la interfaz hasta los discos giratorios y todo lo que hay entre medias. El almacenamiento puede ser complicado cuando los usuarios tienen que determinar los niveles de RAID, los tipos de disco, monitorizar de forma eficaz, etc. Un NAS aborda esto integrando el hardware en la plataforma. Esto simplifica las cosas, pero puede añadir riesgo, ya que se dispone de menos opciones de soporte y menos capacidad para arreglar o sustituir cosas uno mismo. Pasar de un servidor de archivos a un dispositivo NAS tiene que ver, en realidad, casi exclusivamente con el soporte y, por lo general, supone un compromiso muy firme con un único proveedor. Se elige el enfoque del NAS porque se desea depender de un proveedor para todo.
Cuando pasamos a un servidor de archivos vamos en la dirección opuesta. Un servidor de archivos es un servidor empresarial tradicional como cualquier otro. Se compra el hardware del servidor a un proveedor (HP, Dell, IBM, etc.) y el sistema operativo a otro (Microsoft, Red Hat, Suse, etc.). Se especifican las piezas y la configuración que se necesitan y se obtiene el modelo informático más común de toda la TI. Con este modelo, por lo general se utilizan piezas estándar y de uso corriente, lo que permite migrar con facilidad entre proveedores de hardware y entre proveedores de software. Se dispone de opciones de «redundancia de proveedores» y, en general, todo se hace mediante protocolos abiertos y estándar. Se obtiene una gran flexibilidad y se puede gestionar y monitorizar el servidor de archivos igual que a cualquier otro miembro de la flota de servidores, incluida la posibilidad de mantenerlo completamente virtualizado. Se renuncia a la integración vertical del NAS a cambio de flexibilidad horizontal y estandarización.
Lo que resulta extraño, por tanto, es volver al modelo de uso corriente pero buscando lo que coloquialmente se conoce como un sistema operativo NAS. Ejemplos comunes de estos incluyen NAS4Free, FreeNAS y OpenFiler. Esta categoría de productos no suele ser más que un sistema operativo estándar (a menudo FreeBSD, por tener una licencia ideal, o Linux por ser bien conocido) con una «interfaz de almacenamiento» añadida, y sin ninguna funcionalidad especial o adicional que no existiera ya con el sistema operativo normal. En teoría son un sistema operativo de «función única» que hace una sola cosa. Pero esto no es la realidad. Son sistemas operativos de propósito general con una capa adicional de gestión gráfica añadida por encima. Podría decirse lo mismo de la mayoría de los propios productos NAS físicos, pero estos suelen incluir ingeniería personalizada incluso a nivel del almacenamiento, funciones especiales y, lo más importante, una pila de soporte integrada y un verdadero aislamiento de la «generalidad» del sistema operativo subyacente. Un «sistema operativo NAS» no es una versión más sencilla de un sistema operativo de propósito general, sino una versión más compleja, aunque menos funcional, de este.
Lo que resulta además extraño es que los sistemas operativos generales, con raras excepciones, ya vienen con interfaces de almacenamiento muy sencillas, sumamente conocidas y plenamente soportadas. Casi todas las variantes de servidores Windows o Linux, por ejemplo, han incluido interfaces gráficas sencillas para estas funciones desde hace muchísimo tiempo. Estas interfaces gráficas incluidas a menudo son desdeñadas por los administradores de sistemas por considerarlas demasiado «pesadas e innecesarias» para un simple servidor de archivos. Por eso resulta aún más insólito que se desee añadir una interfaz gráfica de terceros, una que no parchea ni prueba el equipo del sistema operativo y que no es conocida ni soportada de forma estándar, ya que esto va en contra de los ideales y las prácticas comunes del uso de un servidor.
Y aquí es donde entra en juego el efecto Parque Jurásico: los proveedores de sistemas operativos (Red Hat, Microsoft, Oracle, FreeBSD, Suse, Canonical, etc.) son gigantes con equipos de ingeniería asombrosos, revisión de código, pruebas, supervisión y ecosistemas de soporte empresarial. Mientras que los proveedores de «sistemas operativos NAS» suelen ser empresas muy pequeñas, algunas con una sola persona a tiempo parcial, que se suben a hombros de estos gigantes y construyen algo que sabían que podían hacer, pero que nunca se detuvieron a preguntarse si debían hacerlo. Los productos resultantes son del todo negativos en comparación con sus equivalentes de sistema operativo puro: ni facilitan la gestión de sistemas ni cubren un hueco en la oferta de servicios del mercado. Ya existe almacenamiento sólido, fiable y fácil de usar; no hacen falta más proveedores para ocupar ese lugar del mercado.
La lógica que a menudo se aplica al examinar un sistema operativo NAS es que son «fáciles de configurar». Esto puede ser cierto o no, ya que «fácil», aquí, debe entenderse como un término relativo. Para que tenga algún valor, un sistema operativo NAS tiene que ser fácil en comparación con la versión estándar del mismo sistema operativo. Así que, en el caso de FreeNAS, esto significaría FreeBSD. FreeNAS tendría que ser apreciablemente más fácil de configurar que FreeBSD para las mismas funciones dedicadas. Y esto es cierto sin dificultad: configurar un sistema operativo NAS suele ser bastante fácil. Pero esta facilidad no es más que un placebo del que los profesionales de TI deben ser muy conscientes. Hacer que algo sea fácil de configurar no es una prioridad en TI; lo importante es hacer algo que sea fácil de operar y reparar cuando surgen problemas. Que sea fácil de configurar está bien, pero si tiene como coste no entender cómo está configurado el sistema y hace que las reparaciones operativas resulten más difíciles, es algo muy, muy malo. Los productos de sistema operativo NAS hacen, de forma rutinaria, peligrosamente fácil poner un producto en producción para una función de almacenamiento —que es casi siempre la función más crítica, o casi la más crítica, de cualquier servidor en un entorno— que la TI no tiene experiencia ni, probablemente, capacidad para mantener, operar y, lo más importante, arreglar cuando algo sale mal. Necesitamos exactamente lo contrario: un sistema que sea fácil de operar y reparar. Eso es lo que importa. Así que tenemos un segundo caso de «subirse a hombros de gigantes» y construir un sistema que sabíamos que podíamos, pero del que no sabíamos si debíamos.
Lo que agrava este problema es que las propias personas que sienten la necesidad de recurrir a un sistema operativo NAS para «facilitar el almacenamiento» son, por la propia naturaleza del sistema operativo NAS, exactamente aquellas para quienes el soporte operativo y la reparación del sistema resultan más difíciles. Los administradores de sistemas que se sienten cómodos con el sistema operativo subyacente, naturalmente, no verían un sistema operativo NAS como un beneficio y lo evitarían, en su mayor parte. Son precisamente las personas para quienes es más peligroso ejecutar una plataforma de almacenamiento que no comprenden del todo las que tienen probabilidades de intentarlo. Y, por supuesto, la mayoría de los proveedores de sistemas operativos NAS ganan su dinero, como cabría predecir, con las llamadas de soporte posteriores a la instalación de clientes que desplegaron el sistema y se quedaron atascados una vez en producción, de modo que quedan a merced de los proveedores con precios de soporte exorbitantes. A los proveedores les interesa que sea fácil de instalar y difícil de arreglar. Todo juega en contra del profesional de TI aquí.
Si tomamos un ejemplo común y observamos FreeNAS, podemos ver cómo se trata de una mala alineación de «dificultades». FreeNAS es FreeBSD con una interfaz adicional por encima. Cualquier cosa que FreeNAS pueda hacer, FreeBSD puede hacerla. No hay pérdida de funcionalidad al pasar a FreeBSD. Cuando algo falla, en cualquiera de los dos casos, el administrador del sistema debe tener un buen conocimiento práctico de FreeBSD para llevar a cabo las reparaciones. No hay forma de escapar a esto. El conocimiento de FreeBSD es común en la industria y conseguir ayuda externa es relativamente fácil. Usar FreeNAS añade varias complicaciones, la mayor de las cuales es que todas y cada una de las personalizaciones realizadas mediante la interfaz gráfica de FreeNAS constituyen un conocimiento especial necesario para la resolución de problemas además del conocimiento que ya se requiere para operar FreeBSD. Así que se trata de un conjunto de conocimientos amplio, además de más cosas que pueden fallar. Es también un conjunto de conocimientos relativamente poco común, ya que FreeNAS es un producto de almacenamiento de nicho de un pequeño proveedor y FreeBSD es una importante plataforma de TI empresarial (además, todo uso de FreeNAS es uso de FreeBSD, pero solo un diminuto porcentaje del uso de FreeBSD es FreeNAS). Así que podemos ver que usar un sistema operativo NAS no hace más que añadir riesgo una y otra vez.
Este mismo problema se traslada a las comunidades que surgen en torno a estos productos. Si recurre a las comunidades en torno a FreeBSD, Linux o Windows en busca de orientación y ayuda, tratará con un gran número de profesionales de TI, administradores de sistemas competentes y personas con experiencia empresarial y corporativa. Por supuesto, también participan aficionados, gente no informada y otros, pero estas son las plataformas de TI empresarial y todo el conocimiento de la industria está a su disposición a la hora de implementar estos productos. Compare esto con la comunidad de un sistema operativo NAS. Por su propia naturaleza, solo las personas que tienen dificultades con la administración de un sistema operativo estándar o con los fundamentos del almacenamiento examinarían un paquete de sistema operativo NAS y, por tanto, esto filtra de forma natural la composición de sus comunidades para incluir únicamente a las personas de quienes lo mejor sería evitar recibir consejos. Esto crea una cultura aislada de desinformación y malentendidos en torno al almacenamiento y los productos de almacenamiento. Abundan los mitos, la orientación a menudo se vuelve imprudente y peligrosa, y las mejores prácticas de la industria se ignoran como si décadas de experiencia acumulada nunca hubieran existido.
Un sistema operativo NAS también introduce, por lo general, retrasos en los parches y las actualizaciones. Un sistema operativo NAS casi siempre, y casi por necesidad, irá por detrás de su sistema operativo de origen en las actualizaciones de seguridad y estabilidad, y muy a menudo se quedará meses o años atrás en las funciones importantes. En un escenario muy conocido, OpenFiler, el producto se construyó sobre una base ascendente no empresarial (RPath Linux) que carecía de soporte de la comunidad y del proveedor, fracasó y fue abandonada, dejando a los usuarios descendentes, incluidos todos los de OpenFiler, abandonados sin el ecosistema necesario para darles soporte. Usar un sistema operativo NAS significa confiar no solo en el gran proveedor de sistemas operativos primario, empresarial y bien conocido que fabrica el sistema operativo base, sino confiar también en el proveedor del sistema operativo NAS. Y el proveedor del sistema operativo NAS tiene una probabilidad de fracasar de varios órdenes de magnitud mayor si basa sus productos en sistemas operativos base de clase empresarial.
El almacenamiento es una función crítica y no debería tratarse a la ligera ni ignorarse como si su criticidad no existiera. Los sistemas operativos NAS nos tientan a instalar rápido y olvidarnos, con la esperanza de que nunca salga nada mal o de que podamos pasar por completo a otras funciones o empresas antes de que ocurran cosas malas. Nos aboca al fracaso allí donde el fracaso tiene más repercusión. Cuando un servidor de aplicaciones típico falla, siempre podemos copiar los archivos de su almacenamiento y empezar de cero. Cuando falla el almacenamiento, se pierden datos y los sistemas se caen.
«John Hammond: Todos los grandes parques temáticos tienen retrasos. Cuando abrieron Disneyland en 1956, ¡nada funcionaba!
Dr. Ian Malcolm: Sí, pero, John, si Piratas del Caribe se avería, los piratas no se comen a los turistas.»
Cuando falla el almacenamiento, fracasan los negocios. Tomar el camino fácil para configurar el almacenamiento e ignorar las necesidades de soporte a largo plazo, así como buscar consejo en comunidades que han filtrado a los ingenieros experimentados de almacenamiento y sistemas, incrementa el riesgo de forma drástica. Lamentablemente, la naturaleza de un sistema operativo NAS es tal que la razón misma por la que la gente recurre a él (la falta de conocimientos técnicos profundos para construir los sistemas) es la razón misma por la que debe evitarlo (una necesidad de soporte aún mayor). Las personas para quienes los sistemas operativos NAS son, en efecto, seguros de usar —aquellas con conocimientos muy profundos y amplios de almacenamiento y sistemas— rara vez considerarían estos productos, porque para ellas no ofrecen beneficio alguno.
Al fin y al cabo, aunque el concepto de un sistema operativo NAS suena maravilloso, no es una panacea, y el valor de un NAS no se traslada del mundo de los dispositivos físicos al mundo del sistema operativo instalado, y el valor de los sistemas operativos estándar es demasiado grande como para que los sistemas operativos NAS puedan aportar un valor real de forma efectiva.
«Dr. Alan Grant: Hammond, tras pensarlo un poco, he decidido no respaldar su parque.
John Hammond: Yo también.»

