¿Migrando aplicaciones a la nube? Lea esto primero.

INTRODUCCIÓN

Los entornos de computación en la nube son ahora una característica dominante del panorama de TI y las organizaciones migran aplicações locales heredadas a la nube con una regularidad cada vez mayor. Pero migrar una aplicação a la nube requiere más que simplemente mover la aplicação a una máquina virtual en un proveedor de nube. Diferentes organizaciones tienen diferentes motivaciones para la migración a la nube, pero hay factores clave que cada organización debe considerar y ciertamente existen mejores prácticas para ayudar a garantizar un esfuerzo de migración a la nube exitoso. Para obtener los máximos beneficios de la migración a la nube, planifique con anticipación, tanto en la arquitectura de la aplicação como en la transición de las instalaciones locales a la nube.

INFORMACIÓN GENERAL
Nube vs. local: diferencias clave

Un entorno de nube se comporta de manera diferente a un entorno local. Algunas de las distinciones entre los dos entornos son obvias, como el hecho de que los recursos computacionales son propiedad de otra empresa y están administrados por ella, en lugar de ser propiedad de una empresa interna y estar administrados por ella. Sin embargo, varias de las diferencias más importantes no son función de la tecnología. En general, cualquier pieza de tecnología disponible de un proveedor de nube también está disponible en las instalaciones. Lo que ofrece la nube es un modelo de consumo alternativo, no una tecnología alternativa. Dicho de otra manera, las ventajas de migrar a un proveedor de nube se encuentran en cómo se consumen los recursos computacionales, no en los recursos computacionales en sí.

Los proveedores de nube no necesariamente pueden duplicar todas las capacidades locales, como las políticas de cumplimiento de auditoría de datos diseñadas para el hardware local. Debido a que los componentes de la nube están dispersos geográficamente, la latencia generalmente es peor en las implementaciones de la nube. Los proveedores de nube también enfrentan otras limitaciones. Debido a que los proveedores se adhieren a estándares entre clientes, existen límites reales para la personalización de los entornos informáticos. Por ejemplo, pocos proveedores de nube proporcionarán equipos informáticos raros y exóticos.

Pero si una empresa puede operar dentro de esos límites, un proveedor de nube puede ofrecer capacidades de consumo que están fuera del alcance de la mayoría de las empresas. Un proveedor de nube puede operar centros de datos en todo el mundo, ofreciendo a las organizaciones la posibilidad de elegir en qué centro de datos ubicar sus recursos informáticos. Un proveedor de nube también puede absorber los costos fijos, lo que permite a una empresa pagar solo por los recursos realmente utilizados. Dado que un proveedor de nube tiene economías de escala que la mayoría de las empresas no pueden igualar, puede realizar grandes inversiones en sistemas para administrar y automatizar las implementaciones. Tenga en cuenta que ninguno de estos beneficios es de naturaleza técnica; más bien, las ventajas de un proveedor de nube están en las opciones y la estructura de costos disponibles para el consumidor.

Para mitigar los límites y aprovechar las ventajas de un proveedor de nube, un departamento de TI debe cambiar la forma en que implementa aplicações, modificando los flujos de trabajo para aprovechar al máximo las fortalezas relativas de un proveedor de nube, al tiempo que evita las dependencias en atributos en los que un entorno de nube está en desventaja, como la latencia.

Diagrama de diferencias clave entre entornos locales y en la nube
Figura 1: Diferencias clave entre entornos locales y en la nube
Motivaciones para la migración a la nube

El ahorro de costos se menciona a menudo como el principal impulsor para migrar a la nube, pero las verdaderas razones tienden a ser más matizadas. La mayoría de las motivaciones se dividen en tres categorías: certeza, productividad y agilidad.

Los proveedores de nube pública aumentan la certeza al empaquetar la tecnología para hacerla más consumible y, al hacerlo, absorben parte del riesgo operativo de TI. Dado que los proveedores mantienen y se hacen responsables de la infraestructura, una organización puede ignorar esas preocupaciones. De manera similar, los proveedores de la nube generalmente ponen a disposición herramientas para obtener información sobre las operaciones de TI, aumentando la visibilidad. Dado que los costos de la nube pública generalmente son una función del consumo, una organización puede vincular más estrechamente los beneficios de una aplicação (como los ingresos) con los costos operativos de esa aplicação. A medida que la aplicação se utiliza más, los costes aumentan, pero también los beneficios. Al trasladar los gastos de capital a los operativos, hay menos necesidad de dejar espacio para el crecimiento futuro en las decisiones de compra. La gestión de estas incertidumbres a nivel del proveedor de nube ofrece beneficios mensurables.

