Acerca de la modernización del almacenamiento con Oracle Cloud Infrastructure Object Storage
Este manual de soluciones le ayudará a comprender cómo diseñar y ejecutar la migración del almacenamiento a largo plazo desde sistemas de archivos locales o NFS a Oracle Cloud Infrastructure Object Storage (OCI Object Storage). Una solución como esta puede ayudar a reducir costos, así como a aplicar la retención, las reglas de ciclo de vida y las solicitudes autenticadas previamente como funciones adicionales.
En este manual de soluciones, estamos utilizando un caso de uso del cliente para resaltar el punto de partida para implementar un esfuerzo de modernización exitoso.
A menudo hablamos de migración y modernización en la nube en la misma conversación, pasando por todos los métodos, servicios y ofertas disponibles. La conversación a menudo implica hacer un enfoque por fases, donde todo un centro de datos se mueve sistemáticamente a la nube, se levanta y cambia tal cual, y luego todo lo demás sigue su ejemplo.
Una vez que se completa la fase inicial, la modernización de aplicaciones a menudo pierde su importancia en comparación con los desafíos de seguridad, supervisión, integración actual y continua. También destaca un cambio del trabajo que los equipos de infraestructura pueden hacer al de los equipos de aplicaciones. Los presupuestos, los plazos y otras prioridades tienen prioridad, por lo que las aplicaciones se pueden ejecutar tal cual en la nube. Para aprovechar el verdadero ahorro potencial que puede proporcionar la nube, las empresas deben recurrir a tecnologías como el almacenamiento de objetos para ahorrar en costos.
Los archivos son un excelente lugar para empezar, ya que se pueden migrar de NFS a OCI Object Storage con un trabajo y una prueba de desarrollo mínimos. La implementación de una solución como esta puede ahorrar en el pedido de 10-50x en almacenamiento, según el caso de uso. Las empresas se han dado cuenta de que los centros de datos operativos se están volviendo más responsables y podrían generar costos adicionales invisibles, con el creciente número de ataques potenciales, la pérdida de servicio y la innovación constante de los competidores.
Esto debería convertir el uso de servicios en la nube como OCI Object Storage en una prioridad, para ahorrar costos, proteger el negocio, compartir la carga de operar una amplia gama de cargas de trabajo dispares con un hiperescalador y mucho más.
Descripción de los desafíos posteriores a la migración
La clave aquí era centrarse en un punto de dolor posterior a la migración y rediseñar una pieza lo suficientemente grande de la aplicación para ser impactante, pero lo suficientemente pequeña como para abordar dentro de un solo sprint de diseño. De esta manera, el negocio logra ahorros y tranquilidad, al tiempo que mantiene bajos los costos de desarrollo y prueba.
Para el caso de uso de este manual de soluciones, el costo del almacenamiento de archivos compartido (NFS) se convirtió en un problema en la nube, y el diseño original de la aplicación se convirtió en la razón por la que no era tan fácil de cambiar. Durante el proyecto de migración del entorno local a la nube, hablamos del almacenamiento de objetos como una alternativa más barata y fiable al almacenamiento de archivos, en papel sobre 10x para ahorrar. Al agregar copias de seguridad y replicación, es probable que 10x sea mayor. Funciones eficientes como la replicación entre regiones, el bloqueo de retención y las políticas de ciclo de vida pueden funcionar conjuntamente para que Object Storage sea la base de un sistema rentable, fiable y seguro en el que almacenar documentos importantes. Sin embargo, cuando la aplicación se diseña en torno al sistema de archivos NFS para el almacenamiento de documentos y espera la semántica POSIX, las cosas se vuelven más difíciles.
La aplicación que se modernizó en este caso de uso es una aplicación estándar de 3 niveles, pero con varios componentes externos que tienen que ejecutar un proceso coordinado e intensivo en CPU para generar facturas de clientes, contabilizarlas en una estructura de directorios organizada y catalogarlas para su descarga y almacenamiento a largo plazo. Estos archivos PDF y otros archivos se almacenaron en un sistema de archivos NFS grande con un patrón de nomenclatura de archivos muy específico, para que una ruta generada pueda acceder a ellos. Sin embargo, se creó otra aplicación en torno al servidor Apache HTTP, utilizando el área de almacenamiento a largo plazo de este recurso compartido NFS como raíz de documentos, de modo que las URL generadas desde la aplicación podrían utilizarse para descargar archivos desde cualquier punto en los últimos 2 años. Por último, los archivos de más de una determinada edad podrían eliminarse del archivo en línea, pero aún así podrían ser solicitados por los auditores que buscan registros.
Por lo tanto, todos los archivos de hasta 10 años de antigüedad debían mantenerse en el sistema de archivos NFS, lo que esencialmente costaba al negocio más dinero cada día que se generaban nuevos archivos. El problema existía en varias aplicaciones diferentes, por lo que el problema de costos solo empeoraría con el tiempo.
Aproveche OCI Object Storage
Object Storage es perfecto para archivos que no cambian con frecuencia. Esto contrasta con NFS, que se centra en el almacenamiento compartido de uso mixto.
Al aprovechar varios elementos de diseño de Object Storage y algunas funciones específicas del servicio OCI Object Storage, podemos aumentar la disponibilidad y reducir el costo de cargas de trabajo adecuadas.
En este caso de uso, los archivos creados para el acceso a medio plazo y el archivo a largo plazo son adecuados. Es probable que estos archivos se escriban una vez y tengan la necesidad de almacenarse durante meses o años sin cambios. De hecho, es posible que la empresa desee asegurarse de que son inmutables durante un período de tiempo.
En general, a continuación se muestra una lista de los motivos básicos por los que Object Storage tiene ventajas con respecto al almacenamiento de archivos tradicional para este tipo de archivos.
- Disponibilidad: el almacenamiento de objetos es un servicio regional, lo que significa que no está vinculado a un único dominio de disponibilidad.
- Buscar: el uso de metadatos de objeto es probablemente más útil que depender únicamente de nombres de archivo y comandos de búsqueda de estilo POSIX.
- Reglas de retención: se puede garantizar que todo un cubo no cambie una vez que se escriban los objetos para garantizar el cumplimiento inmediato.
- Niveles de almacenamiento: los niveles de almacenamiento de objetos (ya sea automático o manual) reducen considerablemente el costo de los objetos de retención a los que se accede con poca frecuencia o que requieren reglas de negocio.
- Políticas de ciclo de vida: el ajuste del movimiento entre los niveles de almacenamiento y la supresión automática (limpieza) después de la retención ahorrará en almacenamiento y administración.
- Replicación: la replicación sencilla y automática de un cubo completo en otra región puede aumentar la disponibilidad y el acceso a los datos.
- Costo: el almacenamiento de objetos correctamente construido y mantenido cuesta mucho menos que los sistemas de archivos NFS duplicados y desordenados.
NFS sigue siendo útil para aplicaciones que requieren un sistema de archivos montado, compartido y de estilo POSIX. El cliente aún necesitaba NFS para el almacenamiento compartido, pero su uso se limitaba a archivos "operativos", en lugar de archivos de "archivo". La solución que se describe aquí describe cómo configurar y acceder al almacenamiento de objetos, y cómo se ha modificado la aplicación para utilizar el almacenamiento NFS y el nuevo archivo de almacenamiento de objetos creado para el almacenamiento a largo plazo.
Arquitectura
Esta arquitectura muestra el diseño y la ejecución para mover el almacenamiento a largo plazo a OCI Object Storage, lo que ayuda a reducir los costos y aplicar la retención, las reglas de ciclo de vida y las solicitudes autenticadas previamente como funciones agregadas.
En las siguientes imágenes se muestra la implementación de la arquitectura "antes" y "después". Oracle File System Service (FSS) se utiliza para un sistema de archivos compartido de gran tamaño. En este sistema de archivos, que se había migrado desde un centro de datos local, los componentes de la aplicación utilizan el procesamiento por lotes para generar archivos de almacenamiento de forma continua. Por lo tanto, el mismo sistema de archivos NFS contiene los elementos de aplicación necesarios para realizar el procesamiento intermedio (secuencias de comandos, archivos temporales, etc.) y el archivo de archivos real, almacenado en una jerarquía que se debe mantener durante un máximo de 10 años, por requisitos de negocio.
Una vez configurados, los cubos de OCI Object Storage se utilizan para alojar la parte del archivo de lo que hacía NFS. Los permisos para leer y escribir el bloque están definidos de forma restringida, y se establecen reglas de retención y ciclo de vida para prepararse para una gran afluencia de datos. La gran jerarquía de archivos de almacenamiento se copia en OCI Object Storage y el procesamiento por lotes se refactoriza para colocar nuevos archivos en el nuevo cubo de objetos. Los mecanismos de acceso también se refactorizaron ligeramente para acceder a los archivos desde el almacenamiento de objetos, de manera que se impedía que el resto de la aplicación y los clientes finales tuvieran que realizar cambios en la forma en que accedían a estos archivos.
El siguiente diagrama ilustra la arquitectura antes de la implantación:
oci-object-storage-modernization-arch-oracle1.zip
El siguiente diagrama ilustra la arquitectura después de la implantación:
oci-object-storage-modernization-arch-oracle.zip
- Administradores de arrendamiento - Acceso completo
- Administradores de aplicaciones - Acceso limitado sin lectura de objetos
- Sólo lectura - Inspección de cubo sin lectura de objeto
- Sentencias agregadas por grupo dinámico
- Limitada para recursos específicos
- Lista de OCID de instancia
- OCID de compartimento de instancia
- 3650 días (10 años)
- bloqueado
e: Reglas de ciclo de vida:
- Después de 90 días - Almacenamiento poco frecuente
- Después de 180 días - Almacenamiento de archivos
- Después de 3651 días - Suprimir
Esta arquitectura admite los siguientes componentes:
- Object Storage
Oracle Cloud Infrastructure Object Storage proporciona acceso rápido a grandes cantidades de datos estructurados y no estructurados de cualquier tipo de contenido, incluidas copias de seguridad de base de datos, datos analíticos y contenido enriquecido, como imágenes y vídeos. Puede almacenar datos de forma segura y, a continuación, recuperarlos directamente desde Internet o desde la plataforma en la nube. Puede ampliar el almacenamiento sin experimentar ninguna degradación del rendimiento ni de la fiabilidad del servicio. Utilice el almacenamiento estándar para el almacenamiento al que debe acceder de forma rápida, inmediata y frecuente. Utilice el almacenamiento de archivo para el almacenamiento "frío" al que conserva durante largos períodos de tiempo y al que rara vez accede.
- Almacenamiento de archivos
El servicio Oracle Cloud Infrastructure File Storage proporciona un sistema de archivos de red duradero, escalable, seguro y empresarial. Puede conectarse a un sistema de archivos del servicio File Storage desde cualquier instancia con hardware dedicado, de máquina virtual o de contenedor en una VCN. También puede acceder a un sistema de archivos desde fuera de la VCN mediante Oracle Cloud Infrastructure FastConnect y la VPN IPSec.
- Identity and Access Management (IAM)
Oracle Cloud Infrastructure Identity and Access Management (IAM) es el plano de control de acceso para Oracle Cloud Infrastructure (OCI) y Oracle Cloud Applications. La API de IAM y la interfaz de usuario le permiten gestionar los dominios de identidad y los recursos dentro del dominio de identidad. Cada dominio de identidad de OCI IAM representa una solución independiente de gestión de identidad y acceso o una población de usuarios diferente.
Consideraciones para Identity Management
El uso de cubos de almacenamiento de objetos privados implica la configuración de permisos adecuados para su uso. Por defecto, los grupos de usuarios y los grupos dinámicos no suelen tener acceso a juegos de permisos amplios, como object-family, a menos que estén dentro del ámbito de un compartimento.
Antes de embarcarse en esta solución, vale la pena asegurarse de que solo los grupos a los que desea tener acceso al almacenamiento de objetos tengan permisos. Una cosa extremadamente útil aquí es seguir la metodología de CIS Landing Zone para restringir el acceso. Al implementar esta solución, analizamos la creación de grupos dinámicos, por lo que vale la pena comprender tanto la estructura de compartimentos de su arrendamiento, como los conceptos que analiza la zona de llegada. También vale la pena leer sobre la sintaxis de políticas de OCI, incluida la forma de definir de forma restringida un grupo dinámico y una sentencia de política.
Aunque tanto RCLONE como OCIFS soportan claves de API de OCI estándar como mecanismo de autenticación, elegimos Principales de instancia y Grupos dinámicos para autenticarse. Esto mejora la estrategia de seguridad general: no es necesario crear, distribuir ni rotar claves. En su lugar, se utilizan grupos dinámicos separados para garantizar los permisos más limitados posibles para cada grupo dinámico. Por ejemplo, la política puede permitir la creación de cubos para el grupo dinámico RCLONE, mientras que solo se permite la lectura de objetos para el grupo dinámico de Apache.
Consideraciones para Archive Storage
Para ahorrar costos y utilizar el nivel de costo más bajo de OCI Object Storage, esta solución implementó reglas de ciclo de vida, que mueven los objetos al nivel Infrecuente y, a continuación, al nivel de archivo después de un período de tiempo después de la creación.
Una vez que los objetos se archivan, no se pueden reclasificar directamente a nivel estándar. Debido a la naturaleza fuera de línea del almacenamiento de objetos archivados, es necesario desarrollar un proceso en el que se pueda solicitar una auditoría (proceso de negocio), determinados archivos extraídos del archivo y, a continuación, se pueda acceder a los archivos durante un período de tiempo limitado.
Una vez más, con las características inherentes del almacenamiento de objetos, los archivos se pueden recuperar temporalmente, copiar en una ubicación temporal (otro cubo) y exponer externamente mediante solicitudes autenticadas previamente (PAR). Estas son direcciones URL oscuras (seguridad por oscuridad) que permiten el acceso a archivos específicos de un cubo y pueden caducar después de un período de tiempo definido, lo que revoca el acceso.
Durante el período de recuperación, los archivos se pueden copiar en nuevos cubos de nivel estándar y, a continuación, se revierten automáticamente al modo de archivo, sin necesidad de mantenimiento. RCLONE y OCI CLI, Java, REST o Python se pueden utilizar de forma similar para la solución principal, de nuevo con acceso a un cubo de auditoría específico.