<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Denys Zaruin</title>
    <description>The latest articles on DEV Community by Denys Zaruin (@moveinfra-eu).</description>
    <link>https://dev.to/moveinfra-eu</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4214821%2F878fb0ed-6f24-4e67-b55e-7a869abc64b1.png</url>
      <title>DEV Community: Denys Zaruin</title>
      <link>https://dev.to/moveinfra-eu</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/moveinfra-eu"/>
    <language>en</language>
    <item>
      <title>Migrating from AWS to UpCloud: what moves, what changes, what it costs</title>
      <dc:creator>Denys Zaruin</dc:creator>
      <pubDate>Thu, 29 Oct 2026 18:49:06 +0000</pubDate>
      <link>https://dev.to/moveinfra-eu/migrating-from-aws-to-upcloud-what-moves-what-changes-what-it-costs-46c9</link>
      <guid>https://dev.to/moveinfra-eu/migrating-from-aws-to-upcloud-what-moves-what-changes-what-it-costs-46c9</guid>
      <description>&lt;p&gt;&lt;em&gt;Originally published on &lt;a href="https://moveinfra.eu/blog/aws-to-upcloud-migration-guide/?utm_source=devto&amp;amp;utm_medium=syndication" rel="noopener noreferrer"&gt;moveinfra.eu&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Migrating from AWS to UpCloud is straightforward for companies running standard web architectures built on virtual machines, Kubernetes, relational databases, and S3-compatible object storage. Most core compute, storage, and networking resources map directly between the two platforms, while proprietary AWS services like DynamoDB, SQS, or Lambda require replacing with open-source equivalents or container workloads. Companies making this move typically reduce their monthly cloud spend by eliminating outbound data transfer fees, avoiding Kubernetes control plane charges, and switching to predictable, bundled server pricing.&lt;/p&gt;

&lt;h2&gt;
  
  
  Key takeaways
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Direct infrastructure mapping:&lt;/strong&gt; EC2, RDS (PostgreSQL and MySQL), ElastiCache, S3, EKS, and Application Load Balancers all have direct managed equivalents on UpCloud.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;True European jurisdiction:&lt;/strong&gt; UpCloud is headquartered in Helsinki, Finland, operating under EU and Finnish law rather than US extraterritorial jurisdiction.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Predictable cost structure:&lt;/strong&gt; UpCloud includes storage and outbound data transfer (under a Fair Transfer Policy) in its server plans, removing two of the most unpredictable items on an AWS bill.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Proprietary services need adjustment:&lt;/strong&gt; Workloads relying heavily on AWS Lambda, SQS, or DynamoDB must be refactored to run on containers, self-managed queues, or standard databases before or during the move.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Egress fees for switching are regulated:&lt;/strong&gt; Under the EU Data Act, cloud providers can charge no more than their actual cost for switching egress until January 12, 2027, when switching charges are banned altogether.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Why European companies move from AWS to UpCloud
&lt;/h2&gt;

&lt;p&gt;For most 10-to-300-person European companies, AWS offers far more services than the engineering team actually uses. You pay a premium—both in monthly invoices and in cognitive load—for a catalog of over 200 services when your application only needs compute, a relational database, a Redis-compatible cache, and object storage.&lt;/p&gt;

&lt;p&gt;Three practical reasons usually trigger a move to UpCloud:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Cost predictability:&lt;/strong&gt; AWS bills are composite. A single virtual machine involves separate charges for the EC2 instance, the EBS root volume, provisioned IOPS, public IPv4 addresses, NAT Gateway hourly fees,NAT Gateway data processing fees, and outbound internet traffic. UpCloud bundles CPU, memory, high-speed MaxIOPS block storage, and outbound data transfer into a single flat rate.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Data sovereignty and compliance:&lt;/strong&gt; UpCloud Ltd is a Finnish company. While AWS offers EU regions and an AWS European Sovereign Cloud that keeps data and operations inside the EU, Amazon remains a US parent corporation subject to the US CLOUD Act. For teams bound by strict customer contracts or regulations like DORA (Regulation (EU) 2022/2554), moving to an EU-owned provider simplifies compliance and risk assessments.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Right-sized operational complexity:&lt;/strong&gt; Managing AWS IAM policies, VPC route tables, and multi-layered security rules takes dedicated specialist time. UpCloud provides a cleaner API, native Terraform and OpenTofu providers, and straightforward private networking without losing production essentials.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Service mapping: what moves directly
&lt;/h2&gt;

&lt;p&gt;If your stack is built on open standards or Linux primitives, migrating from AWS to UpCloud is mostly an infrastructure-as-code translation exercise.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;AWS Service&lt;/th&gt;
&lt;th&gt;UpCloud Equivalent&lt;/th&gt;
&lt;th&gt;Migration Notes&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;EC2&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Cloud Servers (Starter, Premium, Cloud Native)&lt;/td&gt;
&lt;td&gt;Rebuild via Terraform or Ansible; deploy existing Docker images or binaries.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;EBS (gp3 / io2)&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;MaxIOPS Block Storage&lt;/td&gt;
&lt;td&gt;Included in server plans or attached as extra volumes; no separate IOPS provisioning needed.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;RDS (PostgreSQL, MySQL)&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Managed Databases (PostgreSQL, MySQL)&lt;/td&gt;
&lt;td&gt;Migrate using native logical replication (&lt;code&gt;pglogical&lt;/code&gt; or MySQL binlog) for minimal cutover pause.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;ElastiCache (Redis / Valkey)&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Managed Valkey&lt;/td&gt;
&lt;td&gt;Valkey is the open-source, drop-in successor to Redis. Standard Redis clients connect without code changes.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;S3&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Managed Object Storage&lt;/td&gt;
&lt;td&gt;S3-compatible API. Update endpoint URLs and credentials in your application config; sync data via &lt;code&gt;rclone&lt;/code&gt; or AWS CLI.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;EKS&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;UpCloud Kubernetes Service (UKS)&lt;/td&gt;
&lt;td&gt;CNCF-certified Kubernetes. Manifests and Helm charts move directly; update storage classes and ingress annotations.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;ALB / NLB&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Managed Load Balancer&lt;/td&gt;
&lt;td&gt;Supports HTTP/HTTPS and TCP balancing, TLS termination, and health checks.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;VPC, Subnets, NAT Gateway&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;SDN Private Networks &amp;amp; NAT Gateway&lt;/td&gt;
&lt;td&gt;Private Layer 2/3 networks between servers, databases, and Kubernetes clusters.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;EFS&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;File Storage (NFS)&lt;/td&gt;
&lt;td&gt;Shared network storage across multiple Cloud Servers.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;OpenSearch Service&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Managed OpenSearch&lt;/td&gt;
&lt;td&gt;Direct managed equivalent for search and log analytics.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h3&gt;
  
  
  Compute and Block Storage
&lt;/h3&gt;

&lt;p&gt;On AWS, you choose between dozens of instance families (t3, m6i, c7g) and configure EBS volumes separately. As of 2026, UpCloud organizes its general compute primarily around &lt;strong&gt;Starter&lt;/strong&gt; plans (aimed at development, testing, and lighter workloads), &lt;strong&gt;Premium&lt;/strong&gt; plans (built on AMD EPYC hardware with bundled MaxIOPS storage for production), and &lt;strong&gt;Cloud Native&lt;/strong&gt; plans (designed for Kubernetes and container nodes where you size storage separately). UpCloud also offers dedicated GPU servers for machine learning workloads.&lt;/p&gt;

&lt;h3&gt;
  
  
  Managed Databases and Caches
&lt;/h3&gt;

&lt;p&gt;AWS RDS for PostgreSQL and MySQL map directly to UpCloud Managed Databases. UpCloud handles automated backups, point-in-time recovery, minor version upgrades, and high-availability failover. For caching, AWS ElastiCache users move to UpCloud Managed Valkey. Because Valkey maintains wire-protocol compatibility with Redis, your application libraries (&lt;code&gt;ioredis&lt;/code&gt;, &lt;code&gt;redis-py&lt;/code&gt;, &lt;code&gt;go-redis&lt;/code&gt;) work by simply changing the connection string.&lt;/p&gt;

&lt;h3&gt;
  
  
  Kubernetes (EKS to UKS)
&lt;/h3&gt;

&lt;p&gt;Migrating from Amazon EKS to UpCloud Kubernetes Service (UKS) often removes significant glue code. EKS relies heavily on AWS-specific IAM Roles for Service Accounts (IRSA), the AWS Load Balancer Controller, and the EBS CSI driver. On UKS, the UpCloud Container Storage Interface (CSI) and Cloud Controller Manager are pre-configured, so creating a standard Kubernetes &lt;code&gt;PersistentVolumeClaim&lt;/code&gt; or a &lt;code&gt;Service&lt;/code&gt; of type &lt;code&gt;LoadBalancer&lt;/code&gt; automatically provisions UpCloud block storage or a Managed Load Balancer.&lt;/p&gt;

&lt;h2&gt;
  
  
  What changes in your architecture
&lt;/h2&gt;

&lt;p&gt;Not every part of an AWS account has a 1-to-1 button on UpCloud. When planning your migration, expect to adjust the following areas.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Identity and Access Management (IAM)
&lt;/h3&gt;

&lt;p&gt;AWS uses IAM not just for human users, but as a service-to-service authentication fabric (for example, allowing an EC2 instance role to write to an S3 bucket without static keys). UpCloud supports sub-accounts, workspace permissions, API tokens, and S3 user access policies, but it does not replicate AWS's cross-service IAM role assumption. &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;What to change:&lt;/strong&gt; Use S3 access keys stored in secret managers or Kubernetes Secrets for Object Storage access, and rely on private SDN networks and firewall rules to restrict database and cache traffic to authorized compute nodes.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  2. Queues, Emails, and Serverless Functions
&lt;/h3&gt;

&lt;p&gt;UpCloud focuses on core infrastructure (IaaS) and essential managed platforms (PaaS) rather than application-layer microservices. It does not offer native equivalents to AWS SQS, SNS, SES, or Lambda.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Serverless functions (Lambda):&lt;/strong&gt; Most teams package their Node.js, Python, or Go functions as lightweight HTTP containers and deploy them onto their UKS cluster or a small Cloud Server, triggering them via standard cron jobs or webhooks.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Message queues (SQS/SNS):&lt;/strong&gt; If you use queues for background jobs, you can move the queue workload onto your UpCloud Managed Valkey instance (using BullMQ, Sidekiq, or Celery) or run RabbitMQ / NATS on your Kubernetes cluster.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Transactional email (SES):&lt;/strong&gt; Point your application to a dedicated European email provider (such as Scaleway Transactional Email or Mailjet) via standard SMTP or REST API.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  3. Proprietary Databases and Warehouses
&lt;/h3&gt;

&lt;p&gt;Workloads tied to Amazon DynamoDB, Aurora Serverless features, or Amazon Redshift cannot be lifted and shifted without code changes. If DynamoDB is used simply as a key-value store or session cache, it can often be replaced with PostgreSQL (using &lt;code&gt;JSONB&lt;/code&gt; columns) or Valkey. If your entire application data model is built around single-table DynamoDB designs, you will need a dedicated refactoring project before moving.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. DNS and CDN
&lt;/h3&gt;

&lt;p&gt;UpCloud does not operate an authoritative DNS service equivalent to Route 53, though it is rolling out its own Content Delivery Network. Most engineering teams keep DNS on an independent provider (like Cloudflare or DNSimple) or another European provider. Keeping DNS independent of your compute provider is good operational practice anyway, as it makes traffic switching and multi-cloud rollbacks much easier.&lt;/p&gt;

&lt;h2&gt;
  
  
  What it costs: AWS vs. UpCloud in 2026
&lt;/h2&gt;

&lt;p&gt;Cloud pricing changes frequently, so you should always verify current numbers on the official AWS and UpCloud pricing pages. However, comparing the pricing structures as of 2026 highlights why bills look so different on the two platforms.&lt;/p&gt;

&lt;h3&gt;
  
  
  Compute and Storage Pricing
&lt;/h3&gt;

&lt;p&gt;On AWS (eu-central-1, Frankfurt), a standard production general-purpose instance like an &lt;code&gt;m6i.xlarge&lt;/code&gt; (4 vCPUs, 16 GB RAM) costs approximately $180 to $190 per month on-demand, before adding EBS storage (roughly $0.09/GB-month for &lt;code&gt;gp3&lt;/code&gt;) and public IPv4 fees (approximately $3.65/month per IP).&lt;/p&gt;

&lt;p&gt;On UpCloud, as of 2026, compute is priced in flat tiers with storage included:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Starter plans&lt;/strong&gt; (for dev/test and lighter workloads) start at approximately €3/month (1 vCPU, 1 GB RAM, 10 GB storage) and run up to €28/month for 4 vCPUs, 16 GB RAM, and 50 GB storage.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Premium plans&lt;/strong&gt; (AMD EPYC production hardware with MaxIOPS storage) start at approximately €5/month. A production server with 4 CPU cores, 8 GB RAM, and 100 GB of MaxIOPS storage costs approximately €52/month, while 4 CPU cores, 16 GB RAM, and 150 GB of storage is approximately €92/month (excluding VAT).&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  The Hidden Multipliers: Egress and Control Planes
&lt;/h3&gt;

&lt;p&gt;Where European companies usually see the biggest savings is not raw CPU cost, but the elimination of AWS overhead fees:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Data egress (outbound traffic):&lt;/strong&gt; AWS charges roughly $0.09 per GB for data transferred out to the internet after the first 100 GB, plus cross-AZ transfer fees ($0.01/GB in each direction) when instances talk to databases or load balancers in different Availability Zones. UpCloud includes zero-cost egress across its plans under a generous Fair Transfer Policy, and private SDN traffic between your servers within a data center is free.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Kubernetes control plane:&lt;/strong&gt; AWS charges $0.10 per hour (approximately $73/month) per EKS cluster just for the control plane—if you run separate dev, staging, and production clusters, that is over $215/month before booting a single worker node. UpCloud includes the UKS control plane at no additional cost as part of its "UpCloud Essentials" offering; you only pay for the worker nodes, load balancers, and storage you attach.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;One-time migration egress fees:&lt;/strong&gt; Historically, AWS charged steep data transfer fees when copying terabytes of S3 data and database snapshots out to another provider. Under Article 29 of the &lt;strong&gt;EU Data Act (Regulation (EU) 2023/2854)&lt;/strong&gt;, cloud providers may charge no more than their actual incurred cost for data egress when a customer is switching providers until January 12, 2027. Starting January 12, 2027, switching charges—including data egress fees for switching—are completely banned across the EU.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Pre-migration checklist: how to execute the move
&lt;/h2&gt;

