Google Anthos: Introduction

El pasado mes de abril se celebró en San Francisco la Google Cloud Next ’19, donde la compañía de mountain view presentó por todo lo alto Anthos, producto con el que esperan dominar la escena multi & hybrid cloud en los próximos años.

Pasados ya un par meses y con el hype algo más rebajado, es un buen momento para conocer que es Anthos y comprender las principales virtudes que presenta.

¿Que es Anthos?

Anthos es la marca que engloba un conjunto de productos y servicios de Google para la gestión de aplicaciones modernas sobre Kubernetes en entornos hybrid y multi cloud. Suena bien pero, ¿qué es lo que realmente quiere decir?

Nos encontramos en un periodo en el que las grandes empresas están inmersas en la migración de sus aplicaciones monolíticas a arquitecturas de microservicios sobre Kubernetes, como parte del “Jorney To Cloud”.

Algunas optan por desplegar primero su cluster on-premise, otras prefieren hacerlo directamente en la nube para aprovechar todos los servicios que la rodean y finalmente están las que requieren de ambos escenarios, con diferentes proveedores cloud incluso, ya sea por requerimientos legales o necesidades del negocio.

Con todo ello, la gestión de las aplicaciones puede volverse muy compleja y aquí es precisamente donde entra Anthos, una plataforma con la que gestionar de forma centralizada tanto los clusters de Kubernetes, independientemente de la localización y proveedor cloud, como las aplicaciones que residen en ellas.

Componentes

El siguiente diagrama muestra los principales componentes de Anthos y como interaccionan entre sí:

Fuente Original

GKE

GKE o Google Kubernetes Engine es el servicio gestionado de Kubernetes de la cloud de Google y eje central de Anthos.

Al igual que en una solución IaaS, el cluster está compuesto por instancias de Google Compute Engine (maquinas virtuales equivalentes a las EC2 de AWS), si bien es Google quien se encarga de balancear las peticiones entre ellas, escalar el número de nodos del cluster, mantener actualizada la versión de Kubernetes o monitorizar su estado a través de Stackdriver.

Como novedad más destacada se encuentra la posibilidad de gestionar de forma centralizada clusteres ubicados tanto on-premise como en otras nubes a través de la consola web de GCP.

GKE On-Prem

Sin lugar a dudas uno de los pilares centrales de Anthos. Como su propio nombre indica, GKE On-Prem es el producto ideado para trasladar la experiencia de GKE a un entorno on-premise de la organización. Esto se traduce en poder gestionar el cluster a través de la console web, controlar los accesos vía Cloud Identity, o hacer uso de Stackdriver Logging y Stackdriver Monitoring para la visualización de las métricas entre otros.

GKE On-Prem es especialmente interesante tanto para aquellas empresas que no quieran dar directamente el salto a la nube, ya que su posterior migración a un GKE tradicional no requiere de desarrollo alguno, así como para aquellas que requieran mantener ciertos aspectos de su lógica de negocio o datos en sus instalaciones.

Finalmente comentar que actualmente requiere de VMware vCenter Server 6.5 para la creación de las máquinas virtuales que componen el cluster, un F5 BIG-IP para proporcionar balanceo de carga de capa 4, así como una conexión directa con GCP, ya sea vía Cloud VPN o Cloud Interconnect .

Istio

Si anteriormente comentábamos que GKE/GKE On-Prem era uno de los pilares centrales de Anthos, Istio es claramente el otro, especialmente tras haber alcanzado en este 2019 el grado de madurez necesario para su inclusión en entornos productivos.

Tal y como reza la documentación oficial, Istio es una plataforma abierta que provee una manera uniforme y centralizada de conectar, securizar, controlar y monitorizar los microservicios. A modo de resumen, sus principales características son las siguientes:

  • Balanceo de carga automático para tráfico HTTP, gRPC, WebSocket y TCP.
  • Gestión de tráfico a grano fino basado en reglas de enrutamiento, reintentos, circuit-breaker, bulkead o fault injection.
  • Políticas para la gestión del control de acceso, rate limits y quotas.
  • Recolección automática de métricas, logs y tracing para todo el tráfico del cluster.
  • Securización de los servicios mediante políticas de autenticación y autorización.

Uno de los mayores beneficios de utilizar Istio sobre GKE es que es la propia Google quien se encarga de su configuración, instalación, actualización y gestión de certificados, aunque también es posible instalar de forma manual la versión open source.

Anthos Config Managment

Anthos Config Managment es el servicio destinado a introducir la filosofía GitOps en la nube de Google.

De una manera similar a la que lo realiza Flux, despliega un operador sobre GKE que se encarga de observar periódicamente un repositorio Git con toda la configuración como código de los objetos que residen en el cluster de Kubernetes: Namespace, Deployment, ConfigMap, Secret, Service etc.

