Automation Solutions

Cloud Engineer: qué hace y qué aprender para comenzar

Ingeniera de tecnología trabajando con una laptop frente a servidores en un centro de datos.

 

Muchas de las aplicaciones que utilizamos todos los días funcionan gracias a servicios en la nube. Allí pueden almacenar información, ejecutar procesos, conectarse con bases de datos y atender a usuarios ubicados en diferentes países.

 

Sin embargo, estos servicios no se configuran ni se mantienen solos.

 

Los Cloud Engineers forman parte de los profesionales responsables de diseñar, implementar, automatizar y supervisar estos entornos. Su trabajo combina conocimientos de sistemas, redes, seguridad, programación y operaciones.

 

Si te interesa desarrollar una carrera en Cloud Engineering, no necesitas aprender todas las plataformas o herramientas desde el primer día. Lo más importante es construir buenas bases, entender cómo se conectan los diferentes componentes de una infraestructura y avanzar mediante proyectos pequeños.

 

¿Qué es cloud computing?

 

Cloud computing es la entrega de recursos tecnológicos a través de internet. Estos recursos pueden incluir:

 

  • Servidores.
  • Almacenamiento.
  • Bases de datos.
  • Redes.
  • Herramientas de análisis.
  • Servicios de seguridad.
  • Recursos de procesamiento.

 

De acuerdo con Amazon Web Services (AWS), el cloud computing permite acceder bajo demanda a recursos tecnológicos a través de internet, generalmente utilizando un modelo de pago según el consumo.

 

En lugar de comprar y mantener todos sus servidores físicos, una empresa puede utilizar recursos de proveedores como Amazon Web Services, Microsoft Azure o Google Cloud.

 

La nube tampoco significa que los servidores físicos hayan desaparecido. Estos continúan existiendo dentro de centros de datos. La diferencia es que las organizaciones pueden administrarlos a través de plataformas, paneles, APIs y herramientas de automatización sin tener que gestionar directamente toda la infraestructura física.

 

¿Qué hace un Cloud Engineer?

 

Las responsabilidades de un Cloud Engineer pueden cambiar dependiendo de la empresa y del equipo en el que trabaje.

 

En algunas organizaciones, el puesto puede tener similitudes con el trabajo de un administrador de sistemas. En otras, se relaciona directamente con áreas como DevOps, seguridad, arquitectura o desarrollo de software.

 

En términos generales, estas son algunas de sus responsabilidades principales.

 

Diseñar infraestructura

 

Antes de desplegar una aplicación, es necesario determinar qué recursos necesita para funcionar correctamente.

 

Un Cloud Engineer puede participar en la planificación de elementos como:

 

  • Máquinas virtuales.
  • Redes y subredes.
  • Almacenamiento.
  • Bases de datos.
  • Balanceadores de carga.
  • Servicios de identidad y acceso.
  • Sistemas de monitoreo.

 

Además de seleccionar los recursos, debe considerar aspectos como disponibilidad, rendimiento, seguridad y crecimiento futuro.

 

Una arquitectura que funciona para cien usuarios puede necesitar cambios importantes cuando debe atender miles o millones de solicitudes.

 

Crear y configurar recursos

 

Los recursos de una infraestructura cloud pueden configurarse directamente desde la consola del proveedor. Sin embargo, cuando los entornos comienzan a crecer, realizar cada cambio manualmente puede convertirse en un proceso difícil de mantener.

 

Aquí aparece el concepto de Infrastructure as Code (IaC).

 

De acuerdo con HashiCorp, Terraform permite construir, modificar y versionar infraestructura mediante archivos de configuración legibles que pueden mantenerse bajo control de versiones.

 

Esto permite que la infraestructura pueda revisarse, compartirse y reproducirse de una manera mucho más organizada.

 

Desplegar aplicaciones

 

Otra responsabilidad frecuente de un Cloud Engineer es preparar el entorno donde se ejecutará una aplicación.

 

Por ejemplo, puede participar en la configuración de:

 

  • Servidores.
  • Contenedores.
  • Variables de entorno.
  • Certificados.
  • Dominios.
  • Bases de datos.
  • Redes.
  • Procesos de despliegue.

 

Google Cloud describe al Associate Cloud Engineer como un profesional capaz de desplegar aplicaciones, monitorear operaciones y administrar soluciones empresariales dentro de una infraestructura cloud.

 

Por esta razón, Cloud Engineering no consiste solamente en crear servidores. También implica comprender cómo una aplicación llega desde el código hasta un entorno disponible para los usuarios.

 

Automatizar procesos

 

Una parte importante del trabajo consiste en reducir las tareas manuales repetitivas.

 

Un Cloud Engineer puede automatizar procesos como:

 

  • Creación de infraestructura.
  • Ejecución de pruebas.
  • Generación de respaldos.
  • Actualizaciones.
  • Despliegues.
  • Configuración de ambientes.

 

Por ejemplo, GitHub Actions permite crear workflows que automaticen procesos relacionados con integración continua y despliegue.

 

De acuerdo con la documentación oficial de GitHub, los workflows pueden utilizarse para automatizar tareas dentro del ciclo de desarrollo de software y están definidos mediante archivos YAML.

 

Así, un cambio enviado al repositorio puede activar automáticamente pruebas, compilaciones y posteriormente un nuevo despliegue.

 

Monitorear sistemas

 

El trabajo no termina después de desplegar una aplicación.

 

Una infraestructura también necesita supervisión constante para identificar posibles problemas y entender cómo se están utilizando los recursos.

 

Entre los elementos que pueden monitorearse se encuentran:

 

  • Uso de CPU y memoria.
  • Disponibilidad de servicios.
  • Tráfico.
  • Logs.
  • Errores.
  • Latencia.
  • Consumo de almacenamiento.
  • Alertas.

 

El objetivo es detectar anomalías antes de que afecten a una gran cantidad de usuarios y contar con suficiente información para investigar un incidente cuando algo falla.

 

Proteger los recursos

 

La seguridad también forma parte de la infraestructura cloud.

 

AWS utiliza un modelo de responsabilidad compartida, en el que el proveedor protege determinados componentes de la infraestructura cloud mientras que el cliente continúa siendo responsable de otros elementos relacionados con sus sistemas y configuraciones.

 

Por eso, un Cloud Engineer necesita comprender conceptos relacionados con:

 

  • Identidades.
  • Roles.
  • Permisos.
  • Secretos.
  • Cifrado.
  • Reglas de red.
  • Firewalls.
  • Políticas de acceso.

 

Una mala configuración de permisos puede representar un riesgo incluso cuando toda la infraestructura está alojada en un proveedor cloud reconocido.

 

Controlar el uso y los costos

 

Crear nuevos recursos en la nube puede tomar pocos minutos. Esto también hace posible que una organización acumule servidores, discos, bases de datos u otros servicios que ya no necesita.

 

Por eso, otra parte del trabajo consiste en supervisar el consumo.

 

Esto puede incluir:

 

  • Revisar los recursos activos.
  • Configurar presupuestos.
  • Crear alertas de consumo.
  • Eliminar infraestructura que ya no se utiliza.
  • Analizar oportunidades de optimización.

 

Una solución cloud no solamente debe funcionar. También debe utilizar los recursos de manera responsable.

 

¿Qué necesitas aprender para comenzar como Cloud Engineer?

 

No existe una única ruta para comenzar en Cloud Engineering. Sin embargo, hay varios conocimientos que aparecen constantemente en este tipo de roles.

 

1. Sistemas operativos y Linux

 

Muchas aplicaciones y servicios cloud funcionan sobre Linux.

 

No necesitas convertirte inmediatamente en administrador de sistemas, pero sí deberías aprender a:

 

  • Navegar mediante la terminal.
  • Crear y modificar archivos.
  • Administrar permisos.
  • Instalar paquetes.
  • Revisar procesos.
  • Consultar logs.
  • Conectarte de manera remota.

 

Algunos comandos básicos con los que puedes comenzar son: `pwd`, `cd`, `ls`, `mkdir`, `cp`, `mv`, `grep`, `chmod`, `ps`, `top`, `curl` y `ssh`.

 

La meta no es memorizar cientos de comandos. Lo importante es sentirte cómodo trabajando desde una terminal y comprender qué está ocurriendo dentro de un servidor.

 

2. Fundamentos de redes

 

Cloud Engineering depende profundamente de las redes.

 

Por eso, es importante comprender conceptos como:

 

  • Direcciones IP.
  • Puertos.
  • DNS.
  • HTTP y HTTPS.
  • Subredes.
  • Firewalls.
  • Rutas.
  • Balanceadores de carga.

 

En lugar de memorizar definiciones, intenta comprender el recorrido completo de una solicitud: desde que un usuario escribe una dirección en su navegador hasta que la aplicación procesa la petición y envía una respuesta.

 

3. Git y control de versiones

 

Los scripts, archivos de configuración y definiciones de infraestructura también deberían mantenerse bajo control de versiones.

 

Aprender Git te permitirá:

 

  • Guardar el historial de cambios.
  • Trabajar con ramas.
  • Revisar modificaciones.
  • Recuperar versiones anteriores.
  • Colaborar con otros profesionales.

 

Cuando comiences a trabajar con herramientas de Infrastructure as Code, Git se convertirá en una parte importante de tu flujo de trabajo.

 

4. Programación y scripting

 

Un Cloud Engineer no necesariamente desarrolla aplicaciones completas todos los días, pero sí necesita automatizar tareas.

 

Bash puede ser especialmente útil para trabajar con sistemas Linux, mientras que Python es una alternativa muy utilizada para crear scripts, consumir APIs y procesar información.

 

Como punto de partida, puedes estudiar:

 

  • Variables.
  • Funciones.
  • Condiciones.
  • Ciclos.
  • Manejo de errores.
  • Lectura y escritura de archivos.

 

Lo importante es aprender a utilizar código para resolver tareas repetitivas.

 

5. Conceptos fundamentales de cloud

 

Antes de aprender decenas de servicios específicos de AWS, Azure o Google Cloud, es mejor comprender los conceptos que comparten estas plataformas.

 

Entre ellos:

 

  • Infrastructure as a Service (IaaS).
  • Platform as a Service (PaaS).
  • Software as a Service (SaaS).
  • Regiones.
  • Zonas de disponibilidad.
  • Escalabilidad.
  • Elasticidad.
  • Alta disponibilidad.
  • Nube pública.
  • Nube privada.
  • Nube híbrida.
  • Responsabilidad compartida.

 

Microsoft Learn ofrece una ruta introductoria dedicada precisamente a conceptos fundamentales de cloud, modelos de implementación y responsabilidad compartida.

 

Comprender estos conceptos primero hará mucho más sencillo aprender servicios específicos posteriormente.

 

6. Elegir un proveedor cloud

 

Uno de los errores más comunes al comenzar es intentar estudiar AWS, Azure y Google Cloud al mismo tiempo.

 

No es necesario.

 

Selecciona una plataforma y aprende primero sus servicios fundamentales:

 

  • Cómputo: dónde ejecutar aplicaciones.
  • Almacenamiento: dónde guardar archivos.
  • Redes: cómo conectar los recursos.
  • Bases de datos: cómo almacenar información estructurada.
  • Identidad: quién puede acceder a cada recurso.
  • Monitoreo: cómo observar el comportamiento del sistema.
  • Costos: cómo controlar el consumo.

 

Una vez que comprendas estos conceptos dentro de un proveedor, será más fácil identificar servicios equivalentes dentro de otras plataformas.

 

7. Contenedores con Docker

 

Los contenedores permiten empaquetar una aplicación junto con los elementos que necesita para ejecutarse de manera consistente en diferentes ambientes.

 

De acuerdo con la documentación oficial de Docker, la plataforma permite desarrollar, distribuir y ejecutar aplicaciones utilizando contenedores.

 

Antes de pasar a herramientas más avanzadas, practica cómo:

 

  • Crear un `Dockerfile`.
  • Construir una imagen.
  • Ejecutar un contenedor.
  • Exponer puertos.
  • Configurar variables de entorno.
  • Revisar logs.
  • Detener y eliminar contenedores.

 

Tener buenas bases en Docker te ayudará cuando comiences a trabajar con sistemas de orquestación.

 

8. Infrastructure as Code con Terraform

 

Cuando ya puedas crear algunos recursos manualmente dentro de una plataforma cloud, puedes comenzar a automatizar ese proceso.

 

Terraform es una de las herramientas que puedes utilizar para hacerlo.

 

De acuerdo con HashiCorp, Terraform utiliza archivos de configuración para definir recursos de infraestructura y administrar su ciclo de vida.

 

Comienza aprendiendo a:

 

  • Definir un proveedor.
  • Crear recursos.
  • Utilizar variables.
  • Consultar outputs.
  • Entender el archivo de estado.

 

Posteriormente puedes estudiar módulos, almacenamiento remoto del estado y estructuras más complejas.

 

El objetivo no debería ser memorizar la sintaxis de Terraform, sino comprender cómo representar infraestructura de forma repetible y controlada.

 

9. Integración y despliegue continuo

 

Después puedes comenzar a crear pipelines sencillos de CI/CD.

 

Por ejemplo, podrías configurar un workflow que, cada vez que envíes cambios a GitHub:

 

  1. Instale las dependencias.
  2. Ejecute las pruebas.
  3. Construya una imagen.
  4. Publique la imagen.
  5. Despliegue una nueva versión de la aplicación.

 

Según la documentación de GitHub Actions, los workflows se configuran mediante archivos YAML y pueden contener uno o varios jobs.

 

Este tipo de automatización se acerca mucho más a los procesos que encontrarás en proyectos reales.

 

10. Kubernetes, después de dominar los fundamentos

 

Kubernetes aparece constantemente cuando se habla de infraestructura cloud y DevOps, por lo que es normal pensar que debe ser una de las primeras herramientas que debes aprender.

 

No necesariamente.

 

De acuerdo con la documentación oficial de Kubernetes, se trata de una plataforma open source diseñada para administrar cargas de trabajo y servicios en contenedores, facilitando procesos relacionados con automatización y configuración.

 

Antes de comenzar con Kubernetes, es recomendable que tengas conocimientos básicos de:

 

  • Linux.
  • Redes.
  • Docker.
  • Contenedores.
  • YAML.
  • Servicios cloud.

 

Kubernetes es una herramienta importante, pero entender primero qué problema intenta resolver hará que su aprendizaje sea mucho más sencillo.

 

Una ruta de aprendizaje de doce semanas

 

Si no sabes por dónde comenzar, puedes dividir tus primeros meses de aprendizaje en tres etapas.

 

Semanas 1 a 4: fundamentos

 

Durante el primer mes, concéntrate en:

 

  • Linux y terminal.
  • Git.
  • Fundamentos de redes.
  • Scripting básico.

 

Como proyecto, crea una máquina virtual local o cloud, conéctate mediante SSH e instala un servidor web.

 

Semanas 5 a 8: servicios cloud

 

Selecciona  AWS, Azure o Google Cloud y aprende los servicios principales relacionados con:

 

  • Cómputo.
  • Almacenamiento.
  • Redes.
  • Identidad.
  • Monitoreo.
  • Bases de datos.

 

Durante estas semanas puedes desarrollar dos proyectos sencillos:

 

  • Publicar un sitio estático.
  • Desplegar una pequeña API.

 

No necesitas construir una aplicación enorme. El objetivo es comprender cómo interactúan los servicios.

 

Semanas 9 a 12: automatización

 

En la última etapa puedes combinar varias de las herramientas aprendidas.

 

Por ejemplo:

 

  • Empaqueta tu aplicación utilizando Docker.
  • Crea parte de la infraestructura con Terraform.
  • Configura un pipeline utilizando GitHub Actions.
  • Agrega monitoreo básico.
  • Documenta toda la solución.

 

Incluye también documentación dentro del repositorio explicando la arquitectura, los pasos de despliegue, las decisiones de seguridad y el procedimiento para eliminar los recursos utilizados.

 

Proyectos que puedes incluir en tu portafolio

 

Tu portafolio debería demostrar que puedes construir y explicar una solución, no solamente que completaste cursos.

 

Algunos proyectos que puedes desarrollar son:

 

  • Sitio estático en la nube: almacena el sitio utilizando servicios cloud, configura un dominio y habilita HTTPS.
  • API en un contenedor: despliega una API conectada a una base de datos administrada.
  • Infrastructure as Code: utiliza Terraform para crear una red, un servidor, almacenamiento y permisos.
  • Pipeline automatizado: configura pruebas y despliegues automáticos cada vez que envíes cambios al repositorio.
  • Sistema de monitoreo: agrega métricas, logs, alertas y algún mecanismo básico de control de costos.

 

