¿Ejecutar S3 en tu portátil? Esto lo cambia todo (MinIO)

BBetter Stack
Computing/SoftwareSmall Business/StartupsInternet Technology

Transcript

00:00:00Las facturas de S3 pueden ser demasiado caras; las aplicaciones generan tantos datos que cada carga y descarga
00:00:05puede volverse pesada. Y la mayoría de los desarrolladores piensan que el almacenamiento de objetos significa una sola cosa: la nube.
00:00:09Pero eso no siempre es cierto. ¿Qué pasaría si pudieras ejecutar un almacén de objetos compatible con S3 directamente en tu portátil?
00:00:15Ahí es donde entra MinIO. Es rápido, compatible con S3 y se ejecuta en casi cualquier lugar,
00:00:20incluso localmente en tu Mac. En los próximos minutos, les voy a mostrar tres cosas:
00:00:25Cómo configurarlo y ejecutarlo, por qué los desarrolladores lo usan y la realidad de herramientas como esta.
00:00:30[MÚSICA]
00:00:35Si estás intentando reducir los costes de la nube o facilitar el desarrollo, esto podría ahorrarte mucho
00:00:39sufrimiento. Esto es lo que realmente resuelve: la mayoría de los desarrolladores y equipos lidian con estos mismos tres
00:00:45problemas. Las facturas de la nube son difíciles de predecir. Datos que están demasiado lejos de la aplicación que los usa,
00:00:51y cargas de trabajo de IA que necesitan un almacenamiento local rápido. MinIO nos da otra opción. Obtenemos
00:00:57compatibilidad con S3, un rendimiento sólido y un control total sin depender de la nube.
00:01:01Es ideal para desarrollo local, prototipos, flujos de RAG, contenido multimedia, copias de seguridad, todo eso. Y sí,
00:01:07puedes ejecutarlo todo localmente, sin VPS ni cuenta en la nube. Ahora, un pequeño descargo de responsabilidad:
00:01:12el repositorio de GitHub ya está archivado y se encuentra en modo de mantenimiento. Así que no podemos usarlo
00:01:17para siempre. Han cambiado su enfoque de MinIO a MinIO AI Store, pero el almacenamiento de objetos sigue ahí.
00:01:24Podemos usar esto por un buen tiempo con beneficios reales. Si te gustan las herramientas que aceleran
00:01:29tu flujo de trabajo, asegúrate de suscribirte. Publicamos vídeos todo el tiempo.
00:01:32Muy bien, déjenme mostrarles lo sencillo que es. Tengo MinIO ejecutándose en un contenedor Docker
00:01:37aquí en mi M4 Pro. Primero, lo conecto y voy a ejecutar "mc alias set local". Voy a añadir
00:01:44mi localhost y simplemente usaré sus credenciales de inicio de sesión predeterminadas por ahora. Luego puedo crear un bucket,
00:01:50"mc mb local/demo-bucket", podemos llamarlo. Y luego voy a empezar a subir algunos archivos:
00:01:55imagen, texto, JSON. Primero mi imagen, luego podría hacer un archivo de texto ligero. Y finalmente,
00:02:02añadamos algunos datos JSON aquí. Ahora, si listo todo, ahí está. Una estructura limpia,
00:02:08igual que en S3. Ahora viene la parte que a la mayoría nos importa realmente. Ejecuto este pequeño script
00:02:14de Python aquí. Y sigue usando Boto3, el mismo estilo de código que AWS. No hay cambios aquí.
00:02:22Y en el navegador, está en localhost. Abro el bucket. Puedo expandir las carpetas. Puedo
00:02:27hacer clic en la imagen y ahí tienes la vista previa. Se siente como S3, excepto que se ejecuta en tu portátil.
00:02:33¿Qué es MinIO realmente? Básicamente, es un servidor de almacenamiento de objetos que habla la
00:02:39API de Amazon S3. Así que mantienes todo lo que ya sabes. Podemos usar los mismos SDKs. Mantenemos los mismos comandos,
00:02:46el mismo modelo mental, pero en lugar de estar atado a AWS, se ejecuta donde quieras. Docker,
00:02:53Kubernetes, bare metal, edge, o simplemente en tu portátil como estoy haciendo aquí. Y esto importa más ahora
00:02:59que antes porque nuestras aplicaciones solo consumen más datos a medida que pasan los años. Porque cuando
00:03:05tu ordenador está aquí y tus datos están en otro lugar, terminamos pagando mucho dinero por eso,
00:03:10en latencia y en costes de nube. MinIO cambia todo esto. Acerca el almacenamiento a donde ocurre
00:03:17el trabajo. Y por eso esta configuración es tan útil para desarrollo y pruebas. No para producción,
00:03:22pero para esos dos casos es realmente buena. En mi caso, lo ejecuto localmente, lo que lo hace ideal para
00:03:27construir y depurar aplicaciones con muchos datos antes siquiera de tocar producción. Ahora bien, tenemos muchas otras
00:03:33opciones por ahí, por supuesto. Con AWS S3, obtienes almacenamiento totalmente gestionado y a gran escala. Pero de nuevo,
00:03:40la desventaja es el coste, las tarifas y el hecho de estar atado a AWS. Con Ceph, obtienes algo excelente y
00:03:46también escalable, pero es más complejo de ejecutar. Más piezas móviles, más gastos generales. Ahora, un patrón común
00:03:52podría verse algo así: puedo usar MinIO localmente para desarrollo, MinIO o S3 para
00:03:57entornos de prueba en la nube y en producción. Eso funciona porque tu configuración local sigue coincidiendo con el modelo de S3
00:04:03que tu aplicación ya usa o usará. Así que si tu aplicación maneja muchos datos, MinIO simplemente tiene sentido
00:04:10mientras estamos en desarrollo. Muy bien, ahora permítanme ser sincero por un momento. ¿Deberías usarlo? Bueno,
00:04:15es fácil de desplegar, es un solo binario o Docker, tiene una fuerte compatibilidad con S3 y es muy rápido.
00:04:21Y si mueves muchos datos, evitar las tarifas de salida es una gran victoria. Pero aquí está el detalle:
00:04:26el MinIO de código abierto que ves aquí sigue siendo gratuito bajo la licencia AGPL versión 3.
00:04:33Y funciona bien para demostraciones, desarrollo local y prototipos. Ahora, repito, han cambiado su
00:04:38enfoque a MinIO AI Store. Eso incluye un nivel gratuito para uso en un solo nodo, pero ahora
00:04:43están añadiendo niveles de pago para clústeres, alta disponibilidad y todas estas otras características.
00:04:48Así que para aprendizaje, desarrollo local y proyectos pequeños, esto es genial. Es bueno. Pero para clústeres
00:04:53en producción, probablemente necesites AI Store o alternativas como Ceph o Garage. Así que vale
00:04:59la pena si estamos en desarrollo local o solo experimentando, pero tal vez no si necesitas infraestructura totalmente gestionada o
00:05:04alta disponibilidad integrada desde el primer día. Aún podemos quedarnos con los otros para esto. MinIO o el nivel gratuito
00:05:11de AI Store te ofrecen almacenamiento al estilo S3, un gran rendimiento y control total sobre tus datos sin pagar
00:05:16la tarifa premium de la nube automáticamente por ahora. Y puedes probarlo ahora mismo en tu portátil como he hecho yo aquí.
00:05:21Si disfrutas de las herramientas de código abierto y de los consejos de programación como este para acelerar tu flujo de trabajo,
00:05:25asegúrate de suscribirte al canal de Better Stack. Nos vemos en otro vídeo.

