Currículum en la Nube: Basado en Azure

Descubre cómo un principiante llevó a la práctica el Cloud Resume Challenge con Azure Storage, Functions y Cosmos DB, junto con IaC, CI/CD y HTTPS.

7 sept 2025 • 4 min read • Q2BSTUDIO Team

Inteligencia-Artificial-

Hace unas semanas me propuse completar el Cloud Resume Challenge que vi en internet. Me pareció una forma ideal para principiantes como yo de aprender haciendo, mucho mejor que limitarse a ver o leer tutoriales.

Resumen del reto que abordé: 1) Crear un currículum con HTML y CSS. 2) Publicarlo como sitio estático en la nube. 3) Incluir un contador de visitas con JavaScript, Python y una base de datos. 4) Definir la infraestructura como código para desplegar todo de forma repetible. 5) Configurar pipelines de CI CD para frontend y backend con GitHub Actions. 6) Usar un dominio propio y habilitar HTTPS.

Arquitectura en pocas palabras: un sitio estático servido desde Azure Storage, un backend con Azure Functions que expone un endpoint HTTP seguro, y una base de datos en Azure Cosmos DB que almacena el contador. Como capa de entrega y seguridad, Azure Front Door con certificado gestionado para HTTPS y CDN para rendimiento.

Parte 1 Crear un currículum estático. No soy perfil frontend, así que repasé lo básico de HTML y CSS y apoyándome en un video y herramientas de IA monté un diseño limpio y suficiente para el objetivo del reto.

Parte 2 Convertir el currículum en un sitio estático. Creé una cuenta de almacenamiento en Azure, habilité el sitio estático y publiqué los archivos en el contenedor especial llamado web. Azure sirve el contenido directamente desde ahí como si fuera una CDN.

Parte 3 Contador de visitas en el frontend. Añadí en el HTML el área donde mostrar el contador y la enlacé a un pequeño script de JavaScript. El JS invoca una API y actualiza dinámicamente el número que devuelve el backend. Me apoyé en IA para acelerar la escritura y entender cada fragmento.

Parte 4 Base de datos con Cosmos DB. Usé Azure Cosmos DB con Table API en modo serverless. Es un modelo NoSQL sin esquema donde cada entidad se identifica por PartitionKey y RowKey. Serverless significa pagar solo por lo consumido. Creé una tabla sencilla para almacenar el total de visitas.

Parte 5 Backend del contador con Azure Functions. Por seguridad, el navegador no debe hablar directo con la base de datos ni exponer claves. Implementé una Azure Function con disparador HTTP que lee el contador en Cosmos DB, lo incrementa, lo persiste y devuelve el nuevo valor. En Linux inicialmente usé Python 3.12, pero encontré conflictos de dependencias y la función no aparecía tras el despliegue pese a compilar bien. Cambiar a Python 3.11 resolvió el problema al instante. Para las pruebas unitarias me apoyé en IA para generar casos básicos y asegurar el comportamiento esperado.

Parte 6 Infraestructura como código. En lugar de crear recursos manualmente desde el portal, describí todo con Bicep. Definí parámetros, recursos y la ejecución del despliegue para una cuenta de almacenamiento, una Function App con su plan y la configuración necesaria. Así puedo recrear el entorno con un solo comando y sin olvidar ajustes críticos.

Parte 7 CI CD para el backend. Configuré GitHub Actions para que con cada push se ejecuten pruebas automáticas y, si pasan, se despliegue la infraestructura con Bicep y el código de la Function. Separé responsabilidades en dos jobs build and test y deploy to azure, con dependencias y secretos almacenados en el repositorio para autenticación mediante un service principal. El runner de GitHub ignoraba mi intención de usar Python 3.11 y tomaba 3.12, por lo que instalé las dependencias en la ruta esperada por Azure Functions y fijé la versión de runtime adecuadamente. Tras ese ajuste, el despliegue fue estable.