Otra razón para adoptar la nube pública es el aumento de la productividad. Las herramientas de colaboración y automatización de los proveedores son algunas de las más avanzadas disponibles en el mercado. Además, al no tener que gestionar la infraestructura, el personal de TI puede centrarse en esfuerzos estratégicos del negocio, mientras que las operaciones optimizadas que se pueden gestionar desde cualquier lugar aumentan la productividad del personal de TI.

La última razón para adoptar la nube pública es quizás la más convincente: agilidad. Debido a que el proveedor de nube crea la ilusión de recursos infinitos disponibles en cualquier momento, la velocidad y la dirección de los esfuerzos comerciales ya no están ligadas a las limitaciones de aprovisionamiento de TI. Los recursos se pueden implementar en segundos o minutos. Un proyecto puede consumir un entorno informático complejo durante un corto período de tiempo sin preocuparse por desmantelar el hardware cuando el proyecto finaliza. Las aplicações se pueden implementar, escalar y eliminar rápidamente sin preocuparse por los activos de hardware.

Obstáculos para la migración a la nube

Si bien la migración a la nube conlleva muchos beneficios, también existen varios desafíos asociados con el esfuerzo de migración. Las barreras y los riesgos varían según dónde ocurran en el proceso migratorio: antes de la migración, durante la migración y después de la migración. Abordar estas barreras y riesgos desde el principio aumenta la probabilidad de que el esfuerzo migratorio tenga éxito.

La planificación previa a la migración es quizás la parte más crítica del proceso migratorio. Los esfuerzos de migración pueden fallar debido a una falla en la rediseñación de la aplicação para aprovechar las capacidades de la nube. Éste también es un buen momento para hacer un balance y comenzar a gestionar la complejidad de la aplicación. La capacitación en TI también debería tener lugar al comienzo del proyecto. Las implementaciones en la nube tienden a la ejecución aislada y a la proliferación de herramientas, y la planificación en las primeras fases puede ayudar a suavizar el proceso de migración.

La migración de aplicações a la nube tiende a tomar más tiempo y ser más compleja de lo planificado inicialmente. Para ayudar a minimizar los problemas, comience con una aplicação pequeña y relativamente independiente para que los problemas encontrados tengan un impacto mínimo. Las lecciones aprendidas de la primera migración de una aplicação pequeña se pueden aplicar a migraciones futuras.

Los problemas a largo plazo con las migraciones se hacen evidentes una vez finalizada la migración. Pueden surgir preocupaciones sobre seguridad y cumplimiento, a menudo debido a que el perímetro de seguridad es más difícil de definir en un entorno de nube. El soporte para sistemas heredados puede resultar más difícil cuando los sistemas antiguos y nuevos no sólo están en entornos diferentes, sino que se desarrollaron con culturas diferentes. Algunas organizaciones han experimentado preocupación por el bloqueo de la nube, especialmente con el auge de los contenedores. Por último, las preocupaciones presupuestarias pueden ser un problema, ya que los costos variables de la nube pueden ser difíciles de proyectar cada trimestre.

Cómo elegir qué aplicaciones migrar

Una técnica para evaluar aplicações es la matriz de madurez vs. ubicación. Examina tus aplicações para determinar cuánta madurez necesitas. Las aplicações que ofrecen una diferenciación competitiva o son de nicho podrían ser mejor atendidas localmente. En el otro extremo del espectro, las aplicações de bajo costo o de liderazgo en costos (particularmente en el costo del cambio) a menudo encajan bien en un entorno de nube. Otros factores a considerar incluyen la escalabilidad. Supongamos que se ha implementado una nueva aplicação y que eventualmente podría escalar hasta 100 veces la carga actual. Para mantenerse a la vanguardia del crecimiento de la implementación local, la infraestructura necesitaría estar significativamente sobreaprovisionada, lo que introduciría costos de capital adicionales para recursos inactivos. Sin embargo, si esta misma aplicação se implementara en un entorno de nube, los costos aumentarían con el crecimiento y no habría necesidad de aprovisionamiento excesivo.

Diagrama de selección de qué aplicações migrar a la nube
Figura 2: Elegir qué aplicações migrar a la nube

