Skip to main content
hem / delad kunskap / blogg / logic apps hybrid – den kompletta guiden

Logic Apps Hybrid – den kompletta guiden

Logic Apps Hybrid Deployment Model låter er köra Azure-integrationer lokalt i ert eget nät – med Azure som kontrollplan och er egen infrastruktur som dataplattform. Den här guiden går igenom allt som krävs för att komma igång: Kubernetes-kluster, SQL, SMB-utdelning, behörigheter och Azure-sidan – så att ni har full kontroll innan ni sätter igång, oavsett om nästa steg är ett eget projekt eller ett samarbete med en specialist.
Logic Apps Hybrid Deployment Model – steg-för-steg guide från noll till redo att bygga integrationer lokalt, av Contica

När passar Logic Apps Hybrid?

Logic Apps Hybrid är rätt val när ni har data som inte får lämna ert nät men ändå vill utnyttja Azure-ekosystemet (managed connectors, utveckling i VS Code, styrning via Arc).


Arkitektur

Arkitekturen förklaras bäst i två diagram. Det första visar var saker bor: den fysiska topologin och gränsen mellan Azure och ert lokala nät. Det andra visar vad som händer över tid: den faktiska sekvensen från driftsättning till loggning när ett workflow körs.

Topologi: var komponenterna bor

Diagrammet nedan är uppdelat i två zoner med en brandväggslinje emellan.

Överst: Azure-sidan, kontrollplanet som hanterar styrning, secrets, loggning och managed connectors.

Under: ert lokala nät, där själva arbetet händer, inklusive Logic Apps-poddarna, SQL-databasen och SMB-utdelningen.

De två zonerna kopplas ihop av en enda linje: utgående TCP 443 från klustret till Azure. All verksamhetsdata stannar i den nedre zonen.

Logic Apps Hybrid topologi – Azure Arc som kontrollplan med Kubernetes-kluster, SQL och SMB-share i lokalt nät, kopplat via utgående TCP 443

Diagram 1 — Infrastruktur-topologi. Hela dataplanet (Logic Apps-podar, SQL, SMB) ligger i ert nät. Azure-sidan hanterar konfiguration, observability och managed connectors via :443 utgående.

Runtime-flöde när ett workflow körs

När topologin är på plats kan ni följa vad som händer från att ni trycker “deploy” i VS Code till att workflow:et loggar sitt första resultat. Diagrammet numrerar de tio stegen i ordning.

Steg 1–6 är driftsättning och initiering: Arc tar emot definitionen, Container Apps-tillägget startar en pod-replika, poden monterar artefakt-volymen via SMB CSI-drivrutinen, läser anslutningssträngen från Key Vault och initierar SQL-schemana.

Steg 7–10 är själva körningen: SQL-persistens av körtillstånd och historik, läsning av transformer och scheman från artefakt-volymen, utgående anrop till managed connectors, och podd-loggar som Container Apps-tilläggets logProcessor skickar vidare till Log Analytics.

Notera markeringen längst ner: Log Analytics-arbetsytan måste vara kopplad redan vid installationen av tillägget. Det går inte att lägga till i efterhand.

Logic Apps Hybrid runtime-flöde – sekvens från workflow-deploy via Azure Arc och Container Apps-tillägg till SQL-persistens och loggning i Log Analytics

Diagram 2 — Runtime-flöde. Sekvens från driftsättning till loggning. Initieringsfasen (1–6) förbereder poden, triggerbarriären skiljer init från körning, och körningsfasen (7–10) visar hur workflow-körningar persisteras i SQL, läser artefakter från SMB-volymen, anropar managed connectors och skickar loggar till Log Analytics via Container Apps-tillägget.

Tre saker att ha i minnet:

  • Verksamhetsdata stannar on-prem. Workflow-körtillstånd och historik persisteras i er SQL-databas, och artefakter (transformer, scheman, DLL:er) ligger på er SMB-utdelning. Ingen verksamhetsdata lagras i Azure. Poden gör dock utgående anrop till Azure för managed connectors, för att läsa secrets från Key Vault och för att skicka loggar till Log Analytics.
  • All kontrollplanstrafik är utgående på TCP 443. Arc-agenten, Container Apps-tillägget och själva poden initierar utgående sessioner från klustret till Azure-endpoints; svaren kommer tillbaka på samma session. Inga inkommande portar öppnas från Azure mot ert nät. Inom ert interna nät behöver poden däremot nätverksväg till SQL (TCP 1433) och SMB (TCP 445). Exponerar ni Envoy-ingressen (publik eller intern LB) tar den emot inkommande HTTP-trafik från sina egna klienter, men inte från Azure.
  • Upp till 24 timmars frånkoppling stöds av Microsoft. Workflows som bara använder inbyggda connectors och lokala resurser (SQL, SMB, ingress-trafik) fortsätter köra även om anslutningen till Azure går ner. Workflows som anropar managed connectors, Key Vault eller andra Azure-tjänster misslyckas under frånkoppling. Podd-loggar buffras lokalt och skickas till Log Analytics när anslutningen är tillbaka; körhistoriken ligger redan säkert i er SQL-databas och påverkas inte.

Förberedelser innan ni sätter upp Logic Apps Hybrid

Innan installationssekvensen måste fyra områden vara på plats: Kubernetes-plattform, SQL, SMB-utdelning och Azure-sidan. Bocka av listan innan ni går vidare.

Område Vad ni behöver
Kubernetes-kluster AKS i Azure (enklast, kräver ExpressRoute/VPN till on-prem SQL och SMB), eller AKS on Azure Local / Arc-enabled K8s on Windows Server om podden ska köra on-prem. Autoscaler aktiverad, kubectl + helm installerat
SQL-databas SQL Server on-prem, Azure SQL Database eller Managed Instance. SQL-auth-konto (managed identity stöds inte för storage provider)
SMB-share Windows-filutdelning med unik sökväg per Logic App, AD-konto med läs/skriv-rätt, namnupplösning från klustret
Azure-prenumeration Rätt att registrera resource providers
Key Vault För SQL connection strings, SMB-creds, certifikat
Log Analytics-workspace Skapas innan Container Apps-tillägget installeras (kan inte ändras senare)
Resource providers Microsoft.ExtendedLocation, Microsoft.Kubernetes, Microsoft.KubernetesConfiguration, Microsoft.App, Microsoft.OperationalInsights

Detaljerna per område:

Kubernetes-plattform