Parte 8 CI CD para el frontend. Coloque los archivos estáticos en un repositorio dedicado y preparé un workflow que sincroniza los cambios al contenedor web de Azure Storage. Al finalizar, forzaba una purga de la caché en CDN para ver de inmediato la última versión en el dominio.

Parte 9 HTTPS y DNS. Registré un dominio y configuré Azure Front Door como frontend público. Validé la propiedad con registros TXT y CNAME en el proveedor del dominio y usé el certificado administrado de AFD para HTTPS sin comprar uno externo. Definí una regla de enrutamiento para llevar el tráfico del dominio personalizado al sitio estático de almacenamiento. Resultado final una web de currículum rápida, segura y fácilmente mantenible.

Conclusiones. Durante mucho tiempo estuve en el bucle de aprender leyendo y no construir. Este reto me obligó a pasar a la acción, enfrentar errores reales y comprender la teoría a partir de la práctica. Ahora tengo un mapa mental de cómo encajan servicios como Azure Storage, Functions, Cosmos DB, CI CD y Front Door en una aplicación moderna.

Sobre Q2BSTUDIO. Somos una empresa de desarrollo de software y aplicaciones a medida que integra inteligencia artificial, ciberseguridad, servicios cloud AWS y Azure, servicios de inteligencia de negocio y power bi, automatización de procesos, agentes IA e ia para empresas. Si quieres migrar tu currículum o tus soluciones a la nube, optimizar costes y ganar resiliencia, podemos ayudarte de punta a punta con arquitectura, despliegue y observabilidad. Descubre cómo aceleramos estos proyectos en nuestro servicio de servicios cloud aws y azure. Integramos además software a medida y prácticas de ciberseguridad para que tu plataforma sea escalable y segura desde el primer día.

A BREAK?

Play for a moment before you go

OUR SERVICES

How we can help you

Artificial intelligence

AI agents, chatbots, and intelligent assistants that automate tasks and serve your customers 24/7 to improve the efficiency of your business.

More info

Software Development

Web, mobile, and desktop applications, intranets, e-commerce, SaaS, and management platforms designed for your company's specific needs.

More info

Cloud services

Migration, infrastructure, managed hosting, high availability, and security on Microsoft Azure and Amazon Web Services to help your business scale without limits.

More info

Cybersecurity and pentesting

Security audits, penetration testing and protection of applications, data and infrastructure on-premise and cloud, with ethical hacking and regulatory compliance.

More info

Business Intelligence

Dashboards and data analysis with Power BI: we integrate your sources, design dashboards and KPIs and turn your data into decisions.

More info

Process automation

We automate repetitive tasks and connect your applications with n8n, Power Automate, Make, and RPA, eliminating manual work and increasing productivity.

More info

Training for Companies

We train your teams in technology with criteria: web development, databases, Git, best practices and security, automation with n8n, artificial intelligence for companies and creation of AI solutions with Azure AI Foundry.

More info

Code Auditing

We audit the code that you, your team or an AI create: we tell you what is good and what to improve, we secure it and make it ready for production, web or app.

More info

AI Image Generation

We create for you the images that your business needs with artificial intelligence: product, networks, advertising, illustration and avatars. You tell us what you want and we deliver it ready to use.

More info

AI Video Generation

We create videos with artificial intelligence for you: promotional, networking, virtual presenters, dubbing and animations. You tell us the idea and we will deliver it assembled and ready to publish.

More info

AI Conversational Avatars

We create conversational avatars with AI – digital humans with a face and voice – that serve your customers and teams with the knowledge of your company, on your website, interactive monitors, WhatsApp or Teams.

More info

Online Marketing and AI

Google Ads, Meta Ads, LinkedIn Ads and AI Engine Positioning (GEO/AEO): we attract customers and make your brand appear where they search for you, also on ChatGPT, Gemini and Perplexity.

More info

Do you have a project in mind?

Tell us your vision and we'll turn it into a software solution. Whatever the scope, we make your idea real.