Cloud-Unabhängigkeit: Test eines europäischen Cloud-Anbieters gegen die Giganten

18.06.2025

Thorsten Foltz

Kann ein europäischer Cloud-Anbieter wie Ionos AWS oder Azure ersetzen? Wir testen es – und finden überraschende Vorteile in Bezug auf Kosten, Kontrolle und Unabhängigkeit.

Irgendwo in Europa. Vielleicht führen Sie ein kleines Online-Geschäft, verwalten einen mittelgroßen Automobilzulieferer oder leiten ein globales Unternehmen mit mehreren tausend Mitarbeitern. Egal wie groß das Unternehmen ist, das Bild bleibt dasselbe. Die Menschen arbeiten an Computern. Sie beantworten E-Mails, suchen Informationen bei Google, chatten mit KI-Tools, berechnen Zahlen in Excel und bereiten Präsentationen in PowerPoint vor. Einige nutzen PowerBI, um die neuesten Verkaufsberichte einzusehen.

Im Hintergrund richtet Ihr IT-Team Datenbanken in AWS ein, verwaltet den Zugriff auf S3-Buckets und diskutiert das Skalieren mit Kubernetes. Sie aktualisieren Server und ziehen in Erwägung, Ihr alterndes Postgres-Datenlager durch Snowflake zu ersetzen.

Ihr Unternehmen scheint auf dem richtigen Weg zu sein, da die gesamte Infrastruktur in der Cloud läuft. Trotzdem fühlt sich etwas nicht ganz richtig an. Die dominierenden Cloud-Anbieter – Amazon, Microsoft und Google – haben alle ihren Sitz in den Vereinigten Staaten. Office 365? Auch Microsoft. Snowflake oder Databricks? Amerikanisch. Salesforce oder Slack? Dasselbe.

Wie viele andere verlassen Sie sich auf diese Plattformen, weil sie als benutzerfreundlich, sicher und kostengünstig gelten. Das ist das Versprechen. Aber es lohnt sich, einen genaueren Blick darauf zu werfen.

Sind sie wirklich benutzerfreundlich? Bis zu einem gewissen Grad, ja. Aber denken Sie darüber nach, wie viele Cloud-, Platform- und Daten-Ingenieure Sie beschäftigen. Die Cloud kann einige Prozesse vereinfachen, bringt aber auch neue Ebenen der Komplexität mit sich.

Sind sie günstig? Das hängt davon ab. Cloud-Lösungen können kostengünstiger sein als die Wartung eigener Infrastrukturen. Aber wenn Ihre Daten und Dienste wachsen, steigen die Kosten schnell. Und Anbieter erhöhen oft ihre Preise, wann immer sie können.

Sind sie sicher? Eine richtig konfigurierte Cloud-Umgebung ist in der Regel gut gegen externe Bedrohungen geschützt. Aber genau wie bei herkömmlichen Systemen benötigen Sie Menschen, die wissen, was sie tun. Und bedenken Sie, Ihr Cloud-Anbieter hat immer Zugriff auf Ihre Daten. Gemäß dem US-Recht, insbesondere dem CLOUD Act, können amerikanische Behörden rechtlich darauf bestehen.

Sicherheit und Kosten sind beide entscheidende Anliegen, und Sicherheit verdient besondere Aufmerksamkeit. Die Vereinigten Staaten sind seit langem Europas engster Verbündeter. Es ist eine verfassungsmäßige Demokratie, die die Rechtsstaatlichkeit respektiert. Doch jüngste Entwicklungen deuten auf einen Wandel hin. Die USA verfolgen zunehmend ihre eigenen strategischen Interessen, und ob sie internationale rechtliche Vereinbarungen konsequent einhalten, wird immer ungewisser.

Vielleicht denken Sie, dass das Sie nicht betrifft. Aber das könnte es. Die Debatte über den Zugang der USA zu Daten ist nicht neu. Wenn Ihr Unternehmen sensible Vermögenswerte wie technische Dokumentationen oder Geschäftsgeheimnisse speichert, besteht das Risiko, dass Außenstehende Zugriff darauf erhalten.

Vielleicht nehmen Sie an, dass Verschlüsselung dies löst. Theoretisch schützt starke Verschlüsselung Ihre Daten. Für den Moment. Aber Technologien entwickeln sich weiter. Früher oder später werden Methoden auftauchen, die die heutigen Verschlüsselungsstandards brechen können. Was jedoch besorgniserregender ist, ist die Annahme, dass Sie immer Zugriff auf Ihre Daten haben werden. Was, wenn Sie eines Tages keinen Zugriff haben? Kommt das Ihnen weit hergeholt vor? Vielleicht. Bis es passiert.

Im Februar 2025 hat die US-Regierung das Internationale Strafgerichtshof (ICC) sanktioniert. Der Chefankläger, der britische Staatsangehörige Karim Khan, verlor nicht nur den Zugriff auf seine finanziellen Konten, sondern auch auf sein E-Mail-Konto. Wir müssen nicht in die Politik eintauchen, ob dies gerechtfertigt war. Und um fair zu sein, ist unklar, ob Microsoft den Zugriff beendet hat oder das ICC. Laut dem Präsidenten von Microsoft, Brad Smith, war es nicht Microsoft. Fakt ist, es geschah.

