Alcanza el máximo nivel, Master of Clouds.

Ya eres especialista en la nube pública y quieres convertirte en un/a referente. Alcanza el máximo nivel, Master of Clouds.

Qué conocimientos y experiencia debe tener un perfil para alcanzar el nivel Master of Clouds.

Es un/a profesional de la nube referente tanto por experiencia como por tener un conocimiento amplio y profundo sobre varios proveedores de nube pública, que además ha resuelto retos de diversa naturaleza velando por la excelencia técnica, las exigencias de negocio (DPO y DTO) y que ha liderado equipos en el diseño y ejecución de proyectos o migraciones en la nube.

Desarrollo de apps Cloud Native

Este tipo de aplicaciones está diseñada desde el origen para aprovechar al máximo los recursos y posibilidades que ofrece la nube. Desde los servicios gestionados, hasta los componentes elásticos a la demanda o auto escalables. Su desarrollo tiene ciertas implicaciones, ya que hay que dejar de lado ciertas asunciones que se hacían en otros contextos dónde p.e. un único servidor podía conservar muchos estados de sesión en memoria concurrentemente, por retos más habituales de los sistemas distribuidos.

Esto da lugar a un sinfín de posibilidades y nuevas arquitecturas de una complejidad y profundidad mayor, contexto que nos obliga a recurrir a herramientas para monitorizar, comunicar y trazar las comunicaciones que pasan a ser parte sustancial del aplicativo.

En general las arquitecturas basadas en microservicios o en serverless son las más utilizadas, ya que son altamente eficientes y con un coste de infraestructura relativamente bajo. La labor de un maestro de las nubes en este tipo de situaciones consistirá en escoger la más apropiada haciendo balance de la complejidad, la integridad y la efectividad para lograr una solución óptima para cada problema.

Architecting on the Cloud

A la hora de plantear soluciones en la nube, deben considerarse muchos aspectos y saber detectar qué directiva prima en cada caso de uso. Ya que en la mayoría de situaciones existen varias arquitecturas que resolverán el problema, no todas ofrecen las mismas características, ni prestaciones, ni por supuesto tendrán igual coste. Es responsabilidad del  arquitecto cloud buscar el equilibrio en base al uso final. 

El Well Architected Framework es un conjunto de buenas prácticas para el diseño de arquitecturas en la nube. Aunque desarrollado por AWS, sus conceptos son universales y pueden aplicarse a cualquier proveedor, por lo que conocerlo es fundamental para que nuestras arquitecturas de aplicación cumplan con los altos estándares de calidad que tenemos en Keepler.

Los cinco pilares en los que se basa el Well Architected Framework son:

  • Excelencia operativa: se concentra en la ejecución y monitorización de nuestros sistemas, como administrar y automatizar los distintos procedimientos de cambio y respuesta a eventos, principalmente.
  • Seguridad: se concentra en la protección de nuestros sistemas y datos, principalmente en cómo administrarlos y que controles establecer para la detección de incidentes.
  • Fiabilidad: se concentra en el diseño de nuestros sistemas para evitar errores y recuperarse rápidamente de ellos.
  • Rendimiento: se concentra en la utilización eficaz de nuestros recursos informáticos, como la selección de los tipos y tamaños adecuados de de recursos en función de la carga y su monitorización.
  • Optimización de costes: se concentra en evitar costes innecesarios, como la monitorización constante, la elección de recursos adecuada y el escalado.

El concepto de arquitecturas empresariales en nube se refiere a poder generar plantillas de arquitecturas estándar que sean muy utilizadas en nuestra organización, para poder automatizar su despliegue con servicios como AWS Service Catalog y AWS Cloudformation. Esto es posible si dentro de nuestra estrategia de las cosas que queremos ejecutar en cloud la gran mayoría se parecen. Estas arquitecturas que pueden estar pre-aprobadas por nuestros departamentos de Ciberseguridad, Redes e Infraestructuras permitirán a los equipos de desarrollo lanzarlas sin pasar por grandes procesos de validaciones y solicitudes internas agilizando la entrega de los desarrollos.

Por parte del gobierno la estandarización de elementos comunes a nuestra infraestructura en todas las cuentas como pueden ser la seguridad, las redes, las políticas de etiquetado, etc. deben ser consistentes para permitir una operación homogénea y sencilla.