Una vez detectado un cambio, el operador se encarga de aplicarlo y garantizar la absoluta paridad entre ambos sistemas, siendo el repositorio de GIT la única fuente de la verdad. Esto implica que, por ejemplo, si por error se elimina manualmente una aplicación de Kubernetes, el operador detecte el cambio y vuelva a despegarla.

Fuente Original

Anthos Config Managment permite disfrutar de todas las ventajas que ofrece la configuración como código (histórico de cambios, versionado, code review, sistemas de aprobaciones, flujos de rollback), al mismo tiempo que evita tener que dar credenciales y permisos sobre el cluster de Kubernetes al sistema de CI/CD.

En resumen, a partir de ahora la toda la gestión de las aplicaciones se realizará a través de GIT.

Migrate for Anthos

Migrate for Anthos es la herramienta basada en Velostrata encargada de contenerizar aquellas aplicaciones legacy que corren on-premise o en máquinas virtuales para que puedan ser desplegadas en GKE.

Como parte del “Journey To Cloud”, muchas organizaciones se encuentran con que determinadas aplicaciones son costosas de rehacer para volverlas Cloud Native, por lo que el “lift-and-shift” tiende a ser la opción más práctica. Esta estrategia de migración consiste en mover las aplicaciones desde la infraestructura on-premise a la nube, sin realizar adaptaciones en el código o configuración.

Gracias a Migrate for Anthos, no solo es posible contenerizar las aplicaciones para que puedan ser desplegadas en GKE sino que les permite beneficiarse sin coste alguno de las muchas funcionalidades que Istio ofrece, como la autenticación/autorización, monitorización, tracing, encriptación del tráfico, circuit breaker, bulkhead, reintentos…

Stackdriver Logging and Monitoring

Stackdriver es la solución gestionada de logging y monitorización para GKE basada en las herramientas open source Elasticsearch/Fluentd/Kibana y Prometheus/Alertmanager/Grafana

Con el anuncio de Anthos, se confirmó su compatibilidad con soluciones multi cloud y hybrid cloud (GKE On-Prem), si bien en esta ultima la recolección de las métricas y logs de las aplicaciones está no está implementada actualmente.

GCP Marketplace

GCP Marketplace es la plataforma para la instalación y gestión de aplicaciones “third party” sobre el cluster de Anthos, tanto para soluciones on-premise como cloud.

El enfoque de Google en este sentido es claro; en lugar de tomar un producto open-source y customizarlo para crear un activo propio, prefieren que sean los propios desarrolladores los que pongan a disposición de la comunidad el mejor modelo de solución para su producto sobre Kubernetes, a fin de cuentas, son los que mejor lo conocen.

Es decir, en lugar de contratar un servicio propietario para la instalación de un ElasticSearch por ejemplo, desde Google instan a utilizar la versión desarrollada y mantenida por Elastic disponible en el marketplace, evitando así el vendor locking.

Finalmente comentar que dispone de integración directa con la facturación de la cuenta GCP, permitiendo pagar en un único punto centralizado los costes asociados a licencias, en aquellos productos que lo requirieran.

Precio

Después de repasar los servicios que ofrece Anthos es fácil suponer que el precio no será precisamente barato, sobretodo si se tiene en cuenta que su misión es dominar la escena multi & hybrid cloud, una casuística más cercana a las grandes organización que a las startups.

Dicho esto, Anthos está disponible como una subscripción anual con cuotas mensuales y se factura por bloques de 100 vCPU a razón de 10.000$/mes. La subscripción también incluye 5,000 GiB Stackdriver Logging, 375 MiB de Stackdriver Monitoring y 50M Spans de Stackdriver Trace mensuales.

Conclusiones

En conclusión y tal y como se comentaba al inicio del artículo, Anthos no es un producto como tal, sino una marca que aglutina algunos de los productos y servicios más punteros de Google entorno a Kubernetes, con los que atacar la escena hibyrd & multi cloud.

GKE e Istio siguen siendo los pilares centrales para alcanzar el objetivo, pero esta vez vienen bien acompañados por GKE On-Prem, imprescindible para abordar el escenario on-premise así como por Anthos Config Managment, con el que se introduce la fisolofía Git Ops en la nube de Google. StackDriver, Migrate for Anthos y y GCP Marketplace cierran el circulo para acabar de ofrecer una experiencia completa a aquellas organizaciones que quieran dar el salto a la nube.

Eso sí, por el precio queda claro que Anthos no es una solución destinada a dar cabida a todo tipo de empresas, al menos por el momento.

Advertisements