<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
        xmlns:xhtml="http://www.w3.org/1999/xhtml"
        xmlns:image="http://www.google.com/schemas/sitemap-image/1.1">

  <!-- Home EN -->
  <url>
    <loc>https://www.alekseialeinikov.com/en</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.alekseialeinikov.com/en"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.alekseialeinikov.com/de"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.alekseialeinikov.com/en"/>
    <lastmod>2026-07-08</lastmod>
    <changefreq>weekly</changefreq>
    <priority>1.0</priority>
  </url>
  <!-- Home DE -->
  <url>
    <loc>https://www.alekseialeinikov.com/de</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.alekseialeinikov.com/en"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.alekseialeinikov.com/de"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.alekseialeinikov.com/en"/>
    <lastmod>2026-07-08</lastmod>
    <changefreq>weekly</changefreq>
    <priority>1.0</priority>
  </url>

  <!-- Offer EN -->
  <url>
    <loc>https://www.alekseialeinikov.com/en/offer</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.alekseialeinikov.com/en/offer"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.alekseialeinikov.com/de/offer"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.alekseialeinikov.com/en/offer"/>
    <lastmod>2026-07-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.9</priority>
  </url>
  <!-- Offer DE -->
  <url>
    <loc>https://www.alekseialeinikov.com/de/offer</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.alekseialeinikov.com/en/offer"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.alekseialeinikov.com/de/offer"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.alekseialeinikov.com/en/offer"/>
    <lastmod>2026-07-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.9</priority>
  </url>

  <!-- Highlights EN -->
  <url>
    <loc>https://www.alekseialeinikov.com/en/highlights</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.alekseialeinikov.com/en/highlights"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.alekseialeinikov.com/de/highlights"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.alekseialeinikov.com/en/highlights"/>
    <lastmod>2026-07-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <!-- Highlights DE -->
  <url>
    <loc>https://www.alekseialeinikov.com/de/highlights</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.alekseialeinikov.com/en/highlights"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.alekseialeinikov.com/de/highlights"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.alekseialeinikov.com/en/highlights"/>
    <lastmod>2026-07-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>

  <!-- Hire Me EN -->
  <url>
    <loc>https://www.alekseialeinikov.com/en/hire-me</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.alekseialeinikov.com/en/hire-me"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.alekseialeinikov.com/de/hire-me"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.alekseialeinikov.com/en/hire-me"/>
    <lastmod>2026-07-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <!-- Hire Me DE -->
  <url>
    <loc>https://www.alekseialeinikov.com/de/hire-me</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.alekseialeinikov.com/en/hire-me"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.alekseialeinikov.com/de/hire-me"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.alekseialeinikov.com/en/hire-me"/>
    <lastmod>2026-07-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>

  <!-- Portfolio EN -->
  <url>
    <loc>https://www.alekseialeinikov.com/en/portfolio</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.alekseialeinikov.com/en/portfolio"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.alekseialeinikov.com/de/portfolio"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.alekseialeinikov.com/en/portfolio"/>
    <!-- PORTFOLIO_ARCH_IMAGES_EN_START -->
    <image:image>
      <image:loc>https://www.alekseialeinikov.com/architecture/cloud-armor-waf-k8s.webp</image:loc>
      <image:title>Cloud Armor WAF for Kubernetes (GKE)</image:title>
      <image:caption>Layer-7 protection for GKE via External HTTP(S) Load Balancer: OWASP WAF rules, rate limiting and geo/IP allow-deny, with Cloud Logging and Terraform IaC.</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://www.alekseialeinikov.com/architecture/gke-multi-region-fleet.webp</image:loc>
      <image:title>Multi-Region GKE Cluster with GitOps &amp; Fleet</image:title>
      <image:caption>Highly available GKE across multiple regions, managed with Google Fleet. Config Sync from Git keeps deployments consistent with multi-region failover.</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://www.alekseialeinikov.com/architecture/cross-regional-ilb-gke.webp</image:loc>
      <image:title>Cross-Regional Internal Load Balancer for GKE</image:title>
      <image:caption>Round-robin load balancing across GKE clusters in different regions via Cross-Regional ILB. NEG-based, highly available, low-latency internal access.</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://www.alekseialeinikov.com/architecture/backup-restore-architecture.webp</image:loc>
      <image:title>Backup and Restore</image:title>
      <image:caption>Multi-region backups with S3 Cross-Region Replication, Aurora Global Database and EBS snapshots — data integrity, HA and DR for critical workloads.</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://www.alekseialeinikov.com/architecture/pilot-light-architecture.webp</image:loc>
      <image:title>Pilot Light Architecture</image:title>
      <image:caption>Pilot-light DR with Aurora Global Database, ELB and Auto Scaling Groups. Critical DBs stay on; the app tier spins up on failover for lower cost and RTO.</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://www.alekseialeinikov.com/architecture/cicd-ml-architecture.webp</image:loc>
      <image:title>CI/CD for ML with Vertex AI Pipelines</image:title>
      <image:caption>Cloud Build and Vertex AI Pipelines automate images, artifacts and pipeline deploys from every Git commit — a full, reproducible MLOps loop.</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://www.alekseialeinikov.com/architecture/warm-standby-architecture.webp</image:loc>
      <image:title>Warm Standby Architecture</image:title>
      <image:caption>Warm-standby environment in a secondary region with Aurora Global Database, ELB and Auto Scaling Groups for fast failover and reduced recovery time.</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://www.alekseialeinikov.com/architecture/cloud-vpn-architecture.webp</image:loc>
      <image:title>Cloud VPN Hub-and-Spoke</image:title>
      <image:caption>Scalable hub-and-spoke on Google Cloud VPN that overcomes VPC Peering limits and enables transitive connectivity across many spoke networks.</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://www.alekseialeinikov.com/architecture/hub-spoke-architecture-vpc-peering.webp</image:loc>
      <image:title>VPC Peering Hub-and-Spoke</image:title>
      <image:caption>Secure inter-VPC communication via Network Peering on the Google backbone, with Cloud NAT for egress and optional VPN for forwarded routes.</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://www.alekseialeinikov.com/architecture/enterprise-app-oracle-database-compute-engine.webp</image:loc>
      <image:title>Enterprise App on Compute Engine (Oracle DB)</image:title>
      <image:caption>Regional managed instance groups behind a load balancer with Oracle Data Guard HA — Cloud NAT, Hyperdisk and Cloud Storage for performance and backups.</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://www.alekseialeinikov.com/architecture/aws-multi-account-landing-zone.webp</image:loc>
      <image:title>AWS Multi-Account Landing Zone</image:title>
      <image:caption>Governance at scale with AWS Organizations and Control Tower: Security, Infrastructure and Workloads OUs, SCP guardrails and centralized CloudTrail/Config.</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://www.alekseialeinikov.com/architecture/aws-event-driven-serverless.webp</image:loc>
      <image:title>Event-Driven Serverless on EventBridge</image:title>
      <image:caption>Decoupled serverless flow: API Gateway and Lambda publish to EventBridge, which routes by rule to SQS, Step Functions and DynamoDB — with DLQ safety nets.</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://www.alekseialeinikov.com/architecture/aws-zero-trust-privatelink.webp</image:loc>
      <image:title>Zero-Trust Private Connectivity (PrivateLink + TGW)</image:title>
      <image:caption>Segmented hub-and-spoke on AWS Transit Gateway with PrivateLink endpoints to S3, KMS and Secrets Manager — east-west traffic never touches the public internet.</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://www.alekseialeinikov.com/architecture/azure-enterprise-scale-landing-zone.webp</image:loc>
      <image:title>Azure Enterprise-Scale Landing Zone</image:title>
      <image:caption>Cloud Adoption Framework landing zone: management-group hierarchy, Azure Policy guardrails, hub-and-spoke networking with Firewall and Bastion, and Entra ID.</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://www.alekseialeinikov.com/architecture/azure-aks-secure-cicd.webp</image:loc>
      <image:title>Secure CI/CD for AKS (GitHub Actions + Key Vault)</image:title>
      <image:caption>GitHub Actions builds, scans and signs images into ACR, then deploys to a private AKS cluster. Pods pull secrets from Key Vault via Workload Identity.</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://www.alekseialeinikov.com/architecture/gcp-secure-landing-zone.webp</image:loc>
      <image:title>GCP Secure Landing Zone / Org Blueprint</image:title>
      <image:caption>Organization blueprint with folder hierarchy, VPC Service Controls perimeter, Org Policies, Shared VPC and centralized logging with Security Command Center.</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://www.alekseialeinikov.com/architecture/gcp-rag-vertex-ai.webp</image:loc>
      <image:title>Enterprise RAG on Vertex AI</image:title>
      <image:caption>Retrieval-augmented generation: documents embedded in Vertex AI Vector Search; Cloud Run retrieves context and calls Gemini for grounded, cited answers.</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://www.alekseialeinikov.com/architecture/gcp-bigquery-lakehouse.webp</image:loc>
      <image:title>BigQuery Lakehouse Data Platform</image:title>
      <image:caption>Streaming and batch ingestion via Pub/Sub and Dataflow into a BigQuery lakehouse, ELT with Dataform and unified governance with Dataplex — analytics-ready.</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://www.alekseialeinikov.com/architecture/gcp-anthos-service-mesh.webp</image:loc>
      <image:title>Anthos Multi-Cluster Service Mesh</image:title>
      <image:caption>Hybrid fleet of GKE and on-prem clusters under Anthos: Multi-Cluster Ingress, Anthos Service Mesh with mTLS everywhere and GitOps config sync.</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://www.alekseialeinikov.com/architecture/gcp-global-web-app-cdn.webp</image:loc>
      <image:title>Global Web App — Cloud CDN + Cloud Armor</image:title>
      <image:caption>Global HTTP(S) Load Balancer with Anycast IP fronts serverless backends: Cloud CDN caches at the edge and Cloud Armor blocks WAF and DDoS threats.</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://www.alekseialeinikov.com/architecture/gcp-hybrid-interconnect-ncc.webp</image:loc>
      <image:title>Hybrid Connectivity — Interconnect + NCC</image:title>
      <image:caption>High-bandwidth Dedicated Interconnect with encrypted HA VPN failover and Cloud Router BGP, unified through Network Connectivity Center transitive routing.</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://www.alekseialeinikov.com/architecture/gcp-eventarc-cloud-run.webp</image:loc>
      <image:title>Event-Driven Serverless on Eventarc</image:title>
      <image:caption>Eventarc routes CloudEvents from 90+ sources through Pub/Sub to autoscaling Cloud Run services, with dead-letter topics for at-least-once safety.</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://www.alekseialeinikov.com/architecture/gcp-secure-supply-chain.webp</image:loc>
      <image:title>Secure Software Supply Chain</image:title>
      <image:caption>Cloud Build scans, SBOM-tracks and signs images into Artifact Registry; Binary Authorization gates unverified images before Cloud Deploy progressive rollouts.</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://www.alekseialeinikov.com/architecture/gcp-zero-trust-iap.webp</image:loc>
      <image:title>Zero-Trust Access with IAP / BeyondCorp</image:title>
      <image:caption>Identity-Aware Proxy authorizes every request by identity and device context via Access Context Manager — no VPN and no network perimeter to trust.</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://www.alekseialeinikov.com/architecture/gcp-spanner-multi-region.webp</image:loc>
      <image:title>Multi-Region Resilience with Cloud Spanner</image:title>
      <image:caption>Active-active app tiers in two regions behind a global load balancer share one Cloud Spanner instance with synchronous replication and a 99.999% SLA.</image:caption>
    </image:image>
    <!-- PORTFOLIO_ARCH_IMAGES_EN_END -->
    <lastmod>2026-07-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <!-- Portfolio DE -->
  <url>
    <loc>https://www.alekseialeinikov.com/de/portfolio</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.alekseialeinikov.com/en/portfolio"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.alekseialeinikov.com/de/portfolio"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.alekseialeinikov.com/en/portfolio"/>
    <!-- PORTFOLIO_ARCH_IMAGES_DE_START -->
    <image:image>
      <image:loc>https://www.alekseialeinikov.com/architecture/cloud-armor-waf-k8s.webp</image:loc>
      <image:title>Cloud Armor WAF für Kubernetes (GKE)</image:title>
      <image:caption>Layer-7-Schutz vor GKE über External HTTP(S) Load Balancer: OWASP-WAF-Regeln, Rate Limiting und Geo/IP-Allow-Deny, mit Cloud Logging und Terraform-IaC.</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://www.alekseialeinikov.com/architecture/gke-multi-region-fleet.webp</image:loc>
      <image:title>Multi-Region-GKE-Cluster mit GitOps &amp; Fleet</image:title>
      <image:caption>Hochverfügbares GKE über mehrere Regionen, verwaltet mit Google Fleet. Config Sync aus Git hält Deployments konsistent — mit Multi-Region-Failover.</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://www.alekseialeinikov.com/architecture/cross-regional-ilb-gke.webp</image:loc>
      <image:title>Cross-Regional Internal Load Balancer für GKE</image:title>
      <image:caption>Round-Robin-Lastverteilung über GKE-Cluster in verschiedenen Regionen mit Cross-Regional-ILB. NEG-basiert, hochverfügbar, geringe interne Latenz.</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://www.alekseialeinikov.com/architecture/backup-restore-architecture.webp</image:loc>
      <image:title>Backup und Restore</image:title>
      <image:caption>Multi-Region-Backups mit S3 Cross-Region Replication, Aurora Global Database und EBS-Snapshots — Datenintegrität, HA und DR für kritische Workloads.</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://www.alekseialeinikov.com/architecture/pilot-light-architecture.webp</image:loc>
      <image:title>Pilot-Light-Architektur</image:title>
      <image:caption>Pilot-Light-DR mit Aurora Global Database, ELB und Auto Scaling Groups. Kritische DBs bleiben aktiv; die App-Ebene startet beim Failover — geringere Kosten und RTO.</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://www.alekseialeinikov.com/architecture/cicd-ml-architecture.webp</image:loc>
      <image:title>CI/CD für ML mit Vertex AI Pipelines</image:title>
      <image:caption>Cloud Build und Vertex AI Pipelines automatisieren Images, Artefakte und Pipeline-Deployments aus jedem Git-Commit — ein vollständiger MLOps-Kreislauf.</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://www.alekseialeinikov.com/architecture/warm-standby-architecture.webp</image:loc>
      <image:title>Warm-Standby-Architektur</image:title>
      <image:caption>Warm-Standby-Umgebung in einer Zweitregion mit Aurora Global Database, ELB und Auto Scaling Groups — schnelles Failover und kürzere Wiederherstellungszeit.</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://www.alekseialeinikov.com/architecture/cloud-vpn-architecture.webp</image:loc>
      <image:title>Cloud VPN Hub-and-Spoke</image:title>
      <image:caption>Skalierbares Hub-and-Spoke mit Google Cloud VPN, das VPC-Peering-Grenzen überwindet und transitive Konnektivität über viele Spoke-Netze ermöglicht.</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://www.alekseialeinikov.com/architecture/hub-spoke-architecture-vpc-peering.webp</image:loc>
      <image:title>VPC-Peering Hub-and-Spoke</image:title>
      <image:caption>Sichere Inter-VPC-Kommunikation via Network Peering über das Google-Backbone, mit Cloud NAT für Egress und optional VPN für weitergeleitete Routen.</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://www.alekseialeinikov.com/architecture/enterprise-app-oracle-database-compute-engine.webp</image:loc>
      <image:title>Enterprise-App auf Compute Engine (Oracle DB)</image:title>
      <image:caption>Regionale Managed Instance Groups hinter einem Load Balancer mit Oracle Data Guard HA — Cloud NAT, Hyperdisk und Cloud Storage für Performance und Backups.</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://www.alekseialeinikov.com/architecture/aws-multi-account-landing-zone.webp</image:loc>
      <image:title>AWS Multi-Account Landing Zone</image:title>
      <image:caption>Governance at Scale mit AWS Organizations und Control Tower: Security-, Infrastructure- und Workloads-OUs, SCP-Guardrails und zentrales CloudTrail/Config.</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://www.alekseialeinikov.com/architecture/aws-event-driven-serverless.webp</image:loc>
      <image:title>Event-Driven Serverless mit EventBridge</image:title>
      <image:caption>Entkoppelter Serverless-Flow: API Gateway und Lambda publizieren an EventBridge, das per Regel an SQS, Step Functions und DynamoDB routet — mit DLQ-Sicherheitsnetzen.</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://www.alekseialeinikov.com/architecture/aws-zero-trust-privatelink.webp</image:loc>
      <image:title>Zero-Trust Private Connectivity (PrivateLink + TGW)</image:title>
      <image:caption>Segmentiertes Hub-and-Spoke über AWS Transit Gateway mit PrivateLink-Endpoints zu S3, KMS und Secrets Manager — Ost-West-Traffic ohne öffentliches Internet.</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://www.alekseialeinikov.com/architecture/azure-enterprise-scale-landing-zone.webp</image:loc>
      <image:title>Azure Enterprise-Scale Landing Zone</image:title>
      <image:caption>Cloud-Adoption-Framework-Landing-Zone: Management-Group-Hierarchie, Azure-Policy-Guardrails, Hub-and-Spoke mit Firewall und Bastion sowie Entra ID.</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://www.alekseialeinikov.com/architecture/azure-aks-secure-cicd.webp</image:loc>
      <image:title>Sichere CI/CD für AKS (GitHub Actions + Key Vault)</image:title>
      <image:caption>GitHub Actions baut, scannt und signiert Images in ACR und deployt in einen privaten AKS-Cluster. Pods beziehen Secrets aus Key Vault via Workload Identity.</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://www.alekseialeinikov.com/architecture/gcp-secure-landing-zone.webp</image:loc>
      <image:title>GCP Secure Landing Zone / Org-Blueprint</image:title>
      <image:caption>Organisations-Blueprint mit Ordnerhierarchie, VPC-Service-Controls-Perimeter, Org Policies, Shared VPC und zentralem Logging mit Security Command Center.</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://www.alekseialeinikov.com/architecture/gcp-rag-vertex-ai.webp</image:loc>
      <image:title>Enterprise-RAG auf Vertex AI</image:title>
      <image:caption>Retrieval-Augmented Generation: Dokumente in Vertex AI Vector Search eingebettet; Cloud Run holt Kontext und ruft Gemini für fundierte, zitierte Antworten.</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://www.alekseialeinikov.com/architecture/gcp-bigquery-lakehouse.webp</image:loc>
      <image:title>BigQuery-Lakehouse-Datenplattform</image:title>
      <image:caption>Streaming- und Batch-Ingestion über Pub/Sub und Dataflow in ein BigQuery-Lakehouse, ELT mit Dataform und Governance mit Dataplex — analysebereit.</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://www.alekseialeinikov.com/architecture/gcp-anthos-service-mesh.webp</image:loc>
      <image:title>Anthos Multi-Cluster Service Mesh</image:title>
      <image:caption>Hybride Flotte aus GKE- und On-Prem-Clustern unter Anthos: Multi-Cluster-Ingress, Anthos Service Mesh mit mTLS überall und GitOps-Config-Sync.</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://www.alekseialeinikov.com/architecture/gcp-global-web-app-cdn.webp</image:loc>
      <image:title>Globale Web-App — Cloud CDN + Cloud Armor</image:title>
      <image:caption>Globaler HTTP(S)-Load-Balancer mit Anycast-IP vor Serverless-Backends: Cloud CDN cacht am Edge und Cloud Armor blockt WAF- und DDoS-Bedrohungen.</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://www.alekseialeinikov.com/architecture/gcp-hybrid-interconnect-ncc.webp</image:loc>
      <image:title>Hybride Konnektivität — Interconnect + NCC</image:title>
      <image:caption>Hochbandbreitiger Dedicated Interconnect mit verschlüsseltem HA-VPN-Failover und Cloud-Router-BGP, vereint über transitives Routing im Network Connectivity Center.</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://www.alekseialeinikov.com/architecture/gcp-eventarc-cloud-run.webp</image:loc>
      <image:title>Event-Driven Serverless mit Eventarc</image:title>
      <image:caption>Eventarc routet CloudEvents aus über 90 Quellen via Pub/Sub an autoskalierende Cloud-Run-Dienste, mit Dead-Letter-Topics für At-least-once-Sicherheit.</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://www.alekseialeinikov.com/architecture/gcp-secure-supply-chain.webp</image:loc>
      <image:title>Sichere Software-Lieferkette</image:title>
      <image:caption>Cloud Build scannt, erstellt SBOMs und signiert Images in Artifact Registry; Binary Authorization sperrt unverifizierte Images vor Cloud-Deploy-Rollouts.</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://www.alekseialeinikov.com/architecture/gcp-zero-trust-iap.webp</image:loc>
      <image:title>Zero-Trust-Zugriff mit IAP / BeyondCorp</image:title>
      <image:caption>Identity-Aware Proxy autorisiert jede Anfrage nach Identität und Gerätekontext via Access Context Manager — ohne VPN und ohne vertrautes Netzwerk-Perimeter.</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://www.alekseialeinikov.com/architecture/gcp-spanner-multi-region.webp</image:loc>
      <image:title>Multi-Region-Resilienz mit Cloud Spanner</image:title>
      <image:caption>Active-Active-App-Ebenen in zwei Regionen hinter einem globalen Load Balancer teilen sich eine Cloud-Spanner-Instanz mit synchroner Replikation und 99,999% SLA.</image:caption>
    </image:image>
    <!-- PORTFOLIO_ARCH_IMAGES_DE_END -->
    <lastmod>2026-07-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>

  <!-- Contact EN -->
  <url>
    <loc>https://www.alekseialeinikov.com/en/contact</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.alekseialeinikov.com/en/contact"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.alekseialeinikov.com/de/contact"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.alekseialeinikov.com/en/contact"/>
    <lastmod>2026-07-08</lastmod>
    <changefreq>yearly</changefreq>
    <priority>0.7</priority>
  </url>
  <!-- Contact DE -->
  <url>
    <loc>https://www.alekseialeinikov.com/de/contact</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.alekseialeinikov.com/en/contact"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.alekseialeinikov.com/de/contact"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.alekseialeinikov.com/en/contact"/>
    <lastmod>2026-07-08</lastmod>
    <changefreq>yearly</changefreq>
    <priority>0.7</priority>
  </url>

  <!-- Tools hub EN -->
  <url>
    <loc>https://www.alekseialeinikov.com/en/tools</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.alekseialeinikov.com/en/tools"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.alekseialeinikov.com/de/tools"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.alekseialeinikov.com/en/tools"/>
    <lastmod>2026-07-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <!-- Tools hub DE -->
  <url>
    <loc>https://www.alekseialeinikov.com/de/tools</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.alekseialeinikov.com/en/tools"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.alekseialeinikov.com/de/tools"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.alekseialeinikov.com/en/tools"/>
    <lastmod>2026-07-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>

  <!-- Tool: Compute Selector EN -->
  <url>
    <loc>https://www.alekseialeinikov.com/en/tools/compute-selector</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.alekseialeinikov.com/en/tools/compute-selector"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.alekseialeinikov.com/de/tools/compute-selector"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.alekseialeinikov.com/en/tools/compute-selector"/>
    <lastmod>2026-07-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <!-- Tool: Compute Selector DE -->
  <url>
    <loc>https://www.alekseialeinikov.com/de/tools/compute-selector</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.alekseialeinikov.com/en/tools/compute-selector"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.alekseialeinikov.com/de/tools/compute-selector"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.alekseialeinikov.com/en/tools/compute-selector"/>
    <lastmod>2026-07-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <!-- Tool: Database Selector EN -->
  <url>
    <loc>https://www.alekseialeinikov.com/en/tools/database-selector</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.alekseialeinikov.com/en/tools/database-selector"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.alekseialeinikov.com/de/tools/database-selector"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.alekseialeinikov.com/en/tools/database-selector"/>
    <lastmod>2026-07-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <!-- Tool: Database Selector DE -->
  <url>
    <loc>https://www.alekseialeinikov.com/de/tools/database-selector</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.alekseialeinikov.com/en/tools/database-selector"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.alekseialeinikov.com/de/tools/database-selector"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.alekseialeinikov.com/en/tools/database-selector"/>
    <lastmod>2026-07-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>

  <!-- Tool: IAM Checker EN -->
  <url>
    <loc>https://www.alekseialeinikov.com/en/tools/iam-checker</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.alekseialeinikov.com/en/tools/iam-checker"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.alekseialeinikov.com/de/tools/iam-checker"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.alekseialeinikov.com/en/tools/iam-checker"/>
    <lastmod>2026-07-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <!-- Tool: IAM Checker DE -->
  <url>
    <loc>https://www.alekseialeinikov.com/de/tools/iam-checker</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.alekseialeinikov.com/en/tools/iam-checker"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.alekseialeinikov.com/de/tools/iam-checker"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.alekseialeinikov.com/en/tools/iam-checker"/>
    <lastmod>2026-07-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>

  <!-- CV Dashboard EN -->
  <url>
    <loc>https://www.alekseialeinikov.com/en/cv</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.alekseialeinikov.com/en/cv"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.alekseialeinikov.com/de/cv"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.alekseialeinikov.com/en/cv"/>
    <lastmod>2026-07-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <!-- CV Dashboard DE -->
  <url>
    <loc>https://www.alekseialeinikov.com/de/cv</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.alekseialeinikov.com/en/cv"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.alekseialeinikov.com/de/cv"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.alekseialeinikov.com/en/cv"/>
    <lastmod>2026-07-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>

  <!-- CV: DevSecOps EN -->
  <url>
    <loc>https://www.alekseialeinikov.com/en/cv/devsecops-engineer</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.alekseialeinikov.com/en/cv/devsecops-engineer"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.alekseialeinikov.com/de/cv/devsecops-engineer"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.alekseialeinikov.com/en/cv/devsecops-engineer"/>
    <lastmod>2026-07-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.9</priority>
  </url>
  <!-- CV: DevSecOps DE -->
  <url>
    <loc>https://www.alekseialeinikov.com/de/cv/devsecops-engineer</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.alekseialeinikov.com/en/cv/devsecops-engineer"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.alekseialeinikov.com/de/cv/devsecops-engineer"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.alekseialeinikov.com/en/cv/devsecops-engineer"/>
    <lastmod>2026-07-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.9</priority>
  </url>

  <!-- CV: GCP Platform Engineer EN -->
  <url>
    <loc>https://www.alekseialeinikov.com/en/cv/gcp-platform-engineer</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.alekseialeinikov.com/en/cv/gcp-platform-engineer"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.alekseialeinikov.com/de/cv/gcp-platform-engineer"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.alekseialeinikov.com/en/cv/gcp-platform-engineer"/>
    <lastmod>2026-07-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.9</priority>
  </url>
  <!-- CV: GCP Platform Engineer DE -->
  <url>
    <loc>https://www.alekseialeinikov.com/de/cv/gcp-platform-engineer</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.alekseialeinikov.com/en/cv/gcp-platform-engineer"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.alekseialeinikov.com/de/cv/gcp-platform-engineer"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.alekseialeinikov.com/en/cv/gcp-platform-engineer"/>
    <lastmod>2026-07-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.9</priority>
  </url>

  <!-- CV: Cloud Security Architect EN -->
  <url>
    <loc>https://www.alekseialeinikov.com/en/cv/cloud-security-architect</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.alekseialeinikov.com/en/cv/cloud-security-architect"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.alekseialeinikov.com/de/cv/cloud-security-architect"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.alekseialeinikov.com/en/cv/cloud-security-architect"/>
    <lastmod>2026-07-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.9</priority>
  </url>
  <!-- CV: Cloud Security Architect DE -->
  <url>
    <loc>https://www.alekseialeinikov.com/de/cv/cloud-security-architect</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.alekseialeinikov.com/en/cv/cloud-security-architect"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.alekseialeinikov.com/de/cv/cloud-security-architect"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.alekseialeinikov.com/en/cv/cloud-security-architect"/>
    <lastmod>2026-07-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.9</priority>
  </url>

  <!-- CV: AI Engineer EN -->
  <url>
    <loc>https://www.alekseialeinikov.com/en/cv/ai-engineer</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.alekseialeinikov.com/en/cv/ai-engineer"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.alekseialeinikov.com/de/cv/ai-engineer"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.alekseialeinikov.com/en/cv/ai-engineer"/>
    <lastmod>2026-07-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.9</priority>
  </url>
  <!-- CV: AI Engineer DE -->
  <url>
    <loc>https://www.alekseialeinikov.com/de/cv/ai-engineer</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.alekseialeinikov.com/en/cv/ai-engineer"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.alekseialeinikov.com/de/cv/ai-engineer"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.alekseialeinikov.com/en/cv/ai-engineer"/>
    <lastmod>2026-07-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.9</priority>
  </url>





































































































































































































































































































































































































































































































































































































































































































































































































































































































  <!-- BLOG_ROUTES_START -->
  <url>
    <loc>https://www.alekseialeinikov.com/en/blog</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.alekseialeinikov.com/en/blog"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.alekseialeinikov.com/de/blog"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.alekseialeinikov.com/en/blog"/>
    <lastmod>2026-07-08</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.alekseialeinikov.com/de/blog</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.alekseialeinikov.com/en/blog"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.alekseialeinikov.com/de/blog"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.alekseialeinikov.com/en/blog"/>
    <lastmod>2026-07-08</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.alekseialeinikov.com/en/blog/topics/ai/real-time-rag-pipeline-python-bright-data-serp-api-2026</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.alekseialeinikov.com/en/blog/topics/ai/real-time-rag-pipeline-python-bright-data-serp-api-2026"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.alekseialeinikov.com/de/blog/topics/ai/echtzeit-rag-pipeline-python-bright-data-serp-api-2026"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.alekseialeinikov.com/en/blog/topics/ai/real-time-rag-pipeline-python-bright-data-serp-api-2026"/>
    <image:image>
      <image:loc>https://www.alekseialeinikov.com/blog/1_AZXu0egNKmqClH60smyc8g.webp</image:loc>
    </image:image>
    <lastmod>2026-07-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://www.alekseialeinikov.com/de/blog/topics/ai/echtzeit-rag-pipeline-python-bright-data-serp-api-2026</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.alekseialeinikov.com/en/blog/topics/ai/real-time-rag-pipeline-python-bright-data-serp-api-2026"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.alekseialeinikov.com/de/blog/topics/ai/echtzeit-rag-pipeline-python-bright-data-serp-api-2026"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.alekseialeinikov.com/en/blog/topics/ai/real-time-rag-pipeline-python-bright-data-serp-api-2026"/>
    <image:image>
      <image:loc>https://www.alekseialeinikov.com/blog/1_AZXu0egNKmqClH60smyc8g.webp</image:loc>
    </image:image>
    <lastmod>2026-07-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://www.alekseialeinikov.com/en/blog/topics/architecture/pubsub-vs-eventarc-2026-event-driven-gcp-without-spaghetti</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.alekseialeinikov.com/en/blog/topics/architecture/pubsub-vs-eventarc-2026-event-driven-gcp-without-spaghetti"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.alekseialeinikov.com/de/blog/topics/architecture/pubsub-oder-eventarc-2026-event-driven-gcp-ohne-spaghetti"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.alekseialeinikov.com/en/blog/topics/architecture/pubsub-vs-eventarc-2026-event-driven-gcp-without-spaghetti"/>
    <image:image>
      <image:loc>https://www.alekseialeinikov.com/blog/pubsub-eventarc-2026.webp</image:loc>
    </image:image>
    <lastmod>2026-07-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://www.alekseialeinikov.com/de/blog/topics/architecture/pubsub-oder-eventarc-2026-event-driven-gcp-ohne-spaghetti</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.alekseialeinikov.com/en/blog/topics/architecture/pubsub-vs-eventarc-2026-event-driven-gcp-without-spaghetti"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.alekseialeinikov.com/de/blog/topics/architecture/pubsub-oder-eventarc-2026-event-driven-gcp-ohne-spaghetti"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.alekseialeinikov.com/en/blog/topics/architecture/pubsub-vs-eventarc-2026-event-driven-gcp-without-spaghetti"/>
    <image:image>
      <image:loc>https://www.alekseialeinikov.com/blog/pubsub-eventarc-2026.webp</image:loc>
    </image:image>
    <lastmod>2026-07-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://www.alekseialeinikov.com/en/blog/topics/architecture/secure-by-default-gke-reference-architecture-2026</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.alekseialeinikov.com/en/blog/topics/architecture/secure-by-default-gke-reference-architecture-2026"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.alekseialeinikov.com/de/blog/topics/architecture/secure-by-default-gke-referenzarchitektur-2026"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.alekseialeinikov.com/en/blog/topics/architecture/secure-by-default-gke-reference-architecture-2026"/>
    <image:image>
      <image:loc>https://www.alekseialeinikov.com/blog/gke-secure-2026.webp</image:loc>
    </image:image>
    <lastmod>2026-07-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://www.alekseialeinikov.com/de/blog/topics/architecture/secure-by-default-gke-referenzarchitektur-2026</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.alekseialeinikov.com/en/blog/topics/architecture/secure-by-default-gke-reference-architecture-2026"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.alekseialeinikov.com/de/blog/topics/architecture/secure-by-default-gke-referenzarchitektur-2026"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.alekseialeinikov.com/en/blog/topics/architecture/secure-by-default-gke-reference-architecture-2026"/>
    <image:image>
      <image:loc>https://www.alekseialeinikov.com/blog/gke-secure-2026.webp</image:loc>
    </image:image>
    <lastmod>2026-07-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://www.alekseialeinikov.com/en/blog/topics/career/developers-learn-cloud-2026-google-cloud-first</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.alekseialeinikov.com/en/blog/topics/career/developers-learn-cloud-2026-google-cloud-first"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.alekseialeinikov.com/de/blog/topics/career/entwickler-cloud-lernen-2026-google-cloud-zuerst"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.alekseialeinikov.com/en/blog/topics/career/developers-learn-cloud-2026-google-cloud-first"/>
    <image:image>
      <image:loc>https://www.alekseialeinikov.com/blog/developer-learn-cloud-2026.webp</image:loc>
    </image:image>
    <lastmod>2026-07-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://www.alekseialeinikov.com/de/blog/topics/career/entwickler-cloud-lernen-2026-google-cloud-zuerst</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.alekseialeinikov.com/en/blog/topics/career/developers-learn-cloud-2026-google-cloud-first"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.alekseialeinikov.com/de/blog/topics/career/entwickler-cloud-lernen-2026-google-cloud-zuerst"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.alekseialeinikov.com/en/blog/topics/career/developers-learn-cloud-2026-google-cloud-first"/>
    <image:image>
      <image:loc>https://www.alekseialeinikov.com/blog/developer-learn-cloud-2026.webp</image:loc>
    </image:image>
    <lastmod>2026-07-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://www.alekseialeinikov.com/en/blog/topics/cloud/google-adk-build-production-ai-agents-2026</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.alekseialeinikov.com/en/blog/topics/cloud/google-adk-build-production-ai-agents-2026"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.alekseialeinikov.com/de/blog/topics/cloud/google-adk-produktionsreife-ki-agenten-bauen-2026"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.alekseialeinikov.com/en/blog/topics/cloud/google-adk-build-production-ai-agents-2026"/>
    <image:image>
      <image:loc>https://www.alekseialeinikov.com/blog/google-adk-production-agents-2026.webp</image:loc>
    </image:image>
    <lastmod>2026-07-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://www.alekseialeinikov.com/de/blog/topics/cloud/google-adk-produktionsreife-ki-agenten-bauen-2026</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.alekseialeinikov.com/en/blog/topics/cloud/google-adk-build-production-ai-agents-2026"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.alekseialeinikov.com/de/blog/topics/cloud/google-adk-produktionsreife-ki-agenten-bauen-2026"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.alekseialeinikov.com/en/blog/topics/cloud/google-adk-build-production-ai-agents-2026"/>
    <image:image>
      <image:loc>https://www.alekseialeinikov.com/blog/google-adk-production-agents-2026.webp</image:loc>
    </image:image>
    <lastmod>2026-07-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://www.alekseialeinikov.com/en/blog/topics/cloud/google-cloud-ambassador-infrastructure-journey-2026</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.alekseialeinikov.com/en/blog/topics/cloud/google-cloud-ambassador-infrastructure-journey-2026"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.alekseialeinikov.com/de/blog/topics/cloud/google-cloud-ambassador-infrastructure-weg-2026"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.alekseialeinikov.com/en/blog/topics/cloud/google-cloud-ambassador-infrastructure-journey-2026"/>
    <image:image>
      <image:loc>https://www.alekseialeinikov.com/blog/google-cloud-ambassador-infrastructure-2026.webp</image:loc>
    </image:image>
    <lastmod>2026-07-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://www.alekseialeinikov.com/de/blog/topics/cloud/google-cloud-ambassador-infrastructure-weg-2026</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.alekseialeinikov.com/en/blog/topics/cloud/google-cloud-ambassador-infrastructure-journey-2026"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.alekseialeinikov.com/de/blog/topics/cloud/google-cloud-ambassador-infrastructure-weg-2026"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.alekseialeinikov.com/en/blog/topics/cloud/google-cloud-ambassador-infrastructure-journey-2026"/>
    <image:image>
      <image:loc>https://www.alekseialeinikov.com/blog/google-cloud-ambassador-infrastructure-2026.webp</image:loc>
    </image:image>
    <lastmod>2026-07-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://www.alekseialeinikov.com/en/blog/topics/cloud/kafka-vs-pubsub-2026-managed-messaging-fintech-outage</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.alekseialeinikov.com/en/blog/topics/cloud/kafka-vs-pubsub-2026-managed-messaging-fintech-outage"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.alekseialeinikov.com/de/blog/topics/cloud/kafka-vs-pubsub-2026-managed-messaging-rettet-fintech-launch"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.alekseialeinikov.com/en/blog/topics/cloud/kafka-vs-pubsub-2026-managed-messaging-fintech-outage"/>
    <image:image>
      <image:loc>https://www.alekseialeinikov.com/blog/1_IJ1D6OsYDPbHYYzKmJ2PyA.webp</image:loc>
    </image:image>
    <lastmod>2026-07-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://www.alekseialeinikov.com/de/blog/topics/cloud/kafka-vs-pubsub-2026-managed-messaging-rettet-fintech-launch</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.alekseialeinikov.com/en/blog/topics/cloud/kafka-vs-pubsub-2026-managed-messaging-fintech-outage"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.alekseialeinikov.com/de/blog/topics/cloud/kafka-vs-pubsub-2026-managed-messaging-rettet-fintech-launch"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.alekseialeinikov.com/en/blog/topics/cloud/kafka-vs-pubsub-2026-managed-messaging-fintech-outage"/>
    <image:image>
      <image:loc>https://www.alekseialeinikov.com/blog/1_IJ1D6OsYDPbHYYzKmJ2PyA.webp</image:loc>
    </image:image>
    <lastmod>2026-07-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://www.alekseialeinikov.com/en/blog/topics/data/bigquery-vs-snowflake-2026-honest-comparison</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.alekseialeinikov.com/en/blog/topics/data/bigquery-vs-snowflake-2026-honest-comparison"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.alekseialeinikov.com/de/blog/topics/data/bigquery-vs-snowflake-2026-ehrlicher-vergleich"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.alekseialeinikov.com/en/blog/topics/data/bigquery-vs-snowflake-2026-honest-comparison"/>
    <image:image>
      <image:loc>https://www.alekseialeinikov.com/blog/bigquery-vs-snowflake-2026.webp</image:loc>
    </image:image>
    <lastmod>2026-07-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://www.alekseialeinikov.com/de/blog/topics/data/bigquery-vs-snowflake-2026-ehrlicher-vergleich</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.alekseialeinikov.com/en/blog/topics/data/bigquery-vs-snowflake-2026-honest-comparison"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.alekseialeinikov.com/de/blog/topics/data/bigquery-vs-snowflake-2026-ehrlicher-vergleich"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.alekseialeinikov.com/en/blog/topics/data/bigquery-vs-snowflake-2026-honest-comparison"/>
    <image:image>
      <image:loc>https://www.alekseialeinikov.com/blog/bigquery-vs-snowflake-2026.webp</image:loc>
    </image:image>
    <lastmod>2026-07-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://www.alekseialeinikov.com/en/blog/topics/data/sql-query-optimization-2026-faster-database-performance</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.alekseialeinikov.com/en/blog/topics/data/sql-query-optimization-2026-faster-database-performance"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.alekseialeinikov.com/de/blog/topics/data/sql-query-optimierung-2026-schnellere-datenbank-performance"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.alekseialeinikov.com/en/blog/topics/data/sql-query-optimization-2026-faster-database-performance"/>
    <image:image>
      <image:loc>https://www.alekseialeinikov.com/blog/1_wgu4URsmjNvqHJqogQorFA.webp</image:loc>
    </image:image>
    <lastmod>2026-07-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://www.alekseialeinikov.com/de/blog/topics/data/sql-query-optimierung-2026-schnellere-datenbank-performance</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.alekseialeinikov.com/en/blog/topics/data/sql-query-optimization-2026-faster-database-performance"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.alekseialeinikov.com/de/blog/topics/data/sql-query-optimierung-2026-schnellere-datenbank-performance"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.alekseialeinikov.com/en/blog/topics/data/sql-query-optimization-2026-faster-database-performance"/>
    <image:image>
      <image:loc>https://www.alekseialeinikov.com/blog/1_wgu4URsmjNvqHJqogQorFA.webp</image:loc>
    </image:image>
    <lastmod>2026-07-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://www.alekseialeinikov.com/en/blog/topics/devops/build-a-tiny-linux-container-without-docker-2026</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.alekseialeinikov.com/en/blog/topics/devops/build-a-tiny-linux-container-without-docker-2026"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.alekseialeinikov.com/de/blog/topics/devops/kleinen-linux-container-ohne-docker-bauen-2026"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.alekseialeinikov.com/en/blog/topics/devops/build-a-tiny-linux-container-without-docker-2026"/>
    <image:image>
      <image:loc>https://www.alekseialeinikov.com/blog/1_PVv90FbaIT1ESF_fGrDs9g.webp</image:loc>
    </image:image>
    <lastmod>2026-07-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://www.alekseialeinikov.com/de/blog/topics/devops/kleinen-linux-container-ohne-docker-bauen-2026</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.alekseialeinikov.com/en/blog/topics/devops/build-a-tiny-linux-container-without-docker-2026"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.alekseialeinikov.com/de/blog/topics/devops/kleinen-linux-container-ohne-docker-bauen-2026"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.alekseialeinikov.com/en/blog/topics/devops/build-a-tiny-linux-container-without-docker-2026"/>
    <image:image>
      <image:loc>https://www.alekseialeinikov.com/blog/1_PVv90FbaIT1ESF_fGrDs9g.webp</image:loc>
    </image:image>
    <lastmod>2026-07-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://www.alekseialeinikov.com/en/blog/topics/devops/gitops-argo-cd-automated-kubernetes-deployments-2026</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.alekseialeinikov.com/en/blog/topics/devops/gitops-argo-cd-automated-kubernetes-deployments-2026"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.alekseialeinikov.com/de/blog/topics/devops/gitops-mit-argo-cd-automatisierte-kubernetes-deployments-2026"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.alekseialeinikov.com/en/blog/topics/devops/gitops-argo-cd-automated-kubernetes-deployments-2026"/>
    <image:image>
      <image:loc>https://www.alekseialeinikov.com/blog/1_rtOYGLjRX6Sdgdwn8aoW4w.webp</image:loc>
    </image:image>
    <lastmod>2026-07-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://www.alekseialeinikov.com/de/blog/topics/devops/gitops-mit-argo-cd-automatisierte-kubernetes-deployments-2026</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.alekseialeinikov.com/en/blog/topics/devops/gitops-argo-cd-automated-kubernetes-deployments-2026"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.alekseialeinikov.com/de/blog/topics/devops/gitops-mit-argo-cd-automatisierte-kubernetes-deployments-2026"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.alekseialeinikov.com/en/blog/topics/devops/gitops-argo-cd-automated-kubernetes-deployments-2026"/>
    <image:image>
      <image:loc>https://www.alekseialeinikov.com/blog/1_rtOYGLjRX6Sdgdwn8aoW4w.webp</image:loc>
    </image:image>
    <lastmod>2026-07-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://www.alekseialeinikov.com/en/blog/topics/devops/microvms-firecracker-vs-gvisor-secure-workloads-2026</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.alekseialeinikov.com/en/blog/topics/devops/microvms-firecracker-vs-gvisor-secure-workloads-2026"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.alekseialeinikov.com/de/blog/topics/devops/microvms-firecracker-vs-gvisor-sichere-workloads-2026"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.alekseialeinikov.com/en/blog/topics/devops/microvms-firecracker-vs-gvisor-secure-workloads-2026"/>
    <image:image>
      <image:loc>https://www.alekseialeinikov.com/blog/microvms-firecracker-vs-gvisor-2026.webp</image:loc>
    </image:image>
    <lastmod>2026-07-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://www.alekseialeinikov.com/de/blog/topics/devops/microvms-firecracker-vs-gvisor-sichere-workloads-2026</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.alekseialeinikov.com/en/blog/topics/devops/microvms-firecracker-vs-gvisor-secure-workloads-2026"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.alekseialeinikov.com/de/blog/topics/devops/microvms-firecracker-vs-gvisor-sichere-workloads-2026"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.alekseialeinikov.com/en/blog/topics/devops/microvms-firecracker-vs-gvisor-secure-workloads-2026"/>
    <image:image>
      <image:loc>https://www.alekseialeinikov.com/blog/microvms-firecracker-vs-gvisor-2026.webp</image:loc>
    </image:image>
    <lastmod>2026-07-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://www.alekseialeinikov.com/en/blog/topics/devops/secure-gitlab-cicd-hardening-playbook-2026</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.alekseialeinikov.com/en/blog/topics/devops/secure-gitlab-cicd-hardening-playbook-2026"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.alekseialeinikov.com/de/blog/topics/devops/sichere-gitlab-cicd-pipelines-hardening-playbook-2026"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.alekseialeinikov.com/en/blog/topics/devops/secure-gitlab-cicd-hardening-playbook-2026"/>
    <image:image>
      <image:loc>https://www.alekseialeinikov.com/blog/1_Xn6x2Hbgnag1z1PEywDD-Q.webp</image:loc>
    </image:image>
    <lastmod>2026-07-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://www.alekseialeinikov.com/de/blog/topics/devops/sichere-gitlab-cicd-pipelines-hardening-playbook-2026</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.alekseialeinikov.com/en/blog/topics/devops/secure-gitlab-cicd-hardening-playbook-2026"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.alekseialeinikov.com/de/blog/topics/devops/sichere-gitlab-cicd-pipelines-hardening-playbook-2026"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.alekseialeinikov.com/en/blog/topics/devops/secure-gitlab-cicd-hardening-playbook-2026"/>
    <image:image>
      <image:loc>https://www.alekseialeinikov.com/blog/1_Xn6x2Hbgnag1z1PEywDD-Q.webp</image:loc>
    </image:image>
    <lastmod>2026-07-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://www.alekseialeinikov.com/en/blog/topics/programming/biome-2026-replace-eslint-prettier-benchmark</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.alekseialeinikov.com/en/blog/topics/programming/biome-2026-replace-eslint-prettier-benchmark"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.alekseialeinikov.com/de/blog/topics/programming/biome-2026-eslint-prettier-ersetzen-benchmark"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.alekseialeinikov.com/en/blog/topics/programming/biome-2026-replace-eslint-prettier-benchmark"/>
    <image:image>
      <image:loc>https://www.alekseialeinikov.com/blog/biome-2026.webp</image:loc>
    </image:image>
    <lastmod>2026-07-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://www.alekseialeinikov.com/de/blog/topics/programming/biome-2026-eslint-prettier-ersetzen-benchmark</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.alekseialeinikov.com/en/blog/topics/programming/biome-2026-replace-eslint-prettier-benchmark"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.alekseialeinikov.com/de/blog/topics/programming/biome-2026-eslint-prettier-ersetzen-benchmark"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.alekseialeinikov.com/en/blog/topics/programming/biome-2026-replace-eslint-prettier-benchmark"/>
    <image:image>
      <image:loc>https://www.alekseialeinikov.com/blog/biome-2026.webp</image:loc>
    </image:image>
    <lastmod>2026-07-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://www.alekseialeinikov.com/en/blog/topics/programming/es-toolkit-2026-lodash-replacement-2x-faster-97-smaller</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.alekseialeinikov.com/en/blog/topics/programming/es-toolkit-2026-lodash-replacement-2x-faster-97-smaller"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.alekseialeinikov.com/de/blog/topics/programming/es-toolkit-2026-die-lodash-alternative-2x-schneller-97-kleiner"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.alekseialeinikov.com/en/blog/topics/programming/es-toolkit-2026-lodash-replacement-2x-faster-97-smaller"/>
    <image:image>
      <image:loc>https://www.alekseialeinikov.com/blog/es-toolkit-2026.webp</image:loc>
    </image:image>
    <lastmod>2026-07-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://www.alekseialeinikov.com/de/blog/topics/programming/es-toolkit-2026-die-lodash-alternative-2x-schneller-97-kleiner</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.alekseialeinikov.com/en/blog/topics/programming/es-toolkit-2026-lodash-replacement-2x-faster-97-smaller"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.alekseialeinikov.com/de/blog/topics/programming/es-toolkit-2026-die-lodash-alternative-2x-schneller-97-kleiner"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.alekseialeinikov.com/en/blog/topics/programming/es-toolkit-2026-lodash-replacement-2x-faster-97-smaller"/>
    <image:image>
      <image:loc>https://www.alekseialeinikov.com/blog/es-toolkit-2026.webp</image:loc>
    </image:image>
    <lastmod>2026-07-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://www.alekseialeinikov.com/en/blog/topics/programming/how-many-threads-go-really-uses-runtime-investigation-2026</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.alekseialeinikov.com/en/blog/topics/programming/how-many-threads-go-really-uses-runtime-investigation-2026"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.alekseialeinikov.com/de/blog/topics/programming/wie-viele-threads-nutzt-go-wirklich-runtime-untersuchung-2026"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.alekseialeinikov.com/en/blog/topics/programming/how-many-threads-go-really-uses-runtime-investigation-2026"/>
    <image:image>
      <image:loc>https://www.alekseialeinikov.com/blog/1_eAmuMJ-Iq34Gj8-7T8STTw.webp</image:loc>
    </image:image>
    <lastmod>2026-07-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://www.alekseialeinikov.com/de/blog/topics/programming/wie-viele-threads-nutzt-go-wirklich-runtime-untersuchung-2026</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.alekseialeinikov.com/en/blog/topics/programming/how-many-threads-go-really-uses-runtime-investigation-2026"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.alekseialeinikov.com/de/blog/topics/programming/wie-viele-threads-nutzt-go-wirklich-runtime-untersuchung-2026"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.alekseialeinikov.com/en/blog/topics/programming/how-many-threads-go-really-uses-runtime-investigation-2026"/>
    <image:image>
      <image:loc>https://www.alekseialeinikov.com/blog/1_eAmuMJ-Iq34Gj8-7T8STTw.webp</image:loc>
    </image:image>
    <lastmod>2026-07-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://www.alekseialeinikov.com/en/blog/topics/programming/linkedin-scraper-vs-dataset-marketplace-data-engineer-honest-review-2026</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.alekseialeinikov.com/en/blog/topics/programming/linkedin-scraper-vs-dataset-marketplace-data-engineer-honest-review-2026"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.alekseialeinikov.com/de/blog/topics/programming/linkedin-scraper-vs-dataset-marketplace-data-engineer-ehrlicher-vergleich-2026"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.alekseialeinikov.com/en/blog/topics/programming/linkedin-scraper-vs-dataset-marketplace-data-engineer-honest-review-2026"/>
    <image:image>
      <image:loc>https://www.alekseialeinikov.com/blog/1_vW1iBMVXLD0NRG7iYYQXmA.webp</image:loc>
    </image:image>
    <lastmod>2026-07-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://www.alekseialeinikov.com/de/blog/topics/programming/linkedin-scraper-vs-dataset-marketplace-data-engineer-ehrlicher-vergleich-2026</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.alekseialeinikov.com/en/blog/topics/programming/linkedin-scraper-vs-dataset-marketplace-data-engineer-honest-review-2026"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.alekseialeinikov.com/de/blog/topics/programming/linkedin-scraper-vs-dataset-marketplace-data-engineer-ehrlicher-vergleich-2026"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.alekseialeinikov.com/en/blog/topics/programming/linkedin-scraper-vs-dataset-marketplace-data-engineer-honest-review-2026"/>
    <image:image>
      <image:loc>https://www.alekseialeinikov.com/blog/1_vW1iBMVXLD0NRG7iYYQXmA.webp</image:loc>
    </image:image>
    <lastmod>2026-07-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://www.alekseialeinikov.com/en/blog/topics/programming/nodejs-npm-packages-worth-mastering-in-2026</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.alekseialeinikov.com/en/blog/topics/programming/nodejs-npm-packages-worth-mastering-in-2026"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.alekseialeinikov.com/de/blog/topics/programming/nodejs-npm-pakete-die-man-2026-beherrschen-sollte"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.alekseialeinikov.com/en/blog/topics/programming/nodejs-npm-packages-worth-mastering-in-2026"/>
    <image:image>
      <image:loc>https://www.alekseialeinikov.com/blog/1_9_8BFHb48R_QC46POGEWAQ.webp</image:loc>
    </image:image>
    <lastmod>2026-07-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://www.alekseialeinikov.com/de/blog/topics/programming/nodejs-npm-pakete-die-man-2026-beherrschen-sollte</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.alekseialeinikov.com/en/blog/topics/programming/nodejs-npm-packages-worth-mastering-in-2026"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.alekseialeinikov.com/de/blog/topics/programming/nodejs-npm-pakete-die-man-2026-beherrschen-sollte"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.alekseialeinikov.com/en/blog/topics/programming/nodejs-npm-packages-worth-mastering-in-2026"/>
    <image:image>
      <image:loc>https://www.alekseialeinikov.com/blog/1_9_8BFHb48R_QC46POGEWAQ.webp</image:loc>
    </image:image>
    <lastmod>2026-07-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://www.alekseialeinikov.com/en/blog/topics/programming/playwright-bright-data-browser-api-kubernetes-scraping-pipeline-2026</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.alekseialeinikov.com/en/blog/topics/programming/playwright-bright-data-browser-api-kubernetes-scraping-pipeline-2026"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.alekseialeinikov.com/de/blog/topics/programming/playwright-bright-data-browser-api-kubernetes-scraping-pipeline-2026-de"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.alekseialeinikov.com/en/blog/topics/programming/playwright-bright-data-browser-api-kubernetes-scraping-pipeline-2026"/>
    <image:image>
      <image:loc>https://www.alekseialeinikov.com/blog/1_TmXavGnY5QWAHbzjnOcSMg.webp</image:loc>
    </image:image>
    <lastmod>2026-07-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://www.alekseialeinikov.com/de/blog/topics/programming/playwright-bright-data-browser-api-kubernetes-scraping-pipeline-2026-de</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.alekseialeinikov.com/en/blog/topics/programming/playwright-bright-data-browser-api-kubernetes-scraping-pipeline-2026"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.alekseialeinikov.com/de/blog/topics/programming/playwright-bright-data-browser-api-kubernetes-scraping-pipeline-2026-de"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.alekseialeinikov.com/en/blog/topics/programming/playwright-bright-data-browser-api-kubernetes-scraping-pipeline-2026"/>
    <image:image>
      <image:loc>https://www.alekseialeinikov.com/blog/1_TmXavGnY5QWAHbzjnOcSMg.webp</image:loc>
    </image:image>
    <lastmod>2026-07-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://www.alekseialeinikov.com/en/blog/topics/programming/pytest-in-practice-2026-python-testing-guide</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.alekseialeinikov.com/en/blog/topics/programming/pytest-in-practice-2026-python-testing-guide"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.alekseialeinikov.com/de/blog/topics/programming/pytest-in-der-praxis-2026-python-testing-guide"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.alekseialeinikov.com/en/blog/topics/programming/pytest-in-practice-2026-python-testing-guide"/>
    <image:image>
      <image:loc>https://www.alekseialeinikov.com/blog/1_6jVZVawi-1UakWgiGHmqcA.webp</image:loc>
    </image:image>
    <lastmod>2026-07-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://www.alekseialeinikov.com/de/blog/topics/programming/pytest-in-der-praxis-2026-python-testing-guide</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.alekseialeinikov.com/en/blog/topics/programming/pytest-in-practice-2026-python-testing-guide"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.alekseialeinikov.com/de/blog/topics/programming/pytest-in-der-praxis-2026-python-testing-guide"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.alekseialeinikov.com/en/blog/topics/programming/pytest-in-practice-2026-python-testing-guide"/>
    <image:image>
      <image:loc>https://www.alekseialeinikov.com/blog/1_6jVZVawi-1UakWgiGHmqcA.webp</image:loc>
    </image:image>
    <lastmod>2026-07-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://www.alekseialeinikov.com/en/blog/topics/programming/stop-passing-raw-dicts-around-python-models-2026</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.alekseialeinikov.com/en/blog/topics/programming/stop-passing-raw-dicts-around-python-models-2026"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.alekseialeinikov.com/de/blog/topics/programming/python-dicts-unter-kontrolle-modelle-statt-rohdaten-2026"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.alekseialeinikov.com/en/blog/topics/programming/stop-passing-raw-dicts-around-python-models-2026"/>
    <image:image>
      <image:loc>https://www.alekseialeinikov.com/blog/1_KtSgqz0LdjgRisqN8r-Skw.webp</image:loc>
    </image:image>
    <lastmod>2026-07-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://www.alekseialeinikov.com/de/blog/topics/programming/python-dicts-unter-kontrolle-modelle-statt-rohdaten-2026</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.alekseialeinikov.com/en/blog/topics/programming/stop-passing-raw-dicts-around-python-models-2026"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.alekseialeinikov.com/de/blog/topics/programming/python-dicts-unter-kontrolle-modelle-statt-rohdaten-2026"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.alekseialeinikov.com/en/blog/topics/programming/stop-passing-raw-dicts-around-python-models-2026"/>
    <image:image>
      <image:loc>https://www.alekseialeinikov.com/blog/1_KtSgqz0LdjgRisqN8r-Skw.webp</image:loc>
    </image:image>
    <lastmod>2026-07-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://www.alekseialeinikov.com/en/blog/topics/programming/python-error-handling-2026-try-except-or-if-checks</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.alekseialeinikov.com/en/blog/topics/programming/python-error-handling-2026-try-except-or-if-checks"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.alekseialeinikov.com/de/blog/topics/programming/python-fehlerbehandlung-2026-try-except-oder-if-checks"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.alekseialeinikov.com/en/blog/topics/programming/python-error-handling-2026-try-except-or-if-checks"/>
    <image:image>
      <image:loc>https://www.alekseialeinikov.com/blog/1_mwQ7EQlFjdjOPr6ydQgeQw.webp</image:loc>
    </image:image>
    <lastmod>2026-07-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://www.alekseialeinikov.com/de/blog/topics/programming/python-fehlerbehandlung-2026-try-except-oder-if-checks</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.alekseialeinikov.com/en/blog/topics/programming/python-error-handling-2026-try-except-or-if-checks"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.alekseialeinikov.com/de/blog/topics/programming/python-fehlerbehandlung-2026-try-except-oder-if-checks"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.alekseialeinikov.com/en/blog/topics/programming/python-error-handling-2026-try-except-or-if-checks"/>
    <image:image>
      <image:loc>https://www.alekseialeinikov.com/blog/1_mwQ7EQlFjdjOPr6ydQgeQw.webp</image:loc>
    </image:image>
    <lastmod>2026-07-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://www.alekseialeinikov.com/en/blog/topics/programming/python-joblib-2026-processes-threads-memmap-caching</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.alekseialeinikov.com/en/blog/topics/programming/python-joblib-2026-processes-threads-memmap-caching"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.alekseialeinikov.com/de/blog/topics/programming/python-joblib-2026-prozesse-threads-memmap-caching"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.alekseialeinikov.com/en/blog/topics/programming/python-joblib-2026-processes-threads-memmap-caching"/>
    <image:image>
      <image:loc>https://www.alekseialeinikov.com/blog/1_5zCVGXEgQqgBFsEhXdxUQg.webp</image:loc>
    </image:image>
    <lastmod>2026-07-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://www.alekseialeinikov.com/de/blog/topics/programming/python-joblib-2026-prozesse-threads-memmap-caching</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.alekseialeinikov.com/en/blog/topics/programming/python-joblib-2026-processes-threads-memmap-caching"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.alekseialeinikov.com/de/blog/topics/programming/python-joblib-2026-prozesse-threads-memmap-caching"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.alekseialeinikov.com/en/blog/topics/programming/python-joblib-2026-processes-threads-memmap-caching"/>
    <image:image>
      <image:loc>https://www.alekseialeinikov.com/blog/1_5zCVGXEgQqgBFsEhXdxUQg.webp</image:loc>
    </image:image>
    <lastmod>2026-07-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://www.alekseialeinikov.com/en/blog/topics/programming/python-web-scraping-without-proxy-management-bright-data-web-unlocker</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.alekseialeinikov.com/en/blog/topics/programming/python-web-scraping-without-proxy-management-bright-data-web-unlocker"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.alekseialeinikov.com/de/blog/topics/programming/python-web-scraping-ohne-proxy-verwaltung-bright-data-web-unlocker"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.alekseialeinikov.com/en/blog/topics/programming/python-web-scraping-without-proxy-management-bright-data-web-unlocker"/>
    <image:image>
      <image:loc>https://www.alekseialeinikov.com/blog/1_w7Uj0jkEPVXGH8bKgUXHUg.webp</image:loc>
    </image:image>
    <lastmod>2026-07-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://www.alekseialeinikov.com/de/blog/topics/programming/python-web-scraping-ohne-proxy-verwaltung-bright-data-web-unlocker</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.alekseialeinikov.com/en/blog/topics/programming/python-web-scraping-without-proxy-management-bright-data-web-unlocker"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.alekseialeinikov.com/de/blog/topics/programming/python-web-scraping-ohne-proxy-verwaltung-bright-data-web-unlocker"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.alekseialeinikov.com/en/blog/topics/programming/python-web-scraping-without-proxy-management-bright-data-web-unlocker"/>
    <image:image>
      <image:loc>https://www.alekseialeinikov.com/blog/1_w7Uj0jkEPVXGH8bKgUXHUg.webp</image:loc>
    </image:image>
    <lastmod>2026-07-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://www.alekseialeinikov.com/en/blog/topics/programming/why-i-moved-from-nestjs-to-fastify-and-ddd-in-2025</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.alekseialeinikov.com/en/blog/topics/programming/why-i-moved-from-nestjs-to-fastify-and-ddd-in-2025"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.alekseialeinikov.com/de/blog/topics/programming/warum-ich-2025-von-nestjs-zu-fastify-und-ddd-gewechselt-bin"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.alekseialeinikov.com/en/blog/topics/programming/why-i-moved-from-nestjs-to-fastify-and-ddd-in-2025"/>
    <image:image>
      <image:loc>https://www.alekseialeinikov.com/blog/1_ojXE7_N63DX3V7zC9Haj_g.webp</image:loc>
    </image:image>
    <lastmod>2026-07-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://www.alekseialeinikov.com/de/blog/topics/programming/warum-ich-2025-von-nestjs-zu-fastify-und-ddd-gewechselt-bin</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.alekseialeinikov.com/en/blog/topics/programming/why-i-moved-from-nestjs-to-fastify-and-ddd-in-2025"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.alekseialeinikov.com/de/blog/topics/programming/warum-ich-2025-von-nestjs-zu-fastify-und-ddd-gewechselt-bin"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.alekseialeinikov.com/en/blog/topics/programming/why-i-moved-from-nestjs-to-fastify-and-ddd-in-2025"/>
    <image:image>
      <image:loc>https://www.alekseialeinikov.com/blog/1_ojXE7_N63DX3V7zC9Haj_g.webp</image:loc>
    </image:image>
    <lastmod>2026-07-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://www.alekseialeinikov.com/en/blog/topics/programming/web-scraping-vs-web-crawling-2026</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.alekseialeinikov.com/en/blog/topics/programming/web-scraping-vs-web-crawling-2026"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.alekseialeinikov.com/de/blog/topics/programming/web-scraping-vs-web-crawling-der-unterschied-2026"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.alekseialeinikov.com/en/blog/topics/programming/web-scraping-vs-web-crawling-2026"/>
    <image:image>
      <image:loc>https://www.alekseialeinikov.com/blog/scraping-vs-crawling-2026.webp</image:loc>
    </image:image>
    <lastmod>2026-07-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://www.alekseialeinikov.com/de/blog/topics/programming/web-scraping-vs-web-crawling-der-unterschied-2026</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.alekseialeinikov.com/en/blog/topics/programming/web-scraping-vs-web-crawling-2026"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.alekseialeinikov.com/de/blog/topics/programming/web-scraping-vs-web-crawling-der-unterschied-2026"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.alekseialeinikov.com/en/blog/topics/programming/web-scraping-vs-web-crawling-2026"/>
    <image:image>
      <image:loc>https://www.alekseialeinikov.com/blog/scraping-vs-crawling-2026.webp</image:loc>
    </image:image>
    <lastmod>2026-07-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://www.alekseialeinikov.com/en/blog/topics/security/user-level-permission-controls-mcp-tool-access-gateway-2026</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.alekseialeinikov.com/en/blog/topics/security/user-level-permission-controls-mcp-tool-access-gateway-2026"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.alekseialeinikov.com/de/blog/topics/security/benutzerbezogene-zugriffskontrolle-mcp-tools-gateway-2026"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.alekseialeinikov.com/en/blog/topics/security/user-level-permission-controls-mcp-tool-access-gateway-2026"/>
    <image:image>
      <image:loc>https://www.alekseialeinikov.com/blog/mcp-permission-controls-2026.webp</image:loc>
    </image:image>
    <lastmod>2026-07-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://www.alekseialeinikov.com/de/blog/topics/security/benutzerbezogene-zugriffskontrolle-mcp-tools-gateway-2026</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.alekseialeinikov.com/en/blog/topics/security/user-level-permission-controls-mcp-tool-access-gateway-2026"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.alekseialeinikov.com/de/blog/topics/security/benutzerbezogene-zugriffskontrolle-mcp-tools-gateway-2026"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.alekseialeinikov.com/en/blog/topics/security/user-level-permission-controls-mcp-tool-access-gateway-2026"/>
    <image:image>
      <image:loc>https://www.alekseialeinikov.com/blog/mcp-permission-controls-2026.webp</image:loc>
    </image:image>
    <lastmod>2026-07-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://www.alekseialeinikov.com/en/blog/topics/security/build-your-own-cspm-gcp-security-command-center-vs-open-source-2026</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.alekseialeinikov.com/en/blog/topics/security/build-your-own-cspm-gcp-security-command-center-vs-open-source-2026"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.alekseialeinikov.com/de/blog/topics/security/eigenes-cspm-auf-gcp-security-command-center-vs-open-source-2026"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.alekseialeinikov.com/en/blog/topics/security/build-your-own-cspm-gcp-security-command-center-vs-open-source-2026"/>
    <image:image>
      <image:loc>https://www.alekseialeinikov.com/blog/cspm-gcp-cover-2026.webp</image:loc>
    </image:image>
    <lastmod>2026-07-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://www.alekseialeinikov.com/de/blog/topics/security/eigenes-cspm-auf-gcp-security-command-center-vs-open-source-2026</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.alekseialeinikov.com/en/blog/topics/security/build-your-own-cspm-gcp-security-command-center-vs-open-source-2026"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.alekseialeinikov.com/de/blog/topics/security/eigenes-cspm-auf-gcp-security-command-center-vs-open-source-2026"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.alekseialeinikov.com/en/blog/topics/security/build-your-own-cspm-gcp-security-command-center-vs-open-source-2026"/>
    <image:image>
      <image:loc>https://www.alekseialeinikov.com/blog/cspm-gcp-cover-2026.webp</image:loc>
    </image:image>
    <lastmod>2026-07-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://www.alekseialeinikov.com/en/blog/topics/security/first-24-hours-google-cloud-security-command-center-2026</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.alekseialeinikov.com/en/blog/topics/security/first-24-hours-google-cloud-security-command-center-2026"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.alekseialeinikov.com/de/blog/topics/security/erste-24-stunden-google-cloud-security-command-center-2026"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.alekseialeinikov.com/en/blog/topics/security/first-24-hours-google-cloud-security-command-center-2026"/>
    <image:image>
      <image:loc>https://www.alekseialeinikov.com/blog/scc-first-24-hours-2026.webp</image:loc>
    </image:image>
    <lastmod>2026-07-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://www.alekseialeinikov.com/de/blog/topics/security/erste-24-stunden-google-cloud-security-command-center-2026</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.alekseialeinikov.com/en/blog/topics/security/first-24-hours-google-cloud-security-command-center-2026"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.alekseialeinikov.com/de/blog/topics/security/erste-24-stunden-google-cloud-security-command-center-2026"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.alekseialeinikov.com/en/blog/topics/security/first-24-hours-google-cloud-security-command-center-2026"/>
    <image:image>
      <image:loc>https://www.alekseialeinikov.com/blog/scc-first-24-hours-2026.webp</image:loc>
    </image:image>
    <lastmod>2026-07-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://www.alekseialeinikov.com/en/blog/topics/security/stop-storing-jwts-in-localstorage-cookie-auth-for-spas-2026</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.alekseialeinikov.com/en/blog/topics/security/stop-storing-jwts-in-localstorage-cookie-auth-for-spas-2026"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.alekseialeinikov.com/de/blog/topics/security/jwt-nicht-in-localstorage-cookie-auth-fuer-spas-2026"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.alekseialeinikov.com/en/blog/topics/security/stop-storing-jwts-in-localstorage-cookie-auth-for-spas-2026"/>
    <image:image>
      <image:loc>https://www.alekseialeinikov.com/blog/1_ldHCmzpjsA_NbFP8XHPwbg.webp</image:loc>
    </image:image>
    <lastmod>2026-07-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://www.alekseialeinikov.com/de/blog/topics/security/jwt-nicht-in-localstorage-cookie-auth-fuer-spas-2026</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.alekseialeinikov.com/en/blog/topics/security/stop-storing-jwts-in-localstorage-cookie-auth-for-spas-2026"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.alekseialeinikov.com/de/blog/topics/security/jwt-nicht-in-localstorage-cookie-auth-fuer-spas-2026"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.alekseialeinikov.com/en/blog/topics/security/stop-storing-jwts-in-localstorage-cookie-auth-for-spas-2026"/>
    <image:image>
      <image:loc>https://www.alekseialeinikov.com/blog/1_ldHCmzpjsA_NbFP8XHPwbg.webp</image:loc>
    </image:image>
    <lastmod>2026-07-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://www.alekseialeinikov.com/en/blog/topics/security/kill-service-account-keys-workload-identity-federation-2026</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.alekseialeinikov.com/en/blog/topics/security/kill-service-account-keys-workload-identity-federation-2026"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.alekseialeinikov.com/de/blog/topics/security/service-account-schluessel-abschaffen-workload-identity-federation-2026"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.alekseialeinikov.com/en/blog/topics/security/kill-service-account-keys-workload-identity-federation-2026"/>
    <image:image>
      <image:loc>https://www.alekseialeinikov.com/blog/workload-identity-federation-2026.webp</image:loc>
    </image:image>
    <lastmod>2026-07-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://www.alekseialeinikov.com/de/blog/topics/security/service-account-schluessel-abschaffen-workload-identity-federation-2026</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.alekseialeinikov.com/en/blog/topics/security/kill-service-account-keys-workload-identity-federation-2026"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.alekseialeinikov.com/de/blog/topics/security/service-account-schluessel-abschaffen-workload-identity-federation-2026"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.alekseialeinikov.com/en/blog/topics/security/kill-service-account-keys-workload-identity-federation-2026"/>
    <image:image>
      <image:loc>https://www.alekseialeinikov.com/blog/workload-identity-federation-2026.webp</image:loc>
    </image:image>
    <lastmod>2026-07-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <!-- BLOG_ROUTES_END -->

  <!-- TOPIC_ROUTES_START -->
  <url>
    <loc>https://www.alekseialeinikov.com/en/blog/topics</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.alekseialeinikov.com/en/blog/topics"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.alekseialeinikov.com/de/blog/topics"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.alekseialeinikov.com/en/blog/topics"/>
    <lastmod>2026-07-08</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.alekseialeinikov.com/de/blog/topics</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.alekseialeinikov.com/en/blog/topics"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.alekseialeinikov.com/de/blog/topics"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.alekseialeinikov.com/en/blog/topics"/>
    <lastmod>2026-07-08</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.alekseialeinikov.com/en/blog/topics/programming</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.alekseialeinikov.com/en/blog/topics/programming"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.alekseialeinikov.com/de/blog/topics/programming"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.alekseialeinikov.com/en/blog/topics/programming"/>
    <lastmod>2026-07-08</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.alekseialeinikov.com/de/blog/topics/programming</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.alekseialeinikov.com/en/blog/topics/programming"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.alekseialeinikov.com/de/blog/topics/programming"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.alekseialeinikov.com/en/blog/topics/programming"/>
    <lastmod>2026-07-08</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.alekseialeinikov.com/en/blog/topics/cloud</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.alekseialeinikov.com/en/blog/topics/cloud"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.alekseialeinikov.com/de/blog/topics/cloud"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.alekseialeinikov.com/en/blog/topics/cloud"/>
    <lastmod>2026-07-08</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.alekseialeinikov.com/de/blog/topics/cloud</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.alekseialeinikov.com/en/blog/topics/cloud"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.alekseialeinikov.com/de/blog/topics/cloud"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.alekseialeinikov.com/en/blog/topics/cloud"/>
    <lastmod>2026-07-08</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.alekseialeinikov.com/en/blog/topics/devops</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.alekseialeinikov.com/en/blog/topics/devops"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.alekseialeinikov.com/de/blog/topics/devops"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.alekseialeinikov.com/en/blog/topics/devops"/>
    <lastmod>2026-07-08</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.alekseialeinikov.com/de/blog/topics/devops</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.alekseialeinikov.com/en/blog/topics/devops"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.alekseialeinikov.com/de/blog/topics/devops"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.alekseialeinikov.com/en/blog/topics/devops"/>
    <lastmod>2026-07-08</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.alekseialeinikov.com/en/blog/topics/data</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.alekseialeinikov.com/en/blog/topics/data"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.alekseialeinikov.com/de/blog/topics/data"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.alekseialeinikov.com/en/blog/topics/data"/>
    <lastmod>2026-07-08</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.alekseialeinikov.com/de/blog/topics/data</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.alekseialeinikov.com/en/blog/topics/data"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.alekseialeinikov.com/de/blog/topics/data"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.alekseialeinikov.com/en/blog/topics/data"/>
    <lastmod>2026-07-08</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.alekseialeinikov.com/en/blog/topics/ai</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.alekseialeinikov.com/en/blog/topics/ai"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.alekseialeinikov.com/de/blog/topics/ai"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.alekseialeinikov.com/en/blog/topics/ai"/>
    <lastmod>2026-07-08</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.alekseialeinikov.com/de/blog/topics/ai</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.alekseialeinikov.com/en/blog/topics/ai"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.alekseialeinikov.com/de/blog/topics/ai"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.alekseialeinikov.com/en/blog/topics/ai"/>
    <lastmod>2026-07-08</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.alekseialeinikov.com/en/blog/topics/security</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.alekseialeinikov.com/en/blog/topics/security"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.alekseialeinikov.com/de/blog/topics/security"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.alekseialeinikov.com/en/blog/topics/security"/>
    <lastmod>2026-07-08</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.alekseialeinikov.com/de/blog/topics/security</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.alekseialeinikov.com/en/blog/topics/security"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.alekseialeinikov.com/de/blog/topics/security"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.alekseialeinikov.com/en/blog/topics/security"/>
    <lastmod>2026-07-08</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.alekseialeinikov.com/en/blog/topics/architecture</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.alekseialeinikov.com/en/blog/topics/architecture"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.alekseialeinikov.com/de/blog/topics/architecture"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.alekseialeinikov.com/en/blog/topics/architecture"/>
    <lastmod>2026-07-08</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.alekseialeinikov.com/de/blog/topics/architecture</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.alekseialeinikov.com/en/blog/topics/architecture"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.alekseialeinikov.com/de/blog/topics/architecture"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.alekseialeinikov.com/en/blog/topics/architecture"/>
    <lastmod>2026-07-08</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.alekseialeinikov.com/en/blog/topics/career</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.alekseialeinikov.com/en/blog/topics/career"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.alekseialeinikov.com/de/blog/topics/career"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.alekseialeinikov.com/en/blog/topics/career"/>
    <lastmod>2026-07-08</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.alekseialeinikov.com/de/blog/topics/career</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.alekseialeinikov.com/en/blog/topics/career"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.alekseialeinikov.com/de/blog/topics/career"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.alekseialeinikov.com/en/blog/topics/career"/>
    <lastmod>2026-07-08</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <!-- TOPIC_ROUTES_END -->
</urlset>