Microsoft stöder Logic Apps Hybrid på tre namngivna Arc-plattformar. Valet påverkar var podden fysiskt kör — och därmed hur trafiken till er on-prem SQL och SMB-utdelning ser ut.

  • AKS (Azure Kubernetes Service) — rekommenderas för de flesta. Hanterat kontrollplan, inbyggd autoskalning, snabbast väg till POC och minst underhåll. Viktigt att förstå: klustret och därmed Logic Apps-podden körs i Azure. Varje workflow-anrop som läser eller skriver till on-prem SQL (TCP 1433) eller SMB (TCP 445) går från Azure ut till ert nät. Det kräver en stabil, privat nätverksväg — ExpressRoute eller Site-to-Site VPN — och ni får latens och egress-kostnader per anrop. Verksamhetsdata lagras fortfarande on-prem, men den är inte längre “nära” podden.
  • AKS on Azure Local (tidigare Azure Stack HCI 23H2). Klustret körs on-prem på er HCI-hårdvara. Podden sitter i samma datacenter som SQL och SMB, så anropen går över ert interna LAN — ingen korsning av Azure-gränsen för datatrafik. Välj detta om ni redan har HCI-infrastruktur, har regulatoriska krav på att compute stannar on-prem, eller vill undvika latens/egress mot SQL och SMB.
  • Arc-enabled Kubernetes on Windows Server. Klustret körs on-prem på Windows Server med Linux-noder (eller stöd för Windows-noder via Arc). Samma on-prem-fördelar som Azure Local men utan HCI-kravet. Välj detta om ni har en Windows-först-drift och vill köra K8s på befintlig hårdvara.

Tumregel:

  • Vill ni ha äkta on-prem-drift av hela integrationsplattformen (podd + data)? Välj en av de två Arc-alternativen ovan.
  • Är det enbart data-residency ni behöver och ni accepterar ExpressRoute/VPN-beroendet? AKS i Azure är enklast.

Krav oavsett plattform: autoskalning konfigurerad (en POC kan börja med min 1 och max 6 noder och trimmas efter last), kubectl och helm installerade på er driftsättningsmaskin. Aktuell lista över stödda Kubernetes-distributioner finns i Microsofts Limitations-avsnitt — Supported Azure Arc-enabled Kubernetes clusters.

SQL-databas

Använd befintlig SQL. Hybrid stöder fyra alternativ:

Alternativ Passar när Notering
SQL Server on-prem Ni har egen licensierad SQL-instans BizTalks medföljande SQL-runtime-rättigheter gäller endast BizTalks egna databaser — verifiera med ert Microsoft-avtal innan ni återanvänder instansen för Logic Apps
Azure SQL Database Ingen on-prem SQL, OK med molnlagring Mot Hybrid-filosofin, men stöds
Azure SQL Managed Instance Lift-and-shift SQL Server med VNET Alternativ för större miljöer
SQL Server enabled by Azure Arc On-prem SQL som projiceras in i Azure för styrning Ger enhetlig hantering mellan Azure-sidan och on-prem

SQL-autentisering krävs. Managed identity stöds inte för storage provider. Anslutningssträngen måste innehålla användarnamn och lösenord och förvaras i Key Vault. Detta är ett hårt krav från Microsoft.

SMB-filutdelning (artefakt-lagring)

Artefaktlagringen är platsen där transformer, scheman och DLL:er lever. Logic Apps-podden monterar utdelningen vid start och läser artefakter under körning. Två alternativ:

  • Windows-filutdelning on-prem. Vanligast, återanvänder AD-uppgifter
  • Azure Files. Microsoft listar detta som ett testalternativ. Passar för POC eller om ni kör AKS i Azure, men går emot Hybrid-filosofin för produktion

Krav: unik sökväg per Logic App (inte per miljö), administratörsrättigheter på Windows-servern för att skapa utdelningen och sätta behörigheter (engångsjobb), ett AD-konto med läs/skriv-rätt som CSI-drivrutinen använder för att montera utdelningen, namnuppslagning av SMB-värden från klustret.

Azure-sidan

  • Prenumeration med rätt att registrera resource providers: Microsoft.ExtendedLocation, Microsoft.Kubernetes, Microsoft.KubernetesConfiguration, Microsoft.App, Microsoft.OperationalInsights
  • Key Vault för SQL-anslutningssträngar, SMB-uppgifter och eventuella certifikat
  • Container Registry (ACR i Azure, eller en privat lokal spegling om ni sitter bakom proxy). Notera att Hybrid inte kan köras fullständigt air-gapped — Arc-agenten kräver utgående TCP 443 mot Azure, och Logic Apps-runtime-imagen pullas från MCR
  • Log Analytics-arbetsyta. Måste anges vid installation av Container Apps-tillägget och kan inte läggas till i efterhand (se steg 5)

Resource provider-registrering:

# Sätt rätt prenumerationskontext först
az account set --subscription "<subscription-id-eller-namn>"

# Registrera providers (--wait blockerar tills status = Registered,
# vilket krävs innan Arc-connect och extension-installation i steg 3 och 5)
az provider register --namespace Microsoft.ExtendedLocation --wait
az provider register --namespace Microsoft.Kubernetes --wait
az provider register --namespace Microsoft.KubernetesConfiguration --wait
az provider register --namespace Microsoft.App --wait
az provider register --namespace Microsoft.OperationalInsights --wait

# Verifiera att alla fem är Registered
for ns in Microsoft.ExtendedLocation Microsoft.Kubernetes Microsoft.KubernetesConfiguration Microsoft.App Microsoft.OperationalInsights; do
  echo -n "$ns: "
  az provider show --namespace $ns --query registrationState -o tsv
done

Behörigheter: vem behöver vad

Hybrid-installationen kräver rättigheter i fyra separata system. Bocka av behörigheterna innan ni börjar. Halvvägs in i sekvensen är det för sent att öppna en serviceticket.

Azure RBAC (prenumerations- och resursgruppsnivå)

Minsta behörighet för personen som kör installationen:

Scope Roll Varför
Prenumeration Contributor på prenumerationsnivå eller kombinationen nedan Krävs för att registrera resource providers och skapa resursgrupper
Prenumeration Custom role med Microsoft.Resources/providers/register/action + Microsoft.Resources/subscriptions/resourceGroups/write Alternativ om Contributor är för brett — det finns ingen smalare inbyggd roll för RP-registrering
Resursgrupp Contributor Skapa AKS, Key Vault, Log Analytics-arbetsyta, custom location, connected environment
Resursgrupp Azure Kubernetes Service Cluster Admin Role Hämta kubeconfig via az aks get-credentials --admin
AKS-klustret Azure Arc Kubernetes Cluster Admin Projicera klustret in i Azure Arc och installera Container Apps-tillägget
Custom location Contributor på custom location-resursen (tilldelas automatiskt till den som kör az customlocation create). Loggar ni in med service principal eller begränsad Entra-användare: kör dessutom az connectedk8s enable-features --features cluster-connect custom-locations --custom-locations-oid <oid> för att aktivera custom locations på klustret Driftsätta connected environment och Logic Apps mot platsen
Key Vault Key Vault Administrator (för att skapa och sätta secrets) + Key Vault Secrets User (för Logic App:ens managed identity) Lagra och läsa anslutningssträngar och SMB-uppgifter
Log Analytics Log Analytics Contributor Skapa arbetsyta, läsa shared key