Una de las tareas no técnicas más difíciles de abordar cuando se quieren «pensar a lo grande» en cloud, es poder definir una estrategia que a medio y largo plazo sea la correcta. Para esto es necesario tener claro el objetivo que se quiere lograr al desplegar aplicaciones y servicios Cloud, que puede ser desde tener un ahorro en infraestructura o proveer de elasticidad o de dar capacidades con tecnologías muy novedosas que bajo el modelo de pay-per-use son viables para nuestra empresa con el fin de intentar desarrollar nuevas formas de negocio que nos aporten algún tipo de beneficio.

Para esto las estrategias clásicas son:

  1. Re-host (lift & shift) & Re-platform (lift & reshape): Ambas estrategias pasan por llevar a la nube el software que tenemos instalado en nuestro datacenter. La mayor parte del trabajo que generarán este tipo de  migraciones será el paquetizado y la instalación de servicios mínimos sobre IaaS debemos recordar que es fundamental tomar en cuenta la parte de Operaciones (monitorización, mantenimiento, seguridad) para que esté integrado con nuestras herramientas o con las que aporta el proveedor de nube.
  2. Re-purchase (replace drop & shop): Pasa por reemplazar licencias de software antiguo con nuestro productos, y hacer una mezcla adecuada de IaaS, PaaS y SaaS.
  3. Re-architect: desarrollo de nuevas aplicaciones nativas evitando IaaS y con tecnologías muy novedosas que aporta la nube como puede ser Lambda, S3, Glue, Athena, Quick Sight, DynamoDB, IoT Sitewise, Greengrass, etc.

Para saber más:

La definición de la llamada Landing Zone es fundamental para poder automatizar el proceso de creación y entrega de cuentas a los equipos de desarrollo. Este proceso permite crear cuentas con toda la infraestructura base de seguridad y redes necesaria, con lo que los equipos de desarrollo no tienen que preocuparse por ello, además que al unificar estos elementos es posible hacer la operación de la seguridad y redes desde otros equipos cross a nuestros equipos de desarrollo.

Los tres temas principales que se deben de definir son:

  • Estructura de cuentas y entornos (cuenta infraestructura cross, cuenta de billing, cuentas de aplicativos, cuenta de auditoría)
  • Estructura de redes (Transit Gateway o DirectConnect a cuenta central, VPC peerings, etc)
  • Reglas para la gestión de permisos de servicios (roles y usuarios creados por los desarrolladores para los aplicativos que se están ejecutando)

Para saber más:

Una nube híbrida es la combinación de una nube pública con una nube privada aunque recientemente se ha extendido esta definición a la combinación de nubes públicas de distinto proveedor (Microsoft, Amazon, Google, etc).

Se pueden encontrar los siguientes componentes en una arquitectura de nube híbrida en función del grado de madurez o de las cargas de trabajo desplegadas:

  • Comunicación privada y cifrada entre datacenter on-premise y cloud público (o entre clouds públicos). Principalmente existen dos alternativas:
    • Conexión privada: Se establece un túnel privado entre las plataformas cloud. Generalmente se contrata a través del proveedor cloud y de un ISP certificado y homologado por el proveedor cloud. Algunas tecnologías son: IPVPN, MPLS, VxLAN, etc. Algunos servicios de conectividad privada de clouds públicos son: Direct Connect (AWS), ExpressRoute (Azure), Cloud Interconnect (GCP), etc
    • Conexión mediante VPN: Se configura un túnel VPN IPSec entre las clouds y el datacenter  usando los sistemas de comunicaciones disponibles y los servicios disponibles. El tráfico de esta conexión va a través de Internet por lo que no se puede garantizar una latencia o resiliencia ya que los paquetes viajan por los nodos en función de las políticas de los ISP. Dispositivos y servicios que pueden intervenir son: 
      • On-premise- firewalls, concentradores VPN, etc
      • AWS: VPN Gateway, VPN CloudHub, Customer Gateway, etc
      • Azure: VPN Gateway
      • GCP: CloudVPN
  • Sistema de distribución de cargas de trabajo: En función del grado de madurez y de las cargas de trabajo se pueden dar distintas alternativas:
    • Distribución manual: La distribución de cargas de trabajos entre los distintos cloud se orquesta de forma manual. No hay integración entre las plataformas de gestión de los clouds y la corporativa  (API, Consola, etc).
    • Distribución a medida: Se desarrollan software o scripts ad-hoc para orquestar la distribución de la carga entre las nubes usando las interfaces disponibles
    • Distribución nativa o federada: La distribución de la carga es orquestada internamente desde la aplicación o el servicio. En función de las nubes conectadas y de la aplicación o servicio, pueden existir muchas alternativas. Algunas ejemplos son: 
      • Microservicios: MultiCloud Kubernetes.
      • API: Kong.
      • IaC: Terraform.
      • Iaas: VMware on AWS, Azure SimpleCloud, Azure Stacks, AWS Outputs, AWS Storage Gateway, etc.
      • Aplicaciones: On-premises data gateway for Azure Logic Apps.