Key Takeaway

MinIO permite reducir los costes de la nube y la latencia de desarrollo al proporcionar un servidor de almacenamiento de objetos compatible con S3 que se ejecuta localmente mediante un solo contenedor Docker.

Highlights

MinIO permite ejecutar un almacenamiento de objetos compatible con la API de Amazon S3 directamente en un entorno local como una MacBook M4 Pro.

El uso de almacenamiento local elimina la latencia y los costes variables asociados a las transferencias de datos y las tarifas de salida de la nube.

La configuración se realiza mediante un único binario o un contenedor Docker, permitiendo el uso de herramientas estándar como Boto3 y el SDK de AWS sin modificar el código.

El repositorio original de MinIO en GitHub está archivado y la empresa ha transicionado hacia MinIO AI Store, que mantiene un nivel gratuito para nodos individuales.

MinIO funciona bajo la licencia AGPL versión 3, lo que lo hace viable para desarrollo, prototipos y flujos de trabajo de generación aumentada por recuperación (RAG).

Timeline

Problemas de costes y latencia en el almacenamiento en la nube

  • Las facturas de AWS S3 resultan impredecibles debido al volumen constante de carga y descarga de datos.
  • La distancia física entre la aplicación y los datos en la nube genera latencia innecesaria.
  • Las cargas de trabajo de IA modernas requieren un acceso rápido a datos locales para ser eficientes.