Jetzt fragen Sie sich, was passieren würde, wenn Ihre gesamte Infrastruktur und Ihre Daten bei einem der großen amerikanischen Hyperscaler leben, und plötzlich Ihr Konto gesperrt wird? Wie lange könnte Ihr Unternehmen überleben?

Glauben Sie wirklich den Versprechungen von Microsoft und anderen, dass sie eine unabhängige europäische Cloud aufbauen? Ist das überhaupt möglich? Am Ende des Tages sind sie immer noch amerikanische Unternehmen.

Schließlich hat jeder, der mit Cloud-Umgebungen arbeitet, gesehen, wie ihre Rechnungen steigen. Es spielt keine Rolle, welchen Anbieter Sie verwenden. AWS, Azure, Snowflake, Salesforce usw. Sie erhöhen alle ihre Preise. Grundlegende Dienstleistungen werden teurer, die Datenmengen wachsen weiter und die Nutzung verwalteter Dienste verursacht erhebliche Kosten. Dies wird noch problematischer, wenn Skalierungsprobleme einfach durch Hinzufügen weiterer Hardware gelöst werden, oft weil niemand Zugriff hat oder vollständig versteht, was hinter dem verwalteten Dienst passiert.

Lösung

Was können Sie tun? Ein Ansatz besteht darin, zur lokalen Infrastruktur zurückzukehren, Ihre eigenen Server in Ihrem Büro zu betreiben und alles selbst zu verwalten. Aber bei der Menge an Daten und Software, auf die Sie angewiesen sind, könnte das eine große Anzahl von Servern erfordern. Das bringt erhebliche Kosten für die Hardware, die Administratoren, die Sie einstellen müssen, Sicherheitsexperten sind nicht billig, Strom ist notwendig, und vielleicht sogar ein neues Gebäude, das physisch gesichert werden muss. Während Cyberangriffe heute häufiger sind, ist das Stehlen physischer Festplatten nach wie vor eine reale Bedrohung, insbesondere wenn diese Festplatten nicht verschlüsselt sind.

Eine Alternative besteht darin, einen europäischen Cloud-Anbieter zu nutzen. Einige, wie Hetzner, bieten hauptsächlich Server an, aber viele andere bieten auch verwaltete Dienste an, die denen der großen US-Hyperscaler ähnlich sind. Es gibt zahlreiche Anbieter in ganz Europa. Zum Beispiel Ionos, Open Telekom Cloud und StackIT in Deutschland, OVH und Scaleway in Frankreich, Elastx in Schweden, Seeweb und Aruba Cloud in Italien, Cyso in den Niederlanden, UpCloud in Finnland und Exoscale in der Schweiz. Dies sind nur einige der bekannteren Anbieter.

Können sie die US-Anbieter vollständig ersetzen? Die kurze Antwort ist nein. Ihre Serviceangebote sind im Vergleich immer noch viel kleiner. Die wichtigere Frage ist jedoch, was Sie tatsächlich benötigen. Standarddienste wie Objektspeicher, virtuelle Maschinen, verwaltete Datenbanken, Infrastruktur als Code und verwaltetes Kubernetes sind weit verbreitet erhältlich. Wenn Sie sich auf Ihre Kernanforderungen konzentrieren, stehen die Chancen gut, dass diese europäischen Anbieter Ihre Bedürfnisse erfüllen können.

Europäischer Cloud-Anbieter Ionos

Lassen Sie uns die Ionos-Cloud als Beispiel nehmen. Unsere Ziele sind:

  • Ein Konto erstellen und einen Zahlungshinweis einrichten, um uns zu benachrichtigen, wenn die Kosten einen bestimmten Schwellenwert überschreiten

  • Speicher, einen virtuellen Server und eine verwaltete Datenbank mit Terraform einrichten

  • Berechtigungen für nicht administrative Benutzer zuweisen

  • Open-Source-Software für Analysen und ein Dashboard für die Visualisierung installieren

Ionos ist ein deutscher Internet- und Cloud-Anbieter mit etwa 4.500 Mitarbeitern und einem Umsatz von rund 1,5 Milliarden Euro. Um loszulegen, öffnen Sie deren Website, klicken Sie auf Login, wählen Sie Ihre bevorzugte Sprache aus und erstellen Sie ein Konto wie auf jeder anderen Plattform.

IonosIonos Cloud


Data center designerIonos

Nach dem Einloggen müssen Sie eine Kreditkarte hinzufügen, aber Sie zahlen nur für das, was Sie verwenden. Es gibt keine Gebühren oder versteckte Kosten. In den ersten 30 Tagen erhalten Sie ein kostenloses Guthaben von 200 € oder 200 $, was hervorragend für Tests ist. Denken Sie nur daran, dass 30 Tage keine besonders lange Zeit sind.

