Al elegir entre computación multinube, polinube y cielo (sky), primero debe comprender los costos y beneficios de sus opciones.
por Lee Atchison
La forma en que use la computación en la nube será una decisión importante en la arquitectura y la planificación de su estrategia de aplicaciones, y la multinube se está convirtiendo cada vez más en la opción popular entre los arquitectos de la nube para crear aplicaciones empresariales de alto nivel y centradas en la nube. Si ya se ha decidido por una estrategia multinube, debe decidir qué tipo de estrategia multinube es mejor para su aplicación. Esa decisión puede no ser tan clara como podría pensar.
Tipos de estrategias multinube
En general, la multinube es una estrategia con la que se implementa una sola aplicación utilizando más de un proveedor de nube. Por ejemplo, como se muestra en la Figura 1, una aplicación podría implementarse tanto en Amazon Web Services (AWS) como en Google Cloud Platform (GCP) y aprovechar ambos conjuntos de servicios en la nube.
Pero, ¿para qué sirve la aplicación que utiliza cada proveedor de la nube? Eso depende de cómo se tomó la decisión de usar múltiples proveedores. ¿Por qué querría implementar una aplicación en más de un proveedor de nube?
A menudo, no se toma una decisión formal y la elección de convertirse en multinube ocurre al azar. Esto es especialmente común con las empresas que son nuevas en la nube o que carecen de sofisticación en la nube. Cierto día, un grupo de ingenieros decidió utilizar un servicio de AWS, como Amazon S3. Otro grupo, otro día, decidió usar un servicio de GCP. Independientemente, los equipos de servicio pueden decidir que necesitan implementar capacidades de servicio dentro de los servicios de uno u otro proveedor de nube, y diferentes grupos pueden tomar decisiones diferentes.
Si bien el uso de múltiples proveedores de la nube tiene ventajas, usarlos al azar o al azar como este rara vez lo hace. Sin embargo, es un patrón común.
Especialización en la nube con polycloud
Afortunadamente, a menudo se planifica la elección de convertirse en multinube.
A medida que la nube madura, los proveedores de la nube están creando servicios más sofisticados. Estos servicios son especializados y están diseñados para ser competitivos frente a los servicios equivalentes ofrecidos por otros proveedores de la nube. ¿El resultado? Especialización en la nube.
Cada proveedor de la nube tiene especialidades (áreas que consideran parte de su fortaleza) y, a menudo, los servicios que brindan en esas áreas son mejores que los servicios equivalentes proporcionados por otras nubes. Según el servicio que desee utilizar, la mejor versión de ese servicio puede variar entre los proveedores de la nube:
- Microsoft Azure se especializa en proporcionar sistemas operativos Windows Server.
- Microsoft, Google y AWS tienen excelentes servicios de inteligencia artificial (IA) y aprendizaje automático (ML), pero uno podría ser más adecuado que los demás para su caso de uso.
- AWS tiene el mejor servicio de almacenamiento de objetos que es económico y admite conjuntos de datos extremadamente grandes (S3).
- Azure proporciona herramientas de desarrollo altamente integradas y de alta calidad.
- GCP se especializa en implementaciones de servicios de Kubernetes.
- AWS se especializa en funciones sin servidor.
El resultado neto es que, para utilizar el mejor servicio de nube disponible, una aplicación puede abarcar varios entornos de nube. Una aplicación puede usar Amazon S3 para el almacenamiento de objetos y Amazon DynamoDB para la base de datos, usar GCP para la administración de su clúster de Kubernetes, usar Azure para las instancias de Microsoft Windows Server y, finalmente, confiar en las capacidades de IA de Google.
Cuando una sola aplicación utiliza múltiples proveedores de nube, cada uno para requisitos de servicio especializados, lo llamamos polinube . Cada proveedor de la nube se utiliza debido a sus fortalezas particulares que coinciden con una necesidad específica de la aplicación. El escenario de polinube descrito anteriormente se ilustra en la Figura 2.
Nube genérica con sky computing
Otra razón común para usar múltiples proveedores de nube es la redundancia. En este caso, la decisión de utilizar múltiples nubes no se tomó al azar, sino estratégicamente. La idea es que, si un proveedor de nube deja de funcionar, tener un segundo proveedor de nube disponible permitirá que nuestros servicios continúen funcionando.
Un problema con este enfoque es que, para tener éxito, debe asegurarse de que su aplicación se ejecutará, sin modificaciones, en cada una de las nubes que está utilizando. Todas las partes de su aplicación deben poder operar en cada proveedor de nube. Esto se debe a que el objetivo declarado (usar un proveedor de la nube como respaldo para la falla de otro proveedor de la nube) solo funciona si la aplicación se puede mover de un proveedor a otro con relativa facilidad.
Esto puede ser problemático porque cada proveedor de la nube tiene una interfaz diferente para sus aplicaciones. Debe admitir cada una de estas diferentes interfaces en cada parte de su aplicación, y debe probar para asegurarse de que estas diferentes interfaces funcionen en todas las combinaciones.
En este caso, una solución es un nuevo modelo de nube que está ganando popularidad: sky computing. Sky computing es un intento de colocar una capa de API genérica sobre múltiples proveedores de nube. Luego construye su aplicación para usar esta API genérica. Debido a que la API genérica es equivalente para todos los proveedores de la nube, en teoría es mucho más fácil mover su aplicación de un proveedor a otro, especialmente en una situación emergente, como durante una falla del proveedor.
La Figura 3 muestra cómo podría funcionar esto. Este diagrama es similar a la multinube de la Figura 1, pero incluye una API genérica entre la aplicación y los servicios de nube específicos proporcionados por cada proveedor de nube. La API genérica de sky proporciona un conjunto común de capacidades para la aplicación, y esas capacidades se implementan por separado en cada proveedor de nube. La API del cielo en sí es específica de la nube, pero el resto de la aplicación sigue siendo independiente de la nube.
¿Cual es mejor? ¿Polinube o computación celeste?
Tanto la polinube como la computación celeste son estrategias para administrar las complejidades de una implementación de múltiples nubes. ¿Qué modelo es mejor?
Polycloud es mejor para aprovechar las fortalezas de cada proveedor de nube individual. Debido a que cada proveedor de nube se elige en función de su fortaleza en una especialidad de nube en particular, obtiene lo mejor de cada proveedor en sus aplicaciones. Esto también fomenta una integración más profunda con las herramientas y capacidades de la nube que ofrece cada proveedor. Una integración más profunda significa una mejor utilización de la nube y aplicaciones más eficientes.
Sin embargo, Polycloud tiene un costo. La organización en su conjunto, y cada persona de desarrollo y operaciones dentro de la organización, necesita un conocimiento más profundo sobre cada proveedor de nube que está en uso. Debido a que una aplicación utiliza servicios especializados de múltiples proveedores, los desarrolladores de aplicaciones deben comprender las herramientas y capacidades de todos los proveedores de la nube.
Sky computing alivia esta carga de conocimiento de los desarrolladores de aplicaciones. La mayoría de los desarrolladores de la organización necesitan conocer y comprender solo la API de sky y las herramientas y los procesos asociados. Pueden evitar tener una comprensión profunda de los detalles de cada proveedor de la nube. Menos personas necesitan el conocimiento especializado de cómo opera cada proveedor de la nube.
La desventaja es que la computación aérea desalienta la integración profunda con un proveedor de nube determinado. Sky API termina siendo una solución en la nube de “mínimo común denominador”, ya que solo las capacidades que ofrecen todos los proveedores de la nube son visibles en la interfaz. Esto significa que las ventajas que ofrece una integración más profunda no son posibles. La nube termina convirtiéndose más en una mercancía y menos en una herramienta para la innovación.
En la práctica, una Sky API no puede eliminar por completo la comprensión específica de la nube que necesitan los desarrolladores individuales. Sin duda, cuando se encuentra en lo más profundo del ciclo de diagnóstico y depuración, tratando de resolver un problema con una aplicación basada en la nube, un desarrollador que carece de conocimiento de la plataforma en la nube subyacente estará en desventaja. Siendo realistas, los desarrolladores encontrarán que necesitan el conocimiento detallado de múltiples proveedores de nube.
¿Monocloud es la mejor respuesta real?
Supuse en este artículo que ya tomó la decisión de pasar a un entorno multinube. Si aún no ha tomado esa decisión, le recomiendo que considere sus opciones. ¿Realmente necesita un entorno multinube o seleccionar un único proveedor de nube es una mejor opción para usted?
Independientemente de la estrategia multinube empleada, ejecutar una aplicación en un entorno multinube es más complejo y, por lo tanto, más riesgoso que ejecutarla en un entorno de una sola nube. Además, hay costos adicionales asociados con un entorno multinube, costos como las tarifas de transferencia de datos entre nubes.
Considere por qué está interesado en un entorno multinube en primer lugar. ¿Es porque no confía en la confiabilidad de un solo proveedor de nube? Puede parecer que una nube múltiple mejora su durabilidad general al agregar redundancia, pero puede agregar la redundancia adecuada sin necesidad de agregar proveedores de nube. ¿Es por razones financieras? En la mayoría de los casos, las implementaciones multinube son más costosas que las implementaciones mononube.
¿Es porque no puede decidir como organización sobre un proveedor u otro, y tener múltiples opciones disponibles para su organización es valioso para usted? Si es así, tenga en cuenta que esta flexibilidad tiene un costo, y debe comprender lo que implica ese costo.
Al final, ya sea que use una estrategia mononube o una estrategia multinube, ya sea que use polinube o sky computing, o incluso si usa la nube nativa, la nube híbrida o cualquiera de las otras innumerables estrategias de nube, asegúrese de comprender los costos y beneficios de sus opciones y asegúrese de que sea lo mejor para su organización.
Relacionados:
Lee Atchison es un líder de pensamiento reconocido en computación en la nube y modernización de aplicaciones. Con más de tres décadas de experiencia en desarrollo, arquitectura, escalado y modernización de productos, Lee ha trabajado en Amazon , Amazon Web Services (AWS) , New Relic y otras organizaciones de aplicaciones modernas. Es ampliamente citado en muchas publicaciones y ha sido un orador destacado en todo el mundo. El libro más reciente de Lee es Architecting for Scale (O’Reilly Media). Puede consultar sus libros, cursos, artículos y sesiones de conferencias en Twitter y LinkedIn.
Fuente: https://www.infoworld.com/article/3655089/managing-the-complexity-of-cloud-strategies.html