Självstudie: Migrera Oracle WebLogic Server till Azure Kubernetes Service (AKS) med KEDA-skalning baserat på Prometheus-mått
Den här självstudien visar hur du migrerar Oracle WebLogic Server (WLS) till Azure Kubernetes Service (AKS) och konfigurerar automatisk horisontell skalning baserat på Prometheus-mått.
I den här självstudien utför du följande uppgifter:
- Lär dig vilka WebLogic-programmått som du kan exportera med hjälp av WebLogic Monitoring Exporter.
- Distribuera och kör en WebLogic-applciation på AKS med hjälp av ett Azure Marketplace-erbjudande.
- Aktivera den hanterade Azure Monitor-tjänsten för Prometheus med hjälp av ett Azure Marketplace-erbjudande.
- Mata in WLS-mått till en Azure Monitor-arbetsyta med hjälp av ett Azure Marketplace-erbjudande.
- Integrera Kubernetes Händelsedriven autoskalning (KEDA) med ett AKS-kluster med hjälp av ett Azure Marketplace-erbjudande.
- Skapa en KEDA-skalning baserat på Prometheus-mått.
- Verifiera skalningskonfigurationen.
Följande diagram illustrerar arkitekturen som du skapar:
Oracle WebLogic Server på AKS-erbjudandet kör en WLS-operator och en WLS-domän på AKS. WLS-operatorn hanterar en WLS-domän som distribueras med hjälp av en modell i källtypen för avbildningsdomänen . Mer information om WLS-operatorn finns i Oracle WebLogic Kubernetes Operator.
WebLogic Monitoring Exporter skrapar WebLogic Server-mått och matar dem till Prometheus. Exportören använder WebLogic Server 12.2.1.x RESTful Management Interface för åtkomst till körningstillstånd och mått.
Den hanterade Azure Monitor-tjänsten för Prometheus samlar in och sparar mått från WLS i stor skala med hjälp av en Prometheus-kompatibel övervakningslösning, baserad på Prometheus-projektet från Cloud Native Computing Foundation. Mer information finns i Hanterad Azure Monitor-tjänst för Prometheus.
Den här artikeln integrerar KEDA med ditt AKS-kluster för att skala WLS-klustret baserat på Prometheus-mått från Azure Monitor-arbetsytan. KEDA övervakar den hanterade Azure Monitor-tjänsten för Prometheus och matar dessa data till AKS och HPA (Horizontal Pod Autoscaler) för snabb skalning av WLS-arbetsbelastningen.
Följande WLS-tillstånd och mått exporteras som standard. Du kan konfigurera exportören att exportera andra mått på begäran. En detaljerad beskrivning av konfiguration och användning av WebLogic Monitoring Exporter finns i WebLogic Monitoring Exporter.
Förutsättningar
- En Azure-prenumeration. Om du inte har en Azure-prenumeration kan du skapa ettkostnadsfritt konto innan du börjar.
- Kontrollera att du har rollen
Owner
eller rollernaContributor
ochUser Access Administrator
i prenumerationen. Du kan verifiera tilldelningen genom att följa stegen i Lista Azure-rolltilldelningar med hjälp av Azure Portal. - Förbered en lokal dator med antingen Windows med WSL, GNU/Linux eller macOS installerat.
- Installera Azure CLI version 2.54.0 eller senare för att köra Azure CLI-kommandon.
- Installera och konfigurera kubectl.
- Installera cURL.
- Ha autentiseringsuppgifterna för ett Oracle-konto för enkel inloggning (SSO). Information om hur du skapar ett finns i Skapa ditt Oracle-konto.
- Använd följande steg för att godkänna licensvillkoren för WLS:
- Besök Oracle Container Registry och logga in.
- Om du har en stödrättighet väljer du Mellanprogram och söker sedan efter och väljer weblogic_cpu.
- Om du inte har någon stödrättighet från Oracle väljer du Mellanprogram och söker sedan efter och väljer weblogic.
- Godkänn licensavtalet.
Förbereda exempelprogrammet
Den här artikeln använder testwebapp från lagringsplatsen weblogic-kubernetes-operator som ett exempelprogram.
Använd följande kommandon för att ladda ned den fördefinierade exempelappen och expandera den till en katalog. Eftersom den här artikeln skriver flera filer skapar dessa kommandon en toppnivåkatalog som innehåller allt.
export BASE_DIR=$PWD/wlsaks
mkdir $BASE_DIR && cd $BASE_DIR
curl -L -o testwebapp.war https://aka.ms/wls-aks-testwebapp
unzip -d testwebapp testwebapp.war
Ändra exempelprogrammet
Den här artikeln använder måttet openSessionsCurrentCount
för att skala upp och skala ned WLS-klustret. Som standard är tidsgränsen för sessionen på WebLogic Server 60 minuter. Om du snabbt vill se nedskalningsfunktionen använder du följande steg för att ange en kort tidsgräns:
Använd följande kommando för att ange en tidsgräns för sessionen på 150 sekunder med .
wls:timeout-secs
FormatetHEREDOC
används för att skriva över filen på testwebapp/WEB-INF/weblogic.xml med önskat innehåll.cat <<EOF > testwebapp/WEB-INF/weblogic.xml <?xml version="1.0" encoding="UTF-8"?> <wls:weblogic-web-app xmlns:wls="http://xmlns.oracle.com/weblogic/weblogic-web-app" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd http://xmlns.oracle.com/weblogic/weblogic-web-app http://xmlns.oracle.com/weblogic/weblogic-web-app/1.4/weblogic-web-app.xsd"> <wls:weblogic-version>12.2.1</wls:weblogic-version> <wls:jsp-descriptor> <wls:keepgenerated>false</wls:keepgenerated> <wls:debug>false</wls:debug> </wls:jsp-descriptor> <wls:context-root>testwebapp</wls:context-root> <wls:session-descriptor> <wls:timeout-secs>150</wls:timeout-secs> </wls:session-descriptor> </wls:weblogic-web-app> EOF
Använd följande kommando för att packa om exempelappen:
cd testwebapp && zip -r ../testwebapp.war * && cd ..
Skapa ett Azure Storage-konto och ladda upp programmet
Använd följande steg för att skapa ett lagringskonto och en container. Vissa av de här stegen leder dig till andra guider. När du har slutfört stegen kan du ladda upp ett exempelprogram för distribution på WLS.
- Logga in på Azure-portalen.
- Skapa ett lagringskonto genom att följa stegen i Skapa ett lagringskonto. Använd följande specialiseringar för värdena i den artikeln:
- Skapa en ny resursgrupp för lagringskontot.
- För Region väljer du USA, östra.
- För Lagringskontonamn använder du samma värde som resursgruppens namn.
- För Prestanda väljer du Standard.
- De återstående flikarna behöver inga specialiseringar.
- Fortsätt att verifiera och skapa kontot och gå sedan tillbaka till den här artikeln.
- Skapa en lagringscontainer i kontot genom att följa stegen i avsnittet Skapa en container i Snabbstart: Ladda upp, ladda ned och lista blobar med Azure Portal.
- I samma artikel följer du stegen i avsnittet Ladda upp en blockblob för att ladda upp filen testwebapp.war . Gå sedan tillbaka till den här artikeln.
Distribuera WLS på AKS med hjälp av Azure Marketplace-erbjudandet
I det här avsnittet skapar du ett WLS-kluster på AKS med hjälp av Oracle WebLogic Server i AKS-erbjudandet . Erbjudandet innehåller en fullständig funktionsuppsättning för att enkelt distribuera WebLogic Server på AKS. Den här artikeln fokuserar på erbjudandets avancerade dynamiska skalningsfunktioner. Mer information om erbjudandet finns i Distribuera ett Java-program med WebLogic Server i ett AKS-kluster (Azure Kubernetes Service). Den fullständiga referensdokumentationen för erbjudandet finns i Oracle-dokumentationen.
Det här erbjudandet implementerar följande alternativ för horisontell autoskalning:
Kubernetes Metrics Server. Det här valet konfigurerar all nödvändig konfiguration vid distributionstillfället. En horisontell podd autoskalning (HPA) distribueras med ett val av mått. Du kan anpassa HPA ytterligare efter distributionen.
WebLogic Monitoring Exporter. Det här valet etablerar automatiskt WebLogic Monitoring Exporter, Azure Monitor-hanterad tjänst för Prometheus och KEDA. När erbjudandedistributionen är klar exporteras och sparas WLS-måtten på Azure Monitor-arbetsytan. KEDA installeras med möjlighet att hämta mått från Azure Monitor-arbetsytan.
Med det här alternativet måste du vidta fler steg efter distributionen för att slutföra konfigurationen.
Den här artikeln beskriver det andra alternativet. Utför konfigurationen med hjälp av följande steg:
Öppna Oracle WebLogic Server på AKS-erbjudandet i webbläsaren och välj Skapa. Du bör se fönstret Grundläggande i erbjudandet.
Använd följande steg för att fylla i fönstret Grundläggande :
- Kontrollera att värdet som visas för Prenumeration är samma som har de roller som anges i avsnittet för förhandskrav.
- Du måste distribuera erbjudandet i en tom resursgrupp. I fältet Resursgrupp väljer du Skapa ny och fyller i ett unikt värde för resursgruppen , till exempel wlsaks-eastus-20240109.
- Under Instansinformation väljer du USA, östra för Region.
- Under Autentiseringsuppgifter WebLogic anger du ett lösenord för WebLogic-administratör respektive WebLogic-modellkryptering. Spara användarnamnet och lösenordet för WebLogic-administratören åt sidan.
- Bredvid Valfri grundläggande konfiguration väljer du Nej.
- Under Valfri grundläggande konfiguration anger du Maximal dynamisk klusterstorlek till 10. Med det här värdet kan du observera autoskalningsbeteendet.
Välj Nästa och gå till fliken AKS .
Under Bildval använder du följande steg:
- För Användarnamn för Oracle-autentisering med enkel inloggning fyller du i ditt Oracle SSO-användarnamn från förhandskraven.
- För Lösenord för Oracle-autentisering med enkel inloggning fyller du i dina Oracle SSO-autentiseringsuppgifter från förhandskraven.
Under Program använder du följande steg:
I avsnittet Program bredvid Distribuera ett program?, väljer du Ja.
Bredvid Programpaket (.war,.ear,.jar)väljer du Bläddra.
Börja skriva namnet på lagringskontot från föregående avsnitt. När det önskade lagringskontot visas väljer du det.
Välj lagringscontainern i föregående avsnitt.
Markera kryssrutan bredvid testwebapp.war, som du laddade upp i föregående avsnitt. Välj Välj.
Välj Nästa.
Lämna standardvärdena i fönstret TLS/SSL-konfiguration . Välj Nästa för att gå till fönstret Belastningsutjämning och använd sedan följande steg:
- Låt standardvärdena vara kvar för alla alternativ förutom Skapa ingress för administrationskonsolen. Kontrollera att inget program med sökvägen /console*, det kommer att orsaka konflikt med administrationskonsolsökvägen. För det här alternativet väljer du Ja.
- Lämna standardvärdena för de återstående fälten.
- Välj Nästa.
Lämna standardvärdena för DNS-fönstret och välj sedan Nästa för att gå till fönstret Databas .
Lämna standardvärdena för fönstret Databas , välj Nästa för att gå till fönstret Autoskalning och använd sedan följande steg:
- Bredvid Etablera resurser för horisontell autoskalning? väljer du Ja.
- Välj WebLogic Monitor Exporter (avancerad autoskalning) bredvid Alternativet Välj automatisk skalning under Inställningar för vågrät autoskalning.
- Välj Granska + skapa.
Vänta tills den slutgiltiga verifieringen har körts... har slutförts och välj sedan Skapa. Efter ett tag bör du se sidan Distribution där distribution pågår visas.
Om du ser några problem när du kör den slutliga valideringen... kan du åtgärda dem och försöka igen.
Ansluta till AKS-klustret
Följande avsnitt kräver en terminal med kubectl
installerad för att hantera WLS-klustret. Om du vill installera kubectl
lokalt använder du kommandot az aks install-cli .
Använd följande steg för att ansluta till AKS-klustret:
- Öppna Azure Portal och gå till resursgruppen som du etablerade i avsnittet Distribuera WLS på AKS med hjälp av Azure Marketplace-erbjudandet.
- Välj resursen av typen Kubernetes-tjänsten i resurslistan.
- Välj Anslut. Vägledning för att ansluta AKS-klustret visas.
- Välj Azure CLI och följ stegen för att ansluta till AKS-klustret i din lokala terminal.
Hämta mått från Azure Monitor-arbetsytan
Använd följande steg för att se mått på Azure Monitor-arbetsytan med prometheus-frågespråksfrågor (PromQL):
I Azure Portal visar du resursgruppen som du använde i avsnittet Distribuera WLS på AKS med hjälp av Azure Marketplace-erbjudandet.
Välj resursen av typen Azure Monitor-arbetsyta.
Under Hanterad Prometheus väljer du Prometheus Explorer.
Indata
webapp_config_open_sessions_current_count
för att fråga det aktuella kontot för öppna sessioner, enligt följande skärmbild:
Kommentar
Du kan använda följande kommando för att komma åt måtten genom att exponera WebLogic Monitoring Exporter:
cat <<EOF | kubectl apply -f -
apiVersion: v1
kind: Service
metadata:
name: sample-domain1-cluster-1-exporter
namespace: sample-domain1-ns
spec:
ports:
- name: default
port: 8080
protocol: TCP
targetPort: 8080
selector:
weblogic.domainUID: sample-domain1
weblogic.clusterName: cluster-1
sessionAffinity: None
type: LoadBalancer
EOF
kubectl get svc -n sample-domain1-ns -w
Vänta tills EXTERNAL-IP
kolumnen på raden har sample-domain1-cluster-1-exporter
växlat från <pending>
till en IP-adress. Öppna sedan URL:en http://<exporter-public-ip>:8080/metrics
i en webbläsare och logga in med de autentiseringsuppgifter som du angav när du distribuerade erbjudandet. Här hittar du alla tillgängliga mått. Du kan ange något av dessa i PromQL-fönstret för att visa dem i Azure Monitor. Visar till exempel heap_free_percent
ett intressant diagram. Om du vill se minnesbelastningen när belastningen tillämpas på programmet anger du Automatisk uppdatering och Tidsintervall till minsta möjliga intervall och lämnar fliken öppen.
Skapa KEDA-skalning
Skalare definierar hur och när KEDA ska skala en distribution. Den här artikeln använder Prometheus-skalningsappen för att hämta Prometheus-mått från Azure Monitor-arbetsytan.
Den här artikeln använder openSessionsCurrentCount
som utlösare. Regeln för det här måttet beskrivs på följande sätt. När det genomsnittliga antalet öppna sessioner är mer än 10 skalar du upp WLS-klustret tills det når den maximala replikstorleken. Annars skalar du ned WLS-klustret tills det når sin minsta replikstorlek. I följande tabell visas de viktiga parametrarna:
Parameternamn | Värde |
---|---|
serverAddress |
Frågeslutpunkten för din Azure Monitor-arbetsyta. |
metricName |
webapp_config_open_sessions_current_count |
query |
sum(webapp_config_open_sessions_current_count{app="app1"}) |
threshold |
10 |
minReplicaCount |
1 |
maxReplicaCount |
Standardvärdet är 5. Om du ändrade den maximala klusterstorleken under erbjudandedistributionen ersätter du med din maximala klusterstorlek. |
Eftersom du valde WebLogic Monitoring Exporter vid distributionstillfället är en KEDA-skalning klar att distribueras. Följande steg visar hur du konfigurerar KEDA-skalningsprogrammet för användning med ditt AKS-kluster:
Öppna Azure Portal och gå till resursgruppen som du etablerade i avsnittet Distribuera WLS på AKS med hjälp av Azure Marketplace-erbjudandet.
I navigeringsfönstret går du till avsnittet Inställningar och väljer Distributioner. Du ser en ordnad lista över distributionerna till den här resursgruppen, med den senaste först.
Rulla till den äldsta posten i den här listan. Den här posten motsvarar den distribution som du startade i föregående avsnitt. Välj den äldsta distributionen, vars namn börjar med något som liknar
oracle.20210620-wls-on-aks
.Välj Utdata. Det här alternativet visar listan över utdata från distributionen.
Värdet kedaScalerServerAddress är den serveradress som sparar WLS-måtten. KEDA kan komma åt och hämta mått från adressen.
ShellCmdtoOutputKedaScalerSample-värdet är strängen i
base64
ett skalningsexempel. Kopiera värdet och kör det i terminalen. Kommandot bör se ut ungefär som i följande exempel:echo -e YXBpVm...XV0aAo= | base64 -d > scaler.yaml
Det här kommandot genererar en scaler.yaml-fil i den aktuella katalogen.
Ändra raderna
metric:
ochquery:
i scaler.yaml enligt följande exempel:metricName: webapp_config_open_sessions_current_count query: sum(webapp_config_open_sessions_current_count{app="app1"})
Kommentar
När du distribuerar en app med erbjudandet namnges
app1
den som standard. Du kan använda följande steg för att få åtkomst till WLS-administratörskonsolen för att hämta programnamnet:- Använd föregående steg för att visa distributionsutdata.
- Värdet adminConsoleExternalUrl är den fullständigt kvalificerade, offentliga Internet synliga länken till WLS-administratörskonsolen. Välj kopieringsikonen bredvid fältvärdet för att kopiera länken till Urklipp.
- Klistra in värdet i webbläsaren och öppna WLS-administratörskonsolen.
- Logga in med WLS-administratörskontot, som du sparade åt sidan under i avsnittet Distribuera WLS på AKS med hjälp av Azure Marketplace-erbjudandet .
- Under Domänstruktur väljer du Distributioner. Du hittar app1 i listan.
- Välj app1 för att se att namnvärdet för programmet är
app1
. Användapp1
som programnamn i frågan.
Om du vill kan du ändra
maxReplicaCount:
raden i scaler.yaml enligt följande exempel. Det är ett fel att ange det här värdet högre än vad du angav vid distributionen på fliken AKS .maxReplicaCount: 10
Använd följande kommando för att skapa KEDA-skalningsregeln genom att tillämpa scaler.yaml:
kubectl apply -f scaler.yaml
Det tar flera minuter för KEDA att hämta mått från Azure Monitor-arbetsytan. Du kan titta på skalningsstatusen med hjälp av följande kommando:
kubectl get hpa -n sample-domain1-ns -w
När skalningsreglaget är redo att fungera ser utdata ut ungefär som följande innehåll. Värdet i
TARGETS
kolumnen växlar från<unknown>
till0
.NAME REFERENCE TARGETS MINPODS MAXPODS REPLICAS AGE keda-hpa-azure-managed-prometheus-scaler Cluster/sample-domain1-cluster-1 0/10 (avg) 1 5 2 15s
Testa autoskalning
Nu är du redo att observera funktionen för automatisk skalning. Den här artikeln öppnar nya sessioner med hjälp av curl
för att komma åt programmet. När det genomsnittliga antalet sessioner är större än 10 sker uppskalningsåtgärden. Sessionerna varar i 150 sekunder och antalet öppna sessioner minskar när sessionerna upphör att gälla. När det genomsnittliga antalet sessioner är mindre än 10 sker nedskalningsåtgärden. Använd följande steg för att orsaka åtgärder för att skala upp och skala ned:
Använd följande steg för att hämta programmets URL:
- Använd föregående steg för att visa distributionsutdata.
- ClusterExternalUrl-värdet är den fullständigt kvalificerade, offentliga, Internet-synliga länken till exempelappen som distribueras i WLS i det här AKS-klustret. Om du vill kopiera länken till Urklipp väljer du kopieringsikonen bredvid fältvärdet.
- URL:en för att komma åt testwebapp.war är
${clusterExternalUrl}testwebapp
till exempelhttp://wlsgw202403-wlsaks0314-domain1.eastus.cloudapp.azure.com/testwebapp/
.
curl
Kör kommandot för att komma åt programmet och orsaka nya sessioner. I följande exempel öppnas 22 nya sessioner. Sessionerna har upphört att gälla efter 150 sekunder. Ersätt värdet för WLS_CLUSTER_EXTERNAL_URL med ditt.COUNTER=0 MAXCURL=22 WLS_CLUSTER_EXTERNAL_URL="http://wlsgw202403-wlsaks0314-domain1.eastus.cloudapp.azure.com/" APP_URL="${WLS_CLUSTER_EXTERNAL_URL}testwebapp/" while [ $COUNTER -lt $MAXCURL ]; do curl ${APP_URL}; let COUNTER=COUNTER+1; sleep 1;done
Använd följande kommandon i två separata gränssnitt:
Använd följande kommando för att observera skalningsreglaget:
kubectl get hpa -n sample-domain1-ns -w
Det här kommandot genererar utdata som liknar följande exempel:
$ kubectl get hpa -n sample-domain1-ns -w NAME REFERENCE TARGETS MINPODS MAXPODS REPLICAS AGE keda-hpa-azure-managed-prometheus-scaler Cluster/sample-domain1-cluster-1 0/10 (avg) 1 10 1 24m keda-hpa-azure-managed-prometheus-scaler Cluster/sample-domain1-cluster-1 0/10 (avg) 1 10 1 24m keda-hpa-azure-managed-prometheus-scaler Cluster/sample-domain1-cluster-1 5/10 (avg) 1 10 1 26m keda-hpa-azure-managed-prometheus-scaler Cluster/sample-domain1-cluster-1 22/10 (avg) 1 10 1 27m keda-hpa-azure-managed-prometheus-scaler Cluster/sample-domain1-cluster-1 7334m/10 (avg) 1 10 3 29m keda-hpa-azure-managed-prometheus-scaler Cluster/sample-domain1-cluster-1 14667m/10 (avg) 1 10 3 48m keda-hpa-azure-managed-prometheus-scaler Cluster/sample-domain1-cluster-1 0/10 (avg) 1 10 3 30m keda-hpa-azure-managed-prometheus-scaler Cluster/sample-domain1-cluster-1 0/10 (avg) 1 10 3 35m keda-hpa-azure-managed-prometheus-scaler Cluster/sample-domain1-cluster-1 0/10 (avg) 1 10 1 35m keda-hpa-azure-managed-prometheus-scaler Cluster/sample-domain1-cluster-1 0/10 (avg) 1 10 5 53m
I ett separat gränssnitt använder du följande kommando för att observera WLS-poddarna:
kubectl get pod -n sample-domain1-ns -w
Det här kommandot genererar utdata som liknar följande exempel:
$ kubectl get pod -n sample-domain1-ns -w NAME READY STATUS RESTARTS AGE sample-domain1-admin-server 2/2 Running 0 28h sample-domain1-managed-server1 2/2 Running 0 28h sample-domain1-managed-server1 2/2 Running 0 28h sample-domain1-managed-server2 0/2 Pending 0 0s sample-domain1-managed-server2 0/2 Pending 0 0s sample-domain1-managed-server2 0/2 ContainerCreating 0 0s sample-domain1-managed-server3 0/2 Pending 0 0s sample-domain1-managed-server3 0/2 Pending 0 0s sample-domain1-managed-server3 0/2 ContainerCreating 0 0s sample-domain1-managed-server3 1/2 Running 0 1s sample-domain1-admin-server 2/2 Running 0 95m sample-domain1-managed-server1 2/2 Running 0 94m sample-domain1-managed-server2 2/2 Running 0 56s sample-domain1-managed-server3 2/2 Running 0 55s sample-domain1-managed-server4 1/2 Running 0 9s sample-domain1-managed-server5 1/2 Running 0 9s sample-domain1-managed-server5 2/2 Running 0 37s sample-domain1-managed-server4 2/2 Running 0 42s sample-domain1-managed-server5 1/2 Terminating 0 6m46s sample-domain1-managed-server5 1/2 Terminating 0 6m46s sample-domain1-managed-server4 1/2 Running 0 6m51s sample-domain1-managed-server4 1/2 Terminating 0 6m53s sample-domain1-managed-server4 1/2 Terminating 0 6m53s sample-domain1-managed-server3 1/2 Running 0 7m40s sample-domain1-managed-server3 1/2 Terminating 0 7m45s sample-domain1-managed-server3 1/2 Terminating 0 7m45s
Diagrammet på Azure Monitor-arbetsytan ser ut ungefär så här:
Rensa resurser
För att undvika Azure-avgifter bör du rensa onödiga resurser. När du inte längre behöver klustret använder du kommandot az group delete . Följande kommandon tar bort resursgruppen, containertjänsten, containerregistret och alla relaterade resurser:
az group delete --name <wls-resource-group-name> --yes --no-wait
az group delete --name <ama-resource-group-name> --yes --no-wait
Nästa steg
Fortsätt att utforska följande referenser för fler alternativ för att skapa lösningar för automatisk skalning och köra WLS i Azure: