En foco: Cloud Services

Martin Garibaldi
Trocafone
Published in
4 min readMay 23, 2019

Una pregunta usual que recibimos de personas que no se encuentran involucradas en las operaciones diarias de Trocafone, es: “¿Qué hace un Cloud Engineer?”.

Para ponerlos en contexto sobre nuestro rol es de utilidad partir de cómo está conformado el equipo de tecnología. Actualmente contamos con cuatro áreas con diversos roles: Product Development, Data Science, Help Desk y, quienes escribimos, Cloud Services.

La primer “pista” está en cómo nos llamamos: “Cloud Services”. Somos un área que principalmente presta servicios a los sectores tecnológicos clave de la compañía, apoyándonos en soluciones y plataformas propias del equipo que desarrollamos.

Los mejores clientes del mundo

Cada área de tecnología nos presenta requerimientos heterogéneos entre sí que nos obliga a siempre mantenernos actualizados. Sin embargo, esto no impide abstraerlos a representaciones comunes de nuestra plataforma como por ejemplo: Pipelines para un CI/CD, procesamiento de logs, entornos de staging y productivos, por mencionar algunos.

Al mismo tiempo, cada requerimiento nos ofrece sus propios desafíos y atracciones.

Un ejemplo de este escenario fue cuando creamos un cluster de procesamiento para grandes volúmenes de datos; contando también con herramientas que permiten un buen uso de la información. Algunas de ellas pueden ser: Presto, Hive, Apache Spark.

Otro podría ser cuando necesitamos contar con distintos ambientes de staging. Estos tienen que acomodarse a los requerimientos de nuestros equipos de desarrollo, siendo lo suficientemente flexibles para su uso, estables para que siempre estén disponibles y confiables para que también funcionen correctamente en producción.

Lograr esto se vuelve desafiante desde el punto de vista técnico, en un contexto de una arquitectura de microservicios en crecimiento donde en muchos casos es necesario replicar y configurar de forma automática muchos componentes, gestionando esas dependencias.

Nuestros pilares

Para darle forma a lo que hacemos, nos gusta trabajar bajo los siguientes principios:

  • Stateless
  • High Availability
  • Reconstrucción
  • Automatización
  • Versionado
  • Monitoreo y alertas tempranas

¿Y si una aplicación no cumpliese con alguno de los principios? En ese caso investigamos y tratamos de encontrar una solución para que en su mayor parte, sea reconstruible, resiliente y altamente disponible. El objetivo siempre es contar con la habilidad de reconstruir un ambiente en el menor tiempo posible de forma automática.

El norte

Siempre lo que hacemos se ve influenciado por la constante oportunidad de mejora. Por eso trabajamos en pos de eliminar por completo los trabajos rutinarios, por algunas razones:

  • Estamos convencidos que esto conduce a errores y potencialmente a incidentes.
  • Quitan tiempo para embarcarnos en otras iniciativas, desafíos y crecer.

Por esta razón, si hicimos algo dos veces, encontramos la forma de automatizarlo.

Esto se ve reflejado en estos desafíos en los que nos encontramos trabajando actualmente:

  • Mejorar la elasticidad de forma automática para absorber efectivamente grandes volúmenes de tráfico, sin perder resiliencia.
  • Darle un papel aún más protagónico a Kubernetes, ganando en:
  • Escalabilidad y siendo mas cost-effective, sin descuidar los principios que les mencionamos antes.
  • Utilizar una abstracción para lograr romper la relación software / hardware
  • Seguir mejorando nuestro pipeline de trabajo, agilizando y automatizando los procesos de CI/CD, a través de la creación de herramientas e interfaces para que otros equipos puedan usarlas.
  • Enmarcar las soluciones propias del equipo dentro del ecosistema de un producto, agregando procesos de testing unitarios y de integración.
  • Hacer un uso inteligente de las herramientas de nuestros proveedores, como AWS y Cloudflare

Estos se ven enmarcados en una visión mayor que plantea el desarrollo, construcción y evolución de la plataforma base de Trocafone donde todas sus aplicaciones conviven y son usadas como componentes self-service.

Este es el horizonte hacia el cual está caminando el equipo actualmente.

¡Todos para uno y uno para todos!

Todo lo que hacemos es dentro de un ecosistema poblado de tecnología. Contamos con la experiencia de los equipos de Product Development para darle vida a nuestros productos y la con la constante colaboración de Data Science para el procesamiento de la información y la construcción de nuevas métricas. Un trabajo en conjunto para diseñar y construir soluciones.

Esperamos que hayan llegado hasta estas líneas teniendo un panorama un poco más claro de lo que hacemos, y por qué no, que nos cuenten ustedes sus propias experiencias.

--

--