Microsoft Entra ID (tidigare Azure AD)

Hybrid-körningen kan inte använda managed identity för managed API connections (hårt krav från Microsoft). Ni måste därför skapa en app-registrering i Entra vars client ID och client secret används av Logic Apps-runtimen för att autentisera connector-anrop. Samma app-registrering används om ni vill göra zip-deploy från VS Code i stället för SMB-deploy.

Behörighet Varför
Application Administrator eller Cloud Application Administrator Skapa app-registrering i Entra-tenanten
Owner på den skapade appen (tilldelas automatiskt till skaparen) Skapa client secret som sparas i Logic App:ens miljövariabler (WORKFLOWAPP_AAD_CLIENTID, WORKFLOWAPP_AAD_OBJECTID, WORKFLOWAPP_AAD_TENANTID, WORKFLOWAPP_AAD_CLIENTSECRET) eller som Container Apps-secret

Inga Microsoft Graph-behörigheter och ingen tenant-admin-consent behövs — appen används enbart som client credential för Logic Apps-runtimen, inte för att anropa Graph.

Om er Entra-admin är en separat person: lämna över client-id, object-id, tenant-id och client secret innan ni börjar steg 10.

Kubernetes RBAC (inuti klustret)

Behörighet Varför
cluster-admin ClusterRole på AKS Installera CSI-drivrutinen, skapa namespace, applicera extension-resurser
Fullständig åtkomst till kube-system namespace SMB CSI-drivrutinen installeras där
Behörighet att skapa CRD:er (cluster-scope) Container Apps-tillägget och Arc-agenten registrerar flera CRD:er för att projicera klustret, containerappar och Logic Apps-revisioner till Azure

Efter installationen kan ni snäva in dagligdriftsrollerna, men själva installationen kräver full admin.

SQL Server (on-prem, Azure SQL eller Arc-enabled SQL)

Behörighet Vem Varför
dbcreator på server-nivå Installationskontot Skapa den tomma storage-databasen (engångsjobb; kan även ersättas av att en DBA skapar databasen manuellt)
db_owner på storage-databasen vid första körning Logic Apps runtime-kontot (SQL-auth) Runtimen skapar schema (tabeller, stored procs, index) automatiskt vid första start. Anslutningssträngen lagras i Key Vault
db_ddladmin + db_datareader + db_datawriter i steady-state (alternativt behålla db_owner) Logic Apps runtime-kontot Körhistorik, tillstånd, triggers. db_ddladmin behövs löpande eftersom runtime-uppgraderingar kan lägga till tabeller
Brandväggsregel för klustrets utgående IP (eller Private Endpoint) på TCP 1433 Nätverksansvarig Klustret måste nå SQL

Managed identity är inte ett alternativ här. Microsoft har låst storage provider till SQL-auth.

SMB-share (Windows-filutdelning eller Azure Files)

Behörighet Vem Varför
Lokal admin på filservern (eller share Owner) Installationskontot på Windows-servern Skapa den gemensamma utdelningen samt en unik undermapp per Logic App innan första deployment (MS Learn: samma path får inte återanvändas)
Läs/skriv på share-nivå (drift) AD-servicekonto som Logic Apps-podden använder Läser transformer, scheman och DLL:er under körning
NTFS: Modify på artefaktmappen Samma servicekonto Loggar och tillfälliga filer
SMB-port 445 öppen från kluster till filserver Nätverksansvarig Annars misslyckas mount

On-prem nätverk och brandvägg

  • Utgående TCP 443 från klustret till Azure-endpoints (Arc, ARM, Container Registry, Log Analytics, managed connectors). Se Azure Arc-nätverkskrav för fullständig FQDN-lista.
  • TCP 1433 från kluster till SQL Server (om on-prem)
  • TCP 445 från kluster till SMB-servern
  • DNS-upplösning av både Azure-endpoints och on-prem hostnames från klusternoderna

Sammanfattning. Vem ska ni ha i rummet:

  1. Azure-admin med Subscription Contributor
  2. Entra-admin med Application Administrator (skapar app-registrering för managed-connection auth)
  3. DBA med server-admin på SQL-instansen
  4. AD/fil-admin som kan skapa servicekonto och sätta share-/NTFS-rättigheter
  5. Nätverks-/brandväggs-admin som kan öppna 443/1433/445 och DNS
  6. Kubernetes-operatör med cluster-admin

I mindre organisationer är det samma person i flera roller, men besluten och godkännandena måste ändå finnas på plats innan installationen startar.

📘 Microsoft Learn: Prerequisites for Logic Apps hybrid deployment · 📘 Azure Arc-enabled Kubernetes — network requirements · 📘 Azure built-in roles


Installationssekvens: från tomt kluster till första workflow

Logic Apps Hybrid installationssekvens – 10 steg från Kubernetes-kluster och Azure Arc till driftsatt workflow, inklusive SMB CSI, Container Apps-tillägg och Key Vault

Kör stegen i ordning. Varje steg beskrivs med vad som händer, varför, exakt kommando och hur ni verifierar att det gick rätt. Räkna med 2–4 timmar för hela sekvensen första gången, och under en timme när ni har gjort det en gång tidigare.

Klicka på ett steg för att hoppa direkt dit

Guiden är uppbyggd som en sekvens – kör stegen i ordning. Använd knapparna nedan om du redan är igång och vill hoppa till ett specifikt steg.