El almacenamiento de objetos tradicionalmente se asocia de forma exclusiva con la nube, lo que genera una dependencia externa y gastos operativos elevados. MinIO ofrece una alternativa al permitir el control total de los datos en servidores propios o máquinas locales. Esta opción es especialmente útil para el desarrollo de prototipos y la gestión de contenido multimedia sin incurrir en costes de salida.

Configuración técnica y compatibilidad con el ecosistema S3

  • El comando 'mc alias set local' vincula el cliente de MinIO con la instancia local de forma instantánea.
  • Los scripts de Python que utilizan la librería Boto3 funcionan con MinIO sin necesidad de alterar la lógica del código.
  • La interfaz de usuario en localhost proporciona una estructura de carpetas y previsualización de archivos idéntica a la consola de AWS.

La implementación en una Mac M4 Pro demuestra que el servidor puede manejar diversos tipos de archivos como imágenes, texto y JSON con una estructura limpia. Al hablar el mismo protocolo que Amazon S3, los desarrolladores mantienen sus flujos de trabajo y modelos mentales previos. La herramienta facilita la transición entre el desarrollo local y el despliegue final en producción.

Casos de uso y comparación con otras soluciones de almacenamiento

  • MinIO es ideal para entornos de desarrollo y pruebas, pero presenta limitaciones para infraestructuras de producción complejas.
  • Ceph ofrece una escalabilidad similar a MinIO pero conlleva una mayor complejidad operativa y más piezas móviles.
  • Un flujo de trabajo híbrido utiliza MinIO para codificación local y S3 para el entorno de producción final.

Acercar el almacenamiento al lugar donde ocurre el procesamiento de datos es fundamental ante el crecimiento exponencial del consumo de información en las aplicaciones actuales. Mientras que AWS S3 ofrece una gestión total a gran escala, MinIO destaca por su simplicidad en el despliegue mediante un solo binario. Esta paridad entre el entorno local y la nube asegura que las aplicaciones no requieran reconfiguraciones drásticas al ser desplegadas.

Licenciamiento y transición hacia MinIO AI Store

  • La versión de código abierto de MinIO sigue disponible bajo la licencia AGPLv3 para uso individual y aprendizaje.
  • MinIO AI Store introduce niveles de pago para funciones de alta disponibilidad y clústeres empresariales.
  • Alternativas como Garage o Ceph son necesarias cuando se requiere una infraestructura gestionada o redundancia integrada desde el primer día.

El cambio de enfoque de la compañía hacia AI Store implica que el repositorio original de GitHub ahora está en modo de mantenimiento. A pesar de esto, el almacenamiento de objetos sigue siendo funcional y gratuito para configuraciones de un solo nodo. Para proyectos pequeños y experimentación, MinIO sigue ofreciendo un rendimiento sólido sin el coste premium de los servicios en la nube.

Community Posts

View all posts