Algunos casos de uso de nubes híbridas son:

    • Ejecución de cargas de trabajo especializadas: Se realiza una tarea concreta (generalmente en batch) en el cloud que dispone de unos servicios o recursos optimizadas para realizarla. Algunos ejemplos que requieren este tipo de distribución son: uso de computación de alto-rendimiento (HPC), uso de hardware específico (acelerador gráfico, acelerador criptográfico), etc
    • Backup y Disaster Recovery: La carga se distribuye al cloud cuando se produce una contingencia en el site principal.

Networking Avanzado

En otros contextos, la responsabilidad de velar por la seguridad y el diseño de la red caía sobre equipos especializados en redes y seguridad. Hoy en día, es necesario contar con conocimientos transversales sobre redes y su conectividad para poder desplegar arquitecturas flexibles que alojen de forma eficiente y segura nuestros productos y servicios digitales.

Un experto en la nube debe manejar aspectos como el uso de endpoints privados, conectividad entre redes privadas virtuales, redes privadas como pasarela y otros patrones más complejos que permiten la interacción entre diferentes cuentas y/o infraestructuras híbridas como las mencionadas anteriormente. También es relevante el uso de redes cifradas punto a punto, manejo de elementos de red y securización de la información en tránsito y en reposo.

Tendremos que desempolvar o adquirir conocimientos sobre direccionamiento IP, tablas de rutas, … y completar con algunos conceptos nuevos de las versiones virtuales existentes en la nube. Se requieren conocimientos fundamentales en materia de redes, de almacenamiento así como la priorización y la configuración del tráfico, además de ciertas consideraciones de diseño para múltiples niveles de redes. 

El objetivo es lograr diseñar soluciones basadas en redes distribuidas que sean fiables y de alta disponibilidad para en transporte de múltiples tipos de tráfico utilizando dispositivos virtuales y físicos.

Para saber más:

AWS Whitepapers:

Data Lakes & Data Warehousing

En Keepler somos expertos en el diseño, implementación y refactorización de sistemas de procesamiento de grandes volúmenes de datos en entornos de nube pública para clientes corporativos de diversos sectores como banca, seguros, telco, retail, farma o industria, que requieren de un cumplimiento estricto en materia de seguridad. Por tanto, nos especializamos en construir arquitecturas de datos que aseguran la aplicación de las buenas prácticas de securización y se fundamentan en la privacidad del dato por diseño.

Dos de los patrones más habituales para la implementación de soluciones de almacenamiento masivo de datos son las siguientes:

Un data warehouse es un repositorio unificado para todos los datos que recogen los diversos sistemas de una empresa. El repositorio puede ser físico o lógico y hace hincapié en la captura de datos de diversas fuentes sobre todo para fines analíticos y de acceso.

Un data lake es un repositorio de almacenamiento que contienen una gran cantidad de datos en bruto y que se mantienen allí hasta que sea necesario. A diferencia de un data warehouse jerárquico que almacena datos en ficheros o carpetas, un data lake utiliza una arquitectura plana para almacenar los datos.

En el entorno del Big Data, en función de la naturaleza del dato podemos distinguir dos tipos: estructurados y no estructurados. Los primeros se almacenan en soluciones tipo Datawarehouse. Por el contrario, los segundos permanecen en el Data Lake, aunque en ocasiones también pueden incluir datos estructurados o semiestructurados.

Para saber más:

Big Data Lens

