AZURE → STACKIT · SERVICE MAPPING
Azure vs STACKIT: service mapping
De meeste Azure-diensten hebben een STACKIT-tegenhanger, maar de aard van het werk verschilt: een PostgreSQL-server valt onder Replatforming, een Key Vault onder Herconfiguratie en een Cosmos DB-account voor de NoSQL-API is een redesign. Deze pagina toont de paren uit een beoordeelde Azure-omgeving en de instellingen die niet worden overgenomen.
Welke STACKIT-doelen bij een beoordeelde Azure-omgeving horen
Voor deze pagina is een omgeving van 13 resources opgesteld, die StackToIT op 4 november 2026 heeft beoordeeld. De 13 resources vormen 9 eenheden: de resourcegroep, de wachtrij, de blobcontainer en het service plan worden gelezen als onderdeel van de eenheden die ze gebruiken. Zeven eenheden kregen een Terraform-blok, één heeft geen STACKIT-resource nodig en één is aan een architect overgelaten.
| Azure-resource | STACKIT-doel | Migratieklasse |
|---|---|---|
| PostgreSQL flexible server | PostgreSQL Flex-instance, database en gebruiker | Replatforming |
| Storage account met een blobcontainer | Object Storage-bucket, met een credentials group en credential | Replatforming |
| Service Bus-namespace met een wachtrij | Eén RabbitMQ-instance waarop de wachtrijen en exchanges draaien | Replatforming |
| Linux-webapp op een App Service-plan | Cloud Foundry-organisatie; de app wordt erin gepusht | Replatforming |
| Key Vault | Secrets Manager-instance, met STACKIT KMS voor sleutels | Herconfiguratie |
| Azure Cache for Redis | Key Value Store-instance (Valkey) met een credential | Herconfiguratie |
| Virtueel netwerk | Geen eigen resource; projectnetwerk of een Network Area | Herconfiguratie |
| Subnet | STACKIT-netwerk met hetzelfde IPv4-prefix | Herconfiguratie |
| Cosmos DB-account (NoSQL-API) | MongoDB Flex of PostgreSQL Flex met JSONB, na een redesign van het datamodel | Redesign |
Klassen zoals de run ze bepaalde, alle met zekerheidsniveau MEDIUM: de versie van de bronprovider is niet vastgezet met een lockbestand, en de run begrenst het zekerheidsniveau dan op MEDIUM. De doelkolom noemt de resources die het assessment voorstelt. Het concept schrijft de instance, de bucket of de organisatie; gebruikers en credentials voor PostgreSQL, Object Storage, Secrets Manager en RabbitMQ worden apart aangemaakt, terwijl bij Valkey de credential deel uitmaakt van het concept.
Diensten die niet in de run zaten
De openbare StackToIT-documentatie en de samengestelde mappinglijst bevatten meer paren. Ze maakten geen deel uit van deze demo-omgeving, dus de onderstaande klassen zijn de gebruikelijke en geen resultaat voor uw omgeving.
| Azure-dienst | STACKIT-doel | Gebruikelijke klasse |
|---|---|---|
| Virtuele machines | Compute Engine | Herconfiguratie |
| Azure Kubernetes Service | STACKIT Kubernetes Engine (SKE) | Replatforming |
| Azure SQL, SQL Managed Instance | SQLServer Flex | Replatforming |
| Functions | Cloud Foundry of SKE | REPLATFORM of CONTAINERIZE |
| Azure Firewall | Per geval te bepalen door een architect | Beslissing van de architect |
Een cache en een bucket, omgezet
Uit dezelfde run. Links: de Azure-invoer. Rechts: de resourceblokken van de STACKIT-Terraform die de engine schreef; de beoordelingsopmerkingen boven elk blok in het bestand zijn hier weggelaten.
resource "azurerm_redis_cache" "sessions" {
name = "redis-shop-sessions"
location = azurerm_resource_group.shop.location
resource_group_name = azurerm_resource_group.shop.name
capacity = 1
family = "C"
sku_name = "Standard"
minimum_tls_version = "1.2"
}resource "stackit_valkey_instance" "sessions" {
project_id = var.project_id
name = "redis-shop-sessions"
plan_name = var.sessions_plan_name
version = var.sessions_version
parameters = {
sgw_acl = join(",", var.sessions_allowed_cidrs)
}
}
resource "stackit_valkey_credential" "sessions" {
project_id = var.project_id
instance_id = stackit_valkey_instance.sessions.instance_id
}De omvang van de cache kiest u zelf
family = C en capacity = 1 hebben geen Valkey-equivalent. De code neemt het plan en de versie op als variabelen, en de clients krijgen een nieuwe host en een gegenereerde credential.
Data in de cache wordt meestal opnieuw opgebouwd
Een sessiecache wordt op het doel normaal gesproken opnieuw opgewarmd in plaats van gekopieerd. Daarom is de klasse RECONFIGURE en niet REPLATFORM.
Storage accounts worden buckets
De blobcontainer wordt één bucket, genoemd naar het account en de container. De opmerkingsregels rechts zijn de notities van de engine bij de bucket, in de volgorde van het bestand; de waarschuwing over de providerversie en de traceerregel zijn weggelaten.
resource "azurerm_storage_account" "media" {
name = "stshopmediagwc"
resource_group_name = azurerm_resource_group.shop.name
location = azurerm_resource_group.shop.location
account_tier = "Standard"
account_replication_type = "GRS"
min_tls_version = "TLS1_2"
}
resource "azurerm_storage_container" "images" {
name = "images"
storage_account_id = azurerm_storage_account.media.id
container_access_type = "private"
}# NOT CARRIED (azurerm_storage_account.media): account_tier = Standard — stackit_objectstorage_bucket has name and object_lock only (pinned provider): the account's kind, performance tier and access tier are not generated.
# NOT CARRIED (azurerm_storage_account.media): account_replication_type = GRS — the replication is not generated: stackit_objectstorage_bucket has no replication setting (pinned provider) (STACKIT replicates within the region across three availability zones).
# WARNING storage-geo-replication: Geo-redundant replication to a paired region; STACKIT Object Storage has no managed cross-region replication, so a second copy needs its own sync job.
# REPLICATION: the source replicates to another region; STACKIT Object Storage does not replicate across regions — sync to a bucket in the second region (rclone) if the copy is required.
# LEDGER geo-replication: second region → none — sync to a second bucket if required — UNSUPPORTED
resource "stackit_objectstorage_bucket" "media" {
project_id = var.project_id
name = "stshopmediagwc-images"
}Een andere API, niet alleen een nieuw endpoint
Azure Blob is niet S3-compatibel, dus applicaties stappen over van de Azure Storage SDK naar een S3-SDK en van accountsleutels of SAS-tokens naar S3-toegangssleutels. De documentatie van STACKIT Object Storage beschrijft een S3-compatibele API via HTTPS.
Geo-replicatie wordt niet overgenomen
Het account gebruikte GRS. Het bucketblok heeft geen replicatie-instelling, dus een tweede kopie in een andere regio zet u zelf op, bijvoorbeeld met rclone.
Instellingen die in de praktijk knellen
Deze komen uit de notities over niet overgenomen eigenschappen en de redenen van de run, bij de eenheid waartoe ze behoren.
Resourcegroepen
STACKIT kent geen resourcegroepen. Het concept plaatst elke resource in één project (de variabele project_id), en een medewerker bepaalt hoe de groepen worden gekoppeld aan projecten en rollen.
Private databases
public_network_access_enabled = false heeft geen tegenhanger. Clients bereiken de PostgreSQL Flex-instance via de ACL, dus u noemt hun CIDR's in een variabele zonder standaardwaarde.
Instellingen van Key Vault
Purge protection, retentie voor soft delete, tenant en toegangsbeleid worden niet gegenereerd. Secrets worden één voor één opnieuw aangemaakt in de Secrets Manager-instance.
Instellingen van App Service
De Cloud Foundry-organisatie is alleen een container. Runtimeversie, plan en instellingen gaan naar een manifest en servicebindings.
Instellingen van Service Bus
De tier van de namespace wordt niet overgenomen, en max_delivery_count = 10 van de wachtrij orders evenmin. Wachtrijen en topics worden geconfigureerd als queues en exchanges in de RabbitMQ-instance.
Cosmos DB
Consistentieniveaus, partitiesleutels en de change feed moeten opnieuw worden ontworpen, en de run schrijft geen Terraform voor het account.
De eenheid die aan een architect is overgelaten
Het Cosmos DB-account voor de NoSQL-API is de enige eenheid van de omgeving zonder concept. Het assessment legt de klasse, de kandidaat-doelen en de reden vast.
resource "azurerm_cosmosdb_account" "catalog" {
name = "cosmos-shop-catalog"
location = azurerm_resource_group.shop.location
resource_group_name = azurerm_resource_group.shop.name
offer_type = "Standard"
kind = "GlobalDocumentDB"
consistency_policy {
consistency_level = "Session"
}
geo_location {
location = "germanywestcentral"
failover_priority = 0
}
}{
"id": "azurerm_cosmosdb_account.catalog",
"result": {
"class": "REDESIGN",
"confidence": "MEDIUM",
"target": {
"service": "STACKIT MongoDB Flex or PostgreSQL Flex (JSONB) — data-model redesign",
"resources": [
"stackit_mongodbflex_instance"
]
},
"reason": "The NoSQL (Core/SQL) API is Cosmos DB's own protocol and query dialect; nothing else speaks it. The access layer is rewritten for MongoDB Flex or PostgreSQL JSONB, and partition-key design, consistency levels and change feed are re-thought."
}
}De mapping gebruiken op uw eigen omgeving
Beoordeel de Terraform
Voer het assessment uit op de AzureRM- of AzAPI-rootmodule. De engine leest bestanden en maakt geen verbinding met een Azure-account.
Lees de klasse vóór het doel
REPLATFORM en RECONFIGURE betekenen dat het werk afgebakend is. REDESIGN en MANUAL_REVIEW betekenen dat eerst een architect een beslissing neemt.
Open de notities over niet overgenomen eigenschappen
Elk blok somt op wat het niet overneemt. Die regels vormen uw werklijst voor instellingen, toegang en dimensionering.
Controleer de dataverplaatsing apart
De run toont de stateful eenheden en laat de methode open. Omvang, wijzigingsfrequentie en toegestane downtime bepalen die, en de bron vermeldt geen van drieën.
Vragen over de mapping
Heeft elke Azure-dienst een STACKIT-equivalent?
Nee. Virtuele machines, Kubernetes, PostgreSQL, SQL Server, objectopslag, secrets, cache en messaging hebben een tegenhanger. Voor Azure Firewall wordt per geval beslist, en Cosmos DB voor de NoSQL-API heeft geen equivalent dat hetzelfde protocol ondersteunt, dus het is een redesign.
Waarom is Key Vault RECONFIGURE en niet REPLATFORM?
Het doel is een Vault-compatibele key-value store met een eigen client, dus applicaties stappen over van de Key Vault SDK of Key Vault-referenties naar een Vault-client of injectie door het platform. Sleutels gaan naar STACKIT KMS, een tweede dienst.
Waarom is het virtuele netwerk een eenheid zonder resource?
STACKIT kent in het model van de engine geen VNet-container. Elk subnet wordt een netwerk, en een Network Area komt er alleen bij als netwerken elkaar privé moeten bereiken.
Kan ik de klassen gebruiken om de inspanning in te schatten?
Ze tonen het soort werk, niet de omvang. Lees de notities over niet overgenomen eigenschappen en de openstaande beslissingen van elke eenheid, want een klasse alleen geeft niet alle vereisten weer.
Bronnen
Uw volgende stap: STACKIT.
Vertel ons over uw omgeving, dan laten wij zien wat StackToIT daarvoor oplevert: doelarchitectuur, Terraform-artefacten en een gestructureerd migratieplan.
Laat uw gegevens achter, onze specialisten nemen contact met u op.
Liever zelf een e-mail sturen? connect@stacktoit.com
Hartelijk dank.
Uw verzoek is bij ons binnengekomen. Onze specialisten nemen contact met u op.