Nachdem Sie sich eingeloggert haben, fällt als erstes die aufgeräumte und klar organisierte Benutzeroberfläche auf. Auf der linken Seite sehen Sie die verfügbaren Infrastruktur- und Plattformdienste. In der Mitte wird Ihr virtuelles Rechenzentrum angezeigt, zusammen mit Ihrer aktuellen Ressourcenzuteilung. Diese Zuteilung können Sie bei Bedarf erhöhen, da der Standardwert nur eine anfängliche Obergrenze ist. Sie sehen auch den aktuellen Status der Ionos-Cloud, Nachrichtenaktualisierungen und Links zu Support und Dokumentation. Im Moment ist die Dokumentation nur auf Englisch verfügbar. In der oberen rechten Ecke können Sie Benutzer und Gruppen verwalten, Passwort-Richtlinien konfigurieren und das Token-Management durchführen. Sie können auch die Nutzung und Kosten überprüfen und eine Kostenbenachrichtigung einrichten, die zuverlässig funktioniert.

Aus der Benutzeroberfläche wird klar, dass Ionos eine breite Palette von Diensten anbietet. Neben virtuellen Servern finden Sie verwaltetes Kubernetes, ein Container-Register, PostgreSQL, andere verwaltete Datenbanken wie MariaDB, Objektspeicher, Netzwerkdateispeicher, Aktivitätsprotokollierung, IP-Management, VPN-Gateways und Kafka.

Services offerd by Ionos

Infrastruktur

Um zu beginnen, müssen Tokens erstellt werden, um mit dem Code zu arbeiten. Sie benötigen insgesamt drei Tokens: eines für die API- oder SDK-Authentifizierung und zwei für den Zugriff auf den Objektspeicher.


Go to managment and then token manager to create tokensDonwload tokenGo to storage and backup

Zweitens, installieren Sie das Ionos CLI. Unter Windows können Sie Scoop verwenden; unter macOS verwenden Sie Homebrew. Für Linux hängt die Methode von Ihrer Distribution ab – verwenden Sie beispielsweise Snap auf Ubuntu oder das AUR auf Arch Linux. Nach der Installation setzen Sie Ihr Token als Umgebungsvariable und testen die Einrichtung, indem Sie sich über das CLI bei Ionos anmelden.

Token is stored in Ionos

Der nächste Schritt besteht darin, eine .env-Datei zu erstellen, um die Anmeldeinformationen, die für die Verwendung mit Terraform oder besser gesagt mit OpenTofu, der Open-Source-Alternative, die ich verwendet habe, benötigt werden. Bitte beachten Sie, dass in den folgenden Beispielen der gesamte Code gekürzt wurde. Finden Sie das vollständige Beispiel auf github.


Jetzt lassen Sie uns die Terraform- oder OpenTofu-Konfigurationsdateien erstellen, beginnend mit main.tf. Diese Datei definiert den Anbieter und richtet die grundlegenden Infrastrukturkomponenten ein.
terraform {
required_version = ">= 1.9.0"
required_providers {
ionoscloud = {
source = "ionos-cloud/ionoscloud"
version = ">= 6.4.10"
}
aws = {
source = "hashicorp/aws"
version = ">= 5.0.0" # oder die neueste
}
}
}

# Anbieter für die IONOS Cloud-API
provider "ionoscloud" {
token = var.ionos_token

s3_access_key = var.ionos_s3_access_key
s3_secret_key = var.ionos_s3_secret_key
s3_region = "eu-central-3"
}

locals {
# AWS-Region muss eine gültige AWS-Region-String sein
# auch wenn wir über Ionos S3 über eine benutzerdefinierte Endpoint sprechen
dummy_aws_region = "eu-central-1"
}


# Anbieter für S3-kompatible API (Ionos S3) über AWS-Anbieter
provider "aws" {
access_key = var.ionos_s3_access_key
secret_key = var.ionos_s3_secret_key
region = local.dummy_aws_region
skip_credentials_validation = true
skip_metadata_api_check = true
skip_requesting_account_id = true

endpoints {
s3 = "https://s3.eu-central-3.ionoscloud.com"
}
}

# -------------------------------
# S3-Bucket-Policy-Einrichtung
# -------------------------------

# Generieren Sie das S3-Bucket-Policy-Dokument
data "aws_iam_policy_document" "s3_bucket_policy" {
statement {
sid = "AllowEssentialS3Actions"
effect = "Allow"

actions = [
"s3:GetBucketLocation",
"s3:ListBucket",
"s3:GetObject",
"s3:PutObject",
"s3:DeleteObject"
]

resources = [
"arn:aws:s3:::${var.bucket_name}",
"arn:aws:s3:::${var.bucket_name}/*"
]

principals {
type = "AWS"
identifiers = ["*"]
}
}
}

# Wenden Sie die Bucket-Policy an
resource "aws_s3_bucket_policy" "s3_policy" {
bucket = var.bucket_name
policy = data.aws_iam_policy_document.s3_bucket_policy.json
}

Vielleicht sind Sie überrascht zu sehen, dass der AWS-Anbieter zusammen mit dem Ionos-Anbieter verwendet wird. Das liegt daran, dass Ionos Cloud angibt, dass sein Objektspeicher mit dem S3-Protokoll kompatibel ist. Daher müssen Sie tatsächlich den AWS-Anbieter verwenden, um damit zu arbeiten.