&lt;p&gt;A disciplined migration avoids "big bang" rewrites. Build the new environment alongside the old one, synchronize the data, and switch traffic only when both environments match.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Audit your AWS bill and state:&lt;/strong&gt; Export your last three AWS bills and your Terraform state. Flag any proprietary services (SQS, Lambda, SES) and decide how you will replace them before touching production.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Choose your UpCloud region:&lt;/strong&gt; Select a European data center close to your users—such as Frankfurt (&lt;code&gt;de-fra1&lt;/code&gt;), Amsterdam (&lt;code&gt;nl-ams1&lt;/code&gt;), Helsinki (&lt;code&gt;fi-hel1&lt;/code&gt; / &lt;code&gt;fi-hel2&lt;/code&gt;), Madrid (&lt;code&gt;es-mad1&lt;/code&gt;), Warsaw (&lt;code&gt;pl-waw1&lt;/code&gt;), Stockholm (&lt;code&gt;se-sto1&lt;/code&gt;), Copenhagen, or Oslo.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Rebuild infrastructure as code:&lt;/strong&gt; Write new Terraform or OpenTofu configurations using the official &lt;code&gt;UpCloudLtd/upcloud&lt;/code&gt; provider to provision SDN private networks, firewall rules, UKS clusters or Cloud Servers, and Managed Databases.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Update CI/CD pipelines:&lt;/strong&gt; Duplicate your GitHub Actions or GitLab CI deployment jobs so your team can deploy the exact same application build to both AWS and UpCloud simultaneously.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Sync Object Storage:&lt;/strong&gt; Use &lt;code&gt;rclone&lt;/code&gt; or S3 migration tooling to copy objects from AWS S3 to UpCloud Managed Object Storage. Run periodic delta syncs with checksum verification to capture newly uploaded files.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Set up live database replication:&lt;/strong&gt; Configure logical replication from AWS RDS to UpCloud Managed Databases. This allows your UpCloud database to stay within seconds of your live AWS production database without taking your app offline.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Lower DNS TTLs:&lt;/strong&gt; At least 48 hours before cutover, reduce the Time-To-Live (TTL) on your DNS records to 60 seconds.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cut over with a short write pause:&lt;/strong&gt; During a low-traffic window, put the AWS application into maintenance (read-only) mode, verify that database replication lag is zero, run a final object storage delta sync, promote the UpCloud database to primary, and update your DNS records to point to your UpCloud Load Balancer.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Keep a rollback window:&lt;/strong&gt; Do not delete your AWS environment on day one. Keep reverse replication or snapshots running for two to four weeks until your team is confident in the new setup, then decommission the AWS resources.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Frequently asked questions
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Does UpCloud support multi-AZ deployments like AWS?
&lt;/h3&gt;

&lt;p&gt;UpCloud approaches availability differently than AWS. Instead of splitting every city into three separate Availability Zones and charging for cross-AZ traffic, UpCloud builds high redundancy directly into each data center (including triple-replicated MaxIOPS storage over InfiniBand and redundant networking) backed by a 99.99% uptime SLA. For Managed Databases and Managed Load Balancers, you can select multi-node High Availability plans that automatically handle node failures. For disaster recovery across physical locations, you can replicate across UpCloud's multiple European data centers.&lt;/p&gt;

&lt;h3&gt;
  
  
  Do we need to rewrite our applications to move from S3 to UpCloud Object Storage?
&lt;/h3&gt;

&lt;p&gt;No. UpCloud Managed Object Storage is S3-compatible. You keep using the official AWS SDKs (&lt;code&gt;@aws-sdk/client-s3&lt;/code&gt;, &lt;code&gt;boto3&lt;/code&gt;, etc.) in your application code. You only need to change the &lt;code&gt;endpoint&lt;/code&gt; configuration parameter to point to your UpCloud Object Storage URL and update your access key and secret key.&lt;/p&gt;

&lt;h3&gt;
  
  
  How long does a typical AWS to UpCloud migration take?
&lt;/h3&gt;

&lt;p&gt;For a company with 10 to 300 employees running a standard web stack (VMs or Kubernetes, PostgreSQL/MySQL, Redis, and S3), the end-to-end process typically takes between two and four weeks. Most of that calendar time is spent testing the staging environment, updating CI/CD pipelines, and letting large initial data transfers complete in the background. The actual production cutover pause usually takes between 5 and 30 minutes.&lt;/p&gt;

&lt;h3&gt;
  
  
  What happens to our AWS Reserved Instances or Savings Plans?
&lt;/h3&gt;

&lt;p&gt;If you have active 1-year or 3-year AWS Savings Plans or Reserved Instances, you remain financially committed to those hourly payments until the term expires (though some standard EC2 Reserved Instances can be listed on the AWS RI Marketplace). Before migrating, check the expiration dates in AWS Cost Explorer. Even with an active commitment, some companies move part of their workload early to eliminate high AWS NAT Gateway and data egress charges.&lt;/p&gt;

&lt;h2&gt;
  
  
  Sources
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://upcloud.com/pricing/" rel="noopener noreferrer"&gt;UpCloud Pricing and Server Plans&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://upcloud.com/docs/" rel="noopener noreferrer"&gt;UpCloud Documentation: Managed Databases, Kubernetes, and Object Storage&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://eur-lex.europa.eu/eli/reg/2023/2854/oj" rel="noopener noreferrer"&gt;Regulation (EU) 2023/2854 (EU Data Act) on EUR-Lex&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://eur-lex.europa.eu/eli/reg/2022/2554/oj" rel="noopener noreferrer"&gt;Regulation (EU) 2022/2554 (Digital Operational Resilience Act - DORA) on EUR-Lex&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://aws.amazon.com/ec2/pricing/on-demand/" rel="noopener noreferrer"&gt;Amazon EC2 On-Demand Pricing&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;em&gt;Drafted with AI assistance and fact-checked by the MoveInfra team. The original, kept up to date, is at &lt;a href="https://moveinfra.eu/blog/aws-to-upcloud-migration-guide/?utm_source=devto&amp;amp;utm_medium=syndication" rel="noopener noreferrer"&gt;moveinfra.eu&lt;/a&gt;. Free tools for pricing a move to an EU cloud: &lt;a href="https://moveinfra.eu/tools/?utm_source=devto&amp;amp;utm_medium=syndication" rel="noopener noreferrer"&gt;moveinfra.eu/tools&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>cloud</category>
      <category>aws</category>
      <category>upcloud</category>
      <category>cloudmigration</category>
    </item>
    <item>
      <title>AWS European Sovereign Cloud vs EU-Owned Providers Compared</title>
      <dc:creator>Denys Zaruin</dc:creator>
      <pubDate>Thu, 29 Oct 2026 09:24:24 +0000</pubDate>
      <link>https://dev.to/moveinfra-eu/aws-european-sovereign-cloud-vs-eu-owned-providers-compared-hig</link>
      <guid>https://dev.to/moveinfra-eu/aws-european-sovereign-cloud-vs-eu-owned-providers-compared-hig</guid>
      <description>&lt;p&gt;&lt;em&gt;Originally published on &lt;a href="https://moveinfra.eu/blog/aws-european-sovereign-cloud-vs-eu-providers/?utm_source=devto&amp;amp;utm_medium=syndication" rel="noopener noreferrer"&gt;moveinfra.eu&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;The AWS European Sovereign Cloud, which reached general availability in January 2026 in Brandenburg, Germany, offers physical and logical separation from standard AWS regions and is operated exclusively by EU residents. However, it remains a wholly owned subsidiary of Amazon.com, Inc., a US corporation. For European companies evaluating cloud sovereignty, the core choice comes down to risk tolerance and technical requirements: the AWS European Sovereign Cloud provides strict operational and metadata residency in the EU while preserving access to proprietary AWS services, whereas EU-owned providers (such as UpCloud, Scaleway, OVHcloud, Hetzner, and STACKIT) provide complete legal independence from US extraterritorial laws alongside lower, more predictable infrastructure pricing.&lt;/p&gt;

