¡No utilice S3 para las backup!

A continuación se muestra un resumen de los problemas con Amazon S3 y el almacenamiento compatible con S3 en general. Si bien S3 tiene el propósito de hacer que los archivos estén disponibles en línea, su reutilización como almacenamiento de copia de seguridad no es tan efectiva.

Primero, el mayor problema: es solo el almacenamiento

Cuando se trata de copias de seguridad para sus servidores Windows, por ejemplo, le preocupa poder realizar copias de seguridad y restaurar el servidor de manera efectiva. Quieres una garantía de que si algo sale mal, hay alguien que puede ayudarte. Le gustaría tener a alguien disponible para revisar sus copias de seguridad y la configuración de la copia de seguridad para asegurarse de que todo esté bien.

Cuando se trata de proveedores de almacenamiento de S3, como Amazon S3, solo le proporcionan una plataforma de almacenamiento. No recibes ningún soporte técnico. E incluso si lo hiciera, es costoso y generalizado, no se centra en la solución de copia de seguridad del servidor que está implementando para su cliente o negocio.

Comprar una solución completa de copia de seguridad en la nube del servidor es diferente porque, pase lo que pase, tiene soporte técnico disponible para asegurarse de que todo esté configurado correctamente, funcionando correctamente y restaurándose como debería. Independientemente del almacenamiento que utilices, cuando forma parte de la solución general, obtienes la ayuda que necesitas cuando la necesitas. Siempre que tenga proveedores separados, las cosas se complican y no obtendrá automáticamente la asistencia de soporte técnico competente que pueda necesitar en ese momento.

Costos

Si bien S3 ofrece precios escalables y de pago por uso, los costos pueden acumularse, especialmente para el almacenamiento a gran escala o la transferencia de datos. Los usuarios deben administrar cuidadosamente sus patrones de almacenamiento y acceso para optimizar los costos.

Coherencia de los datos

S3 proporciona una fuerte coherencia de lectura tras escritura para todos los objetos, pero es posible que esta coherencia no sea inmediata en determinadas situaciones. En algunos casos, durante una actualización del bucket, algunos objetos pueden mostrar coherencia eventual en lugar de coherencia inmediata.

Rendimiento limitado para objetos pequeños

Es posible que S3 no sea la mejor opción para las aplicaciones que requieren acceso de muy baja latencia a objetos pequeños, ya que la sobrecarga de establecer conexiones y realizar la autenticación puede ser relativamente alta para solicitudes pequeñas.

Capacidades limitadas de indexación y búsqueda

S3 está diseñado para el almacenamiento y la recuperación simples de objetos, pero carece de funciones avanzadas de búsqueda e indexación. Los usuarios que necesitan realizar consultas complejas sobre sus datos pueden necesitar integrar servicios o herramientas adicionales.

Sobrecarga de control de versiones

Si bien el control de versiones es una característica de S3, puede generar mayores costos de almacenamiento y complejidad. El almacenamiento de varias versiones del mismo objeto puede acumularse con el tiempo y generar mayores gastos.

Gestión del ciclo de vida limitado

Aunque S3 proporciona políticas de ciclo de vida para administrar objetos, es posible que no tenga tantas funciones como algunas soluciones de administración de datos dedicadas. Los requisitos más avanzados del ciclo de vida de los datos pueden requerir herramientas o servicios adicionales.

Complejidad de la configuración de seguridad

Si bien S3 ofrece sólidas funciones de seguridad, las opciones de configuración pueden ser complejas. Los usuarios deben administrar cuidadosamente los controles de acceso, las políticas de bucket y otras configuraciones de seguridad para garantizar la protección adecuada de sus datos; De lo contrario, sus copias de seguridad pueden ser visibles para todo el mundo sin su conocimiento.

Sin semántica nativa del sistema de archivos

S3 es un servicio de almacenamiento de objetos y no proporciona semántica nativa del sistema de archivos. Esto puede ser una desventaja para las aplicaciones que requieren operaciones a nivel de archivo y características tradicionales del sistema de archivos, como los servicios de copia de seguridad.

Costos de transferencia de datos