variables.tf-Datei betrifft, ist sie nicht besonders kompliziert. Sie enthält nur die Einstellungen, die Sie zuvor in Ihrer .env-Datei gespeichert haben.

variable "bucket_name" {
type = string
description = "Test-Bucket"
default = "dataminded-terraform-test"
}

variable "ionos_database_password" {
type = string
description = "Postgres-Datenbank-Passwort"
sensitive = true
}

variable "ionos_s3_access_key" {
type = string
description = "S3-Zugangsschlüssel"
sensitive = true
}

variable "ionos_s3_secret_key" {
type = string
description = "S3-geheimes Schlüssel"
sensitive = true
}

variable "ionos_token" {
type = string
description = "Aktivierungsschlüssel für die Ionos-Cloud"
sensitive = true
}

variable "ionos_user" {
type = string
description = "Benutzer für die Ionos-Cloud"
sensitive = true
}


Da wir einen virtuellen Server verwenden möchten, müssen wir zunächst ein Rechenzentrum erstellen. Das ist nicht kompliziert, aber Sie müssen wissen, wo Sie es erstellen. Früher haben Sie möglicherweise “eu-central-3” als Region ausgewählt, jetzt hat sich das Format jedoch in etwas wie “de/fra” geändert, was für Frankfurt in Deutschland steht. In der Dokumentation fand ich keine Liste, aber Sie können sie in der Benutzeroberfläche oder in diesem Artikel finden:


  • de/fra für Frankfurt in Deutschland

  • de/txl für Berlin in Deutschland

  • us/ewr für Newark in den USA (New Jersey)

  • us/las für Las Vegas in den USA (Nevada)

  • us/mci für Lenexa in den USA (Kansas)

  • gb/lhr für London im Vereinigten Königreich

  • gb/bhx für Worcester im Vereinigten Königreich

  • es/vit für Logroño in Spanien

  • fr/par für Paris in Frankreich

resource "ionoscloud_datacenter" "dataminded-test" {
name = "Rechenzentrum Dataminded"
location = "de/fra"
description = "Beschreibung des Rechenzentrums"
sec_auth_protection = false
}
Als nächstes müssen wir eine virtuelle Maschine oder einen vCPU-Server erstellen. Da ich vorhabe, ein Datenlager und ein Dashboard auf diesem Server zu installieren, wählte ich eine Konfiguration mit vier Kernen, 500 GB Speicher und 16 GB RAM, die mit Ubuntu läuft. Ich fügte auch meinen öffentlichen SSH-Schlüssel hinzu, um sichere Verbindungen von meinem lokalen Computer zu ermöglichen. Schließlich richtete ich eine private LAN-Verbindung zwischen diesem Server und der Datenbank ein. Im Folgenden finden Sie meine Netzwerkeinstellungen in der network.tf-Datei:

resource "ionoscloud_lan" "lan" {
datacenter_id = ionoscloud_datacenter.dataminded-test.id
public = true
name = "public-lan"
}

resource "ionoscloud_lan" "private_lan" {
datacenter_id = ionoscloud_datacenter.dataminded-test.id
public = false
name = "private-lan"
}
Jetzt richte ich eine PostgreSQL-Datenbank ein. Die Versionen 12, 13, 14 und 15 sind verfügbar. Es ist etwas enttäuschend, dass Ionos keine Versionen 16 und 17 wie AWS anbietet, und da Version 18 bereits als Beta verfügbar ist. Ich wählte Version 15 mit einer einzelnen Instanz, die mit vier Kernen, 4 GB RAM und 100 GB HDD-Speicher konfiguriert ist und etwa 0,28 € pro Stunde kostet. Eine private Verbindung zwischen dem Server und der Datenbank wurde hergestellt. Im Gegensatz zu den Hyperscalern können Sie sich nicht direkt mit der Datenbank verbinden; Sie müssen einen Jump-Server verwenden. DBeaver Community Edition ist ein SQL-Client, der das unterstützt.

resource "ionoscloud_pg_cluster" "postgres" {
postgres_version = "15"
instances = 1
cores = 4
ram = 4096
storage_size = 102400
storage_type = "HDD"
connection_pooler {
enabled = true
pool_mode = "session"
}
connections {
datacenter_id = ionoscloud_datacenter.dataminded-test.id
lan_id = ionoscloud_lan.private_lan.id
cidr = "192.168.100.1/24"
}
location = ionoscloud_datacenter.dataminded-test.location
display_name = "PostgreSQL_cluster"
maintenance_window {
day_of_the_week = "Sonntag"
time = "09:00:00"
}
credentials {
username = var.ionos_user
password = var.ionos_database_password
}
synchronization_mode = "ASYNCHRONOUS"
}

resource "ionoscloud_pg_database" "postgres_database" {
cluster_id = ionoscloud_pg_cluster.postgres.id
name = "linkedin"
owner = "thorsten"
}


Die verbleibenden Aufgaben bestehen darin, einen Speicher-Bucket zu erstellen und einen zusätzlichen Benutzer mit eingeschränkten Berechtigungen hinzuzufügen. Die bucket.tf-Datei kümmert sich um die Speicher-Einrichtung, groups.tf definiert die Benutzergruppe und ihre Berechtigungen, users.tf erstellt den Benutzer, und random.tf generiert ein Passwort.