Dentro del mundo de procesamiento de datos, hablamos de Big Data cuando tratamos cargas de trabajo que o bien por su volumen o bien por su complejidad no son viables de procesar mediante los métodos o tecnologías tradicionales. A lo largo de los años se han desarrollado multitud de soluciones que tratan de resolver este problema, principalmente mediante distintos modelos de programación para el procesamiento paralelo masivo de datos. Ejemplos de ésto pueden ser Hadoop o Spark para procesamiento de datos en lotes, Kafka o AWS Kinesis para procesamiento de datos en tiempo real o AWS Redshift, Azure Synapse o Google Big Query como data warehouses.

El Big Data se compone de cinco dimensiones que lo caracterizan, conocidas como las 5 V’s del Big Data:

  • Volumen: Hace referencia al tamaño creciente y la necesidad de herramientas apropiadas para su manejo.
  • Velocidad: Su crecimiento es constante con diversos ritmos para los que hay que estar preparados.
  • Variedad: Los datos pueden ser de muy diversas tipologías, heterogéneas entre sí.
  • Veracidad: Debemos vigilar la integridad de todos los datos almacenados y velar por su conservación.
  • Valor: Las empresas tienen la oportunidad de sacar el máximo partido a los datos

En Keepler, como expertos en Big Data, entendemos la necesidad de conocer a fondo todas estas tecnologías y poder aplicar cada una de ellas adecuadamente según el caso de uso, especialmente todas aquellas disponibles en los distintos proveedores de nube pública.

Para saber más:

IoT Lens

IoT (Internet of Things desarrollando las siglas en inglés) es un concepto ampliamente utilizado y con diversidad de aplicaciones en sectores como: salud, automoción, agricultura, ciudades inteligentes, transporte, energético, telecomunicaciones, logístico, domótica… 

De manera muy resumida, nos encontramos con una red de dispositivos simples que emiten, cada cierto tiempo, mediciones; normalmente de variables físicas (temperatura, movimiento, sonido, velocidad, posición, etc.). Estos dispositivos muchas veces no pueden, o no deben, conectarse a Internet directamente por lo que se utiliza un enrutador que envía los datos a su destino o los almacena para su posterior consumo.

Dado el carácter simple de los datos generados se hace necesario aplicar procesamientos complejos (Edge Computing, Streaming o Machine Learning, por ejemplo) para obtener valor, este valor se puede presentar en forma de: análisis predictivo y/o preventivo, correlación de diferentes métricas, información para poder actuar o seguimiento y visualización en tiempo real, entre otras muchas cosas.

La nube posibilita el pago por el uso que realmente le estemos dando a la infraestructura, además, te ofrece la flexibilidad y facilidad de conectar la ingesta de manera fácil a sistemas de procesamiento, pudiendo ofrecer valor inmediato o incluso llevar ciertas operaciones, al extremo.

Una buena estrategia IoT se hace indispensable en nuestros días, tener una estrategia apropiada nos puede diferenciar en nuestro sector. Debido a la naturaleza de los datos, en este entorno, que nos obliga a un procesamiento cercano al origen temporal consiguiendo aportar valor en las primeras etapas de la cadena.

Un buen experto debe combinar el conocimiento en redes IoT, para entender el origen y sus particularidades, con la sabiduría en herramientas de ingesta y procesamiento de datos para poder cubrir, extremo a extremo, una aplicación de esta índole. Si añadimos una pizca de nube, tendremos la receta perfecta 🙂

Para saber más:

Machine Learning Lens

Como punto final podemos cerrar los conocimientos que un maestro de la nube debe poseer incluyendo unas pinceladas de Machine Learning o Aprendizaje Automático. En la actualidad están cada vez más presentes y son una forma de obtener valor a partir los datos almacenados con las tecnologías mencionadas en este apartado.

El Aprendizaje Automático consiste en una disciplina de las ciencias informáticas, relacionada con el desarrollo de la Inteligencia Artificial, y que sirve, como ya se ha dicho, para crear sistemas que pueden aprender por sí solos. Es una tecnología que permite hacer automáticas una serie de operaciones con el fin de reducir la necesidad de que intervengan los seres humanos. Esto puede suponer una gran ventaja a la hora de controlar una ingente cantidad de información de un modo mucho más efectivo.

Los proveedores de nube pública poseen cada vez más tecnologías que permiten conectar los almacenes de datos de cualquier naturaleza con servicios o herramientas capaces de generar modelos que automaticen tareas complejas y relevantes para el negocio.

Fuentes:

Certificaciones recomendadas

Expert/Professional Level