Los costos de transferencia de datos pueden ser un factor importante, especialmente cuando se mueven grandes volúmenes de datos dentro y fuera de S3, especialmente entre diferentes regiones de AWS. Esto incluye tanto la transferencia de datos dentro de AWS como la transferencia de datos hacia y desde Internet. Los costos de transferencia de datos se acumulan rápidamente cuando realiza una operación de verificación o restauración de copias de seguridad en sus copias de seguridad.

Consistencia global

S3 está diseñado para ser un servicio distribuido globalmente, lo que es ventajoso para una alta disponibilidad. Sin embargo, lograr la coherencia global en un sistema distribuido puede ser un reto, y esto podría afectar a las aplicaciones que requieren una coherencia sólida en todas las regiones.

Sin funcionalidad de búsqueda nativa

S3 no proporciona capacidades de búsqueda integradas. Esto puede ser un problema cuando necesita buscar archivos específicos para restaurarlos.

Soporte de transacciones limitado

S3 no es una base de datos tradicional y no proporciona soporte transaccional como una base de datos relacional. Si su aplicación requiere transacciones ACID, es posible que S3 no sea la mejor opción para ciertos tipos de almacenamiento de datos.

Complejidad del control de acceso

Si bien S3 ofrece un mecanismo de control de acceso, la administración de un control de acceso detallado para una gran cantidad de usuarios y recursos puede resultar compleja. Las políticas de IAM, las políticas de bucket y las listas de control de acceso (ACL) necesitan una configuración cuidadosa y no son compatibles con NTFS en Windows, por ejemplo.

Latencia

Aunque Amazon S3 está diseñado para ofrecer alta disponibilidad, es posible que el acceso de baja latencia no sea adecuado para determinadas aplicaciones en tiempo real. Si la aplicación requiere un acceso a los datos de latencia extremadamente baja, es posible que deba considerar soluciones alternativas.

Soporte limitado para el bloqueo de archivos

S3 carece de compatibilidad integrada con los mecanismos de bloqueo de archivos, lo que puede ser esencial para las aplicaciones que requieren acceso exclusivo a los archivos para evitar conflictos en las actualizaciones simultáneas. Esto puede ser un problema cuando varias copias de seguridad del servidor utilizan el mismo bucket.

Coherencia final de los objetos sobrescritos

Si bien S3 proporciona una coherencia sólida para la creación de nuevos objetos, sobrescribir un objeto existente puede dar lugar a una coherencia final. Esto podría dar lugar a escenarios en los que diferentes clientes vean diferentes versiones del mismo objeto durante un breve período de tiempo.

Curva de aprendizaje

Comprender la gama completa de características, configuraciones de seguridad y prácticas recomendadas para usar S3 de manera efectiva puede requerir algo de tiempo y esfuerzo. Esta curva de aprendizaje puede ser una consideración para los equipos nuevos en AWS o en el almacenamiento en la nube en general.

Soporte limitado para cambios retroactivos

Una vez que un objeto se almacena en S3, cambiar retroactivamente la clase de almacenamiento o la configuración de cifrado puede ser un desafío. Esto podría dar lugar a complejidades si necesita actualizar esta configuración para un gran volumen de objetos existentes. Esto también hace que se agreguen tarifas a la cuenta cada vez que se debe cambiar un objeto.

Impacto en el rendimiento de las políticas de ciclo de vida

Si bien S3 proporciona políticas de ciclo de vida para la administración automática de datos (por ejemplo, mover objetos a Glacier para archivarlos), estas políticas pueden tener implicaciones de rendimiento durante la ejecución, especialmente para operaciones a gran escala.

Costos de solicitud de API

S3 cobra por las solicitudes de API y los costos se acumulan, especialmente con solicitudes de alta frecuencia o de tamaño pequeño. Comprender los patrones de acceso de su aplicación y optimizar el uso de la API es crucial para controlar los costos, pero los costos no se pueden controlar realmente al 100%.

Gestión limitada de cifrado nativo

Si bien S3 admite el cifrado del lado del servidor, la administración y rotación de claves de cifrado puede requerir soluciones adicionales o integración con AWS Key Management Service (KMS), lo que agrega complejidad a la administración del ciclo de vida de las claves.

Restricciones de nomenclatura de buckets

