<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>DevOps on Antonio Cortés (DrZippie)</title><link>https://antoniocortes.com/categories/devops/</link><description>Recent content in DevOps on Antonio Cortés (DrZippie)</description><generator>Hugo</generator><language>es-es</language><lastBuildDate>Fri, 13 Feb 2026 11:31:22 +0100</lastBuildDate><atom:link href="https://antoniocortes.com/categories/devops/index.xml" rel="self" type="application/rss+xml"/><item><title>Analizando el aislamiento de filesystems en contenedores para cargas multi-tenant</title><link>https://antoniocortes.com/aislamiento-filesystem-contenedores-multitenencia/</link><pubDate>Fri, 13 Feb 2026 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/aislamiento-filesystem-contenedores-multitenencia/</guid><description>&lt;p&gt;Recientemente me encontré con un análisis técnico excepcionalmente denso sobre seguridad de contenedores que merece la pena ser compartido. El autor empezó con una hipótesis simple: el aislamiento de filesystems de los contenedores debería ser suficiente para cargas de trabajo multi-tenant sin necesidad de máquinas virtuales, si se entiende suficientemente bien qué está pasando a nivel de syscall.&lt;/p&gt;
&lt;p&gt;Después de una investigación exhaustiva, la conclusión es más incómoda de lo que esperaba: los valores por defecto te protegen bien, pero en el momento que empiezas a usar características &amp;ldquo;avanzadas&amp;rdquo; como la propagación de montajes bidireccional o el reetiquetado de SELinux, estás a un paso de entregarle las llaves de tu host a un atacante.&lt;/p&gt;</description></item><item><title>Analyzing Container Filesystem Isolation for Multi-Tenant Workloads</title><link>https://antoniocortes.com/en/container-filesystem-isolation-multi-tenant-workloads/</link><pubDate>Fri, 13 Feb 2026 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/en/container-filesystem-isolation-multi-tenant-workloads/</guid><description>&lt;p&gt;I recently came across an exceptionally dense technical analysis about container security that&amp;rsquo;s worth sharing. The author started with a simple hypothesis: container filesystem isolation should be sufficient for multi-tenant workloads without virtual machines, if you sufficiently understand what&amp;rsquo;s happening at the syscall level.&lt;/p&gt;
&lt;p&gt;After thorough investigation, the conclusion is more uncomfortable than expected: the defaults protect you well, but the moment you reach for &amp;ldquo;advanced&amp;rdquo; features like bidirectional mount propagation or SELinux relabeling, you&amp;rsquo;re one misconfiguration away from handing an attacker the keys to your host.&lt;/p&gt;</description></item><item><title>Vercel Sandbox: ¿Ejecutar código PHP, Node y Go de forma segura?</title><link>https://antoniocortes.com/vercel-sandbox/</link><pubDate>Mon, 02 Feb 2026 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/vercel-sandbox/</guid><description>&lt;p&gt;Vercel ha anunciado la disponibilidad general de &lt;a href="https://vercel.com/blog/vercel-sandbox-is-now-generally-available"&gt;Vercel Sandbox&lt;/a&gt;, una capa de ejecución diseñada específicamente para agentes de IA. Pero más allá del hype de los agentes, hay una pregunta interesante: ¿puede servirnos para ejecutar código de forma segura en diferentes lenguajes como PHP, Node o Go?&lt;/p&gt;
&lt;h2 id="qué-es-vercel-sandbox"&gt;¿Qué es Vercel Sandbox?&lt;/h2&gt;
&lt;p&gt;Vercel Sandbox proporciona microVMs Linux bajo demanda. Cada sandbox está aislado, con su propio sistema de archivos, red y espacio de procesos. Obtienes acceso &lt;code&gt;sudo&lt;/code&gt;, gestores de paquetes y la capacidad de ejecutar los mismos comandos que ejecutarías en una máquina Linux.&lt;/p&gt;</description></item><item><title>Vercel Sandbox: Running PHP, Node and Go Code Safely?</title><link>https://antoniocortes.com/en/vercel-sandbox/</link><pubDate>Mon, 02 Feb 2026 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/en/vercel-sandbox/</guid><description>&lt;p&gt;Vercel has announced the general availability of &lt;a href="https://vercel.com/blog/vercel-sandbox-is-now-generally-available"&gt;Vercel Sandbox&lt;/a&gt;, an execution layer designed specifically for AI agents. But beyond the AI agent hype, there&amp;rsquo;s an interesting question: can it be useful for running code safely in different languages like PHP, Node, or Go?&lt;/p&gt;
&lt;h2 id="what-is-vercel-sandbox"&gt;What is Vercel Sandbox?&lt;/h2&gt;
&lt;p&gt;Vercel Sandbox provides on-demand Linux microVMs. Each sandbox is isolated, with its own filesystem, network, and process space. You get &lt;code&gt;sudo&lt;/code&gt; access, package managers, and the ability to run the same commands you&amp;rsquo;d run on a Linux machine.&lt;/p&gt;</description></item><item><title>Moley: el tool que hace que Cloudflare Tunnels sea finalmente usable (y por qué lo necesitábamos)</title><link>https://antoniocortes.com/2025/07/03/moley-el-tool-que-hace-que-cloudflare-tunnels-sea-finalmente-usable-y-por-qu%C3%A9-lo-necesit%C3%A1bamos/</link><pubDate>Thu, 03 Jul 2025 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/2025/07/03/moley-el-tool-que-hace-que-cloudflare-tunnels-sea-finalmente-usable-y-por-qu%C3%A9-lo-necesit%C3%A1bamos/</guid><description>&lt;h2 id="el-problema-que-todos-tenemos-pero-solucionamos-mal"&gt;El problema que todos tenemos (pero solucionamos mal)&lt;/h2&gt;
&lt;p&gt;Como DevOps Manager, paso más tiempo del que debería configurando formas para que el equipo pueda &lt;strong&gt;mostrar su trabajo en desarrollo&lt;/strong&gt;. Demos para clientes, webhooks para testing, APIs temporales para integraciones&amp;hellip; siempre necesitamos exponer localhost al mundo.&lt;/p&gt;
&lt;p&gt;Las opciones tradicionales son un dolor:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;ngrok&lt;/strong&gt;: Funciona, pero URLs feas, límites en el plan gratuito, y cada reinicio genera una URL nueva&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;localtunnel&lt;/strong&gt;: Inestable, URLs que expiran, y a menudo bloqueado por firewalls corporativos&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;SSH tunneling&lt;/strong&gt;: Requiere servidores propios, configuración manual, y conocimiento de redes&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Cloudflare Tunnels manuales&lt;/strong&gt;: Potente pero&amp;hellip; Dios, la configuración manual es infernal&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Y entonces descubrí &lt;strong&gt;&lt;a href="https://github.com/stupside/moley"&gt;Moley&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;</description></item><item><title>Moley: The Tool That Makes Cloudflare Tunnels Finally Usable (and Why We Needed It)</title><link>https://antoniocortes.com/en/post/2025/moley-cloudflare-tunnels-simplificado-03_julio_2025/</link><pubDate>Thu, 03 Jul 2025 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/en/post/2025/moley-cloudflare-tunnels-simplificado-03_julio_2025/</guid><description>&lt;h2 id="the-problem-we-all-have-but-solve-poorly"&gt;The Problem We All Have (But Solve Poorly)&lt;/h2&gt;
&lt;p&gt;As a DevOps Manager, I spend more time than I should configuring ways for the team to &lt;strong&gt;show their development work&lt;/strong&gt;. Client demos, webhooks for testing, temporary APIs for integrations&amp;hellip; we always need to expose localhost to the world.&lt;/p&gt;
&lt;p&gt;Traditional options are a pain:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;ngrok&lt;/strong&gt;: Works, but ugly URLs, limits on free plan, and every restart generates a new URL&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;localtunnel&lt;/strong&gt;: Unstable, URLs that expire, and often blocked by corporate firewalls&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;SSH tunneling&lt;/strong&gt;: Requires your own servers, manual configuration, and networking knowledge&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Manual Cloudflare Tunnels&lt;/strong&gt;: Powerful but&amp;hellip; God, the manual configuration is hellish&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;And then I discovered &lt;strong&gt;&lt;a href="https://github.com/stupside/moley"&gt;Moley&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;</description></item><item><title>Why I'm Fascinated by Distributed Sorting (and Why You Should Be Too)</title><link>https://antoniocortes.com/en/post/2025/sistemas-ordenacion-distribuida/</link><pubDate>Tue, 01 Jul 2025 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/en/post/2025/sistemas-ordenacion-distribuida/</guid><description>&lt;h2 id="a-revelation-in-algorithm-form"&gt;A Revelation in Algorithm Form&lt;/h2&gt;
&lt;p&gt;Thanks to an article from &lt;a href="https://www.systemdesignacademy.com/blog/design-a-system-for-sorting-large-datasets-distributed-sorting-at-scale"&gt;System Design Academy&lt;/a&gt; that came my way this week, I&amp;rsquo;ve been reflecting on something I find &lt;strong&gt;curious and simple&lt;/strong&gt; at the same time: how to sort massive datasets in a distributed manner. And you know what? These patterns are so elegant that they can be applied to so many other problems we face day to day.&lt;/p&gt;
&lt;p&gt;As a developer who has gone from JavaScript to PHP, then Python, and is now fully immersed in Golang, I&amp;rsquo;m struck by how certain patterns transcend languages and frameworks. Distributed sorting is one of those cases where &lt;strong&gt;architecture matters more than implementation&lt;/strong&gt;.&lt;/p&gt;</description></item><item><title>Migration to Netlify</title><link>https://antoniocortes.com/en/post/2019/migrated_to_netlify/</link><pubDate>Mon, 13 May 2019 10:35:41 +0200</pubDate><guid>https://antoniocortes.com/en/post/2019/migrated_to_netlify/</guid><description>&lt;p&gt;In a new phase of this website, and as a PoC, it has been migrated to &lt;a href="https://www.netlify.com/"&gt;Netlify&lt;/a&gt; and the repo has been updated for Hugo 0.5.5, removing the theme as an external element.&lt;/p&gt;
&lt;p&gt;This means that we may have some errors or temporary issues with visualization, certificates, or similar.&lt;/p&gt;</description></item><item><title>Certbot and nginx - renewal and setup without service downtime</title><link>https://antoniocortes.com/en/post/2018/06/29---certbot/</link><pubDate>Fri, 29 Jun 2018 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/en/post/2018/06/29---certbot/</guid><description>&lt;p&gt;When installing/renewing let&amp;rsquo;s encrypt on a web server with nginx, we have to decide whether to do it with a temporary server, which means we must temporarily stop the web service, or indicate what the DocumentRoot of the web server is for the domain.&lt;/p&gt;
&lt;p&gt;The latter implies that the website or service has a &amp;ldquo;public&amp;rdquo; DocumentRoot, and that&amp;rsquo;s not always easy when we&amp;rsquo;re using, for example, a Python, Java, or Go application and nginx as a proxy.&lt;/p&gt;</description></item><item><title>Getting back to the blog</title><link>https://antoniocortes.com/en/post/2017/06/20170628---redhat/</link><pubDate>Wed, 28 Jun 2017 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/en/post/2017/06/20170628---redhat/</guid><description>&lt;p&gt;Daily life has kept me from doing many things, including keeping this blog updated, but there&amp;rsquo;s no time for everything, and in the end fatigue forces me to reorganize priorities.&lt;/p&gt;
&lt;p&gt;In recent months, I&amp;rsquo;ve been working on implementing RedHat CloudForms, Ansible Tower, and more, so I&amp;rsquo;ve had to work much more with Ansible. It was already a habit, but lately it&amp;rsquo;s been much more intensive.&lt;/p&gt;
&lt;p&gt;So I&amp;rsquo;ve earned a few RedHat &amp;ldquo;certifications&amp;rdquo;:&lt;/p&gt;</description></item></channel></rss>