💡 Så här läser du installationssekvensen: Varje steg nedan är en drop-down. Klicka på rubriken för att expandera steget och se kommandon, förklaringar och hur ni verifierar att det gick rätt. Då kan ni följa guiden i er egen takt och hoppa tillbaka till rätt steg när ni behöver.

  • Steg 1: Skapa Kubernetes-kluster med autoscaler

    Vad: Ett AKS-kluster med 1–6 noder som autoskalar baserat på belastning från poddarna.

    Varför: Container Apps-tillägget och KEDA kräver ett kluster som kan växa när workflows belastar miljön. 1 nod som POC-minimum och 6 som skyddstak.

    Kommando (AKS i Azure):

    az group create --name rg-logicapps-hybrid --location swedencentral
    
    az aks create \
      --resource-group rg-logicapps-hybrid \
      --name aks-logicapps \
      --enable-cluster-autoscaler \
      --node-count 1 \
      --min-count 1 \
      --max-count 6 \
      --node-vm-size Standard_D4s_v5 \
      --generate-ssh-keys
    
    az aks get-credentials --resource-group rg-logicapps-hybrid --name aks-logicapps --admin

    Tips — produktionssättning: För produktion, höj --min-count till minst 2 så att klustret överlever att en nod går ner under patchning eller hårdvarufel. --node-count 1 är endast lämpligt för POC.

    Verifiera:

    kubectl get nodes
    # Expected: 1 node Ready

    📘 AKS docs · 📘 AKS cluster autoscaler

  • Steg 2: Installera SMB CSI-drivrutin

    Vad: Ett Helm-chart som låter Kubernetes montera SMB-utdelningar som volymer i poddar.

    Varför: Logic Apps-poddarna måste kunna montera er artefaktutdelning. Det är den standardiserade vägen.

    Kommando:

    helm repo add csi-driver-smb https://raw.githubusercontent.com/kubernetes-csi/csi-driver-smb/master/charts
    helm install csi-driver-smb csi-driver-smb/csi-driver-smb \
      --namespace kube-system \
      --version v1.18.0
    # v1.18.0 är golvnivån som Container Apps on Arc-dokumentationen
    # kräver (Limitations). Logic Apps Hybrid-sidan visar v1.15.0 i sitt
    # eget install-exempel, men eftersom Container Apps on Arc faktiskt
    # driver SMB-mountsen i Hybrid är v1.18.0 den striktare — och rätta —
    # lägsta nivån. Senare versioner (v1.20.1 var senaste stabila vid
    # publicering) fungerar; pinna alltid en version i produktion.

    Verifiera:

    kubectl rollout status deployment csi-smb-controller -n kube-system
    # Expected: deployment "csi-smb-controller" successfully rolled out
    
    kubectl get pods -n kube-system -l app=csi-smb-controller
    # Expected: csi-smb-controller-<hash>   3/3   Running

    🐙 kubernetes-csi/csi-driver-smb

  • Steg 3: Anslut klustret till Azure Arc

    Vad: Projicerar ert Kubernetes-kluster in i Azure så att det visas som en Arc-resurs.

    Varför: Utan Arc finns ingen kontrollväg mellan Azure och klustret. Arc är en förutsättning för allt som följer.

    Kommando:

    az extension add --name connectedk8s --upgrade --yes
    az extension add --name k8s-extension --upgrade --yes
    az extension add --name customlocation --upgrade --yes
    az extension add --name containerapp --upgrade --yes
    
    az connectedk8s connect \
      --resource-group rg-logicapps-hybrid \
      --name arc-logicapps \
      --location swedencentral

    Verifiera:

    az connectedk8s show --resource-group rg-logicapps-hybrid --name arc-logicapps \
      --query connectivityStatus -o tsv
    # Expected: Connected

    📘 Connect an existing Kubernetes cluster · 📘 az connectedk8s connect-referens

  • Steg 4: Skapa Log Analytics-arbetsyta ⚠

    ⚠ Varning. Det här steget går inte att göra om i efterhand. Log Analytics-arbetsytan måste anges när Container Apps-tillägget installeras (steg 5). Missar ni det, eller vill ni byta arbetsyta senare, måste ni avinstallera hela tillägget och installera om, vilket innebär driftstopp för alla workflows.

    Vad: En Azure Log Analytics-arbetsyta dit Container Apps-tillägget skickar podd-loggar, autoskalningshändelser och diagnostik från tillägget.

    Varför: Hela observabilitetsstacken för Hybrid kräver en utpekad arbetsyta. Arbetsytans ID och nyckel skickas som parametrar vid installationen av tillägget.

    Kommando:

    az monitor log-analytics workspace create \
      --resource-group rg-logicapps-hybrid \
      --workspace-name law-logicapps \
      --location swedencentral
    
    LAW_ID=$(az monitor log-analytics workspace show \
      --resource-group rg-logicapps-hybrid \
      --workspace-name law-logicapps \
      --query customerId -o tsv)
    
    LAW_KEY=$(az monitor log-analytics workspace get-shared-keys \
      --resource-group rg-logicapps-hybrid \
      --workspace-name law-logicapps \
      --query primarySharedKey -o tsv)
    
    # Container Apps-tillägget förväntar sig base64-kodade värden.
    # Linux, macOS eller Git Bash/WSL på Windows:
    LAW_ID_ENC=$(printf '%s' "$LAW_ID" | base64 | tr -d '\n')
    LAW_KEY_ENC=$(printf '%s' "$LAW_KEY" | base64 | tr -d '\n')

    I stock PowerShell på Windows finns inte printf/tr. Använd i stället:

    $LAW_ID_ENC  = [Convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes($LAW_ID))
    $LAW_KEY_ENC = [Convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes($LAW_KEY))

    Verifiera: Spara LAW_ID_ENC och LAW_KEY_ENC säkert. Ni behöver dem i nästa steg. Om ni skickar råa (icke base64-kodade) värden till tillägget startar det, men ingen loggning når Log Analytics.

    📘 Log Analytics workspace docs

  • Steg 5: Installera Container Apps-tillägget

    Vad: Ett Microsoft-tillägg som installerar KEDA-autoskalare, Envoy-ingress, Logic Apps-runtime och functions-servrar i klustret.

    Varför: Detta är motorn som faktiskt kör Logic Apps Standard-workflows on-prem.

    Kommando (stäm alltid av mot Microsofts aktuella az k8s-extension create-referens för Container Apps-tillägget, flaggorna uppdateras löpande):

    az k8s-extension create \
      --resource-group rg-logicapps-hybrid \
      --name logicapps-ext \
      --cluster-type connectedClusters \
      --cluster-name arc-logicapps \
      --extension-type 'Microsoft.App.Environment' \
      --release-train stable \
      --auto-upgrade-minor-version true \
      --scope cluster \
      --release-namespace logicapps \
      --configuration-settings \
        "Microsoft.CustomLocation.ServiceAccount=default" \
        "appsNamespace=logicapps" \
        "clusterName=arc-logicapps" \
        "keda.enabled=true" \
        "keda.logicAppsScaler.enabled=true" \
        "keda.logicAppsScaler.replicaCount=1" \
        "containerAppController.api.functionsServerEnabled=true" \
        "envoy.externalServiceAzureILB=false" \
        "functionsProxyApiConfig.enabled=true" \
        "envoy.annotations.service.beta.kubernetes.io/azure-load-balancer-resource-group=rg-logicapps-hybrid" \
        "logProcessor.appLogs.destination=log-analytics" \
      --configuration-protected-settings \
        "logProcessor.appLogs.logAnalyticsConfig.customerId=$LAW_ID_ENC" \
        "logProcessor.appLogs.logAnalyticsConfig.sharedKey=$LAW_KEY_ENC"

    Om ni kör AKS i Azure: annotationen envoy.annotations.service.beta.kubernetes.io/azure-load-balancer-resource-group är obligatorisk för AKS-underlag (Microsoft-krav) och pekar på klustrets nod-RG (typiskt MC_rg-logicapps-hybrid_aks-logicapps_swedencentral). Värdet i kommandot ovan är en placeholder. Byt till er faktiska nod-RG. För en intern LB (bara åtkomlig inom VNET:et), sätt envoy.externalServiceAzureILB=true och lägg dessutom till annotationen:

    envoy.annotations.service.beta.kubernetes.io/azure-load-balancer-internal=true

    Verifiera:

    kubectl get pods -n logicapps
    # Alla poddar ska vara Running. Med --name logicapps-ext får ni bland annat:
    #   logicapps-ext-k8se-containerapp-controller-*
    #   logicapps-ext-k8se-envoy-*
    #   logicapps-ext-k8se-envoy-controller-*
    #   logicapps-ext-k8se-keda-operator-*
    #   logicapps-ext-k8se-keda-metrics-apiserver-*
    #   logicapps-ext-k8se-event-processor-*
    #   logicapps-ext-k8se-http-scaler-*
    #   logicapps-ext-k8se-log-processor-* (DaemonSet, en per nod)
    #   logicapps-ext-k8se-activator-*, logicapps-ext-k8se-billing-*, logicapps-ext-k8se-mdm-*
    #   dapr-operator-*, dapr-sentry-*, dapr-placement-server-*, dapr-metrics-*

    Tips — CoreDNS per Kubernetes-distribution:AKS i Azure konfigurerar tillägget CoreDNS automatiskt (Microsoft dokumenterar det uttryckligen). På AKS on Azure Local kör ni az containerapp arc setup-core-dns --distro AksAzureLocal efter att tillägget är installerat. CLI:t stöder i dagsläget endast AksAzureLocal som --distro-värde — andra Arc-distroar (Arc-enabled K8s on Windows Server, upstream Kubernetes, OpenShift) kräver manuell redigering av CoreDNS-ConfigMap: kubectl -n kube-system edit configmap coredns-custom. Utan detta kan inte designer och workflow-callbacks lösa *.k4apps.io-FQDN:er i klustret.

    📘 Container Apps on Azure Arc · 🐙 Azure/logicapps — scripts/hybrid

  • Steg 6: Skapa custom location

    Vad: En Azure-resurs som pekar på ert kluster och tillägget, och som fungerar som driftsättningsmål för connected environments.

    Varför: Logic Apps kan inte driftsättas direkt till ett kluster, utan endast till en custom location som känner till klustret.

    Kommando:

    CLUSTER_ID=$(az connectedk8s show \
      --resource-group rg-logicapps-hybrid \
      --name arc-logicapps \
      --query id -o tsv)
    
    EXT_ID=$(az k8s-extension show \
      --resource-group rg-logicapps-hybrid \
      --cluster-name arc-logicapps \
      --cluster-type connectedClusters \
      --name logicapps-ext \
      --query id -o tsv)
    
    az customlocation create \
      --resource-group rg-logicapps-hybrid \
      --name cl-logicapps \
      --host-resource-id $CLUSTER_ID \
      --cluster-extension-ids $EXT_ID \
      --namespace logicapps \
      --location swedencentral

    Verifiera:

    az customlocation show --resource-group rg-logicapps-hybrid --name cl-logicapps \
      --query provisioningState -o tsv
    # Expected: Succeeded

    📘 Custom locations on Arc

  • Steg 7: Skapa connected environment

    Vad: En Logic Apps-specifik runtime-miljö på er custom location.

    Varför: Workflows driftsätts till en connected environment, inte direkt till klustret.

    Kommando:

    CL_ID=$(az customlocation show \
      --resource-group rg-logicapps-hybrid \
      --name cl-logicapps \
      --query id -o tsv)
    
    az containerapp connected-env create \
      --resource-group rg-logicapps-hybrid \
      --name cae-logicapps \
      --custom-location $CL_ID \
      --location swedencentral

    Verifiera:

    az containerapp connected-env show \
      --resource-group rg-logicapps-hybrid \
      --name cae-logicapps \
      --query provisioningState -o tsv
    # Expected: Succeeded
  • Steg 8: Konfigurera SQL + SMB

    Vad: Skapa SQL-databas och SMB-utdelningskonfiguration så att Logic Apps-poddarna kan ansluta.

    Varför: Detta är dataplanet. Utan SQL finns ingen workflow-state. Utan SMB finns ingen artefaktlagring.

    Kommando (SQL, Azure SQL exempel):

    az sql server create \
      --resource-group rg-logicapps-hybrid \
      --name sql-logicapps-hybrid \
      --location swedencentral \
      --admin-user sqladmin \
      --admin-password "<strong-password>"
    
    az sql db create \
      --resource-group rg-logicapps-hybrid \
      --server sql-logicapps-hybrid \
      --name logicapps-state \
      --edition GeneralPurpose \
      --compute-model Serverless \
      --family Gen5 \
      --capacity 2

    Logic Apps-runtime skapar dt, dc, dq-scheman automatiskt vid första start.

    SMB-utdelning: konfigurera en Windows-filutdelning (eller Azure Files) med:

    • Unik sökväg för varje Logic App: \\fileserver\share\{logicapp-name}
    • AD-konto med läs- och skrivrättigheter
    • Sökväg och uppgifter läggs i Key Vault

    Verifiera: Testa SMB-anslutning från klustret:

    kubectl run smb-test --rm -i --tty --image=alpine -- sh
    # Inne i podden:
    apk add samba-client
    smbclient //fileserver/share -U "domain\\user"

    📘 Logic Apps storage configuration

  • Steg 9: Sätt upp Key Vault-referenser

    Vad: Lagra SQL-anslutningssträng, SMB-uppgifter och certifikat i Azure Key Vault så att workflows kan referera till dem via @{...}-syntax.

    Varför: Hemligheter ska aldrig hårdkodas i app-inställningar. Key Vault-referenser ger central rotation och åtkomstkontroll.

    Kommando:

    az keyvault create \
      --resource-group rg-logicapps-hybrid \
      --name kv-logicapps-hybrid \
      --location swedencentral \
      --enable-rbac-authorization true
    # RBAC-läge är Microsofts nuvarande rekommendation. Har ni redan skapat
    # ett valv i access policy-läge, migrera med:
    #   az keyvault update --name kv-logicapps-hybrid --enable-rbac-authorization true
    
    SQL_CONN="Server=tcp:sql-logicapps-hybrid.database.windows.net,1433;Initial Catalog=logicapps-state;User ID=sqladmin;Password=<strong-password>;Encrypt=True"
    
    az keyvault secret set \
      --vault-name kv-logicapps-hybrid \
      --name SqlConnectionString \
      --value "$SQL_CONN"
    
    az keyvault secret set \
      --vault-name kv-logicapps-hybrid \
      --name SmbUsername \
      --value "domain\\serviceaccount"
    
    az keyvault secret set \
      --vault-name kv-logicapps-hybrid \
      --name SmbPassword \
      --value "<smb-password>"
    
    # Ge Entra-app-registreringen (från Behörigheter-avsnittet) läsrätt på secrets.
    # I Hybrid kan podden inte använda managed identity mot managed connections
    # eller Key Vault — den autentiserar med app-registreringens client credentials.
    APP_SP_ID=$(az ad sp show --id <app-client-id> --query id -o tsv)
    KV_ID=$(az keyvault show --name kv-logicapps-hybrid --query id -o tsv)
    
    az role assignment create \
      --role "Key Vault Secrets User" \
      --assignee-object-id $APP_SP_ID \
      --assignee-principal-type ServicePrincipal \
      --scope $KV_ID

    Tips — nätverksåtkomst: Om ni har begränsat Key Vaults nätverksregler (public access off, eller IP-filter), måste klustrets utgående IP allowlistas på TCP 443 eller så behöver ni ett Private Endpoint. Annars får runtimen timeout på @Microsoft.KeyVault(...)-referenser.

    Verifiera:

    az keyvault secret list --vault-name kv-logicapps-hybrid --query "[].name" -o tsv
    # Expected (ordning kan variera):
    #   SmbPassword
    #   SmbUsername
    #   SqlConnectionString
    
    # Kontrollera att app-registreringen har rätt roll:
    az role assignment list --assignee $APP_SP_ID --scope $KV_ID \
      --query "[].roleDefinitionName" -o tsv
    # Expected: Key Vault Secrets User
  • Steg 10: Driftsätt första workflow

    Vad: Skapa ett HTTP-triggat exempelworkflow och driftsätt det till er connected environment.

    Varför: Verifiera att hela kedjan (Arc, tillägg, SQL, SMB och Key Vault) fungerar från början till slut.

    Rekommenderad väg, VS Code:

    1. Installera VS Code-tillägget Azure Logic Apps (Standard).
    2. Create New Project → Stateful Workflow. Skapa en enkel HTTP-trigger som returnerar 200 OK.
    3. Kör Logic Apps: Deploy to Logic App i kommandopaletten och välj er connected environment (cae-logicapps). I exemplet nedan heter Logic App:en la-hello-hybrid.
    4. Koppla SQL- och SMB-secrets i app-inställningarna som Key Vault-referenser: @Microsoft.KeyVault(SecretUri=https://kv-logicapps-hybrid.vault.azure.net/secrets/SqlConnectionString/).

    Alternativ, Azure Portal: skapa en Logic App (Standard), välj Hybrid som plan och peka mot er connected environment. VS Code är den väg som Microsoft dokumenterar mest detaljerat för Hybrid.

    Verifiera:

    kubectl get pods -n logicapps | grep la-hello-hybrid
    # Expected: la-hello-hybrid-* Running

    Hämta trigger-URL:en från Azure Portal → Logic App → Overview / Workflow URL, eller via VS Code-tillägget. Trigga workflowet med curl, kontrollera att körningen blir grön i Run history i Azure Portal, och verifiera att tabeller finns i SQL under schemana dt, dc och dq (de exakta tabellnamnen är interna för runtime-versionen och därför inte något ni ska ta beroende av i egen kod). Klart. Ni har en körande Logic Apps Hybrid-installation.

    📘 Deploy single-tenant Standard workflow


Tre vanliga misstag som kan stjäla veckor från er installation

Tre vanliga fallgropar som återkommer i Hybrid-POC:er. Lär er dem innan ni börjar. Det tar tio minuter att läsa och kan spara flera dagars felsökning.

Verktygstips: Microsofts officiella troubleshoot.ps1 i Azure/logicapps/scripts/hybrid samlar automatiskt in nod-kapacitet, Arc-agentstatus, microsoft-app-environment-k8se-*-poddarnas hälsa, envoy LB-anslutning på port 443, CoreDNS-konfig och workflowapp-deploymenten. Kör den först när något går sönder — den sparar timmar av manuell kubectl describe.

1. Log Analytics kopplas inte in vid installation, måste göras om från grunden

Symtom: Ni installerar Container Apps-tillägget utan logAnalyticsConfig.customerId och sharedKey. Loggar dyker aldrig upp i Azure Monitor. Ni försöker lägga till arbetsytan i efterhand via az k8s-extension update. Det misslyckas tyst. Kommandot returnerar OK, men ingen loggning sker.

Orsak: Loggkonfigurationen sätts i tilläggets init-container, som bara körs vid första installationen. update ändrar parametrarna men kör inte om init-containern.

Lösning: Avinstallera tillägget helt (az k8s-extension delete) och installera om med rätt LAW-parametrar. Workflow-historik i SQL och artefakter på SMB-utdelningen överlever (de ligger externt), men custom location och connected environment måste återskapas och samtliga workflows redriftsättas. Räkna med driftstopp och flera timmars ombyggnad. Det är därför vi betonar detta i steg 4.

Förebygg: Skapa arbetsytan innan ni rör tillägget. Spara LAW_ID och LAW_KEY som miljövariabler. Lägg in dem i ett skript så ni aldrig kör installationen utan dem.

2. SMB-utdelning med fel behörigheter. Poddar startar inte

Symtom: Logic Apps-podden startar, försöker montera SMB-utdelningen och hamnar i CrashLoopBackOff. kubectl describe pod visar “Failed to mount volume: permission denied”.

Orsak: AD-kontot ni använde vid installationen har läsrättigheter men inte ändrarättigheter på utdelningen. Logic Apps behöver kunna skriva temporära filer dit.

Lösning:

# På Windows-filservern:
icacls "D:\logicapps-share" /grant "domain\serviceaccount:(OI)(CI)M" /T

M = modify, (OI)(CI) = objekt och containers, /T = rekursivt.

Glöm inte SMB-sharets egna behörigheter — NTFS Modify hjälper inte om själva utdelningen är exporterad som read-only. Kontrollera både Share permissions och Security på utdelningen.

Förebygg: Testa SMB-anslutningen från en testpodd innan ni gör första driftsättningen (se verifieringen i steg 8).

3. KEDA-autoskalaren är inte konfigurerad. Scale-to-zero fungerar inte

Symtom: Era Logic Apps-poddar går aldrig ner till 0 repliker när de är inaktiva. Runtime-debiteringen (vCPU-sekund och GB-minut) tickar på för varje replika även utan trafik, och poddarna håller nodkapacitet som annars kunde användas av andra workloads.

Orsak: KEDA-autoskalaren installeras av Container Apps-tillägget, men triggerkonfigurationen kommer inte automatiskt. Utan triggers vet KEDA inte vad den ska skala mot.

Lösning: Skala-konfigurationen ligger på den underliggande Container App-resursen (inte i workflow.json). Sätt scale.rules[] på revisionen — antingen via ARM/Bicep, az containerapp update, eller via portalen: Logic App → Scale → Add scale rule → HTTP. YAML-formen på Container App-resursen ser ut så här:

scale:
  minReplicas: 0
  maxReplicas: 10
  rules:
    - name: http-rule
      http:
        metadata:
          concurrentRequests: "10"

Förebygg: Bestäm minReplicas utifrån cold-start-tolerans. minReplicas: 0 krävs för verklig scale-to-zero; för produktions-workflows som inte tål första-träff-latensen, höj till 1. Kostnadseffekten för Hybrid är mestadels runtime-debiteringen (vCPU-sekund och GB-minut) — själva noden betalar ni redan för via AKS eller er egen hårdvara.


Verifiera att Logic Apps Hybrid fungerar

Kör dessa fyra verifieringar för att bekräfta att installationen är klar:

1. Alla poddar kör

kubectl get pods -n logicapps

Förväntat: alla poddar i status Running, ingen i Pending/CrashLoopBackOff.

2. SQL-scheman skapade

Anslut till er SQL-instans och kör:

SELECT TABLE_SCHEMA, COUNT(*) AS tables
FROM INFORMATION_SCHEMA.TABLES
GROUP BY TABLE_SCHEMA;

Förväntat: dt, dc, dq-scheman finns, vardera med flera tabeller.

3. Log Analytics tar emot loggar

Kör denna KQL-query i Azure Portal → Log Analytics workspace → Logs:

ContainerAppConsoleLogs_CL
| where ContainerAppName_s startswith "la-"
| take 20

Förväntat: minst en rad per driftsatt Logic App under de senaste 24 timmarna.

4. Exempelworkflow körs från början till slut

Trigga ert exempelworkflow med curl (steg 10). Kontrollera i Azure Portal → Logic App → Run history att körningen blev grön. Den auktoritativa statusen finns i Run history — Microsoft dokumenterar inte de interna tabellnamnen i dt/dc/dq, så ni ska inte skriva egna queries mot dem (schemat kan ändras mellan runtime-versioner). Komplettera med en räkning i SQL för att bekräfta att tabellerna fylls:

SELECT TABLE_SCHEMA, TABLE_NAME
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA IN ('dt','dc','dq')
ORDER BY TABLE_SCHEMA, TABLE_NAME;

Förväntat: flera tabeller per schema, och nya rader som tillkommit efter er körning (titta på sys.dm_db_index_usage_stats eller gör en COUNT(*) före och efter).

Om alla fyra är gröna har ni en fungerande Logic Apps Hybrid. Ni kan börja bygga integrationer.


Produktionshärdning för Logic Apps Hybrid: vad ni behöver kontrollera

Innan ni släpper på trafik i miljön, stäm av den här listan. Punkterna är sammanställda från Logic Apps- och Container Apps on Arc-dokumentationen samt Azure Well-Architected Frameworks pelare (Reliability, Security, Operational Excellence) — Microsoft publicerar i dagsläget ingen egen WAF-service-guide för Logic Apps Hybrid, så pelarna är den auktoritativa källan för kvalitetskrav. Ingen punkt är “nice-to-have” i en produktionssättning.

Reliability

Kontroll Varför
Zonredundant eller georeplikerad state-SQL (inte Serverless GP 2 vCore utan HA) En enda AZ-förlust tar annars ner hela Hybrid-miljön
SMB-utdelning bakom Scale-Out File Server (SOFS) på Windows Failover Cluster, alternativt Azure Files Premium med GRS En enda filserver blir SPOF. DFS-R är inte en HA-lösning för aktiva skriv-shares — det är replikering och låser inte öppna filer korrekt

Security

Kontroll Varför
Private Endpoints för Azure SQL och Key Vault; publik åtkomst avstängd Anslutningssträngar på publika endpoints bryter mot Hybrids premiss om att data stannar i nätet
Key Vault RBAC, soft-delete och purge protection Skydd mot oavsiktlig radering och lateral åtkomst
LAW sharedKey lagrad som Key Vault-referens, inte i klartext Shared keys ska roteras, och hårdkodade nycklar kan inte roteras
Rotationsschema för SQL-admin och SMB-servicekonto Statiska uppgifter är en audit-miss
Arc cluster RBAC och cluster-connect, begränsa vem som kan driftsätta via custom location Utan RBAC kan vem som helst med åtkomst till resursgruppen skicka kod till klustret
IP-restriktioner på workflow-triggers (Access control) Ett HTTP-triggat workflow är annars öppet mot internet

Operational Excellence

Kontroll Varför
Infrastructure-as-code (Bicep/Terraform) för hela 10-stegssekvensen Imperativa az-kommandon går inte att reproducera mellan miljöer
Lås tilläggsversionen (auto-upgrade-minor-version=false i produktion) Automatiska minor-uppgraderingar kan införa regressioner i er pågående trafik
Namespace-hygien: separata namespaces per miljö, ResourceQuotas och LimitRanges Annars kan ett urspårat workflow slå ut hela klustret

SHOULD-nivå (rekommenderat)

KEDA-trimning (min/max repliker, HTTP-skalningsregler), retry- och idempotensmönster, blue/green-driftsättning via två connected environments, SQL-dimensionering mot samtidig körvolym, tak för LAW-ingestion (Basic Logs på pratglada tabeller). Se:


Nästa steg: från POC till produktion med Logic Apps Hybrid

En körande POC är en början, inte slutet. Innan ni går i produktion:

  • Observabilitet. Sätt upp App Insights-integration, definiera KQL-frågor för SLA-mätning och larm på fel
  • DR-strategi. SQL-backup (point-in-time restore i minst 7 dagar), SMB-replikering och dokumenterad återställningsprocedur
  • Multi-cluster. Separera dev/test/prod och överväg multi-region för kritiska workflows
  • CI/CD. Gå från portal-driftsättningar till pipeline-driftsättningar (Azure DevOps, GitHub Actions) med automatiserade tester
  • Kostnadsuppföljning. Tagga alla resurser, sätt budgetlarm och följ vCPU- och minnesförbrukning per workflow

Vill ni accelerera er Logic Apps Hybrid-implementation?

Contica är Microsofts specialistpartner inom Azure-integrationer och BizTalk-migrering. Med vår CTO som Azure MVP och direkta kontaktytor mot Microsofts produktteam kan vi hjälpa er att komma rätt från start – och hålla er där.

Microsoft Solutions Partner – Specialist: Migrate Enterprise Applications to Microsoft Azure

KOSTNADSFRI RÅDGIVNING

Arkitektur, plattformsval och förutsättningar – innan ni investerar en enda timme i implementation.

SPECIALIST-PAKET

Färdiga paketeringar anpassade efter er miljö och mognadsnivå – från POC till produktionssättning.

MICROSOFT-FINANSIERING

Vi hjälper er undersöka om Microsoft kan finansiera delar av projektet. Normalfallet startar från $15 000.

Vi kan även sammankalla ett möte med Microsofts projektgrupp för er räkning – en möjlighet som kräver rätt partnerrelation att utnyttja.

Kontakta oss för ett första samtal →


Resurser

Microsoft Learn

GitHub


Vanliga frågor om Logic Apps Hybrid

Behöver vi Azure Stack HCI för Logic Apps Hybrid?

Det beror på var podden måste köras. Om ni kan låta Logic Apps-podden köra i Azure räcker AKS i Azure — SQL och SMB stannar då on-prem (nådda via ExpressRoute/VPN), men själva meddelandebearbetningen går genom Azure. Om ni har regulatoriska eller datasuveränitetskrav som säger att även podden måste köras i ert eget datacenter behöver ni en Arc-ansluten Kubernetes-distribution som körs on-prem — typiskt AKS on Azure Local (tidigare Azure Stack HCI) eller ett annat Arc-stött kluster (OpenShift, vanilj-K8s). Välj alltså först data-path, sedan distro.

Hur länge kan klustret vara frånkopplat från Azure?

Upp till 24 timmar utan dataförlust. Workflows fortsätter köra lokalt, körhistoriken buffras lokalt, och när anslutningen återställs synkroniseras allt upp till Log Analytics och Arc. Längre än 24 timmar riskerar ni att missa kritiska uppdateringar från kontrollplanet.

Vilka portar måste öppnas in till vårt nät?

Inga portar öppnas från internet mot ert nät. Trafiken mot Azures kontrollplan initieras utgående på TCP 443 från klustret, och svaren kommer tillbaka på samma session. Om podden körs on-prem räcker det; om podden körs i Azure (AKS-i-Azure) måste er on-prem-brandvägg däremot tillåta inkommande TCP 1433 (SQL) och TCP 445 (SMB) från Azure-subnätet via ExpressRoute/VPN. Envoy-ingressen (publik eller intern LB) tar dessutom emot inkommande HTTP från sina klienter. Säkerhetsfördelen jämfört med traditionell SaaS-integration är att ingenting exponeras publikt mot internet.

Kan vi använda befintlig on-prem SQL Server?

Ja. Logic Apps Hybrid stöder SQL Server on-prem, Azure SQL Database, Azure SQL Managed Instance och Arc-enabled SQL. Ni behöver bara en databas där Logic Apps-runtime kan skapa schemana dt, dc och dq. Befintlig BizTalk-SQL kan ofta återanvändas (i en separat databas på samma instans).

Stöds managed identity?

Nej, inte för Hybrid. Container Apps på Arc stöder inte managed identities för apparna, och Microsofts Hybrid-dokumentation listar dessutom managed identity-autentisering för connector-operationer som icke-stödd. I praktiken innebär det att både storage provider (SQL-anslutningen) och managed connectors kräver andra autentiseringsmetoder: anslutningssträngar och service principals, förvarade i Key Vault.

Kan vi migrera befintliga BizTalk-workflows direkt?

Nej, BizTalk-orkestreringar måste portas om till Logic Apps workflow-definition, och Logic Apps har heller ingen pipeline-modell — custom pipeline-komponenter (DLL:er) portas därför inte. Däremot lever de rena dataartefakterna vidare: XSD-scheman återanvänds direkt, och XSLT-maps (också de som skapades via BizTalks .btm-mappar, som kompileras till XSLT) kan driftsättas till Logic Apps Hybrid via SMB-utdelningen. Custom .NET-logik från pipelines behöver skrivas om som Logic Apps-actions eller flyttas till Azure Functions. Det gör migrationen enklare än en omskrivning från grunden, men inte en ren “lift-and-shift”.

Vilka Azure-regioner stöds?

Regionstödet byggs ut löpande — verifiera alltid aktuell lista på MS Learn innan ni planerar, eftersom regioner tillkommer utan varsel. Aktuell lista finns i Microsofts Limitations-avsnitt — Supported Azure regions (per april 2026: Central US, East Asia, East US, North Central US, Southeast Asia, Sweden Central, UK South, West Europe, West US). Sweden Central är normalt rätt val för svenska kunder.

Hur mycket kostar det i månaden?

Två kostnadsposter: (1) workflow-körning debiteras per vCPU-sekund och GB-minut för Logic Apps-containrarna, (2) er egen K8s-hårdvara (om on-prem) eller AKS-nodkostnaden (om Azure). Resurstilldelning (vCPU och minne per replika) och antal repliker konfigureras i Logic App-manifestet. Se Microsofts prissida för aktuella taxor. Kontakta oss för en uppskattning utifrån er volym och infrastruktur.


Har ni frågor om uppsättningen eller vill diskutera er BizTalk-migration? Kontakta Contica →

Dela detta inlägg


Post author image.

Författare: Ahmed Bayoumy

CTO

Fler inlägg att sätta tänderna i

Azure Arc och Logic Apps för Hybrida Molnlösningar: Effektiv BizTalk migration

Azure Arc och Logic Apps för hybrida molnlösningar. En möjliggörare för effektiv och säker migrering från BizTalk