Los problemas de red también pueden influir en la decisión de qué aplicações migrar a un entorno de nube. Si una aplicação tiene una gran proporción de usuarios distribuidos, como una red de distribuidores expansiva o una cantidad considerable de usuarios de correo electrónico remoto, entonces una implementación local canaliza todo ese tráfico al centro de datos. Como el tráfico ya está atravesando Internet, las aplicações no son sensibles a la latencia. Cuando aplicações como estas se ubican en un entorno de nube, la latencia de la red no cambia, pero sí libera ancho de banda en los centros de datos locales que de otro modo sería consumido por los usuarios distribuidos.

Al mismo tiempo, existen razones para mantener algunas aplicaciones en las instalaciones. Es posible que las aplicações con expectativas de vida más cortas no justifiquen los riesgos y costos de un esfuerzo de migración. Algunas aplicaciones dependen de una baja latencia de red y de velocidades de almacenamiento, y podrían funcionar mucho peor en un entorno de nube. Las preocupaciones sobre cumplimiento y seguridad suelen surgir como motivos para mantener las aplicaciones en las instalaciones. Algunos procedimientos de auditoría suponen acceso físico a los sistemas y datos para verificar los datos, mientras que otros requieren que la aplicação y el sistema operativo funcionen en hardware (es decir, no se pueden ejecutar en una máquina virtual). Con el tiempo, los procedimientos de cumplimiento se adaptarán al entorno de la nube, pero en muchos casos eso aún no ha sucedido. En lugar de asumir el riesgo de fallar en las auditorías de cumplimiento con aplicações en la nube, podría tener más sentido mantener esas aplicaciones sensibles en las instalaciones por ahora. Algunas aplicaciones necesitan soportar sistemas y procesos heredados y, por lo tanto, no es viable rediseñarlas para que funcionen en una nube. Estas aplicaciones también podrían ser candidatas para dejarlas en instalaciones locales. Por estos motivos, algunas aplicaciones deberían tener una prioridad de migración menor que aquellas que se adaptan mejor a un entorno de nube.

Es mejor dejar las aplicações en las instalaciones

  • Aplicaciones con una esperanza de vida corta
  • Aplicaciones que requieren baja latencia
  • Aplicaciones para las que existen preocupaciones de cumplimiento
  • Aplicaciones compatibles con sistemas heredados
Consideraciones sobre la transición

Muchas organizaciones deben superar desafíos durante el proceso de migración. Una pregunta importante que deberá responderse es: ¿cómo realizar la transición real? Un enfoque es utilizar DNS para resolver la aplicação local hasta que la aplicação en la nube se haya probado exhaustivamente y luego cambiar los registros DNS para resolver la aplicação en la nube. El DNS contiene un valor de tiempo de vida (TTL) que permite a los clientes almacenar en caché la respuesta del DNS durante un período de tiempo. Antes de la transición, podría tener sentido establecer un TTL bajo, quizás solo unos segundos, para que después de la transición los clientes se adapten rápidamente a las nuevas aplicações. Sin embargo, este enfoque conlleva algunos riesgos. Reducir el TTL puede aumentar significativamente el tráfico DNS, así como la carga en los servidores. Una organización podría ignorar el TTL y el almacenamiento en caché durante períodos más largos que los especificados, lo que haría que algunos usuarios accedan a la aplicação local mucho después de que se haya realizado la migración. Considere probar la solidez de su infraestructura DNS antes de utilizar este enfoque.

El proceso de transición también puede exponer problemas con la nueva aplicação que no se encontraron en las pruebas. Una forma de protegerse contra una aplicação problemática es un plan de respaldo que permita que el procesamiento vuelva a la aplicação local en caso de problemas. Lamentablemente, una transición bidireccional complica la sincronización de datos y, por lo tanto, requiere mucha más planificación y pruebas por adelantado. Un enfoque más sofisticado utiliza una transición parcial denominada prueba canaria, que transfiere una parte de los usuarios a la aplicação en la nube mientras esta se supervisa. A medida que aumenta la confianza en la aplicação , más usuarios (y eventualmente todos) podrán realizar la transición. A la inversa, si surge un problema, los usuarios migrados pueden volver a utilizar la aplicação local. Las pruebas canarias se pueden realizar mediante un controlador de entrega de aplicação (ADC) programable a través de F5® iRules®, minimizando así los riesgos y aumentando el número de opciones abiertas para el equipo de operaciones durante el período de transición.