&lt;h2&gt;
  
  
  Key takeaways
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Data and operational residency vs. legal sovereignty:&lt;/strong&gt; The AWS European Sovereign Cloud keeps customer data, metadata, billing, and operations inside the EU under EU-resident staff. EU-owned providers offer this same operational residency, plus ultimate corporate ownership domiciled inside Europe.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Moving to the AWS Sovereign Cloud is still a migration:&lt;/strong&gt; Because the AWS European Sovereign Cloud is logically isolated with its own identity, billing, and account systems, moving there from &lt;code&gt;eu-central-1&lt;/code&gt; (Frankfurt) or &lt;code&gt;eu-west-1&lt;/code&gt; (Ireland) requires creating new accounts and migrating data and workloads.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Service breadth vs. standard primitives:&lt;/strong&gt; AWS offers a much larger catalog of proprietary managed services than any European provider. However, most 10-to-300-person companies rely primarily on standard primitives—virtual machines, Kubernetes, managed PostgreSQL or MySQL, Redis, and S3-compatible object storage—which EU-owned clouds support natively.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cost and egress dynamics:&lt;/strong&gt; Under Article 29 of the EU Data Act, cloud switching charges (including data egress fees for moving to another provider) are capped at actual cost until 12 January 2027 and banned entirely from 12 January 2027.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What is the AWS European Sovereign Cloud?
&lt;/h2&gt;

&lt;p&gt;In January 2026, Amazon Web Services launched the AWS European Sovereign Cloud with its initial region located in Brandenburg, Germany. AWS built this environment specifically for European public sector bodies and regulated businesses that face strict compliance requirements around data residency and operational autonomy.&lt;/p&gt;

&lt;p&gt;In standard AWS European regions—such as Frankfurt (&lt;code&gt;eu-central-1&lt;/code&gt;), Ireland (&lt;code&gt;eu-west-1&lt;/code&gt;), or Stockholm (&lt;code&gt;eu-north-1&lt;/code&gt;)—customer content stays in the selected region by default. However, account management, billing systems, global IAM planes, and certain operational metadata are connected to AWS's global infrastructure, and support or maintenance may involve non-EU personnel.&lt;/p&gt;

&lt;p&gt;The AWS European Sovereign Cloud changes this architecture in several ways:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Physical and logical separation:&lt;/strong&gt; The infrastructure is separate from existing AWS regions, with no critical dependencies on non-EU infrastructure. It even maintains a local, in-EU copy of the source code required to run the cloud.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Metadata residency:&lt;/strong&gt; Not only customer application data, but also customer-created metadata (such as resource tags, IAM role names, and configuration details) and billing records remain inside the EU.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;EU-resident personnel:&lt;/strong&gt; Day-to-day operations, data center access, and technical support are restricted exclusively to AWS employees who are EU residents located within the European Union.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Corporate governance:&lt;/strong&gt; The cloud operates under dedicated European legal entities managed by EU nationals, supported by an independent advisory board. In early 2026, it achieved its initial C5 (BSI Cloud Computing Compliance Criteria Catalogue) and SOC 2 reports alongside ISO certifications.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For organizations that are deeply tied to AWS-specific APIs and need verified assurance that operational metadata and support tickets never leave European borders, this architecture is a major upgrade over standard AWS regions.&lt;/p&gt;

&lt;h2&gt;
  
  
  How EU-owned cloud providers differ
&lt;/h2&gt;

&lt;p&gt;While AWS has engineered strong technical and operational boundaries in Brandenburg, EU-owned cloud providers start from a fundamentally different legal foundation. Providers such as UpCloud (Finland), Scaleway (France), OVHcloud (France), Hetzner (Germany), STACKIT (Germany), IONOS (Germany), and Exoscale (Switzerland/Austria) are headquartered in Europe and owned by European parent companies.&lt;/p&gt;

&lt;p&gt;When comparing these two models, compliance teams, CTOs, and CFOs usually divide sovereignty into three distinct layers:&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Data and metadata residency
&lt;/h3&gt;

&lt;p&gt;Both the AWS European Sovereign Cloud and EU-owned cloud providers keep your databases, object storage buckets, backups, and operational metadata inside European borders. On this layer, both options satisfy strict geographic localization requirements.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Operational sovereignty
&lt;/h3&gt;

&lt;p&gt;Operational sovereignty measures who controls the keyboards and whether the cloud can keep running if cut off from the rest of the world. AWS addresses this in its Sovereign Cloud by staffing exclusively with EU residents and running periodic exercises to demonstrate that the region can operate independently of the global AWS network backbone. EU-owned providers achieve this natively, as their core engineering, executive leadership, and network operations centers are already based in Europe.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Legal and corporate sovereignty
&lt;/h3&gt;

&lt;p&gt;This is where the two paths diverge. However autonomous a local European subsidiary may be in its daily operations, the AWS European Sovereign Cloud ultimately belongs to Amazon.com, Inc., a US company. &lt;/p&gt;

&lt;p&gt;Under the US Clarifying Lawful Overseas Use of Data (CLOUD) Act of 2018, US law enforcement authorities can compel US-based technology companies to provide data stored on servers regardless of whether that data is located in the United States or a foreign country, provided the parent company exercises "possession, custody, or control" over the subsidiary. &lt;/p&gt;

&lt;p&gt;AWS states that it uses strong technical, operational, and legal measures to challenge unlawful or conflicting law enforcement requests, and notes that customer encryption keys can be managed separately. For many commercial companies, those safeguards are sufficient. However, for European businesses whose clients, regulators, or public-sector tenders explicitly require immunity from non-EU extraterritorial laws, only a provider whose ultimate parent company is domiciled in the EU or EEA completely removes US jurisdiction from the legal chain.&lt;/p&gt;

&lt;h2&gt;
  
  
  Side-by-side comparison
&lt;/h2&gt;

&lt;p&gt;The table below outlines the practical differences between standard AWS EU regions, the AWS European Sovereign Cloud, and EU-owned cloud providers.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Feature / Criterion&lt;/th&gt;
&lt;th&gt;Standard AWS EU Regions (e.g., Frankfurt)&lt;/th&gt;
&lt;th&gt;AWS European Sovereign Cloud (Brandenburg)&lt;/th&gt;
&lt;th&gt;EU-Owned Cloud Providers (UpCloud, Scaleway, OVHcloud, etc.)&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Ultimate parent company&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Amazon.com, Inc. (US)&lt;/td&gt;
&lt;td&gt;Amazon.com, Inc. (US)&lt;/td&gt;
&lt;td&gt;European corporate parent (EU / EEA / CH)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Application data location&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;EU (customer selectable)&lt;/td&gt;
&lt;td&gt;EU only (Germany, plus select EU Local Zones)&lt;/td&gt;
&lt;td&gt;EU / EEA data centers&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Account metadata &amp;amp; billing&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Global AWS control plane&lt;/td&gt;
&lt;td&gt;Strictly within the EU&lt;/td&gt;
&lt;td&gt;Strictly within Europe&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Operations &amp;amp; support staff&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Global follow-the-sun staff&lt;/td&gt;
&lt;td&gt;EU residents located in the EU only&lt;/td&gt;
&lt;td&gt;Primarily EU-based staff&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Exposure to US CLOUD Act&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;Legal debate remains due to US parent ownership&lt;/td&gt;
&lt;td&gt;None (for providers without US operations/nexus)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Service catalog depth&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;200+ services (full AWS catalog)&lt;/td&gt;
&lt;td&gt;Comprehensive, though slightly smaller than standard regions&lt;/td&gt;
&lt;td&gt;Focused on core IaaS, PaaS, Kubernetes, and managed databases&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Migration required from AWS Frankfurt/Ireland?&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;N/A&lt;/td&gt;
&lt;td&gt;Yes (separate accounts, IAM, and network plane)&lt;/td&gt;
&lt;td&gt;Yes (rebuild infrastructure and replicate data)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Pricing structure&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Complex; high bandwidth and managed service markups&lt;/td&gt;
&lt;td&gt;Dedicated sovereign pricing; complex metering&lt;/td&gt;
&lt;td&gt;Transparent, flat or bundled bandwidth, lower compute/storage rates&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  The hidden catch: moving to the AWS Sovereign Cloud is still a migration
&lt;/h2&gt;

