Dependiendo de su lenguaje de programación preferido, ya habrá kits de herramientas disponibles para los servicios de almacenamiento en la nube más populares.
Por ejemplo, si necesita admitir Amazon S3 y está desarrollando con Ruby on Rails, una búsqueda de “Ruby AWS S3 toolkit” arrojará algunas gemas de ruby que abstraerán la mayor parte para usted. Como mínimo, todos los servicios de almacenamiento en la nube tendrán una API RESTful o REST-like que puede utilizar para realizar llamadas API a través de un cliente HTTP. Usando nuestro ejemplo de Ruby anterior, hay Net :: HTTPRequest que podría usar para hacer solicitudes de API. Elija el idioma que planea usar y luego comience a buscar bibliotecas de cliente HTTP y módulos específicos para servicios de almacenamiento específicos.
Parece que desea desarrollar un servicio de almacenamiento front-end que utiliza múltiples backends. Ya hay algunos, por lo que podría valer la pena echarles un vistazo para ver cómo es su interfaz y qué servicios de almacenamiento admiten. Nasuni y Gladinet son los que inmediatamente vienen a la mente, aunque de ninguna manera son los únicos.
- ¿Qué haría falta para que una empresa cambie a Google Compute Engine desde AWS?
- ¿Qué tan competitivos son los trabajos de computación en la nube en comparación con los trabajos de desarrollo de software o administración de bases de datos?
- ¿Quién es un candidato legítimo para AWS de Amazon o quién podría convertirse en uno en los próximos 5 años?
- Estoy usando el alojamiento compartido traído de Bigrock para mi próximo sitio web de comercio electrónico basado en magento y mi sitio web se bloquea todos los días, lo que me da un error 508: recursos totalmente utilizados, mi presupuesto es de Rs 1000 / mes. ¿Debería usar el alojamiento de Amazon?
- He alojado un sitio web en AWS. ¿Cómo descargo la base de datos MySQL actual de una instancia EC2 en ejecución?
Mi recomendación sería comenzar poco a poco e iterar, agregando servicios adicionales de forma incremental. Amazon S3 es el primer servicio obvio para comenzar, pero OpenStack Swift es una excelente segunda opción de soporte. Al admitir la API OpenStack Swift, podrá integrarse con una serie de proveedores de almacenamiento, como Rackspace CloudFiles, Internap AgileFILES, Softlayer Object Storage, etc.
Con archivos grandes (más de 5 GB para Swift, pueden variar para otros servicios de almacenamiento de objetos), generalmente divide el archivo en fragmentos y crea un archivo “manifiesto” que le dice a la biblioteca del cliente cómo volver a ensamblarlo al entregarlo al cliente.
Documentos rápidos: soporte para objetos grandes
Referencia rápida de la API: 3.4.3. Crear objetos grandes
Teóricamente, podría dividir el archivo grande en varios proveedores de servicios. El documento manifiesto le dirá al cliente dónde obtener los múltiples archivos. Dudo que sea útil, a menos que esté tratando de mantenerse dentro de los niveles de uso gratuito y distribuir archivos entre múltiples servicios para evitar el pago. Es probable que los problemas de usar múltiples proveedores de almacenamiento para un archivo de esta manera creen más problemas de lo que vale. Por otro lado, si está planeando fragmentar un archivo en múltiples segmentos, luego replique esos segmentos en múltiples proveedores para obtener redundancia, de modo que al recuperarlo el cliente pueda extraer de cualquier proveedor (por ejemplo, la ubicación más cercana o la respuesta más rápida), que podría ser una característica útil de almacenamiento en múltiples nubes.