Cada proyecto debería incluir:

 

  • Un archivo `README`.
  • Un diagrama sencillo de arquitectura.
  • Instrucciones de instalación.
  • Pasos de despliegue.
  • Herramientas utilizadas.
  • Explicación de las medidas de seguridad implementadas.

 

Un reclutador o entrevistador debería poder entrar a tu repositorio y comprender qué construiste, por qué tomaste determinadas decisiones y cómo funciona la solución.

 

¿Necesitas una certificación para trabajar como Cloud Engineer?

 

Una certificación puede ayudarte a organizar tus estudios y demostrar conocimientos fundamentales. Sin embargo, no reemplaza la experiencia práctica.

 

Por ejemplo, Microsoft clasifica Azure Fundamentals como una certificación de nivel principiante, diseñada para validar conocimientos básicos sobre servicios y conceptos cloud.

 

Google Cloud también cuenta con rutas de entrenamiento relacionadas específicamente con infraestructura y arquitectura cloud.

 

Entre las opciones que puedes explorar se encuentran:

 

  • Microsoft Azure Fundamentals.
  • Programas introductorios de AWS.
  • Rutas de formación de Google Cloud.

 

Antes de invertir en un examen, intenta completar al menos dos proyectos prácticos. Tener una certificación y poder mostrar cómo aplicaste los conceptos puede darte una historia mucho más completa durante una entrevista.

 

Errores que debes evitar cuando estás comenzando

 

Es normal querer aprender tantas herramientas como sea posible, pero intentar abarcar demasiado puede hacer que avances más lento.

 

Algunos errores que puedes evitar son:

 

  • Intentar aprender todos los servicios de todos los proveedores cloud.
  • Comenzar con Kubernetes sin comprender contenedores y redes.
  • Guardar contraseñas, tokens, llaves o secretos dentro de un repositorio.
  • Dejar recursos cloud activos después de terminar una práctica.
  • Crear proyectos sin documentación.
  • Concentrarte solamente en aprobar una certificación.
  • Copiar arquitecturas complejas sin comprender por qué existen sus componentes.

 

Es mejor construir una solución pequeña que puedas explicar completamente que copiar una arquitectura enorme cuyo funcionamiento no entiendes.

 

¿Es Cloud Engineering para ti?

 

Cloud Engineering puede ser una buena opción si disfrutas resolver problemas, automatizar procesos y comprender cómo se conectan diferentes partes de un sistema.

 

También requiere paciencia.

 

Algunos problemas de infraestructura no muestran inmediatamente una causa evidente. Es posible que tengas que revisar configuraciones, permisos, métricas, redes y logs hasta encontrar el origen de un error.

 

No necesitas saberlo todo para comenzar

 

Puedes empezar aprendiendo Linux, redes y Git. Después, selecciona una plataforma cloud y construye un proyecto pequeño. Una vez que funcione, intenta mejorarlo incorporando seguridad, automatización, monitoreo y documentación.

 

La nube es un campo amplio. Avanzar paso a paso te permitirá construir conocimientos que puedas aplicar en proyectos reales y, más adelante, explicar con mayor seguridad durante una entrevista.

 

Sigue construyendo tu carrera en tecnología

 

Aprender Cloud Engineering es un proceso continuo. Cada proyecto, herramienta y nuevo concepto que domines puede acercarte a nuevas oportunidades dentro de la industria tecnológica.

 

En Rootstack, trabajamos con profesionales de diferentes áreas de tecnología y constantemente compartimos recursos, consejos de carrera, tendencias y oportunidades para quienes quieren seguir creciendo profesionalmente.

 

¿Estás buscando tu próximo reto?

 

  • Explora nuestras Open Positions y descubre las oportunidades disponibles en tecnología.
  • Síguenos en nuestras redes sociales para conocer nuevas vacantes, consejos para tu carrera, contenido sobre tecnología y un poco más sobre cómo es trabajar en Rootstack.
  • Mantente atento a nuestros próximos artículos para continuar aprendiendo sobre roles, herramientas y habilidades que pueden ayudarte a desarrollar tu carrera en tech.
  • Tu próximo paso puede comenzar con una nueva habilidad, un nuevo proyecto o una nueva oportunidad.