beawolf - Fotolia

Evaluar Conozca los pros y contras de las tecnologías, productos y proyectos que está considerando.

La tecnología de código abierto promete alterar el almacenamiento empresarial

El software de almacenamiento de código abierto podría alterar la cara de la industria al reducir los costos y ofrecer una mayor flexibilidad sobre la infraestructura de almacenamiento existente.

El software de código abierto ha sido una fuerza importante para impulsar un modelo de desarrollo de software colaborativo y basado en la comunidad. El ejemplo más obvio de esto es el desarrollo de Linux, cuyas diversas distribuciones se han adoptado como el sistema operativo en la nube preferido y la plataforma de acceso para desarrolladores de aplicaciones modernas.

Más arriba en la pila, vemos el mismo modelo de costumbres y conducta (ethos) aplicado a la contenerización en forma de Docker y una gran cantidad de plataformas de base de datos para SQL estructurado, NoSQL y usos analíticos. Pero ¿qué pasa con el almacenamiento? ¿La evolución del desarrollo de software abierto ha pasado por alto el almacenamiento, o existen opciones disponibles para aquellos que desean implementar el código abierto en el almacenamiento?

Tecnología definida por código abierto

Primero, vamos a explicar lo que queremos decir con código abierto. Por definición, implica que el código fuente de un producto está libremente abierto para ser accedido y leído por cualquier persona. Pero el alcance es mucho más amplio que eso, con la mayoría de los proyectos de tecnología de código abierto que hacen que el código esté disponible bajo los términos de una licencia. La licencia determina cómo se puede usar o reutilizar el código, qué atribuciones se deben hacer, cómo se cubren las patentes y qué uso comercial se permite.

Normalmente, los esquemas de licencia como la licencia pública general Not Unix de GNU (GNU GPL) aplican reglas de derechos de autor (copyright) al código desarrollado para un proyecto que requiere que el código se distribuya libremente y se use sin que el licenciatario ponga restricciones al código que producen, lo que se conoce también como copyleft. Las incorporaciones más recientes en GPL 3.0 aseguran esto, y las patentes desarrolladas como resultado de un proyecto están disponibles para que cualquiera pueda usarlas.

¿Qué significa esto para el desarrollo de software de almacenamiento? En realidad, desarrollar una plataforma de almacenamiento no es diferente de cualquier otra pieza de software. Por lo tanto, el código abierto tiene mucho sentido para el almacenamiento, ya que permite la colaboración a gran escala en un problema complejo: mantener una garantía del 100% de la precisión de los datos en un modelo persistente.

El almacenamiento no ha sido la opción más obvia para el desarrollo de código abierto porque la mayoría de las primeras plataformas de almacenamiento compartido se desarrollaron en hardware propietario. Sin embargo, la comoditización de servidores y medios de almacenamiento ha crecido hasta cierto punto en los últimos 15 años, donde el costo es lo suficientemente bajo y la confiabilidad es lo suficientemente alta como para construir plataformas de almacenamiento a partir de componentes disponibles en el mercado. Con este aumento en el almacenamiento definido por software, el almacenamiento de código abierto se ha convertido solamente en un aspecto de un mercado compuesto por muchos productos comerciales de almacenamiento definido por software (SDS).

Por qué el almacenamiento de código abierto

Como usuario final, ¿qué motivos tiene para utilizar la tecnología de almacenamiento de código abierto? Porque, al igual que con el SDS comercial, el almacenamiento de código abierto separa la compra de hardware del software. Esto le permite generar, construir y diseñar su hardware para obtener costos y ventajas operativas, así como minimizar el número de plataformas de hardware que debe soportar. Por ejemplo, los proveedores de almacenamiento propietarios normalmente obtienen mucho margen del hardware que venden. Cuando los componentes de hardware fueron hechos a medida, esto era comprensible. En el mundo de productos básicos de hoy en día, sin embargo, el margen no es tan aceptable excepto para cubrir los costos de las pruebas y validaciones de las configuraciones.

Las plataformas de almacenamiento de código abierto van un paso más allá, eliminando el gasto de capital del software de almacenamiento. Todo lo que queda es decidir si pagar y cómo pagar por el soporte. De hecho, obtener el apoyo de un vendedor o revendedor de valor agregado es el problema principal que la mayoría de las empresas tienen que enfrentar al usar software de almacenamiento de código abierto.

Afortunadamente, existen modelos de soporte. Red Hat, por ejemplo, tiene un negocio próspero que soporta su propio Red Hat Enterprise Linux (RHEL), que está disponible comercialmente y se deriva de la distribución de Fedora. RHEL está, a su vez, disponible como tecnología de código abierto en distribuciones como CentOS.