Los nombres de bucket de S3 son únicos a nivel mundial y, una vez que se elige un nombre, no se puede cambiar. Esta restricción puede ser un desafío en escenarios en los que es necesario revisar las convenciones de nomenclatura o cuando se trata de un gran número de equipos que administran sus propios buckets.

Limitaciones de tamaño de objeto

Si bien S3 admite tamaños de objeto muy grandes, existe una limitación en el tamaño máximo de una sola operación PUT (5 GB para PUT estándar y 5 TB para cargas multiparte). Esto puede ser una consideración para las aplicaciones que tratan con archivos extremadamente grandes, como las soluciones de copia de seguridad.

Desafíos de la integración de terceros

Es posible que algunas aplicaciones o herramientas de terceros no se integren a la perfección con S3, y es posible que se requieran soluciones alternativas o desarrollo personalizado para facilitar la interoperabilidad. Por ejemplo, sincronizar su carpeta de copia de seguridad con otro sitio no es tan sencillo cuando se trata de S3.

Velocidad de transferencia de datos y ancho de banda

Si bien S3 proporciona alta disponibilidad, la velocidad a la que se pueden transferir datos dentro y fuera de S3 está sujeta a limitaciones de ancho de banda de red. Las transferencias de datos a gran escala pueden requerir una planificación cuidadosa para optimizar el rendimiento.

Costos de salida de datos

Si bien la carga de datos en S3 suele ser gratuita o relativamente económica, la recuperación y transferencia de datos fuera de S3 a Internet u otras regiones de AWS puede incurrir en costos adicionales. Esta es una consideración importante para las aplicaciones con patrones de acceso a datos frecuentes. Además, la limitación de velocidad se usa comúnmente para ralentizar la salida en ciertos momentos.

Dependencia de la conectividad a Internet

El acceso a S3 depende de la conectividad a Internet. Si la aplicación está hospedada en un entorno con conectividad a Internet limitada o poco confiable, esto podría afectar a la confiabilidad y disponibilidad de las copias de seguridad.

Complejidad de la replicación entre regiones

Si bien S3 admite la replicación entre regiones para la redundancia de datos y la recuperación ante desastres, la administración y configuración de la replicación entre regiones puede ser compleja. Además, los costos de transferencia de datos entre regiones pueden acumularse.

Costos de aceleración de transferencia de S3

Si bien S3 Transfer Acceleration puede acelerar las cargas a S3 mediante el uso de las ubicaciones de borde distribuidas globalmente de Amazon CloudFront, conlleva costos adicionales. Los usuarios deben sopesar los beneficios frente a los gastos asociados.

Control de acceso detallado limitado para el control de versiones

Si bien S3 admite el control de versiones, administrar los controles de acceso para versiones específicas de un objeto puede ser un desafío. El control de acceso detallado para versiones individuales puede requerir funciones de IAM o políticas de bucket adicionales.

Limitaciones de tamaño de metadatos

Los metadatos asociados a cada objeto de S3 tienen limitaciones de tamaño. Si la aplicación requiere metadatos extensos para cada objeto, es posible que deba considerar soluciones de almacenamiento alternativas o bases de datos externas para administrar metadatos.

Costos de almacenamiento de control de versiones

La habilitación del control de versiones aumenta los costos de almacenamiento, ya que cada versión de un objeto se almacena por separado. Esto puede dar lugar a costos de almacenamiento más altos de lo esperado si el control de versiones está habilitado para un gran número de objetos con actualizaciones frecuentes.

Sobrecarga de eliminación de objetos

La eliminación de una gran cantidad de objetos de un bucket de S3 puede llevar tiempo y el proceso puede estar sujeto a ciertas limitaciones de velocidad. Esto puede ser una consideración para aplicaciones con alta rotación de objetos.

Capacidades de registro de acceso limitado

Si bien S3 proporciona registros de acceso que capturan información sobre las solicitudes realizadas a un bucket, es posible que la granularidad de estos registros no sea suficiente para algunos requisitos avanzados de auditoría y monitoreo.

Control de versiones para todos los objetos de un bucket

Una vez que el control de versiones está habilitado para un bucket, se aplica a todos los objetos dentro de ese bucket. Esta falta de granularidad puede ser una consideración para las aplicaciones que requieren el control de versiones solo para subconjuntos específicos de datos.

Costos de recuperación de datos para Glacier y Glacier Deep Archive

