<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Tecnologia &amp; Viagens — Infrastructure</title>
    <description>Artigos sobre Infrastructure em Tecnologia &amp; Viagens</description>
    <link>https://guilherme.stracini.com.br/blog/categorias/infrastructure/</link>
    <atom:link href="https://guilherme.stracini.com.br/blog/feed/infrastructure.xml" rel="self" type="application/rss+xml"/>
    <language>pt-BR</language>
    
    
    <item>
      <title>A Map of My Infrastructure: How I Run a Dozen Side Projects on a Budget</title>
      <link>https://guilherme.stracini.com.br/blog/artigos/my-infrastructure/</link>
      <guid isPermaLink="true">https://guilherme.stracini.com.br/blog/artigos/my-infrastructure/</guid>
      <pubDate>Sat, 25 Jul 2026 00:00:00 +0000</pubDate>
      <description>A walkthrough of the small, multi-provider estate that keeps my portfolio, bots, and APIs running — five hosting surfaces, a decoupled webhook pipeline, a VPN-gated database and two monitoring layers.</description>
    </item>
    
    <item>
      <title>18 serviços em 4 VMs de 1 GB: arquitetando no free tier sem sofrer</title>
      <link>https://guilherme.stracini.com.br/blog/artigos/18-servicos-4-vms-1gb-free-tier/</link>
      <guid isPermaLink="true">https://guilherme.stracini.com.br/blog/artigos/18-servicos-4-vms-1gb-free-tier/</guid>
      <pubDate>Fri, 03 Jul 2026 21:00:00 +0000</pubDate>
      <description>Como distribuí quase vinte serviços PHP e .NET em quatro VMs gratuitas de 1 GB de RAM, com fila de mensagens, banco de dados, cache e hardening — sem estourar a memória.</description>
    </item>
    
    <item>
      <title>Deploy de aplicação C# .NET 10 em VPS Ubuntu com Nginx, SSL e rolling deploy</title>
      <link>https://guilherme.stracini.com.br/blog/artigos/deploy-csharp-dotnet10-vps-nginx-load-balancing-rolling-deploy/</link>
      <guid isPermaLink="true">https://guilherme.stracini.com.br/blog/artigos/deploy-csharp-dotnet10-vps-nginx-load-balancing-rolling-deploy/</guid>
      <pubDate>Tue, 23 Jun 2026 00:00:00 +0000</pubDate>
      <description>Guia completo para publicar uma aplicação .NET 10 em uma VPS OCI Ubuntu usando GitHub Actions, rsync, duas instâncias com load balancing no Nginx e deploy sem downtime.</description>
    </item>
    
    <item>
      <title>Playing with Docker: NGINX, Apache, RabbitMQ, MailHog, MySQL/MariaDB</title>
      <link>https://guilherme.stracini.com.br/blog/artigos/playing-with-docker-nginx-apache-rabbitmq-mailhog-mysql/</link>
      <guid isPermaLink="true">https://guilherme.stracini.com.br/blog/artigos/playing-with-docker-nginx-apache-rabbitmq-mailhog-mysql/</guid>
      <pubDate>Wed, 17 Jun 2026 00:00:00 +0000</pubDate>
      <description>Set up a complete PHP development environment using Docker Compose — with NGINX, PHP-FPM, Apache, MySQL, MariaDB, Redis, MongoDB, RabbitMQ and MailHog, all wired together with healthchecks and ready to use.</description>
    </item>
    
    <item>
      <title>Deploying a C# Application to Ubuntu VPS with Nginx, SSL and Load Balancing</title>
      <link>https://guilherme.stracini.com.br/blog/artigos/deploying-csharp-application-ubuntu-vps-nginx-ssl-load-balancing/</link>
      <guid isPermaLink="true">https://guilherme.stracini.com.br/blog/artigos/deploying-csharp-application-ubuntu-vps-nginx-ssl-load-balancing/</guid>
      <pubDate>Mon, 11 May 2026 00:00:00 +0000</pubDate>
      <description>Step-by-step guide for deploying a .NET application — API, Swagger, HealthChecks and background worker — to an OCI Ubuntu VPS using Nginx as reverse proxy with load balancing and Certbot SSL.</description>
    </item>
    
    <item>
      <title>Deploying a PHP Application to Ubuntu VPS</title>
      <link>https://guilherme.stracini.com.br/blog/artigos/deploying-a-php-application-to-ubuntu-vps/</link>
      <guid isPermaLink="true">https://guilherme.stracini.com.br/blog/artigos/deploying-a-php-application-to-ubuntu-vps/</guid>
      <pubDate>Thu, 23 Apr 2026 00:00:00 +0000</pubDate>
      <description>A step-by-step guide for deploying a long-running PHP application with optional WebSocket support to an Ubuntu VPS, using GitHub Actions for CI/CD, Nginx, Certbot and systemd.</description>
    </item>
    
    <item>
      <title>Envio de SMS pela Internet: Da API ao Smartphone como Gateway</title>
      <link>https://guilherme.stracini.com.br/blog/artigos/envio-sms-internet/</link>
      <guid isPermaLink="true">https://guilherme.stracini.com.br/blog/artigos/envio-sms-internet/</guid>
      <pubDate>Fri, 20 Mar 2026 00:00:00 +0000</pubDate>
      <description>Quatro abordagens para enviar SMS programaticamente — do serviço em nuvem ao modem físico atrás da sua mesa.</description>
    </item>
    
    <item>
      <title>Como Automatizar a Sincronização Entre um Repositório Git Local e um Servidor (S)FTP</title>
      <link>https://guilherme.stracini.com.br/blog/artigos/como-automatizar-sincronizacao-git-sftp/</link>
      <guid isPermaLink="true">https://guilherme.stracini.com.br/blog/artigos/como-automatizar-sincronizacao-git-sftp/</guid>
      <pubDate>Fri, 12 Dec 2025 00:00:00 +0000</pubDate>
      <description>Aprenda a montar um sistema Python que compara, envia e baixa arquivos entre um repositório Git local e um servidor FTP ou SFTP — com relatório HTML automático e commits inteligentes, sem depender de CI/CD externo.</description>
    </item>
    
    <item>
      <title>Should You Use UUIDs as Primary Keys? Performance Myths, Real-World Trade-Offs, and the Ideal Architecture</title>
      <link>https://guilherme.stracini.com.br/blog/artigos/should-you-use-uuids-as-primary-keys/</link>
      <guid isPermaLink="true">https://guilherme.stracini.com.br/blog/artigos/should-you-use-uuids-as-primary-keys/</guid>
      <pubDate>Thu, 11 Dec 2025 00:00:00 +0000</pubDate>
      <description>A deep dive into UUID vs. numeric primary key performance — B-Tree fragmentation, the numeric PK + UUID public ID pattern used by Stripe and GitHub, UUIDv7, ULID, and practical recommendations.</description>
    </item>
    
    <item>
      <title>Criando uma VPN grátis com OCI (Oracle Cloud Infrastructure)</title>
      <link>https://guilherme.stracini.com.br/blog/artigos/criando-uma-vpn-gratis-com-oci-oracle-cloud-infrastructure/</link>
      <guid isPermaLink="true">https://guilherme.stracini.com.br/blog/artigos/criando-uma-vpn-gratis-com-oci-oracle-cloud-infrastructure/</guid>
      <pubDate>Wed, 13 Mar 2024 00:00:00 +0000</pubDate>
      <description>Passo a passo completo para criar sua própria VPN pessoal usando o plano Always Free da Oracle Cloud — com PiVPN (WireGuard ou OpenVPN), UFW, fail2ban e dicas de manutenção de segurança.</description>
    </item>
    
    <item>
      <title>AppVeyor vs GitHub Actions: A Comparative Look at CI/CD Excellence</title>
      <link>https://guilherme.stracini.com.br/blog/artigos/appveyor-vs-github-actions/</link>
      <guid isPermaLink="true">https://guilherme.stracini.com.br/blog/artigos/appveyor-vs-github-actions/</guid>
      <pubDate>Thu, 22 Feb 2024 00:00:00 +0000</pubDate>
      <description>A detailed comparison between AppVeyor and GitHub Actions — two free CI/CD tools to optimize your DevOps workflow for personal, freelancer, or professional projects.</description>
    </item>
    
    <item>
      <title>RabbitMQ gratuito: Potencialize sua arquitetura de mensageria sem custos</title>
      <link>https://guilherme.stracini.com.br/blog/artigos/rabbitmq-gratuito-cloudamqp/</link>
      <guid isPermaLink="true">https://guilherme.stracini.com.br/blog/artigos/rabbitmq-gratuito-cloudamqp/</guid>
      <pubDate>Wed, 21 Feb 2024 00:00:00 +0000</pubDate>
      <description>Como usar RabbitMQ ou LavinMQ de graça com o CloudAMQP — sem cartão de crédito, sem servidor dedicado, ideal para projetos pessoais, estudos e pequenos projetos comerciais.</description>
    </item>
    
    <item>
      <title>Database migration with GitHub Actions</title>
      <link>https://guilherme.stracini.com.br/blog/artigos/database-migration-with-github-actions/</link>
      <guid isPermaLink="true">https://guilherme.stracini.com.br/blog/artigos/database-migration-with-github-actions/</guid>
      <pubDate>Thu, 14 Dec 2023 00:00:00 +0000</pubDate>
      <description>How I built a GitHub Action to manage versioned SQL database migrations across MySQL, MariaDB, PostgreSQL and MSSQL — with dry-run, integrity checks, SHA-256 checksums and Docker-based testing, all from a CI/CD pipeline.</description>
    </item>
    
    <item>
      <title>Using GitHub Actions to create a .NET Framework pipeline: Build, test, and deploy</title>
      <link>https://guilherme.stracini.com.br/blog/artigos/using-github-actions-to-create-a-net-framework-pipeline-build-test-and-deploy/</link>
      <guid isPermaLink="true">https://guilherme.stracini.com.br/blog/artigos/using-github-actions-to-create-a-net-framework-pipeline-build-test-and-deploy/</guid>
      <pubDate>Sat, 12 Aug 2023 00:00:00 +0000</pubDate>
      <description>A step-by-step guide to setting up a CI/CD pipeline for a .NET Framework project using GitHub Actions — build, test with VSTest, restore NuGet packages, and run the application automatically.</description>
    </item>
    
    <item>
      <title>Testes automatizados: Os diferentes tipos de testes de software</title>
      <link>https://guilherme.stracini.com.br/blog/artigos/testes-automatizados-os-diferentes-tipos-de-testes-de-software/</link>
      <guid isPermaLink="true">https://guilherme.stracini.com.br/blog/artigos/testes-automatizados-os-diferentes-tipos-de-testes-de-software/</guid>
      <pubDate>Mon, 17 Jan 2022 00:00:00 +0000</pubDate>
      <description>Conheça os diferentes tipos de testes automatizados — unitário, carga, estresse, E2E e integração — e entenda como cada um contribui para a qualidade e performance da sua aplicação.</description>
    </item>
    
  </channel>
</rss>