El funcionamiento del almacenamiento de código abierto proporciona el mismo nivel de flexibilidad que los productos de almacenamiento comercial estándar. Puede ejecutar versiones comerciales de sistemas de almacenamiento de código abierto en entornos de producción. De esta forma, las pruebas y el desarrollo pueden ejecutarse con implementaciones de almacenamiento soportadas internamente. Este enfoque ofrece importantes ahorros de costos, especialmente con datos no estructurados que requieren el almacenamiento de objetos a escala.

Eligiendo un producto

Una gama de tecnología de código abierto en el mercado cubre los requisitos de almacenamiento basados ​​en objetos, en archivos y en bloques. Algunos productos funcionan con un solo protocolo; otros admiten múltiples protocolos mediante emulación o conectores de protocolo.

Almacenes de objetos

Las ofertas de almacenamiento de código abierto más comunes se incluyen en la categoría de almacenamiento de objetos, que normalmente se utiliza para almacenar archivos o copias de seguridad de datos en donde los costos deben ser bajos.

Ceph es un proyecto de tecnología de código abierto que comenzó alrededor de 2007 y se desarrolló a partir de una disertación doctoral escrita por Sage Weil. Al igual que la mayoría de los proyectos de código abierto, está disponible en GitHub y se ofrece como licencia bajo la licencia pública general GNU de Lesser (LGPL), versión 2.1. Ceph es un almacén de objetos distribuido y escalado, conocido como Almacén de Objetos Distribuidos Autonómicos Confiables (RADOS), construido a partir de múltiples nodos físicos o virtuales que proporcionan almacenamiento, servicios de metadatos, servicios API y monitoreo de clústeres. Además del objeto, Ceph admite datos de bloque y archivo, el primero a través del dispositivo de bloqueo RADOS y el último utilizando un Ceph FS, una puerta de enlace del sistema de archivos. En 2014, Red Hat adquirió Inktank, la compañía que brinda soporte a Ceph, y ahora vende una versión comercial de Ceph que proporciona una implementación más sólida y empresarial.

OpenIO es una empresa francesa que está desarrollando un almacén de objetos escalado para admitir una amplia gama de aplicaciones, desde el correo electrónico hasta la copia de seguridad (backup) y el archivo. Algunas partes del software tienen licencia bajo LGPL, versión 3 y otras bajo la licencia pública general de Affero, versión 3. Aunque OpenIO había estado en desarrollo desde 2006, se convirtió en código abierto en 2012. A diferencia de la mayoría de las ofertas de almacenamiento de código abierto, OpenIO admite tanto arquitecturas de procesador x86 como ARM, que también puede mezclarse dentro de un solo clúster.

Minio es un servidor de almacén de objetos con licencia de Apache, versión 2.0. El software es liviano y puede ejecutarse como contenedor Docker; en MacOS, usando Homebrew; o en Windows o Linux, tanto en x86 como en ARM. Minio depende de la comunidad en lugar de tener apoyo comercial.

S3 Server, liberado por Scality en 2016 como una imagen de contenedor de Docker. El software se ha descargado más de 600,000 veces desde entonces. Está licenciado bajo Apache 2.0. Al ser un almacén de objetos ligeros de un solo nodo, S3 Server ofrece fácil acceso a un almacén de objetos compatibles con la API de servicios de almacenamiento simple de Amazon Web Services (AWS). En lugar de S3 Server, Scality espera que los clientes pasen a su producto Ring con soporte comercial para implementar almacenes de objetos para producción a gran escala.

Swift es el componente de almacenamiento de objetos de OpenStack. Proporciona un almacén de objetos basado en nodos y escalable que se puede ejecutar en servidores de productos básicos. Swift es también un protocolo utilizado para acceder a datos y es compatible con una gama de otros proveedores de almacenamiento de objetos. SwiftStack proporciona soporte comercial y dirige los esfuerzos de desarrollo de Swift.

Almacenamiento de archivos

Lustre es un sistema de archivos paralelo utilizado principalmente para los requisitos informáticos de alto rendimiento. Está licenciado bajo GPL, versión 2, administrado por Open Scalable File Systems y diseñado para ejecutarse en Linux. Hasta mayo de 2017, Intel soportaba comercialmente las implementaciones de software Lustre, pero parece haber suspendido el soporte. Esto ha dejado a compañías como DataDirect Networks para proporcionar soporte como parte de los paquetes de hardware.

