La portabilidad en la nube es una estrategia para crear aplicaciones nativas de la nube escalables y resistentes. Cuando se habla de nube nativa, la portabilidad a la nube suele estar implícita. Cloud-native es un enfoque arquitectónico de desarrollo y despliegue de aplicaciones que maximiza la elasticidad y agilidad de los recursos de computación en nube. Sin embargo, cuando los equipos empiezan con un único proveedor de nube y construyen en torno a herramientas y servicios gestionados específicos de ese proveedor inicial, pueden quedar rápidamente bloqueados por el proveedor.
Una carga de trabajo portátil es aquella que puede migrarse, implantarse y gestionarse fácilmente en distintos entornos informáticos y plataformas de infraestructura. Permite a las organizaciones evitar la dependencia de un proveedor y mantener la flexibilidad en sus estrategias de nube.
Cuando se empieza con un enfoque agnóstico de la nube y se aprovechan las herramientas que se pueden utilizar con cualquier proveedor de nube, se tiene la flexibilidad de hacer cambios a medida que cambian las necesidades. Una estrategia portátil también le ofrece más información sobre cómo está utilizando sus recursos y por qué, y le permite diversificar sus recursos en la nube o cambiar de proveedor en función de las necesidades de la aplicación y la empresa.
Diseño de su estrategia de portabilidad a la nube
Si está empezando o reconsiderando su arquitectura de aplicaciones en la nube, aquí tiene cinco pasos para diseñar con éxito una carga de trabajo portátil.
Identificar los requisitos
El primer paso para conseguir una carga de trabajo portátil es identificar objetivamente los requisitos de la carga de trabajo. He visto con demasiada frecuencia que este proceso se ve empañado por la subjetividad, porque los ojos se posan en los atractivos servicios de un proveedor de nube antes de completar este paso inicial. Por lo tanto, lo importante aquí es determinar el alcance de los requisitos antes de la consideración de su(s) proveedor(es) de nube.
Piense en ello como un enfoque básico para comprender la funcionalidad y las características necesarias para satisfacer todos los entregables, y a continuación identificar las pilas de software y las dependencias, así como otros componentes para satisfacer esas necesidades. Tener una perspectiva objetiva y más básica como ésta es como ver la nube a través de una lente gran angular. Destaca una gran cantidad de funcionalidades que pueden ejecutarse en primitivas de infraestructura de nube básicas que existen en cualquier proveedor.
Identificar los puntos de bloqueo
Tanto si la aplicación está aún en fase de construcción o planificación, como si ya se ha desarrollado e implantado en una plataforma en la nube, evalúe el diseño de la arquitectura actual para identificar los componentes y servicios específicos de esa plataforma.
Si ha identificado puntos de bloqueo del proveedor, dedique tiempo a evaluar por qué. Empiece por responder a las siguientes preguntas.
- ¿Se seleccionó una solución, o al menos se tuvo en cuenta, para acelerar el despliegue o el tiempo de comercialización?
- ¿La solución se basaba en la consulta, o en la compatibilidad/interoperabilidad con otros servicios de esa plataforma?
- ¿Cuáles fueron sus costes en el momento de seleccionar esa solución frente a los actuales?
Después de responder a estas preguntas, puede empezar a buscar el código abierto ideal u otras soluciones alternativas que ofrezcan la misma funcionalidad o una similar, evaluar los esfuerzos que conlleva la implantación y desarrollar un plan de ejecución. Si después de toda la evaluación, sigue optando por quedarse con un servicio específico de una plataforma, asegúrese de tener una estrategia de salida. La dependencia de un proveedor de la nube puede ser de dos tipos: arquitectónica y operativa. Una estrategia de salida bien pensada de un servicio en la nube patentado puede aliviar ambas preocupaciones.
Escalabilidad y tiempo de actividad
La escalabilidad horizontal y la distribución pueden lograrse utilizando tecnologías de equilibrio de carga junto con la contenedorización, las imágenes informáticas, la gestión de la configuración y la separación de los componentes con y sin estado. El estado debe ser declarativo siempre que sea posible, mantenido y gestionado por una única fuente de verdad, y replicado y sincronizado automáticamente.
Diseño modular
Las arquitecturas monolíticas pueden resultar engorrosas y casi imposibles de gestionar, lo que resta la flexibilidad necesaria para realizar cambios de forma portátil. Por lo tanto, las cargas de trabajo deben diseñarse con modularidad, con componentes dispares claramente definidos y que funcionen juntos como un sistema débilmente acoplado. Un diseño nativo en la nube proporciona un proceso eficiente de actualización o sustitución de componentes individuales sin afectar a toda la carga de trabajo, lo que en última instancia promueve la mantenibilidad, la adaptabilidad y... ¡la portabilidad!
Todo como código
Si está desarrollando aplicaciones nativas de la nube, debería estar familiarizado con un enfoque declarativo de la implantación. Busca codificar cada parte de tu carga de trabajo: aplicación, infraestructura y gestión de la configuración. Con este enfoque puedes automatizar el despliegue de nuevos entornos (p. ej., dev, staging, test) o replicar entornos existentes. Esto facilitará el proceso de despliegue azul/verde y le ayudará a recuperarse rápidamente en caso de desastre.
Un enfoque de GitOps le ofrece un único panel de vidrio para lograr la portabilidad, con las ventajas de fiabilidad de las canalizaciones de automatización para estandarizar sus despliegues, una mayor visibilidad para el cumplimiento/auditoría y la aplicación de políticas como código. Obtenga más información con nuestra guía gratuita GitOps for Cloud Portability.
¿Busca ayuda para diseñar una estrategia de portabilidad en el cloud computing de Akamai? Póngase en contacto con nuestros expertos en la nube para una consulta.
Comentarios (1)
Thanks for info!