Tag Archives: Azure
Deploy a new IIS Web Site with Azure DevOps Pipelines
I was experimenting with deploying a completely new Web Site to a machine with a brand new IIS installation to see what are the required parameter to do a basic deployment.I share here my findings. The best approach is to deploy with a deployment group job. This way can use the IIS tasks that Microsoft… Continue reading Deploy a new IIS Web Site with Azure DevOps Pipelines
GLV OnAir Febbraio 2019 – Video Link
Qualche settimana fa GLV ha trasmesso il suo episodio di GLV OnAir di febbraio 2019. La puntata è andata in onda col solito formato di 3 sessioni da 30 minuti ciascuna che elenco qui di seguito: GLV OnAir 2019-02- Terraform For Azure: the Good, the bad and the Ugly (Giulio Vian) GLV OnAir 2019-02- DevOps… Continue reading GLV OnAir Febbraio 2019 – Video Link
VSTS for beginners: release your web-app to Azure
In the previous post of this series dedicated to VSTS we talked about continuous integration. Now we’ll talk about publishing our Web-App hosted on Azure with the release management tools provided by VSTS. With this kind of tools we can deploy the latest version of our web-app to Azure in complete automation removing manual procedures […]
Deployare una Web App su Azure con la nuova Build di Visual Studio Online
- Se inseriamo un nome di una web app che non esiste nella nostra sottoscrizione e che non esiste nella region selezioanta, verrà creata su Azure nella region selezionata
- Se inseriamo un nome di una web app che non esiste nella nostra sottoscrizione ma che esiste già in quella region, verrà restituito un errore in fase di deploy
- Se inseriamo un nome di una web app che esiste già nella nostra sottoscrizione ma che è in una region diversa, verrà restituito un errore in fase di deploy
- Se inseriamo un nome di una web app che esiste già nella nostra sottoscrizione e che si trova nella region selezionata, il deploy utilizzerà quella web app e la aggiornerà
Deployare una Web App su Azure con la nuova Build di Visual Studio Online
- Se inseriamo un nome di una web app che non esiste nella nostra sottoscrizione e che non esiste nella region selezioanta, verrà creata su Azure nella region selezionata
- Se inseriamo un nome di una web app che non esiste nella nostra sottoscrizione ma che esiste già in quella region, verrà restituito un errore in fase di deploy
- Se inseriamo un nome di una web app che esiste già nella nostra sottoscrizione ma che è in una region diversa, verrà restituito un errore in fase di deploy
- Se inseriamo un nome di una web app che esiste già nella nostra sottoscrizione e che si trova nella region selezionata, il deploy utilizzerà quella web app e la aggiornerà
Aggiungere Azure Application Insights ad un Web Site
-
Creare un nuovo servizio “Application Insights” usando il nuovo Azure portal (preview)
-
Copiare lo snippet di codice JavaScript che viene proposto dal portale ed aggiungerlo a tutte le pagine che si vogliono monitorare (oppure alla master page, se ce n’è una)
-
In Visual Studio 2013.3, creare una nuova web application vuota ed aggiungere ad essa Application Insights usando il menu contestuale
-
Copiare i seguenti file dalla cartella “bin” della Web App alla cartella “bin” del Web Site:
Microsoft.ApplicationInsights.dll
Microsoft.ApplicationInsights.Extensibility.RuntimeTelemetry.dll
Microsoft.ApplicationInsights.Extensibility.Web.dll
Microsoft.Diagnostics.Tracing.EventSource.dll
(volendo è possibile anche copiare i relativi file .xml e .pdb) -
Tornare nell’Azure portal (preview), andare nella sezione dell’Application Insights creato precedentemente, cliccare sul bottone “Properties” e copiare il valore della texbox “Instrumentation Key”
-
Copiare il file ApplicationInsights.config dalla root della Web App alla root folder del Web Site
-
In questo file, sostituire il valore della chiave “InstrumentationKey” con quello copiato al punto 5
-
Cambiare il file web.config del website aggiungendo le seguenti righe:
<system.web>
[...]
<httpModules>
[...]
<add name="ApplicationInsightsWebTracking" type="Microsoft.ApplicationInsights.Extensibility.Web.RequestTracking.WebRequestTrackingModule, Microsoft.ApplicationInsights.Extensibility.Web" />
[...]
</httpModules>
[...]
</system.web>
<system.webServer>
[...]
<validation validateIntegratedModeConfiguration="false" />
[...]
<modules runAllManagedModulesForAllRequests="true">
[...]
<remove name="ApplicationInsightsWebTracking" />
<add name="ApplicationInsightsWebTracking" type="Microsoft.ApplicationInsights.Extensibility.Web.RequestTracking.WebRequestTrackingModule, Microsoft.ApplicationInsights.Extensibility.Web" preCondition="managedHandler" />
[...]
</modules>
[...]
</system.webServer>
Aggiungere Azure Application Insights ad un Web Site
-
Creare un nuovo servizio “Application Insights” usando il nuovo Azure portal (preview)
-
Copiare lo snippet di codice JavaScript che viene proposto dal portale ed aggiungerlo a tutte le pagine che si vogliono monitorare (oppure alla master page, se ce n’è una)
-
In Visual Studio 2013.3, creare una nuova web application vuota ed aggiungere ad essa Application Insights usando il menu contestuale
-
Copiare i seguenti file dalla cartella “bin” della Web App alla cartella “bin” del Web Site:
Microsoft.ApplicationInsights.dll
Microsoft.ApplicationInsights.Extensibility.RuntimeTelemetry.dll
Microsoft.ApplicationInsights.Extensibility.Web.dll
Microsoft.Diagnostics.Tracing.EventSource.dll
(volendo è possibile anche copiare i relativi file .xml e .pdb) -
Tornare nell’Azure portal (preview), andare nella sezione dell’Application Insights creato precedentemente, cliccare sul bottone “Properties” e copiare il valore della texbox “Instrumentation Key”
-
Copiare il file ApplicationInsights.config dalla root della Web App alla root folder del Web Site
-
In questo file, sostituire il valore della chiave “InstrumentationKey” con quello copiato al punto 5
-
Cambiare il file web.config del website aggiungendo le seguenti righe:
<system.web>
[...]
<httpModules>
[...]
<add name="ApplicationInsightsWebTracking" type="Microsoft.ApplicationInsights.Extensibility.Web.RequestTracking.WebRequestTrackingModule, Microsoft.ApplicationInsights.Extensibility.Web" />
[...]
</httpModules>
[...]
</system.web>
<system.webServer>
[...]
<validation validateIntegratedModeConfiguration="false" />
[...]
<modules runAllManagedModulesForAllRequests="true">
[...]
<remove name="ApplicationInsightsWebTracking" />
<add name="ApplicationInsightsWebTracking" type="Microsoft.ApplicationInsights.Extensibility.Web.RequestTracking.WebRequestTrackingModule, Microsoft.ApplicationInsights.Extensibility.Web" preCondition="managedHandler" />
[...]
</modules>
[...]
</system.webServer>
Azure Web Sites Deploy: come funziona?
Metodi di deploy supportati |
- è un progetto open source disponibile su GitHub (https://github.com/projectkudu/kudu)
- è installato automaticamente per ogni Azure Web Sites
- può utilizzare uno script di distribuzione personalizzato
Il deployment viene creato nella struttura delle cartelle del sito web e il nuova deployment viene copiato nella root del sito, lasciando intatti i vecchi deployment.
Dashboard di Kudu |
Azure Web Sites Deploy: come funziona?
Metodi di deploy supportati |
- è un progetto open source disponibile su GitHub (https://github.com/projectkudu/kudu)
- è installato automaticamente per ogni Azure Web Sites
- può utilizzare uno script di distribuzione personalizzato
Il deployment viene creato nella struttura delle cartelle del sito web e il nuova deployment viene copiato nella root del sito, lasciando intatti i vecchi deployment.
Dashboard di Kudu |
Autoscale delle Virtual Machine con Microsoft Azure
Normalmente si scalano website o cloud services, ma se invece abbiamo le nostre applicazioni hostate su una Virtual Machine e le vogliamo scalare orizzontalmente? Anche questo è possibile.
Per farlo, vanno effettuati sostanzialmente 2 step: creare una Load Balanced Web Farm epoi configurare il servizio di AutoScale.
Ecco come:
Passaggi:
- Creare una VM Standard ed assegnarla ad un availability set
- Configurare la VM secondo le necessità (IIS, Application server, ftp, ecc…)
- Clonare la VM
- Sysprep
- Cattura
- Ricreare la VM originale ed aggiungere tutti gli endpoint necessari
- Creare la seconda VM senza “endpoint extra”
- Optional – ripetere il punto 3.4 per creare ulteriori VM
- Bilanciare le VM
- Cambiare gli endpoint sulla prima VM per creare un Load-Balanced set
- Aggiungere gli endpoint alla seconda (terza, ecc…) VM sul Load-Balanced set
- Ripetere i punti 4.1 e 4.2 per tutti gli endpoint che devono essere bilanciati
- Fare attenzione al Session State (se necessario)
- Configurare l’Autoscale
Ora abbiamo le nostre VM attive e bilanciate. Ma abbiamo veramente sempre bisogno di averle tutte attive nello stesso momento? Probabilmente no. Magari abbiamo bisogno di averle tutte attive solo in una determinata fascia oraria oppure solo se il carico sull’applicazione supera una certa soglia…
Login