resource "ionoscloud_s3_bucket" "bucket" {  name                = "dataminded-terraform-test"  region              = "eu-central-3"  object_lock_enabled = false  force_destroy       = true  tags = {    key1 = "dataminded"    key2 = "test-bucket"  }  timeouts {    create = "10m"    delete = "10m"
resource "ionoscloud_group" "developer" {  name         = "developer"  s3_privilege = true
resource "ionoscloud_user" "test_user" {  first_name     = "Thorsten Test"  last_name      = "User"  email          = "thorsten@thorsten.de"  password       = random_password.user_password.result  administrator  = false  force_sec_auth = false  active         = true  group_ids      = [ionoscloud_group.developer.id
resource "random_password" "user_password" {  length  = 30  special = false

Führen Sie opentofu aus

um zu deployen. Die Zeit beträgt etwa 7 Minuten, hauptsächlich wegen der Datenbank. Gehen wir zurück zu Ionos und sehen wir uns einige Änderungen an.

Welcome Thorsten Foltz


Ionos

Eine SSH-Verbindung ist jetzt möglich.

Ionos

Eine Datenbank wurde ebenfalls erstellt.


Postgres database

Darüber hinaus gibt es den Objektspeicher (S3).

Schließlich wurde ein Benutzer „thorsten“ sowie die Gruppe „Entwickler“ erstellt.

Objektspeicher

Jetzt holen wir einige Daten ab und speichern sie mit Python 3.13. Ich verwendete eine öffentliche API von RapidAPI, um einige Daten von LinkedIn abzurufen. Die abgerufenen Daten werden als .csv-Dateien im Objektspeicher gespeichert. Wie Sie sehen können, wird zu diesem Zweck die bekannte Bibliothek boto3 verwendet. Sie werden jedoch schnell feststellen, dass sie nicht sofort einsatzbereit ist. Das Problem ist ein Authentifizierungsfehler, der durch die Überprüfung der Prüfziffer verursacht wird. Um dies zu beheben, müssen Sie die folgenden Zeilen hinzufügen:

import os
os.environ['AWS_REQUEST_CHECKSUM_CALCULATION']

Finden Sie das vollständige Skript auf github.

import httpx
import yaml
import os
from dotenv import load_dotenv
import io
import csv
import boto3
from botocore.client import Config
from pathlib import Path
from datetime import date, datetime, timezone
import time

env_path = Path(__file__).resolve().parents[2] / ".env"
load_dotenv(dotenv_path=env_path)

with open("config.yml", "r") as f:
    config = yaml.safe_load(f)

#------------ Config -----------------------------------

bucket_name = 'dataminded-terraform-test'
dataminded = config["companies"]["data-minded"]["id"]
dataminded_name = "data-minded"


# ------------------------------------------------------

def s3_client(config):
    os.environ['AWS_REQUEST_CHECKSUM_CALCULATION'] = 'WHEN_REQUIRED'
    s3 = boto3.client('s3',
                      endpoint_url = config["s3"]["endpoint"],
                      region_name = config["s3"]["region"],
                      aws_access_key_id = os.getenv("access_key"),
                      aws_secret_access_key = os.getenv("secret_key"),
                      config = Config(signature_version='s3v4')
                     )
    return s3

def object_name(filename):
    path = f"raw/company/{filename}/{date.today().strftime("%Y/%m/%d")}/{filename}_{datetime.now(timezone.utc).strftime("%Y_

Ein Blick in unseren Objektspeicher bestätigt, dass es funktioniert hat.

Data is stored as cvs files

Datenlager und Dashboard

Die Daten sind jetzt verfügbar und bereit, in ein Datenlager geladen zu werden, das dann von einem BI-Tool abgefragt wird, um ein Dashboard zu erstellen. Für das Datenlager wählte ich Databend, eine Open-Source-Alternative zu Snowflake. Für das Dashboard verwendete ich Metabase, das ebenfalls Open Source ist.

Bitte beachten Sie, dass diese Einrichtung nur für Test- und Demonstrationszwecke gedacht ist. Wie bereits erwähnt, sind Firewalls nicht konfiguriert, MFA ist nicht aktiviert, und sowohl Databend als auch Metabase sind als Container auf demselben Server installiert, den wir zuvor bereitgestellt haben. Alles auf einem einzelnen Server auszuführen ist keine bewährte Praxis, und beide Anwendungen verwenden ihre Standardbilder – Databend beispielsweise erfordert standardmäßig nicht einmal ein Passwort.

Diese Konfiguration skalieret sich nicht gut, obwohl das gesamte System mit mehr Aufwand skalierbar gemacht werden könnte. Das ist jedoch nicht das Thema dieser Demonstration. Verwenden Sie diese Konfiguration nicht in der Produktion!

Databend (vorausgesetzt, Sie haben Docker auf der VM installiert) ist bereit zur Verwendung mit


docker run --net=host datafuselabs/databend

für Metabase
docker run -d -p 3000:3000 --name metabase metabase/metabase Lassen Sie uns mit Databend beginnen. Nach der Installation können Sie sich mit jedem SQL-Client verbinden. DBeaver ist wieder eine gute Wahl. Alles, was Sie benötigen, ist die IP-Adresse der virtuellen Maschine, der Standardbenutzername (root) und der Port 8000.

Die nächsten Schritte umfassen:

  • Erstellen eines Schemas

  • Einrichten eines Staging-Bereiches mit S3 als Backend (nicht AWS S3, sondern dem Bucket, der auf Ionos erstellt wurde)

  • Erstellen einer externen Tabelle, die aus dem S3-Speicher liest

  • Erstellen einer internen Tabelle, die auf dem Server selbst gespeichert ist

  • Kopieren der .csv-Dateien aus S3 in die Tabellen zur weiteren Verarbeitung

Mein SQL-Skript:

create schema linkedin;

-- Erstellen der Stage
CREATE STAGE s3_stage
URL = 's3://dataminded-terraform-test/'
CONNECTION = (
ACCESS_KEY_ID = 'EEAAAAGJ...'
SECRET_ACCESS_KEY = 'n4KB0L...'
ENDPOINT_URL = 'https://s3.eu-central-3.ionoscloud.com');

-- Erstellen einer externen Tabelle
create or replace table linkedin.profiles(
id int
, name varchar
, global_name varchar
, url_linkedin varchar
, tagline varchar
, description varchar
, type varchar
, employees_counter int
, hq_area varchar
, hq_country varchar
, hq_city varchar
, hq_zip_code varchar
, industries varchar
, specialities varchar
, website varchar
, found int
, followers_counter varchar
)
's3://dataminded-terraform-test/linkedin-data/'
CONNECTION = (
ACCESS_KEY_ID = 'EEAAAAG...'
SECRET_ACCESS_KEY = 'n4KB0...'
ENDPOINT_URL = 'https://s3.eu-central-3.ionoscloud.com')
;


create or replace table linkedin.posts(
id int
, content varchar
, likes_count int
, comments_count int
, interest_count int
, empathy_count int
, reposts_count int
, posted_at varchar
, timestamp_posted varchar
, url varchar
)
's3://dataminded-terraform-test/linkedin-data/'
CONNECTION = (
ACCESS_KEY_ID = 'EEAAAAGJ...'
SECRET_ACCESS_KEY = 'n4KB0...'
ENDPOINT_URL = 'https://s3.eu-central-3.ionoscloud.com')
;


-- Daten aus externen kopieren
COPY INTO linkedin.profiles
FROM @s3_stage/raw/company/dataminded-profile/2025/05/02/dataminded-profile_2025_05_02_15_08_55.csv
FILE_FORMAT = (
TYPE = 'CSV',
skip_header=1
);


COPY INTO linkedin.posts
FROM @s3_stage/raw/company/dataminded-posts/2025/05/02/dataminded-posts_2025_05_02_15_10_41.csv
FILE_FORMAT = (
TYPE = 'CSV',
skip_header=1
);

So sollten Sie in der Lage sein, Daten in Databend abzufragen und einige neue Dateien im S3 zu beobachten.

Schema and tables created


Linkedin-data

Der letzte Schritt besteht darin, Metabase auszuführen und es mit Databend zu verbinden. Sie werden feststellen, dass Metabase Databend nicht sofort unterstützt. Databend bietet jedoch seinen eigenen JDBC-Treiber für die Integration an.

Um dies einzurichten:

  1. Erstellen Sie ein Verzeichnis auf Ihrem Server, um die Databend-Treiber zu speichern.

  2. Die Treiberdateien aus dem offiziellen Databend-Repository herunterladen.

  3. Ändern Sie Ihren Docker-Befehl, um dieses Verzeichnis in den Plugin-Pfad von Metabase (/plugins innerhalb des Containers) einzuhängen.

Sobald das eingebaut ist und Metabase neu gestartet wird, sollte Databend als verfügbarer Datentyp angezeigt werden. Sie können dann die Verbindung mit der IP, dem Port und den Standard-Anmeldeinformationen konfigurieren.

mkdir metabasecd metabasewget https://github.com/databendcloud/metabase-databend-driver/releases/download/v0.0.8/databend.metabase-driver.jardocker run -p 3000:3000 -v ./databend.metabase-driver.jar:/plugins/databend.metabase-driver.jar --name metabase metabase/metabase

Öffnen Sie Ihren Browser und gehen Sie zu http://<your-ip>:3000, um auf Metabase zuzugreifen. Wählen Sie Ihre bevorzugte Sprache aus, geben Sie Ihre Anmeldeinformationen ein und fahren Sie mit der Einrichtung fort. Sobald der benutzerdefinierte Databend-Treiber erkannt wird, können Sie Databend als Ihre Datenquelle auswählen und die Verbindung abschließen.


Choose your language



Now databend is available


Successfully connected

Technisches Ergebnis

Wie gezeigt, ist es nicht nur möglich, eine vollständige Infrastruktur, die hauptsächlich für Analysen gedacht ist, mit einem europäischen Cloud-Anbieter einzurichten, sondern in vielerlei Hinsicht vergleichbar mit der Arbeit mit US-basierten Anbietern. Können wir also einfach ohne weiteres zu ihnen wechseln? Leider geht das nicht ganz.

In diesem Fall schneidet Ionos insgesamt gut ab, aber es gibt einige klare Schmerzpunkte:

  • Die Dokumentation ist begrenzt und mangelhaft.

  • Die Community-Unterstützung ist klein, was es schwieriger macht, Lösungen oder Best Practices zu finden.

  • Selbst gehostete Open-Source-Lösungen erfordern mehr Fachwissen als sich auf verwaltete Dienste zu verlassen.

  • Es können spezifische Probleme auftreten, z. B. dass Metabase Daten von Databend nicht lesen kann. Wahrscheinlich eine Fehlkonfiguration meinerseits, aber es erfordert eine Untersuchung.

  • Wenn Sie auf bestimmte Dienste (z. B. MySQL anstelle von MariaDB oder ein integriertes Geheimnismanagement) angewiesen sind, müssen Sie diese selbst auf einer virtuellen Maschine betreiben und pflegen.

  • Aktuell werden keine Zertifizierungen angeboten. Es kann schwierig sein, Fachkräfte mit praktischer Erfahrung zu finden.

Das gesagt ist es immer noch einen Versuch wert. Kernservices wie S3-kompatibler Speicher und virtuelle Maschinen funktionieren zuverlässig. Sie werden nicht von einem überladenen Katalog von Diensten und Funktionen überwältigt, was die Komplexität überschaubar hält.

Und vielleicht am wichtigsten: Es ist ein europäischer Anbieter. Sie unterliegen nur europäischen und in diesem Fall deutschen Gesetzen, ohne Verstrickungen in US-Rechtsrahmen wie den CLOUD Act.

Von technischer Sichtweise ist es also nicht nur eine Option. Es ist eine Alternative für grundlegende Dienste, aber kein vollständiger Ersatz, wenn fortgeschrittenere Dienste benötigt werden.

Lassen Sie uns nun weitermachen und die Preise vergleichen.

Kostenvergleich

Jeder, der schon einmal versucht hat, Cloud-Kosten zu berechnen, weiß: Es ist nahezu unmöglich, eine genaue Zahl zu erhalten. Sie können schätzen, aber bei so vielen Variablen wie Region, API-Aufrufen, Verkehr, Skalierungsmustern, Diensttypen und häufigen Preisänderungen ist eine präzise Berechnung unrealistisch.

Die Anbieter zu vergleichen macht es noch komplexer. Dennoch habe ich eine grobe Schätzung vorbereitet, die sich auf zwei zentrale Kostentreiber konzentriert: virtuelle Maschinen und Datenspeicherung.

Annahmen:

Dies ist ein vereinfachtes Modell, um ein Gefühl für die Preise zu geben. Die tatsächlichen Kosten können je nach Ihrer Architektur, Rabattplänen, reservierten Instanzen, Spotpreisen und der Nutzung verwalteter Dienste erheblich abweichen.

Um die Kosten zu schätzen, nehmen wir an:

  • Sie speichern 1.000 GB Daten pro Monat

  • Sie betreiben eine virtuelle Maschine mit 32 CPUs und 128 GB RAM für 720 Stunden pro Monat (24/7)

  • Die Region ist Frankfurt, Deutschland

  • Wechselkurs zum Zeitpunkt der Berechnung: 1 USD = 0,8788 EUR

Monatliche Speicherkosten (für 1.000 GB):

  • AWS: 21,53 €

  • Azure: 17,30 €

  • GCP: 20,21 €

  • Ionos: 7,00 €

Monatliche Compute-Kosten (32 CPUs, 128 GB RAM, 720 Stunden):

  • AWS: 931,39 €

  • Azure: 874,44 €

  • GCP: 1.180,69 €

  • Ionos: 460,80 €

Jährliche Compute-Kosten (Speicher nicht angesammelt):

  • AWS: 11.430,02 €

  • Azure: 10.700,89 €

  • GCP: 14.410,81 €

  • Ionos: 5.613,60 €

Ionos ist deutlich günstiger als die großen US-Hyperscaler – mehr als 50 Prozent weniger in diesem Beispiel. Der Unterschied wird bei größeren Arbeitslasten noch deutlich größer. Wenn Sie nicht auf spezifische verwaltete Dienste angewiesen sind, kann ein europäischer Anbieter wie Ionos eine ernsthafte und kosteneffektive Alternative sein.

Natürlich gibt es wahrscheinlich zusätzliche Kosten, die von Ihrem spezifischen Setup abhängen. Dinge wie Netzwerk-Outbound-Kosten, API-Nutzung, Snapshots, Premium-Speicher oder Lizenzen können das Gleichgewicht verschieben. Darüber hinaus kann die Verwendung von Spot-Instanzen zu Kosten führen, die sogar unter Ionos liegen. Es ist auch möglich, dass einige Dienste bei Ionos teurer sind als bei den US-Hyperscalern. Schließlich sollten Sie die Kosten, die anfallen können, je mehr Sie selbst verwalten, nicht unterschätzen.

Dennoch wirbt selbst Ionos damit, dass es bis zu 50 Prozent günstiger ist als die großen US-Anbieter. Basierend auf diesem Beispiel hält diese Behauptung stand. Besonders für die Kerninfrastruktur wie Compute- und Speicherkosten ist der Preisunterschied signifikant.

Fazit

Das Ziel dieses Experiments war es, die Reife eines europäischen Cloud-Anbieters zu testen. Ionos hinterließ einen soliden Eindruck. Stabile Kernservices, gute Leistung, und eine konkurrenzfähige Benutzeroberfläche. Dennoch kann es die großen US-Hyperscaler nicht vollständig ersetzen. Wenn Ihre Arbeitsabläufe auf Funktionen wie AWS Lambda, BigQuery von Google oder verwaltete Orchestrierungsplattformen wie Airflow angewiesen sind, bleiben US-Anbieter nach wie vor essenziell. Darüber hinaus handelt es sich hierbei nur um einen sehr grundlegenden Test, der nur an der Oberfläche kratzt. In den Details könnten Überraschungen auftreten.

Und seien wir realistisch: Selbst wenn Sie zu Ionos oder einem anderen europäischen Anbieter migrieren, sind Sie immer noch in irgendeiner Form von US-Technologie abhängig. Alle (fast) Unternehmen laufen auf Windows und Office. Selbst wenn Sie auf Linux und LibreOffice umsteigen, werden Ihre Maschinen von Intel- oder AMD-Chips betrieben. Eine vollständige Unabhängigkeit von US-Technologie ist nicht nur unrealistisch, sondern auch nicht notwendig.

Aber hier ist der entscheidende Punkt: Den Zugriff auf Microsoft Word und Excel zu verlieren ist unangenehm. Den Zugriff auf Ihre Infrastruktur und Daten zu verlieren ist katastrophal.

Aus Preissicht sind die Vorteile überzeugend. Europäische Anbieter wie Ionos sind nicht nur günstiger, sie sind oft dramatisch günstiger. Das allein macht sie ernsthaft in Betracht zu ziehen wert.

Sie müssen nicht von heute auf morgen vollständig umsteigen. Ein schrittweiser Übergang, eine hybride oder Multi-Cloud-Strategie oder die Migration ausgewählter Arbeitslasten kann das Risiko verringern und gleichzeitig die Kontrolle erhöhen. Wenn nichts anderes, gewinnen Sie Erfahrung und Optionen.

Und im Moment sind Optionen wichtiger denn je.


Latest

Portable by design: Rethinking data platforms in the age of digital sovereignty
Portable by design: Rethinking data platforms in the age of digital sovereignty
Portable by design: Rethinking data platforms in the age of digital sovereignty

Portable by design: Rethinking data platforms in the age of digital sovereignty

Build a portable, EU-compliant data platform and avoid vendor lock-in—discover our cloud-neutral stack in this deep-dive blog.

Cloud-Unabhängigkeit: Test eines europäischen Cloud-Anbieters gegen die Giganten
Cloud-Unabhängigkeit: Test eines europäischen Cloud-Anbieters gegen die Giganten
Cloud-Unabhängigkeit: Test eines europäischen Cloud-Anbieters gegen die Giganten

Cloud-Unabhängigkeit: Test eines europäischen Cloud-Anbieters gegen die Giganten

Kann ein europäischer Cloud-Anbieter wie Ionos AWS oder Azure ersetzen? Wir testen es – und finden überraschende Vorteile in Bezug auf Kosten, Kontrolle und Unabhängigkeit.

Hören Sie auf, schlechte Qualitätsdaten zu laden
Hören Sie auf, schlechte Qualitätsdaten zu laden
Hören Sie auf, schlechte Qualitätsdaten zu laden

Vermeide schlechte Daten von Anfang an

Das Erfassen aller Daten ohne Qualitätsprüfungen führt zu wiederkehrenden Problemen. Priorisieren Sie die Datenqualität von Anfang an, um nachgelagerte Probleme zu vermeiden.

Hinterlasse deine E-Mail-Adresse, um den Dataminded-Newsletter zu abonnieren.

Hinterlasse deine E-Mail-Adresse, um den Dataminded-Newsletter zu abonnieren.

Hinterlasse deine E-Mail-Adresse, um den Dataminded-Newsletter zu abonnieren.

Belgien

Vismarkt 17, 3000 Leuven - HQ
Borsbeeksebrug 34, 2600 Antwerpen


USt-IdNr. DE.0667.976.246

Deutschland

Spaces Kennedydamm,
Kaiserswerther Strasse 135, 40474 Düsseldorf, Deutschland


© 2025 Dataminded. Alle Rechte vorbehalten.


Vismarkt 17, 3000 Leuven - HQ
Borsbeeksebrug 34, 2600 Antwerpen

USt-IdNr. DE.0667.976.246

Deutschland

Spaces Kennedydamm, Kaiserswerther Strasse 135, 40474 Düsseldorf, Deutschland

© 2025 Dataminded. Alle Rechte vorbehalten.


Vismarkt 17, 3000 Leuven - HQ
Borsbeeksebrug 34, 2600 Antwerpen

USt-IdNr. DE.0667.976.246

Deutschland

Spaces Kennedydamm, Kaiserswerther Strasse 135, 40474 Düsseldorf, Deutschland

© 2025 Dataminded. Alle Rechte vorbehalten.