Diagrama de preparación para el proceso de transición
Figura 3: Preparándose para el proceso de transición
Recomendaciones
Crea aplicaciones diferentes para la nube.

Uno de los mayores errores que cometen las organizaciones al migrar aplicações es no rediseñarlas para la nube. Dedicar tiempo a cambiar la estructura de la aplicação para que aproveche las diferencias en un entorno de nube puede generar beneficios significativos.

Por ejemplo, escalar en un entorno de nube es trivial en comparación con escalar en las instalaciones locales. En lugar de diseñar la aplicação y probarla para la carga más grave, diseñe la aplicação para que sea delgada pero escalable. No es necesario mantener una sobrecarga para un espacio grande cuando el uso de la aplicação atravesará un amplio espectro. En lugar de eso, construya a pequeña escala y esté preparado para escalar. De manera similar, ciertas fallas, como los cortes de energía, son menos probables en un entorno de nube, por lo que hay menos necesidad de diseñar arquitecturas para ellas.

Por otro lado, los entornos de nube introducen nuevas limitaciones que normalmente no se experimentan en las instalaciones locales. Los arquitectos de la nube señalan que un diseño debe prever la falla de cualquier instancia de VM en cualquier momento como parte del procesamiento regular. El almacenamiento también es diferente en un entorno de nube. Los diseños locales utilizan regularmente almacenamiento en bloque local. Esa misma opción está disponible en entornos de nube, pero no se puede compartir. La combinación de un estado local no compartido y una falla de instancia podría ser una receta para el desastre. Existen otros paradigmas de almacenamiento, como el almacenamiento basado en objetos o los servicios de almacenamiento de valor clave. La protección contra las limitaciones de un entorno de nube se puede lograr mediante la reestructuración de la aplicação.

Considere qué conservar en sus instalaciones.

Algunas aplicações o sistemas de control tienen sentido mantenerlos en las instalaciones. Muchas organizaciones conservarán Active Directory en sus instalaciones mientras emplean la federación para extender la identidad a un entorno de nube. De manera similar, un ADC proporciona muchos servicios de seguridad para respaldar la entrega de aplicação , como firewalls, firewalls de aplicação web, protección DDoS e intercepción SSL/TLS junto con encadenamiento de servicios. Un ADC también proporciona gestión de tráfico avanzada y un proxy programable, así como gestión de acceso.

Las organizaciones generalmente han consolidado estos servicios de aplicação externamente a la aplicação porque los servicios no son parte de la lógica de negocios, sino que son preocupaciones operativas. Para permitir cambios operativos independientes de los cronogramas de lanzamiento de aplicação , muchas empresas concentran experiencia en el dominio que se puede aplicar a todas las aplicações utilizando un ADC como punto de control estratégico. Sin embargo, los entornos de nube cambian este modelo.

Un enfoque temprano para la entrega de aplicação en entornos de nube fue replicar los servicios de ADC utilizando herramientas nativas en cada entorno de nube. Pronto se hizo evidente que los proveedores de la nube no ofrecían el mismo nivel de capacidades nativas, lo que dejó a las organizaciones con una opción: mantener estándares heterogéneos de entrega de aplicação entre la nube y los entornos locales, o rediseñar todas las aplicações al mínimo común denominador.

A medida que las empresas se expandieron a múltiples entornos de nube, ambas opciones se volvieron menos aceptables. Supongamos que una organización aprovecha tres proveedores de nube y también mantiene un centro de datos local. La organización tenía que mantener cuatro conjuntos de conocimientos especializados sobre SSL/TLS, cuatro conjuntos de conocimientos especializados sobre DDoS, etc., o bien tenía que estandarizar un conjunto cada vez más inconexo (y limitado) de servicios básicos. Implementar sólo una nueva aplicação en un entorno de nube adicional implicaba un costo marginal significativo, ya sea de otro grupo de expertos en el dominio o de un nuevo conjunto de estándares para aplicar a todas las aplicações existentes.