&lt;p&gt;A common misconception among executives is that switching from AWS Frankfurt (&lt;code&gt;eu-central-1&lt;/code&gt;) to the AWS European Sovereign Cloud is a simple configuration toggle in the AWS Console. &lt;/p&gt;

&lt;p&gt;Because the Sovereign Cloud is physically and logically isolated from standard AWS partitions, it does not share a global IAM plane, Organization structure, billing account, or private VPC peering backbone with standard AWS regions. &lt;/p&gt;

&lt;p&gt;To move an existing workload from a standard AWS region into the AWS European Sovereign Cloud, your engineering team must:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Establish a separate sovereign account and billing agreement.&lt;/li&gt;
&lt;li&gt;Provision new networks, security groups, IAM policies, and compute resources inside the sovereign partition.&lt;/li&gt;
&lt;li&gt;Replicate databases and copy S3 buckets across the boundary between the standard AWS partition and the sovereign partition.&lt;/li&gt;
&lt;li&gt;Update CI/CD pipelines, secrets, and DNS records to point to the new environment.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Your existing Infrastructure-as-Code (such as Terraform or CloudFormation templates) will require far fewer edits when moving to the AWS Sovereign Cloud than when moving to an EU provider, provided all the AWS services you use are available in the Brandenburg region. However, because you still have to perform a full data migration and cutover window, many engineering and finance leaders use this mandatory migration moment to evaluate whether they should move to an EU-owned cloud instead.&lt;/p&gt;

&lt;h2&gt;
  
  
  Technical trade-offs: proprietary services vs. standard infrastructure
&lt;/h2&gt;

&lt;p&gt;When evaluating whether to stay within the AWS ecosystem or move to an European provider like UpCloud, Scaleway, OVHcloud, or STACKIT, the most important technical question is what services your application actually uses.&lt;/p&gt;

&lt;h3&gt;
  
  
  When the AWS Sovereign Cloud is the stronger fit
&lt;/h3&gt;

&lt;p&gt;If your software architecture is built heavily around AWS-proprietary services—such as Amazon DynamoDB, AWS Step Functions, Amazon Kinesis, AWS Glue, or Amazon Redshift—moving to an EU-owned cloud requires rewriting application code. Re-architecting a core product away from DynamoDB to PostgreSQL takes engineering time and carries delivery risk. If you need stronger EU operational residency without changing your application code, the AWS European Sovereign Cloud is designed for your situation.&lt;/p&gt;

&lt;h3&gt;
  
  
  When EU-owned providers are the stronger fit
&lt;/h3&gt;

&lt;p&gt;In practice, a high percentage of European SaaS companies, digital agencies, and mid-market enterprises do not rely deeply on proprietary cloud APIs. Instead, their stack consists of portable, industry-standard components:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Linux virtual machines or managed Kubernetes clusters (EKS equivalents).&lt;/li&gt;
&lt;li&gt;Relational databases running PostgreSQL or MySQL (RDS equivalents).&lt;/li&gt;
&lt;li&gt;Redis-compatible in-memory caches (ElastiCache equivalents).&lt;/li&gt;
&lt;li&gt;S3-compatible object storage for files and backups.&lt;/li&gt;
&lt;li&gt;Standard load balancers, private networks, and firewalls.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Every major EU-owned cloud provider offers these core building blocks(though Hetzner focuses on unmanaged virtual and dedicated servers where Kubernetes and databases are run directly on instances, while UpCloud, Scaleway, OVHcloud, and STACKIT provide fully managed databases and Kubernetes). When your application uses standard open-source protocols, you can run on European infrastructure without rewriting your application logic.&lt;/p&gt;

&lt;h2&gt;
  
  
  Pricing, egress fees, and regulatory drivers
&lt;/h2&gt;

&lt;p&gt;Cost and compliance are closely linked when comparing hyperscalers with European providers.&lt;/p&gt;

&lt;h3&gt;
  
  
  Predictable infrastructure spend
&lt;/h3&gt;

