<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1">
<url>
<loc>https://www.tranquang.dev/</loc>
<lastmod>2026-09-25T08:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>1</priority>
</url>
<url>
<loc>https://www.tranquang.dev/about</loc>
<lastmod>2026-09-25T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.tranquang.dev/project</loc>
<lastmod>2026-09-25T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://www.tranquang.dev/blog</loc>
<lastmod>2026-09-25T08:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://www.tranquang.dev/contact</loc>
<lastmod>2026-09-25T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://www.tranquang.dev/blog/acr-github-actions-oidc</loc>
<image:image>
<image:loc>https://www.tranquang.dev/images/blog/acr-github-actions-oidc.webp</image:loc>
</image:image>
<lastmod>2026-09-24T08:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.tranquang.dev/blog/aks-acr-integration-imagepullbackoff</loc>
<image:image>
<image:loc>https://www.tranquang.dev/images/blog/aks-acr-integration-imagepullbackoff.webp</image:loc>
</image:image>
<lastmod>2026-09-21T08:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.tranquang.dev/blog/acr-tasks-cloud-builds</loc>
<image:image>
<image:loc>https://www.tranquang.dev/images/blog/acr-tasks-cloud-builds.webp</image:loc>
</image:image>
<lastmod>2026-09-17T08:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.tranquang.dev/blog/azure-managed-identities-guide</loc>
<image:image>
<image:loc>https://www.tranquang.dev/images/blog/azure-managed-identities-guide.webp</image:loc>
</image:image>
<lastmod>2026-09-18T08:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.tranquang.dev/blog/acr-cleanup-retention-purge</loc>
<image:image>
<image:loc>https://www.tranquang.dev/images/blog/acr-cleanup-retention-purge.webp</image:loc>
</image:image>
<lastmod>2026-09-14T08:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.tranquang.dev/blog/system-design-rate-limiter</loc>
<image:image>
<image:loc>https://www.tranquang.dev/images/blog/system-design-rate-limiter.webp</image:loc>
</image:image>
<lastmod>2026-09-11T08:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.tranquang.dev/blog/acr-to-azure-container-apps</loc>
<image:image>
<image:loc>https://www.tranquang.dev/images/blog/acr-to-azure-container-apps.webp</image:loc>
</image:image>
<lastmod>2026-09-10T08:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.tranquang.dev/blog/acr-security-private-endpoints-rbac</loc>
<image:image>
<image:loc>https://www.tranquang.dev/images/blog/acr-security-private-endpoints-rbac.webp</image:loc>
</image:image>
<lastmod>2026-09-07T08:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.tranquang.dev/blog/aws-lambda-api-gateway-serverless-api</loc>
<image:image>
<image:loc>https://www.tranquang.dev/images/blog/aws-lambda-api-gateway-serverless-api.webp</image:loc>
</image:image>
<lastmod>2026-09-04T08:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.tranquang.dev/blog/azure-service-bus-dotnet</loc>
<image:image>
<image:loc>https://www.tranquang.dev/images/blog/azure-service-bus-dotnet.webp</image:loc>
</image:image>
<lastmod>2026-08-27T08:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.tranquang.dev/blog/aws-s3-cloudfront-static-hosting</loc>
<image:image>
<image:loc>https://www.tranquang.dev/images/blog/aws-s3-cloudfront-static-hosting.webp</image:loc>
</image:image>
<lastmod>2026-08-06T08:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.tranquang.dev/blog/azure-front-door-vs-application-gateway</loc>
<image:image>
<image:loc>https://www.tranquang.dev/images/blog/azure-front-door-vs-application-gateway.webp</image:loc>
</image:image>
<lastmod>2026-07-30T08:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.tranquang.dev/blog/system-design-caching-strategies</loc>
<image:image>
<image:loc>https://www.tranquang.dev/images/blog/system-design-caching-strategies.webp</image:loc>
</image:image>
<lastmod>2026-07-09T08:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.tranquang.dev/blog/aws-sqs-sns-eventbridge</loc>
<image:image>
<image:loc>https://www.tranquang.dev/images/blog/aws-sqs-sns-eventbridge.webp</image:loc>
</image:image>
<lastmod>2026-06-25T08:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.tranquang.dev/blog/azure-durable-functions-workflows</loc>
<image:image>
<image:loc>https://www.tranquang.dev/images/blog/azure-durable-functions-workflows.webp</image:loc>
</image:image>
<lastmod>2026-06-11T08:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.tranquang.dev/blog/aws-iam-least-privilege</loc>
<image:image>
<image:loc>https://www.tranquang.dev/images/blog/aws-iam-least-privilege.webp</image:loc>
</image:image>
<lastmod>2026-05-14T08:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.tranquang.dev/blog/azure-cli-complete-guide</loc>
<image:image>
<image:loc>https://www.tranquang.dev/images/blog/azure-cli-complete-guide.webp</image:loc>
</image:image>
<lastmod>2025-03-19T08:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.tranquang.dev/blog/azure-computer-vision-guide</loc>
<image:image>
<image:loc>https://www.tranquang.dev/images/blog/azure-computer-vision-guide.webp</image:loc>
</image:image>
<lastmod>2025-03-19T07:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.tranquang.dev/blog/azure-openai-service-guide</loc>
<image:image>
<image:loc>https://www.tranquang.dev/images/blog/azure-openai-service-guide.webp</image:loc>
</image:image>
<lastmod>2025-03-19T06:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.tranquang.dev/blog/azure-ai-search-service-guide</loc>
<image:image>
<image:loc>https://www.tranquang.dev/images/blog/azure-ai-search-service-guide.webp</image:loc>
</image:image>
<lastmod>2025-03-19T05:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.tranquang.dev/blog/azure-translator-guide</loc>
<image:image>
<image:loc>https://www.tranquang.dev/images/blog/azure-translator-guide.webp</image:loc>
</image:image>
<lastmod>2025-03-19T04:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.tranquang.dev/blog/azure-kubernetes-service-guide</loc>
<image:image>
<image:loc>https://www.tranquang.dev/images/blog/azure-kubernetes-service-guide.webp</image:loc>
</image:image>
<lastmod>2024-12-17T13:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.tranquang.dev/blog/azure-container-registry-guide</loc>
<image:image>
<image:loc>https://www.tranquang.dev/images/blog/azure-container-registry-guide.webp</image:loc>
</image:image>
<lastmod>2026-09-25T08:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.tranquang.dev/blog/azure-application-insights-guide</loc>
<image:image>
<image:loc>https://www.tranquang.dev/images/blog/azure-application-insights-guide.webp</image:loc>
</image:image>
<lastmod>2024-12-17T11:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.tranquang.dev/blog/azure-blob-storage-and-cdn-integration</loc>
<image:image>
<image:loc>https://www.tranquang.dev/images/blog/azure-blob-storage-and-cdn-integration.webp</image:loc>
</image:image>
<lastmod>2024-12-17T10:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.tranquang.dev/blog/guide-to-virtual-machines-on-azure</loc>
<image:image>
<image:loc>https://www.tranquang.dev/images/blog/guide-to-virtual-machines-on-azure.webp</image:loc>
</image:image>
<lastmod>2024-12-17T09:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.tranquang.dev/blog/introduction-to-microsoft-azure</loc>
<image:image>
<image:loc>https://www.tranquang.dev/images/blog/introduction-to-microsoft-azure.webp</image:loc>
</image:image>
<lastmod>2024-12-17T08:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.tranquang.dev/blog/builder-design-pattern</loc>
<image:image>
<image:loc>https://www.tranquang.dev/images/blog/builder-design-pattern.webp</image:loc>
</image:image>
<lastmod>2024-07-22T10:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.tranquang.dev/blog/factory-method-pattern</loc>
<image:image>
<image:loc>https://www.tranquang.dev/images/blog/factory-method-pattern.webp</image:loc>
</image:image>
<lastmod>2024-07-22T09:30:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.tranquang.dev/blog/singleton-pattern</loc>
<image:image>
<image:loc>https://www.tranquang.dev/images/blog/singleton-pattern.webp</image:loc>
</image:image>
<lastmod>2024-07-22T09:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.tranquang.dev/blog/clean-code-principles-practices</loc>
<image:image>
<image:loc>https://www.tranquang.dev/images/blog/clean-code-principles-practices.webp</image:loc>
</image:image>
<lastmod>2024-07-20T11:30:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.tranquang.dev/blog/unit-testing-dotnet-guide</loc>
<image:image>
<image:loc>https://www.tranquang.dev/images/blog/unit-testing-dotnet-guide.webp</image:loc>
</image:image>
<lastmod>2024-07-23T11:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.tranquang.dev/blog/event-sourcing-basics</loc>
<image:image>
<image:loc>https://www.tranquang.dev/images/blog/event-sourcing-basics.webp</image:loc>
</image:image>
<lastmod>2024-07-23T11:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.tranquang.dev/blog/cqrs-vs-mediatr-in-net</loc>
<image:image>
<image:loc>https://www.tranquang.dev/images/blog/cqrs-vs-mediatr-in-net.webp</image:loc>
</image:image>
<lastmod>2024-07-20T10:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.tranquang.dev/blog/domain-driven-design-essentials</loc>
<image:image>
<image:loc>https://www.tranquang.dev/images/blog/domain-driven-design-essentials.webp</image:loc>
</image:image>
<lastmod>2024-07-20T09:30:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.tranquang.dev/blog/understanding-clean-architecture</loc>
<image:image>
<image:loc>https://www.tranquang.dev/images/blog/understanding-clean-architecture.webp</image:loc>
</image:image>
<lastmod>2024-07-20T09:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.tranquang.dev/blog/building-microservices-with-net</loc>
<image:image>
<image:loc>https://www.tranquang.dev/images/blog/building-microservices-with-net.webp</image:loc>
</image:image>
<lastmod>2024-07-23T08:30:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.tranquang.dev/blog/introduction-to-rabbitmq-and-basic-usage</loc>
<image:image>
<image:loc>https://www.tranquang.dev/images/blog/introduction-to-rabbitmq-and-basic-usage.webp</image:loc>
</image:image>
<lastmod>2024-07-23T08:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.tranquang.dev/blog/category/azure-cloud</loc>
<lastmod>2026-09-25T08:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://www.tranquang.dev/blog/category/dotnet-development</loc>
<lastmod>2024-07-23T11:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://www.tranquang.dev/blog/category/software-engineering</loc>
<lastmod>2024-07-22T10:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://www.tranquang.dev/blog/category/aws</loc>
<lastmod>2026-09-04T08:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://www.tranquang.dev/blog/category/system-design</loc>
<lastmod>2026-09-11T08:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
</urlset>