Si utiliza S3 Glacier o Glacier Deep Archive para el archivado a largo plazo, la recuperación de datos de estas clases de almacenamiento puede incurrir en costos adicionales y puede tener retrasos sustanciales en el tiempo de recuperación cuando necesite restaurar las copias de seguridad.

Limitación de velocidad en llamadas a la API de S3

S3 impone límites de velocidad en ciertas operaciones de API, y exceder estos límites puede resultar en una limitación temporal. Comprender estos límites es crucial para las aplicaciones con altas tasas de solicitudes, que son comunes durante los procesos de copia de seguridad.

Registro limitado de cambios de datos

Si bien S3 proporciona registros de acceso para realizar un seguimiento de las solicitudes realizadas a un bucket, es posible que no capture información detallada sobre los cambios en el contenido de un objeto. El seguimiento detallado de los cambios puede requerir soluciones de registro personalizadas adicionales.

Sobrecarga de carga multiparte

Aunque las cargas multiparte son útiles para las transferencias de objetos grandes, la gestión del proceso de carga multiparte conlleva una sobrecarga adicional. Las cargas de varias partes abandonadas o incompletas pueden generar costos de almacenamiento y deben revisarse y limpiarse periódicamente.

Compensaciones de aceleración de la transferencia de datos

S3 Transfer Acceleration puede mejorar las velocidades de carga, pero conlleva costos adicionales. Los usuarios deben evaluar si las mejoras de rendimiento justifican los gastos adicionales para sus casos de uso específicos.

Implicaciones del control de versiones de buckets

La habilitación del control de versiones para un bucket afecta no solo a los costos de almacenamiento, sino también a la forma en que se administran los datos. Puede afectar a la forma en que se eliminan los objetos, y los desarrolladores deben ser conscientes de las implicaciones para la lógica específica de su aplicación.

Selección y compresión de S3

Cuando se utiliza S3 Select en objetos comprimidos, el tipo y el formato de compresión deben ser compatibles con S3 Select. Es posible que algunos formatos de compresión no sean compatibles, y la selección de datos de ciertos tipos de objetos comprimidos puede generar costos de procesamiento adicionales.

Punto de conexión de aceleración de transferencia de datos

El uso de S3 Transfer Acceleration requiere acceder a un punto de enlace específico (por ejemplo, .s3-accelerate.amazonaws.com). Es posible que este punto de conexión no esté optimizado geográficamente para todos los usuarios y que algunos usuarios experimenten un rendimiento más lento.

Control de versiones de bucket e interacción de aceleración de transferencia de S3

La habilitación del control de versiones y la aceleración de transferencia en un bucket puede generar un aumento de los costos y afectar el rendimiento y el comportamiento de las aplicaciones. Es importante comprender las interacciones entre estas características.

Variabilidad del rendimiento

El rendimiento de S3 puede variar en función de factores como la ubicación geográfica del bucket, el tamaño de los objetos y los patrones de acceso. Comprender estas variaciones es importante para las aplicaciones con requisitos de rendimiento específicos.

Limitaciones del bloqueo de objetos

Si bien S3 proporciona bloqueo de objetos para la retención de datos y la protección contra la eliminación de objetos, tiene ciertas limitaciones. El bloqueo de objetos se puede aplicar a nivel de cubo u objeto, y cambiar o eliminar el bloqueo puede estar sujeto a restricciones.

Descripción de los costos de transferencia de S3

Además de los costos de transferencia de datos, los usuarios deben tener en cuenta los costos asociados con la aceleración de transferencia de S3 y la replicación entre regiones, ya que pueden contribuir al gasto total.

La alternativa: la solución de copia de seguridad en la nube de BackupChain

En lugar de comprar almacenamiento a un proveedor de S3, considere la posibilidad de utilizar el servicio de copia de seguridad en la nube de BackupChain. Recibirá un software de copia de seguridad con licencia perpetua incluido con el almacenamiento en la nube que necesita. Además del aspecto técnico, también recibirá un soporte técnico competente que le ayudará a configurar, supervisar y restaurar sus copias de seguridad y estará disponible siempre que necesite ayuda. Eche un vistazo a BackupChain hoy mismo y pruébelo usted mismo:

Otros Tutoriales Sobre Backup