&lt;p&gt;Hyperscaler bills often grow unpredictable due to itemized charges for NAT gateways, cross-AZ data transfer, IOPS provisioning, and high markups on managed databases. European cloud providers typically compete by offering simpler pricing structures, lower baseline costs for CPU, RAM, and NVMe storage, and generous or flat-rate outbound bandwidth allowances. (Because cloud pricing varies by region and instance generation, always check each provider's official pricing page for current 2026 list prices.)&lt;/p&gt;

&lt;h3&gt;
  
  
  The EU Data Act and switching costs
&lt;/h3&gt;

&lt;p&gt;Historically, high data egress fees made leaving a hyperscaler expensive. Under Article 29 of the EU Data Act (Regulation (EU) 2023/2854), cloud providers may charge no more than their actual, directly incurred costs for switching-related data egress until 12 January 2027. Starting on 12 January 2027, switching charges—including data egress fees when migrating to another provider—are banned across the EU. This removes the financial penalty for copying terabytes of object storage and database state out of standard AWS regions.&lt;/p&gt;

&lt;h3&gt;
  
  
  DORA and exit strategies
&lt;/h3&gt;

&lt;p&gt;For financial entities and their critical ICT suppliers, the Digital Operational Resilience Act (DORA, Regulation (EU) 2022/2554) has applied since 17 January 2025. DORA requires covered institutions to manage ICT third-party concentration risk and maintain documented, tested exit strategies for critical services. Moving standard workloads to EU-owned providers—or maintaining portable Terraform configurations that do not rely on proprietary hyperscaler APIs—directly supports DORA compliance.&lt;/p&gt;

&lt;h2&gt;
  
  
  Decision checklist: which path fits your company?
&lt;/h2&gt;

&lt;p&gt;Use this checklist with your leadership and engineering teams to decide which environment matches your constraints:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Audit your customer and regulatory requirements:&lt;/strong&gt; Do your customers or regulators require only that data and operations stay in the EU, or do they require a provider free from US corporate ownership and the US CLOUD Act?&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Inventory your cloud bill and service usage:&lt;/strong&gt; List every AWS service accounting for more than 1% of your monthly spend. Are they standard primitives (EC2, RDS Postgres/MySQL, EKS, S3, ElastiCache) or proprietary services (DynamoDB, Redshift, Cognito)?&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Compare total cost of ownership (TCO):&lt;/strong&gt; Model your current resource footprint (vCPUs, RAM, storage, and monthly bandwidth) against the sovereign pricing of AWS versus an EU provider like UpCloud, Scaleway, or OVHcloud.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Assess migration effort:&lt;/strong&gt; Since moving from &lt;code&gt;eu-central-1&lt;/code&gt; to the AWS European Sovereign Cloud already requires provisioning new accounts, networks, and database replication, evaluate whether the effort is comparable to migrating to an EU-owned provider.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Frequently asked questions
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Does the AWS European Sovereign Cloud protect against the US CLOUD Act?
&lt;/h3&gt;

&lt;p&gt;The AWS European Sovereign Cloud operates under European legal entities with EU-resident staff and strong technical controls, which lowers the practical risk of routine foreign access. However, because the ultimate parent company is Amazon.com, Inc. (a US corporation), legal experts and European data protection authorities note that it remains within the theoretical reach of the US CLOUD Act. Only providers wholly owned and headquartered outside US jurisdiction avoid the US CLOUD Act entirely.&lt;/p&gt;

&lt;h3&gt;
  
  
  Can I migrate from AWS Frankfurt to the AWS Sovereign Cloud with one click?
&lt;/h3&gt;

&lt;p&gt;No. The AWS European Sovereign Cloud is a separate logical partition with independent billing, identity (IAM), and network planes. Moving workloads from standard AWS regions requires setting up new sovereign accounts, deploying new infrastructure, and migrating your data across partitions.&lt;/p&gt;

&lt;h3&gt;
  
  
  Are EU-owned clouds reliable enough for production SaaS workloads?
&lt;/h3&gt;

&lt;p&gt;Yes, provided you choose the right provider and architecture for your needs. Providers such as UpCloud, Scaleway, OVHcloud, Exoscale, and STACKIT offer multi-zone availability, SLA-backed managed Kubernetes and relational databases, ISO 27001 certifications, and high-performance NVMe storage suitable for demanding production SaaS applications.&lt;/p&gt;

&lt;h3&gt;
  
  
  What happens to AWS data egress fees if we move to an EU provider?
&lt;/h3&gt;

&lt;p&gt;Under Article 29 of the EU Data Act, cloud providers can only pass on the actual cost of switching until 12 January 2027, and from 12 January 2027 onward, all switching charges—including data egress fees when migrating to a new cloud provider—are prohibited by EU law.&lt;/p&gt;

&lt;h2&gt;
  
  
  Sources
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://eur-lex.europa.eu/eli/reg/2023/2854/oj" rel="noopener noreferrer"&gt;Regulation (EU) 2023/2854 — The EU Data Act (EUR-Lex)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://eur-lex.europa.eu/eli/reg/2022/2554/oj" rel="noopener noreferrer"&gt;Regulation (EU) 2022/2554 — Digital Operational Resilience Act (DORA) (EUR-Lex)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://aws.amazon.com/compliance/europe-digital-sovereignty/" rel="noopener noreferrer"&gt;AWS European Sovereign Cloud Official Page (Amazon Web Services)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://certification.enisa.europa.eu/" rel="noopener noreferrer"&gt;Cybersecurity Certification Framework (ENISA)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;em&gt;Drafted with AI assistance and fact-checked by the MoveInfra team. The original, kept up to date, is at &lt;a href="https://moveinfra.eu/blog/aws-european-sovereign-cloud-vs-eu-providers/?utm_source=devto&amp;amp;utm_medium=syndication" rel="noopener noreferrer"&gt;moveinfra.eu&lt;/a&gt;. Free tools for pricing a move to an EU cloud: &lt;a href="https://moveinfra.eu/tools/?utm_source=devto&amp;amp;utm_medium=syndication" rel="noopener noreferrer"&gt;moveinfra.eu/tools&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>cloud</category>
      <category>cloudsovereignty</category>
      <category>aws</category>
      <category>eucloud</category>
    </item>
    <item>
      <title>Moving from AWS to Hetzner: What You Gain and What You Must Build</title>
      <dc:creator>Denys Zaruin</dc:creator>
      <pubDate>Thu, 29 Oct 2026 09:22:01 +0000</pubDate>
      <link>https://dev.to/moveinfra-eu/moving-from-aws-to-hetzner-what-you-gain-and-what-you-must-build-230</link>
      <guid>https://dev.to/moveinfra-eu/moving-from-aws-to-hetzner-what-you-gain-and-what-you-must-build-230</guid>
      <description>&lt;p&gt;&lt;em&gt;Originally published on &lt;a href="https://moveinfra.eu/blog/aws-to-hetzner-what-to-know/?utm_source=devto&amp;amp;utm_medium=syndication" rel="noopener noreferrer"&gt;moveinfra.eu&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Moving from AWS to Hetzner gives European companies much lower compute and network costs, predictable monthly billing, and strict German legal jurisdiction, while requiring engineering teams to self-manage services that AWS runs for them. Hetzner provides core infrastructure building blocks—including virtual servers, dedicated bare-metal machines, block volumes, S3-compatible object storage, private networks, firewalls, and load balancers—at a fraction of hyperscaler prices. However, Hetzner does not offer managed relational databases (like AWS RDS), managed Kubernetes (like Amazon EKS), managed caching (like ElastiCache), or serverless queues and functions. If your architecture relies on these services, migrating to Hetzner means deploying and operating them yourself on virtual or dedicated servers, or choosing another European provider that offers managed platform services.&lt;/p&gt;

&lt;h2&gt;
  
  
  Key takeaways
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Substantial cost reductions on compute and egress:&lt;/strong&gt; Hetzner bundles generous outbound data transfer (typically 20 TB per server in European locations) and charges a single flat rate for compute, removing the complex per-gigabyte NAT gateway and egress fees common on AWS.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;True European jurisdiction:&lt;/strong&gt; Hetzner Online GmbH is headquartered in Germany and operates data centers in Nuremberg and Falkenstein (Germany) and Helsinki (Finland), keeping your infrastructure outside the reach of US extraterritorial laws.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;No managed databases or Kubernetes:&lt;/strong&gt; Unlike AWS, Hetzner focuses strictly on Infrastructure as a Service (IaaS). You must run PostgreSQL, MySQL, Redis, and Kubernetes on your own cloud or dedicated instances using open-source tools and automation.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Simpler networking and permissions:&lt;/strong&gt; You trade AWS's sprawling IAM policies and multi-layered VPC billing for straightforward cloud firewalls, private networks, and project-based API tokens.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Regulatory tailwinds for switching:&lt;/strong&gt; Under the EU Data Act (Regulation (EU) 2023/2854), cloud providers can charge no more than their direct cost for switching egress until January 12, 2027, after which switching fees are banned completely.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Why European companies move from AWS to Hetzner
&lt;/h2&gt;

&lt;p&gt;For most 10-to-300-person companies in Europe, the initial push to evaluate Hetzner comes from looking at the monthly AWS bill. On AWS, compute is rarely the only major expense. Costs accumulate through managed service premiums, per-gigabyte charges for traffic passing through NAT gateways, cross-availability-zone data transfer fees, and outbound internet egress. &lt;/p&gt;

&lt;p&gt;Hetzner structures its pricing around flat, predictable resource usage. Whether you rent shared-CPU virtual machines, dedicated-CPU cloud instances, or physical bare-metal servers through Hetzner Robot, the monthly ceiling is clear. In European regions, cloud servers include 20 TB of outbound traffic per month at no additional charge, and internal traffic over Hetzner Private Networks is free. You should always check Hetzner's official pricing page for current figures, especially following their June 2026 price adjustments on dedicated hardware, as exact numbers depend on server generation and location.&lt;/p&gt;

&lt;p&gt;The second driver is legal and operational sovereignty. Even if you deploy workloads in the AWS Frankfurt (&lt;code&gt;eu-central-1&lt;/code&gt;) region or use the AWS European Sovereign Cloud, the underlying provider remains Amazon, a US corporation subject to the US CLOUD Act. Hetzner Online GmbH is a privately owned German company founded in 1997. When you host in its German or Finnish data centers, both the physical hardware and the corporate parent fall strictly under EU and national law. For companies subject to strict GDPR interpretations by enterprise customers, or financial entities building exit strategies under the Digital Operational Resilience Act (DORA, Regulation (EU) 2022/2554), moving to a domestic European provider simplifies compliance audits.&lt;/p&gt;

&lt;p&gt;Finally, there is engineering clarity. AWS offers over two hundred services, which often leads small engineering teams to build overly complex architectures. Moving to Hetzner forces a return to standard Linux servers, containers, and open-source software that can run anywhere.&lt;/p&gt;

&lt;h2&gt;
  
  
  AWS to Hetzner service mapping
&lt;/h2&gt;

&lt;p&gt;Before planning a migration, both technical leads and finance teams need an honest view of how AWS components translate to Hetzner. Some services map directly, while others shift operational responsibility back to your team.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;AWS Service&lt;/th&gt;
&lt;th&gt;Hetzner Equivalent&lt;/th&gt;
&lt;th&gt;What Changes in Practice&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;EC2 (Virtual Servers)&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Hetzner Cloud VMs / Dedicated Servers&lt;/td&gt;
&lt;td&gt;Direct replacement. Available in shared x86, Arm64 (Ampere), dedicated vCPU, and bare-metal options.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;EBS (Block Storage)&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Hetzner Cloud Volumes&lt;/td&gt;
&lt;td&gt;Network-attached block storage expandable up to 10 TB per volume. Attached directly to Cloud VMs.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;S3 (Object Storage)&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Hetzner Object Storage&lt;/td&gt;
&lt;td&gt;Native S3-compatible object storage. Supports standard S3 API calls, buckets, and access keys, though advanced AWS-specific features (like S3 Select or Glacier) are not present.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;ALB / NLB (Load Balancers)&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Hetzner Cloud Load Balancers&lt;/td&gt;
&lt;td&gt;Managed Layer 4 (TCP) and Layer 7 (HTTP/HTTPS) load balancers with automated Let's Encrypt TLS certificates and health checks.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;VPC &amp;amp; Security Groups&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Private Networks &amp;amp; Cloud Firewalls&lt;/td&gt;
&lt;td&gt;Simpler flat private routing across servers and stateful firewall rules applied via server labels or direct assignment.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Route 53 (DNS)&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Hetzner DNS Console&lt;/td&gt;
&lt;td&gt;Supports standard DNS zone management via UI and API, without complex geo-proximity or latency-based routing policies.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;RDS / Aurora (PostgreSQL, MySQL)&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;None (Self-managed on VMs)&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;You must install, configure, replicate, and back up databases on Hetzner servers yourself.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;EKS / ECS (Containers)&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;None (Self-managed on VMs)&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;You must bootstrap and maintain your own Kubernetes cluster (e.g., via k3s, Talos, or kubeadm) on Hetzner VMs.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;ElastiCache (Redis)&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;None (Self-managed on VMs)&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Requires running Redis or Valkey directly on virtual machines with Sentinel or cluster configuration for high availability.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;SQS / SNS / EventBridge&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;None (Self-managed on VMs)&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Requires deploying RabbitMQ, NATS, Redis streams, or database-backed job queues on your own compute instances.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;AWS IAM&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Project Access &amp;amp; API Tokens&lt;/td&gt;
&lt;td&gt;Hetzner uses team roles at the project level and read/write API tokens rather than granular per-resource policy documents.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  What you must build and operate yourself
&lt;/h2&gt;

&lt;p&gt;The financial savings on Hetzner are real, but they are not free money. A portion of what you stop paying Amazon is traded for engineering ownership. Here is what your team must be prepared to build and maintain.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Relational databases and high availability
&lt;/h3&gt;

&lt;p&gt;On AWS RDS, enabling Multi-AZ high availability, automated point-in-time recovery (PITR), and minor version upgrades takes a few clicks. Because Hetzner does not offer managed databases, you must build this resilience on top of Hetzner Cloud VMs or dedicated servers.&lt;/p&gt;

&lt;p&gt;In a production environment, you should not simply run a single &lt;code&gt;apt install postgresql&lt;/code&gt; instance without safeguards. To match RDS reliability, teams typically deploy a two- or three-node cluster managed by open-source orchestrators like &lt;strong&gt;Patroni&lt;/strong&gt; (with etcd or Consul for consensus), or use automated provisioning stacks. You must also configure continuous Write-Ahead Log (WAL) archiving and daily base backups using tools like &lt;strong&gt;pgBackRest&lt;/strong&gt; or &lt;strong&gt;WAL-G&lt;/strong&gt;, pushing encrypted backups to Hetzner Object Storage (or an external backup destination). Crucially, you must test restoring these backups regularly.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Kubernetes or container orchestration
&lt;/h3&gt;

&lt;p&gt;If you run microservices on Amazon EKS or AWS Fargate, moving to Hetzner means taking over the Kubernetes control plane. While EKS manages the API servers and &lt;code&gt;etcd&lt;/code&gt; nodes for you, on Hetzner you will run both control-plane nodes and worker nodes on your own virtual machines.&lt;/p&gt;

&lt;p&gt;Fortunately, the open-source ecosystem around Hetzner is mature. Many European teams run lightweight distributions like &lt;strong&gt;k3s&lt;/strong&gt; or immutable Kubernetes operating systems like &lt;strong&gt;Talos Linux&lt;/strong&gt; on Hetzner Cloud. Hetzner maintains official open-source integrations that make Kubernetes behave like a native cloud environment:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Hetzner Cloud Controller Manager (HCCM):&lt;/strong&gt; Automatically provisions Hetzner Load Balancers when you create a Kubernetes &lt;code&gt;Service&lt;/code&gt; of type &lt;code&gt;LoadBalancer&lt;/code&gt; and configures private network routing between nodes.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Container Storage Interface (CSI) Driver:&lt;/strong&gt; Automatically creates, attaches, and resizes Hetzner Cloud Volumes when your pods request &lt;code&gt;PersistentVolumeClaims&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cluster Autoscaler:&lt;/strong&gt; Adds or removes Hetzner worker VMs based on pending pod resource requests.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Even with these drivers, your team remains responsible for upgrading Kubernetes versions, rotating certificates, and monitoring &lt;code&gt;etcd&lt;/code&gt; health.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Caching, queues, and background jobs
&lt;/h3&gt;

&lt;p&gt;Many AWS architectures rely heavily on SQS for decoupling services, Lambda for cron jobs and webhooks, and ElastiCache for session storage. When moving to Hetzner, architectural simplification helps a great deal.&lt;/p&gt;

&lt;p&gt;Instead of replacing every AWS primitive with a separate distributed system, evaluate whether your existing stack can absorb the workload. For example, if you run PostgreSQL, tools like &lt;code&gt;pg-boss&lt;/code&gt; (Node.js), &lt;code&gt;Oban&lt;/code&gt; (Elixir), or &lt;code&gt;Solid Queue&lt;/code&gt; (Ruby) let you run reliable background jobs directly inside your database, removing the need for a separate SQS replacement. If you need high-throughput message brokering or caching, you will need to provision dedicated VMs running &lt;strong&gt;Valkey&lt;/strong&gt;, &lt;strong&gt;Redis&lt;/strong&gt;, or &lt;strong&gt;RabbitMQ&lt;/strong&gt; via Terraform and Ansible, wired into your monitoring stack.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Observability, logging, and alerting
&lt;/h3&gt;

&lt;p&gt;Without AWS CloudWatch collecting logs and metrics by default, you need a self-hosted or third-party observability stack. On Hetzner, teams normally deploy the &lt;strong&gt;Prometheus&lt;/strong&gt; and &lt;strong&gt;Grafana&lt;/strong&gt; stack (alongside &lt;code&gt;node_exporter&lt;/code&gt; and &lt;code&gt;Loki&lt;/code&gt; for logs) on a dedicated monitoring VM, or ship telemetry to a European-hosted observability service. You will also need to configure alert routing (via Alertmanager or similar) to wake up your on-call engineers if a disk fills up or a database node fails over.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. Access control and secret management
&lt;/h3&gt;

&lt;p&gt;AWS IAM lets you restrict a specific server to reading a single S3 bucket or writing to one DynamoDB table. Hetzner's Cloud API uses bearer tokens that grant access to an entire project. This means you must be careful about where you place Hetzner API keys (such as inside your Kubernetes cluster for the CSI driver). For application secrets that previously lived in AWS Secrets Manager or SSM Parameter Store, you will need to adopt encrypted secrets in Git (using &lt;strong&gt;SOPS&lt;/strong&gt; or &lt;strong&gt;Sealed Secrets&lt;/strong&gt;), use your CI/CD platform's secret injection, or host a vault service like &lt;strong&gt;HashiCorp Vault&lt;/strong&gt; or &lt;strong&gt;OpenBao&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  When Hetzner is the right choice (and when to pick another EU cloud)
&lt;/h2&gt;

&lt;p&gt;Hetzner is an exceptional fit if:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Your team has at least one engineer comfortable with Linux administration, Terraform, and Docker or Kubernetes.&lt;/li&gt;
&lt;li&gt;You run compute-heavy, memory-heavy, or bandwidth-heavy workloads where AWS costs scale poorly.&lt;/li&gt;
&lt;li&gt;Your architecture is relatively clean—such as a monolithic web application or a sensible set of containerized services backed by PostgreSQL, Redis, and S3 object storage.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;However, if your company has no dedicated DevOps or platform engineering capacity, and leadership does not want engineers spending time maintaining database replication or Kubernetes upgrades, Hetzner may require too much operational overhead. In that case, you do not have to stay on AWS. Other European cloud providers—such as &lt;strong&gt;UpCloud&lt;/strong&gt;, &lt;strong&gt;Scaleway&lt;/strong&gt;, or &lt;strong&gt;OVHcloud&lt;/strong&gt;—offer managed PostgreSQL/MySQL databases and managed Kubernetes control planes out of the box. You will pay more per CPU core on those platforms than on Hetzner, but still generally less than on AWS, while keeping managed database convenience under European jurisdiction.&lt;/p&gt;

&lt;h2&gt;
  
  
  Practical migration checklist: AWS to Hetzner
&lt;/h2&gt;

&lt;p&gt;If you decide to move to Hetzner, follow a structured process to keep downtime to a minimum and preserve a clean rollback path.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Audit your AWS footprint and egress:&lt;/strong&gt; List every active resource across your AWS regions. Identify hidden dependencies like Lambda functions triggered by S3 events, hard-coded IAM role assumptions (&lt;code&gt;sts:AssumeRole&lt;/code&gt;), and proprietary databases like DynamoDB. Note that under Article 29 of the EU Data Act, you can request switching terms from AWS where data egress fees are capped at direct cost until January 12, 2027, and eliminated thereafter.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Define your Hetzner architecture in Terraform:&lt;/strong&gt; Do not click around in the Hetzner Cloud Console to build production. Use the official &lt;code&gt;hcloud&lt;/code&gt; Terraform provider to define your private networks, firewalls, load balancers, and compute nodes. Set up automated configuration management (such as Ansible or cloud-init) to bootstrap your database clusters and container hosts.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Clone object storage with checksums:&lt;/strong&gt; Create your buckets in Hetzner Object Storage. Use an S3 synchronization tool like &lt;code&gt;rclone&lt;/code&gt; to copy objects from AWS S3 to Hetzner, verifying file integrity with checksums. Keep periodic syncs running until cutover day.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Establish live database replication:&lt;/strong&gt; Rather than taking a multi-hour downtime window to dump and restore your database, set up logical replication from AWS RDS to your new PostgreSQL or MySQL cluster on Hetzner. Connect the two environments over an encrypted VPN tunnel (such as WireGuard) so your Hetzner database stays within seconds of your live AWS database.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Update your CI/CD pipelines:&lt;/strong&gt; Adjust your GitHub Actions or GitLab CI workflows to deploy your application containers to the new Hetzner environment in parallel with AWS. Run end-to-end tests against the Hetzner staging endpoints.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Lower DNS TTLs and execute the switch:&lt;/strong&gt; A few days before migration, lower your DNS Time-To-Live (TTL) values to 60 seconds. During a planned low-traffic window, put your application into a brief maintenance/read-only mode, verify that database replication lag is zero, run a final S3 sync, promote the Hetzner database to primary, and update your DNS records to point to the Hetzner Load Balancer.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Maintain a rollback option before cleanup:&lt;/strong&gt; Keep your old AWS environment running and configure reverse replication from Hetzner back to AWS if possible, or maintain snapshots for at least 30 days. Once everything runs smoothly through a full monthly billing cycle, decommission your AWS resources.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Frequently asked questions
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Does Hetzner have an equivalent to AWS S3?
&lt;/h3&gt;

&lt;p&gt;Yes. Hetzner offers native, S3-compatible Object Storage. You can interact with it using the standard AWS CLI, SDKs, or Terraform providers by changing the endpoint URL to Hetzner's regional object storage endpoint. It supports standard bucket operations, access keys, and public/private visibility, though it does not include AWS-specific extensions like S3 Glacier archival tiers or EventBridge notifications.&lt;/p&gt;

&lt;h3&gt;
  
  
  How do we handle high-availability databases on Hetzner without RDS?
&lt;/h3&gt;

&lt;p&gt;Because Hetzner does not sell a managed database service, high availability is achieved by provisioning multiple Hetzner Cloud VMs across different physical availability zones or data center locations, attached to local NVMe disks or Cloud Volumes. You then run an automated failover manager like Patroni for PostgreSQL, combined with automated backup tools (such as pgBackRest) that stream backups continuously to S3-compatible object storage.&lt;/p&gt;

&lt;h3&gt;
  
  
  Can we mix Hetzner Cloud VMs and Dedicated Servers in the same network?
&lt;/h3&gt;

&lt;p&gt;Yes. Through the Hetzner vSwitch feature, you can connect dedicated bare-metal servers from Hetzner Robot directly into your Hetzner Cloud Private Networks. This allows teams to run stateless web applications on flexible Cloud VMs while placing heavy, predictable database workloads on high-performance bare-metal NVMe servers over private internal IPs.&lt;/p&gt;

&lt;h3&gt;
  
  
  Will we have to pay huge AWS data egress fees when moving our data to Hetzner?
&lt;/h3&gt;

&lt;p&gt;Data egress fees are shrinking due to European regulation. Under Article 29 of the EU Data Act (Regulation (EU) 2023/2854), cloud providers operating in the EU may only charge the direct cost incurred for switching data egress until January 12, 2027, and from January 12, 2027 onward, all switching charges—including data egress fees when moving to another provider—are banned. Furthermore, AWS offers a specific fee waiver program for customers permanently migrating off the platform under the Data Act framework.&lt;/p&gt;

&lt;h2&gt;
  
  
  Sources
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://eur-lex.europa.eu/eli/reg/2023/2854/oj" rel="noopener noreferrer"&gt;Regulation (EU) 2023/2854 (EU Data Act) on EUR-Lex&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://eur-lex.europa.eu/eli/reg/2022/2554/oj" rel="noopener noreferrer"&gt;Regulation (EU) 2022/2554 (DORA) on EUR-Lex&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.hetzner.com/" rel="noopener noreferrer"&gt;Hetzner Official Documentation (Hetzner Docs)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.hetzner.com/cloud" rel="noopener noreferrer"&gt;Hetzner Cloud Product and Pricing Overview&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.hetzner.cloud/" rel="noopener noreferrer"&gt;Hetzner Cloud API Reference&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;em&gt;Drafted with AI assistance and fact-checked by the MoveInfra team. The original, kept up to date, is at &lt;a href="https://moveinfra.eu/blog/aws-to-hetzner-what-to-know/?utm_source=devto&amp;amp;utm_medium=syndication" rel="noopener noreferrer"&gt;moveinfra.eu&lt;/a&gt;. Free tools for pricing a move to an EU cloud: &lt;a href="https://moveinfra.eu/tools/?utm_source=devto&amp;amp;utm_medium=syndication" rel="noopener noreferrer"&gt;moveinfra.eu/tools&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>cloud</category>
      <category>aws</category>
      <category>hetzner</category>
      <category>cloudmigration</category>
    </item>
  </channel>
</rss>
