Descripción del problema: clases de almacenamiento en Amazon S3
Amazon S3 (Simple Storage Service) ofrece un servicio conveniente y asequible. oportunidad para almacenar sus datos como objetos de una manera global, escalable, eficiente y altamente disponible (hasta 11 nueves de durabilidad). Hoy en día, casi todas las empresas de I+D utilizan el almacenamiento de objetos para diferentes propósitos: desde almacenar pequeños artefactos, como paquetes de software y documentos, hasta las imágenes doradas de varios GB generadas por ejecuciones de CI/CD o los millones de objetos de datos en lagos de datos de varios PB para los entrenamientos de ML/IA.
Amazon S3 es un almacenamiento común conveniente para diferentes servicios en su infraestructura, por lo tanto, sus posibilidades de ahorro de costos son muy valiosas para cada organización.
S3 como almacenamiento de objetos es mucho más asequible que los volúmenes EBS de EC2 (almacenamiento en bloque). Si analizamos y comparamos las clases de almacenamiento básico más utilizadas en S3 y EBS, veremos que S3 es más de 3 veces más rentable que EBS, por ejemplo, $0,023 por GB al mes en S3 Standard frente a $0,08 por GB al mes en el almacenamiento SSD de propósito general de EBS. Sin embargo, a diferencia del almacenamiento EBS, en el que se reserva explícitamente la cantidad de datos que se van a almacenar mediante la creación de un volumen EBS de cierto tamaño, S3 no limita la cantidad de datos que se pueden colocar en el almacenamiento. De acuerdo con las estadísticas, incluso las organizaciones pequeñas suelen alcanzar más de 50 TB en almacenamiento de objetos después de 2 o 3 años de desarrollo, por lo que la cuestión del ahorro de costes en el almacenamiento de objetos se vuelve cada vez más importante para todos.
Amazon S3 ofrece diferentes clases de almacenamiento para diferentes patrones de uso. La mayoría de las opciones de guardado se basan en configuraciones de clase de almacenamiento explícitas para su patrón de acceso GET. Por lo tanto, si se accede a sus datos con frecuencia, es preferible elegir la clase de almacenamiento estándar (se aplica de manera predeterminada, por lo que es muy probable que la use), mientras que puede guardar si identifica claramente que no necesita que se acceda a algunos objetos con frecuencia o incluso está listo para esperar un tiempo (hasta 12 horas) para recuperar sus datos del almacenamiento en frío. Puede ver Precios de Amazon S3 página para ver todas las opciones disponibles.
Si bien tiene la posibilidad de especificar la clase de almacenamiento según su patrón de uso, esto requiere una acción explícita de su parte y también una planificación e investigación sólidas antes de implementarlo, especialmente si desea optimizar los ahorros para los datos existentes.
Por eso te recomiendo comenzar con la clase de almacenamiento Intelligent-Tiering para tu almacenamiento S3 existente y luego continuar con las técnicas avanzadas para los nuevos casos de uso.
Intelligent-Tiering le permite a S3 detectar los objetos a los que no se accede con frecuencia y cambiar la clase de almacenamiento para ellos, colocándolos en el nivel de acceso poco frecuente (aproximadamente 50% más barato) o incluso en los niveles de acceso de archivo o de archivo profundo (ahorros de aproximadamente 80% y 95% respectivamente). Sin embargo, como los niveles de acceso de archivo y de archivo profundo no proporcionan un tiempo de acceso de milisegundos, orientar Intelligent-Tiering al nivel de acceso poco frecuente es la forma más fácil y segura de ahorrar en el almacenamiento de objetos.
¿Cuándo debo utilizar Intelligent-Tiering?
En general, recomiendo configurar Intelligent-Tiering como configuración predeterminada para todos los datos que coloque en el almacenamiento de objetos, excepto los datos para los que identificó claramente patrones de uso y tiene servicios externos que usan los datos diseñados para ese patrón de uso específico.
Los casos más comunes en los que no se accede con frecuencia a los objetos:
- Artefactos de software de trabajos de CI/CD
- historial de registros
- copias de seguridad a largo plazo de su infraestructura (aquellas que aún necesitan tener un RTO inmediato)
- datos sin procesar para sus servicios de ML/AI, que ya han sido procesados para ellos (por ejemplo, a través de Amazon Glue).
Cómo configurar Intelligent-Tiering de la forma más eficiente
Puede configurar la clase de almacenamiento Intelligent-Tiering para los objetos mientras realiza la operación. PONER/CORREO operaciones o iniciación Carga de varias partes. Sin embargo, esto obviamente no es aplicable a los datos existentes.
La forma más obvia de aplicar Intelligent-Tiering a los datos existentes es cambiar su clase de almacenamiento a través de la consola S3: seleccionando los objetos y navegando a Acciones->Editar clase de almacenamiento. Sin embargo, debe realizarlo manualmente o usar un PUT-Copiar objeto Llamada API. También existe un efecto secundario de esta forma de cambiar la clase de almacenamiento: se copiarán los objetos, por lo tanto, serán objetos nuevos, con la nueva fecha de última modificación y metadatos actualizados; también deberá limpiar las copias de objetos antiguos por su cuenta si utiliza llamadas API.
La forma más eficaz de aplicar Intelligent-Tiering a objetos nuevos y existentes es establecer una regla de configuración del ciclo de vida de S3.
Para ello, navegue hasta la consola S3 y seleccione el depósito en el que desea configurarlo.
Entonces:
- Vaya a la pestaña Administración
- Haga clic en el botón “Crear regla de ciclo de vida” en la sección Reglas de ciclo de vida
- Nombre su regla, por ejemplo, “Transición a niveles inteligentes”
- Puede limitar el alcance de esta regla por prefijo de objeto (parte de la ruta a los objetos de destino dentro del depósito) o etiquetas de objeto, o establecer todos los objetos en el depósito como un destino.
- Marque “Transición de versiones actuales de objetos entre clases de almacenamiento” y “Transición de versiones anteriores de objetos entre clases de almacenamiento” en la sección Acciones de reglas de ciclo de vida
- Establezca la clase de almacenamiento de destino “Niveles inteligentes” y el umbral de tiempo (por ejemplo, 30 días) para ambas transiciones
- Haga clic en “Crear regla”
La regla se crea y se aplicará diariamente al alcance especificado.
¡Felicitaciones, acaba de mejorar el uso de S3 y comenzó a ahorrar en el almacenamiento de objetos!
Max BozhenkoEntusiasta y practicante de FinOps, Director de tecnología en Hystax