Pero existe una tercera opción para ofrecer servicios consistentes en todos los entornos. F5 Aplicação Connector permite que un grupo de expertos en el dominio administre todas las aplicações, independientemente de dónde se encuentren dichas aplicações . Al utilizar dispositivos de hardware o software BIG-IP® existentes, una organización puede inyectar servicios de aplicação avanzados y completos frente a cualquier aplicação donde sea que esté ubicada, brindando a todas las aplicações un punto de control estratégico, administrado por un único grupo de expertos en el dominio. Además, Aplicação Connector mejora la seguridad al eliminar todas las direcciones IP públicas visibles, reduciendo así las superficies de ataque. Al mantener las claves de cifrado almacenadas de forma centralizada y no en instancias de la nube, las organizaciones pueden estar seguras de que su información criptográfica crítica permanece privada. Por último, Aplicação Connector aumenta la eficiencia de su implementación en la nube al permitir que la instancia proxy descubra automáticamente nuevos nodos de carga de trabajo.

Cómo el Conector de Aplicação facilita la transición al diagrama de la nube
Figura 4: Cómo Aplicação Connector facilita la transición a la nube
Considere cuidadosamente el almacenamiento.

Una de las mayores diferencias entre las aplicações locales y las aplicações en la nube es el almacenamiento del estado de la aplicação . En su gran mayoría, los diseños locales utilizan almacenamiento en bloque local, como un disco duro o una unidad de estado sólido. Una aplicação en la nube también puede usar almacenamiento en bloque, pero el almacenamiento es local para la instancia y los diseños deben esperar que las instancias fallen. Si bien las organizaciones no reestructuran nada más en el diseño de aplicação al trasladar una aplicación a la nube, deberían cambiar el modo en que se maneja el estado.

Un tipo común de almacenamiento en la nube es el almacenamiento de objetos, donde cada objeto es esencialmente un archivo, pero se accede a él mediante un nombre. Generalmente, el almacenamiento tiene como máximo un nivel de jerarquía (es decir, carpeta o directorio), por lo que asignar un sistema de archivos tradicional a objetos puede ser problemático. Dado que los objetos no se pueden editar (solo crear, leer y eliminar), el almacenamiento de objetos es una buena opción para contenido estático, como imágenes, pero no para el estado. Muchas aplicações asumen que un archivo se puede modificar, por lo que estas aplicações no funcionarán con objetos.

Otras opciones de almacenamiento incluyen almacenes de clave-valor y bases de datos transaccionales tradicionales. Estos no son almacenamientos como un sistema de archivos, pero sí almacenan datos y se proporcionan como un servicio adicional. Con un diseño efectivo, el estado se puede almacenar en un servicio de base de datos o de clave-valor.

Tipo de almacenamiento

Ventajas

Contras

Bloquear

Idéntico al almacenamiento tradicional

No se puede compartir

Objeto

Rápido
Compartible

No se puede editar
Sólo un nivel de jerarquía

Clave/Valor

Rápido
Compartible

Soporte de transacciones limitado

Base de datos relacional

Transaccional
Bien entendido

Rendimiento limitado

Figura 5: Características de los tipos de almacenamiento
En resumen: prepárese antes de migrar.

Los entornos de computación en la nube ofrecen beneficios, pero solo si las aplicações clave se rediseñan para aprovechar las características de la nube y al mismo tiempo mitigar el impacto de sus limitaciones. Los entornos de nube tienen diferentes escenarios de falla y a menudo tienen una mayor latencia de red, pero permiten un escalamiento rápido y la elección de centros de datos en todo el mundo. Las consideraciones para la migración a la nube incluyen determinar qué aplicações migrar y cuáles mantener en las instalaciones.

El proceso de transición en sí también debe ser objeto de una reflexión y una planificación cuidadosas, junto con un plan de respaldo en caso de que la aplicação en la nube no se comporte como se espera. Como parte del proceso de planificación, algunas organizaciones mantienen un ADC en las instalaciones como punto de control estratégico para todas las aplicações , independientemente de dónde estén alojadas. Por último, planifique cuidadosamente cómo la aplicação en la nube almacenará los datos y el estado. Independientemente de cómo elija trasladar sus aplicações(y su negocio) a la nube, considere llevar consigo a un socio experimentado en la nube.

Publicado el 16 de agosto de 2017
  • Compartir en Facebook
  • Compartir con X
  • Compartir en Linkedin
  • Compartir por correo electrónico
  • Compartir vía AddThis

CONECTE CON F5

Laboratorios F5

Lo último en inteligencia de amenazas de aplicaciones.

Centro de desarrollo

La comunidad de F5 para foros de discusión y artículos de expertos.

Sala de prensa de F5

Noticias, blogs de F5 y mucho más.