FreeNAS es un dispositivo de almacenamiento de fuente abierta que tiene más de 10 años. Su software se basa en el Zettabyte File System (ZFS) altamente escalable y de código abierto. IXsystems proporciona soporte comercial para FreeNAS con un dispositivo de hardware llamado TrueNAS.

GlusterFS, o Gluster File System, es un sistema de archivos de escala que también está disponible en Red Hat como plataforma de almacenamiento comercial. La empresa, Gluster, desarrolló y apoyó originalmente GlusterFS hasta que fue adquirida por Red Hat en 2011. El software tiene licencia bajo GPL, versión 3. GlusterFS consolida los recursos de almacenamiento de múltiples servidores o nodos en un solo sistema de archivos paralelo. Los servidores contribuyentes pueden ser proveedores de almacenamiento, llamados ladrillos de almacenamiento o consumidores de almacenamiento. Como producto de almacenamiento, GlusterFS es simple de implementar. Utiliza una arquitectura de metadatos distribuidos, por lo que es especialmente adecuada para archivos de gran escala.

Almacenamiento en bloques

Cinder, como parte del proyecto OpenStack, ofrece acceso a nivel de bloque para almacenar datos persistentes para instancias virtuales. Cinder proporciona acceso al almacenamiento local mediante el uso del administrador de volúmenes lógicos o complementos que permiten el almacenamiento tradicional para usarse con OpenStack. Como tal, el soporte proviene del proveedor de almacenamiento o de un proveedor de distribución de OpenStack.

OpenEBS es un proyecto de código abierto que está desarrollando almacenamiento basado en bloques para aplicaciones en contenedores. Al igual que muchos esfuerzos de almacenamiento de código abierto, OpenEBS está escrito en Go y tiene licencia bajo Apache 2.0. Siguiendo una tendencia que vemos con muchas ofertas de almacenamiento de código abierto, OpenEBS todavía está en fase beta en desarrollo activo para el uso en producción.

Portworx es un producto de almacenamiento a escala basado en contenedores que le proporcionan almacenamiento. La compañía, Portworx, ofrece una edición comercial, PX-Enterprise, y una versión de desarrollador gratuita, llamada PX-Developer. La edición del desarrollador ofrece escalabilidad limitada y no tiene GUI, pero puede usarse en entornos de desarrollo en lugar del producto comercial. Una ventaja adicional: el software se puede implementar en la nube pública.

Los colaboradores retribuyen

Por supuesto, la tecnología de código abierto se trata de retribuir a la comunidad. Entonces, todos son libres de contribuir al desarrollo de las plataformas que se enlistaron anteriormente.

Para las grandes empresas, puede tener sentido tener algunos desarrolladores involucrados en la escritura de software de almacenamiento de código abierto. De esta forma, tienen la oportunidad de soportar internamente el software –ya sea sin soporte de proveedores en absoluto o para propósitos de prueba de desarrollo– y dirigen la integración de nuevas características. Para implementaciones a largo plazo, como archivos y copias de seguridad, involucrarse en el mantenimiento de una plataforma de código abierto ayuda a mitigar el riesgo de que un proveedor suspenda una oferta comercial.

Construya el suyo

En lugar de utilizar un producto de código abierto compatible con las opciones comerciales, otra opción es crear una versión propia a partir de componentes de código abierto, como Linux iSCSI Target o SMB en Linux. Puede usarlos para proporcionar servicios de archivos y bloques en su infraestructura de almacenamiento, especialmente en combinación con el sistema de archivos ZFS. Sin embargo, no tendría ningún tipo de soporte a no ser por la comunidad de desarrolladores. No es para los débiles de corazón.

El mercado de almacenamiento de fuente abierta ofrece una amplia gama de productos y herramientas que cubren los principales tipos de datos de almacenamiento y muchos casos de uso diferentes. Normalmente, una compañía desarrolla un producto de código abierto y proporciona soporte para ello, manteniendo el código abierto a la comunidad. Es posible que a las empresas más grandes les resulte difícil obtener el nivel de soporte que tienen con los proveedores de almacenamiento comerciales. Sin embargo, con el tiempo, el código abierto podría convertirse en un importante contribuyente al paisaje de almacenamiento.

Este artículo se actualizó por última vez en octubre 2017

Profundice más

Inicie la conversación

Envíenme notificaciones cuando otros miembros comenten sobre este artículo.

Enviando esta solicitud usted acepta recibir correos electrónicos de TechTarget y sus socios. Si usted reside afuera de Estados Unidos, esta dando autorización para que transfiramos y procesemos su información personal en Estados Unidos.Privacidad

Por favor cree un Nombre de usuario para poder comentar.

- ANUNCIOS POR GOOGLE

Close