{"id":267,"date":"2020-03-29T18:26:35","date_gmt":"2020-03-29T17:26:35","guid":{"rendered":"http:\/\/www.gaetanopaterno.it\/?p=267"},"modified":"2020-04-28T13:47:40","modified_gmt":"2020-04-28T12:47:40","slug":"creare-un-azure-app-su-service","status":"publish","type":"post","link":"https:\/\/www.gaetanopaterno.it\/?p=267","title":{"rendered":"Creare una Web App su Azure App Service"},"content":{"rendered":"\n<h1 class=\"wp-block-heading\">Introduzione<\/h1>\n\n\n\n<p>La creazione di un sito web richiede un insieme di considerazioni riguardanti la &#8220;posizione&#8221; su cui andremo a pubblicarlo. Si parla di infrastruttura server, hardware appropriato, sistema operativo e un elenco di tecnologie per lo hosting. Possiamo operare in due modi: distribuirlo su un server &#8220;locale&#8221; oppure sfruttare i servizi di Microsoft Azure.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Le possibilit\u00e0<\/h2>\n\n\n\n<p>Nel primo caso, vi \u00e8 da investire sulla parte hardware al fine di avere un server sempre efficiente, e quindi attivo, raggiungibile e dalle buone performance al variare del traffico. Senza tutti questi accorgimenti un sito web non potr\u00e0 mai essere pienamente fruibile dagli utenti finali. Nel secondo caso, utilizzando una Web App su Azure App Service, avremo una gestione decisamente pi\u00f9 semplice.<\/p>\n\n\n\n<p>Azure App Service consente di creare, distribuire e ridimensionare rapidamente applicazioni Web, per dispositivi mobili e API di livello aziendale, in qualsiasi piattaforma e soddisfare rigorosi requisiti di prestazioni, scalabilit\u00e0, sicurezza e conformit\u00e0 usando al contempo una piattaforma completamente gestita e manutenzionata. <\/p>\n\n\n\n<p>In questo primo articolo vedremo come creare una Web App su App Service utilizzando il portale di Azure, Visual Studio 2019, Visual Studio Code o Azure Cloud Shell.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Creare una Web App nel portale di Azure<\/h2>\n\n\n\n<p>Azure App Service \u00e8 un servizio per l&#8217;hosting di applicazioni Web, API REST e back-end mobili, basato su HTTP. \u00c8 possibile usare il linguaggio di sviluppo preferito tra .NET, .NET Core, Java, Ruby, Node.js, PHP o Python e le applicazioni vengono eseguite e ridimensionate con facilit\u00e0 in ambienti basati sia su Windows che su Linux.<\/p>\n\n\n\n<p>Per creare una Web App accedere al <a href=\"https:\/\/portal.azure.com\/\">portale di Azure<\/a>:<\/p>\n\n\n\n<div class=\"wp-block-image is-style-zoooom\"><figure class=\"aligncenter size-full is-resized\"><img fetchpriority=\"high\" decoding=\"async\" src=\"http:\/\/www.gaetanopaterno.it\/wp-content\/uploads\/2020\/03\/CreateAzureAppWebFig01.jpg\" alt=\"\" class=\"wp-image-271\" width=\"602\" height=\"306\" srcset=\"https:\/\/www.gaetanopaterno.it\/wp-content\/uploads\/2020\/03\/CreateAzureAppWebFig01.jpg 602w, https:\/\/www.gaetanopaterno.it\/wp-content\/uploads\/2020\/03\/CreateAzureAppWebFig01-300x152.jpg 300w\" sizes=\"(max-width: 602px) 100vw, 602px\" \/><\/figure><\/div>\n\n\n\n<ul class=\"wp-block-list\"><li>Nel menu del\nportale di Azure o nella <strong>home page<\/strong> selezionare <strong>Crea una risorsa<\/strong>.<\/li><li>Nel portale\nviene visualizzata la pagina <strong>Marketplace<\/strong>. Da qui \u00e8 possibile cercare la\nrisorsa da creare oppure selezionare una delle risorse pi\u00f9 comuni create da\naltri utenti nel portale di Azure.<\/li><\/ul>\n\n\n\n<ul class=\"wp-block-list\"><li>Selezionare <strong>Web<\/strong> &gt; <strong>Web App<\/strong> (App Web) per accedere al wizard di creazione. <br><figure class=\"wp-block-image size-large is-style-zoooom\"><img decoding=\"async\" width=\"602\" height=\"316\" class=\"wp-image-272\" style=\"width: 602px;\" src=\"https:\/\/www.gaetanopaterno.it\/wp-content\/uploads\/2020\/03\/CreateAzureAppWebFig02.jpg\" alt=\"\" srcset=\"https:\/\/www.gaetanopaterno.it\/wp-content\/uploads\/2020\/03\/CreateAzureAppWebFig02.jpg 602w, https:\/\/www.gaetanopaterno.it\/wp-content\/uploads\/2020\/03\/CreateAzureAppWebFig02-300x157.jpg 300w\" sizes=\"(max-width: 602px) 100vw, 602px\" \/><\/figure><\/li><\/ul>\n\n\n\n<ul class=\"wp-block-list\"><li>Compilare la procedura guidata.<br><figure class=\"wp-block-image size-large is-style-zoooom\"><img decoding=\"async\" width=\"602\" height=\"342\" class=\"wp-image-273\" style=\"width: 602px;\" src=\"https:\/\/www.gaetanopaterno.it\/wp-content\/uploads\/2020\/03\/CreateAzureAppWebFig03.jpg\" alt=\"\" srcset=\"https:\/\/www.gaetanopaterno.it\/wp-content\/uploads\/2020\/03\/CreateAzureAppWebFig03.jpg 602w, https:\/\/www.gaetanopaterno.it\/wp-content\/uploads\/2020\/03\/CreateAzureAppWebFig03-300x170.jpg 300w\" sizes=\"(max-width: 602px) 100vw, 602px\" \/><\/figure><\/li><li>Selezionare <strong>Rivedi e crea<\/strong> per passare alla pagina di revisione e quindi selezionare <strong>Crea<\/strong> per creare l&#8217;app. In pochi secondi la Web App sar\u00e0 predisporla e pronta per l&#8217;uso.<\/li><\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Accesso alla Web App<\/h3>\n\n\n\n<p>Quando l&#8217;app \u00e8 pronta, ecco come accedere:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Nel menu del portale di Azure o nella <strong>home page<\/strong> selezionare <strong>Tutte le risorse<\/strong>.<\/li><li>Selezione la Web App dall\u2019elenco.<\/li><li>Il portale visualizzer\u00e0 la pagina di panoramica della Web App.<\/li><\/ul>\n\n\n\n<div class=\"wp-block-image is-style-zoooom\"><figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"602\" height=\"306\" src=\"http:\/\/www.gaetanopaterno.it\/wp-content\/uploads\/2020\/03\/CreateAzureAppWebFig04.jpg\" alt=\"\" class=\"wp-image-274\" srcset=\"https:\/\/www.gaetanopaterno.it\/wp-content\/uploads\/2020\/03\/CreateAzureAppWebFig04.jpg 602w, https:\/\/www.gaetanopaterno.it\/wp-content\/uploads\/2020\/03\/CreateAzureAppWebFig04-300x152.jpg 300w\" sizes=\"(max-width: 602px) 100vw, 602px\" \/><\/figure><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Creare una Web App con Visual Studio 2019<\/h2>\n\n\n\n<p>Se si sta sviluppando un\u2019applicazione web con i framework .Net Core o .Net Framework in Visual Studio 2019, \u00e8 possibile creare una Web App su Azure durante la pubblicazione dell\u2019applicazione.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"286\" height=\"256\" src=\"http:\/\/www.gaetanopaterno.it\/wp-content\/uploads\/2020\/03\/CreateAzureAppWebFig05.jpg\" alt=\"\" class=\"wp-image-275\"\/><\/figure><\/div>\n\n\n\n<ul class=\"wp-block-list\"><li>In <strong>Solution Explorer<\/strong> cliccare con il pulsante destro del mouse sul progetto myFirstAzureWebApp e scegliere <strong>Publish<\/strong>.<\/li><li>Scegliere <strong>App Service<\/strong> (Servizio App) e quindi cliccare su <strong>Create Profile<\/strong>.<br>Attenzione! Se stiamo pubblicando un\u2019applicazione web sviluppata con .Net Core possiamo selezionare sia il <strong>App Service<\/strong>, servizio distribuito in un\u2019ambiente con sistema operativo Windows, che il <strong>App Service Linux<\/strong>, servizio distribuito in un\u2019ambiente con sistema operativo Linux; invece se l\u2019applicazione web \u00e8 sviluppata con .Net Framework, \u00e8 possibile solo selezionare il <strong>App Service<\/strong> (Windows).<\/li><\/ul>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"602\" height=\"452\" src=\"http:\/\/www.gaetanopaterno.it\/wp-content\/uploads\/2020\/03\/CreateAzureAppWebFig06.jpg\" alt=\"\" class=\"wp-image-276\" srcset=\"https:\/\/www.gaetanopaterno.it\/wp-content\/uploads\/2020\/03\/CreateAzureAppWebFig06.jpg 602w, https:\/\/www.gaetanopaterno.it\/wp-content\/uploads\/2020\/03\/CreateAzureAppWebFig06-300x225.jpg 300w\" sizes=\"(max-width: 602px) 100vw, 602px\" \/><\/figure><\/div>\n\n\n\n<ul class=\"wp-block-list\"><li>Nella finestra di dialogo completare i campi obbligatori, in particolare:<ul><li>In <strong>Name <\/strong>immettere un nome univoco per la web app che includa solo i caratteri validi, ossia a-z, A-Z, 0-9 e &#8211; oppure \u00e8 possibile accettare il nome univoco generato automaticamente. L&#8217;URL dell&#8217;app Web \u00e8 http:\/\/&lt;app_name&gt;.azurewebsites.net, dove &lt;app_name&gt; \u00e8 il nome dell&#8217;app. <\/li><\/ul><ul><li>In <strong>Resources group<\/strong> \u00e8 possibile selezionare un gruppo esistente o crearne uno nuovo.<\/li><\/ul><ul><li>In <strong>Hosting Plan<\/strong> \u00e8 possibile selezionare un piano esistente o crearne uno nuovo. <br>I piani di servizio app definiscono:<ul><li>Area (ad esempio Europa settentrionale, Stati Uniti orientali o Asia sud-orientale)<\/li><\/ul><ul><li>Dimensione dell&#8217;istanza (Small, Medium o Large)<\/li><\/ul><ul><li>Numero di scala (da 1 a 20 istanze)<\/li><\/ul><ul><li>SKU (Gratuito, Condiviso, Basic, Standard o Premium)<\/li><\/ul><\/li><li>Se creiamo un nuovo <strong>Hosting Plan<\/strong>, nella finestra di dialogo immettere i valori come nell\u2019immagine seguente e quindi scegliere OK.<\/li><\/ul><\/li><\/ul>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"241\" height=\"271\" src=\"http:\/\/www.gaetanopaterno.it\/wp-content\/uploads\/2020\/03\/CreateAzureAppWebFig07.jpg\" alt=\"\" class=\"wp-image-277\"\/><\/figure><\/div>\n\n\n\n<ul class=\"wp-block-list\"><li>Selezionare <strong>Create <\/strong>per avviare la creazione delle risorse di Azure.<br> Al termine della procedura guidata, l&#8217;app viene pubblicata in Azure e avviata nel browser predefinito.<\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Creare una Web App con Visual Studio Code<\/h2>\n\n\n\n<p>Se si sta sviluppando un\u2019applicazione web con Node.js e Visual Studio Code, indipendentemente dal sistema Windows o Linux, possiamo utilizzare l\u2019<strong><a href=\"vscode:extension\/ms-azuretools.vscode-azureappservice\">Estensione Servizio app di Azure<\/a><\/strong> di Visual Studio Code per creare una nuova Web App su Azure.<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Sulla barra delle attivit\u00e0 di VS Code fare clic\nsul logo di Azure per visualizzare Esplora risorse del <strong>SERVIZIO APP DI AZURE<\/strong>.\nSelezionare <strong>Accedi ad Azure<\/strong> e seguire le istruzioni.<br>\n<\/li><\/ul>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"347\" height=\"317\" src=\"http:\/\/www.gaetanopaterno.it\/wp-content\/uploads\/2020\/03\/CreateAzureAppWebFig08.jpg\" alt=\"\" class=\"wp-image-278\" srcset=\"https:\/\/www.gaetanopaterno.it\/wp-content\/uploads\/2020\/03\/CreateAzureAppWebFig08.jpg 347w, https:\/\/www.gaetanopaterno.it\/wp-content\/uploads\/2020\/03\/CreateAzureAppWebFig08-300x274.jpg 300w\" sizes=\"(max-width: 347px) 100vw, 347px\" \/><\/figure><\/div>\n\n\n\n<ul class=\"wp-block-list\"><li>Una volta effettuato l&#8217;accesso, lo strumento di\nesplorazione visualizzer\u00e0 il nome della sottoscrizione di Azure. Selezionare\nl&#8217;icona della freccia verso l&#8217;alto blu per distribuire l&#8217;app in Azure. \u00c8 anche\npossibile richiamare lo stesso comando dal <strong>riquadro comandi (CTRL+MAIUSC+P)<\/strong>\ndigitando &#8216;Distribuisci nell&#8217;app Web&#8217; e scegliendo <strong>Servizio app di Azure:\nDistribuisci nell&#8217;app Web<\/strong>.<br>\n<\/li><\/ul>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"359\" height=\"147\" src=\"http:\/\/www.gaetanopaterno.it\/wp-content\/uploads\/2020\/03\/CreateAzureAppWebFig09.jpg\" alt=\"\" class=\"wp-image-279\" srcset=\"https:\/\/www.gaetanopaterno.it\/wp-content\/uploads\/2020\/03\/CreateAzureAppWebFig09.jpg 359w, https:\/\/www.gaetanopaterno.it\/wp-content\/uploads\/2020\/03\/CreateAzureAppWebFig09-300x123.jpg 300w\" sizes=\"(max-width: 359px) 100vw, 359px\" \/><\/figure><\/div>\n\n\n\n<ul class=\"wp-block-list\"><li> Scegliere la cartella nodejs-docs-hello-world. <\/li><\/ul>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"602\" height=\"129\" src=\"http:\/\/www.gaetanopaterno.it\/wp-content\/uploads\/2020\/03\/CreateAzureAppWebFig10.jpg\" alt=\"\" class=\"wp-image-280\" srcset=\"https:\/\/www.gaetanopaterno.it\/wp-content\/uploads\/2020\/03\/CreateAzureAppWebFig10.jpg 602w, https:\/\/www.gaetanopaterno.it\/wp-content\/uploads\/2020\/03\/CreateAzureAppWebFig10-300x64.jpg 300w\" sizes=\"(max-width: 602px) 100vw, 602px\" \/><\/figure><\/div>\n\n\n\n<ul class=\"wp-block-list\"><li>Scegliere un&#8217;opzione di creazione in base al sistema operativo in cui eseguire la distribuzione:<ul><li>Linux: Scegliere <strong>Crea una nuova app Web<\/strong><\/li><\/ul><ul><li>Windows: Scegliere <strong>Crea una nuova app Web&#8230; Impostazioni avanzate<\/strong><\/li><\/ul><\/li><\/ul>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"602\" height=\"126\" src=\"http:\/\/www.gaetanopaterno.it\/wp-content\/uploads\/2020\/03\/CreateAzureAppWebFig11.jpg\" alt=\"\" class=\"wp-image-281\" srcset=\"https:\/\/www.gaetanopaterno.it\/wp-content\/uploads\/2020\/03\/CreateAzureAppWebFig11.jpg 602w, https:\/\/www.gaetanopaterno.it\/wp-content\/uploads\/2020\/03\/CreateAzureAppWebFig11-300x63.jpg 300w\" sizes=\"(max-width: 602px) 100vw, 602px\" \/><\/figure><\/div>\n\n\n\n<ul class=\"wp-block-list\"><li>Digitare un nome univoco a livello globale per\nl&#8217;app Web e premere <strong>INVIO<\/strong>. Il nome deve essere univoco in tutte le\nrisorse di Azure e usare solo caratteri alfanumerici (&#8216; A-Z &#8216;,&#8217; a-z &#8216; \u00e8 0-9&#8217;) e\ntrattini (&#8216;-&#8216;).<\/li><\/ul>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"602\" height=\"126\" src=\"http:\/\/www.gaetanopaterno.it\/wp-content\/uploads\/2020\/03\/CreateAzureAppWebFig12.jpg\" alt=\"\" class=\"wp-image-282\" srcset=\"https:\/\/www.gaetanopaterno.it\/wp-content\/uploads\/2020\/03\/CreateAzureAppWebFig12.jpg 602w, https:\/\/www.gaetanopaterno.it\/wp-content\/uploads\/2020\/03\/CreateAzureAppWebFig12-300x63.jpg 300w\" sizes=\"(max-width: 602px) 100vw, 602px\" \/><\/figure><\/div>\n\n\n\n<ul class=\"wp-block-list\"><li>Selezionare il runtime di esecuzione dell\u2019app:<ul><li>Se la destinazione \u00e8 Linux, selezionare una\nversione di Node.js quando richiesto. \u00c8 consigliabile usare una versione <strong>LTS<\/strong>.<\/li><\/ul><ul><li>Se la destinazione \u00e8 Windows, seguire le\nistruzioni aggiuntive:<ul><li>Selezionare <strong>Creare un nuovo gruppo di risorse<\/strong>,\nquindi immettere un nome per il gruppo di risorse, ad esempio AppServiceQS-rg.<\/li><\/ul><ul><li>Selezionare <strong>Windows<\/strong> come sistema\noperativo.<\/li><\/ul><ul><li>Selezionare <strong>Crea nuovo piano di servizio app<\/strong>,\nquindi immettere un nome per il piano, ad esempio AppServiceQS-plan, quindi\nselezionare il piano tariffario <strong>F1 Gratuito<\/strong>.<\/li><\/ul><ul><li>Scegliere <strong>Ignora per adesso<\/strong> quando viene\nrichiesto riguardo ad Application Insights.<\/li><\/ul><ul><li>Scegliere un&#8217;area vicina al proprio ambiente o\nalle risorse a cui si vuole accedere.<\/li><\/ul><\/li><\/ul><\/li><\/ul>\n\n\n\n<ul class=\"wp-block-list\"><li>Dopo aver risposto a tutte le richieste, VS Code mostra le risorse di Azure che vengono create per l&#8217;app nella finestra popup di notifica.<br> <\/li><\/ul>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"602\" height=\"126\" src=\"http:\/\/www.gaetanopaterno.it\/wp-content\/uploads\/2020\/03\/CreateAzureAppWebFig13.jpg\" alt=\"\" class=\"wp-image-283\" srcset=\"https:\/\/www.gaetanopaterno.it\/wp-content\/uploads\/2020\/03\/CreateAzureAppWebFig13.jpg 602w, https:\/\/www.gaetanopaterno.it\/wp-content\/uploads\/2020\/03\/CreateAzureAppWebFig13-300x63.jpg 300w\" sizes=\"(max-width: 602px) 100vw, 602px\" \/><\/figure><\/div>\n\n\n\n<p>Per la distribuzione in Linux, selezionare <strong>S\u00ec<\/strong> quando viene richiesto di aggiornare la configurazione per eseguire <em>npm install<\/em> nel server Linux di destinazione. <\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"557\" height=\"147\" src=\"http:\/\/www.gaetanopaterno.it\/wp-content\/uploads\/2020\/03\/CreateAzureAppWebFig14.jpg\" alt=\"Richiesta di aggiornamento della configurazione nel server Linux di destinazione\" class=\"wp-image-284\" srcset=\"https:\/\/www.gaetanopaterno.it\/wp-content\/uploads\/2020\/03\/CreateAzureAppWebFig14.jpg 557w, https:\/\/www.gaetanopaterno.it\/wp-content\/uploads\/2020\/03\/CreateAzureAppWebFig14-300x79.jpg 300w\" sizes=\"(max-width: 557px) 100vw, 557px\" \/><\/figure><\/div>\n\n\n\n<ul class=\"wp-block-list\"><li> Quando richiesto, selezionare <strong>S\u00ec<\/strong> per <strong>Distribuisci sempre l&#8217;area di lavoro &#8220;nodejs-docs-hello-world&#8221; in (nome app)&#8221;<\/strong>. Selezionando <strong>S\u00ec<\/strong> si indica VS Code di impostare automaticamente come destinazione la stessa app Web del servizio app con le distribuzioni successive. <\/li><\/ul>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"602\" height=\"136\" src=\"http:\/\/www.gaetanopaterno.it\/wp-content\/uploads\/2020\/03\/CreateAzureAppWebFig15.jpg\" alt=\"\" class=\"wp-image-285\" srcset=\"https:\/\/www.gaetanopaterno.it\/wp-content\/uploads\/2020\/03\/CreateAzureAppWebFig15.jpg 602w, https:\/\/www.gaetanopaterno.it\/wp-content\/uploads\/2020\/03\/CreateAzureAppWebFig15-300x68.jpg 300w\" sizes=\"(max-width: 602px) 100vw, 602px\" \/><\/figure><\/div>\n\n\n\n<ul class=\"wp-block-list\"><li>Al termine:<ul><li>Per la distribuzione in Linux, selezionare Esplora sito Web nel messaggio per visualizzare l&#8217;app Web appena distribuita. Nel browser verr\u00e0 visualizzato il testo &#8220;Hello World!&#8221;<\/li><\/ul><ul><li>Per la distribuzione in Windows, \u00e8 prima necessario impostare il numero di versione di Node.js per l&#8217;app Web:<\/li><\/ul><\/li><\/ul>\n\n\n\n<ul class=\"wp-block-list\"><li>In VS Code espandere il nodo del nuovo servizio\napp, quindi fare clic con il pulsante destro del mouse su <strong>Impostazioni\napplicazione<\/strong> e scegliere <strong>Aggiungi nuova impostazione<\/strong>:<br>\n<ul><li>Immettere WEBSITE_NODE_DEFAULT_VERSION per la chiave\ndell&#8217;impostazione.<\/li><\/ul><ul><li>Immettere 10.15.2 per il valore dell&#8217;impostazione.<\/li><\/ul><\/li><\/ul>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"349\" height=\"254\" src=\"http:\/\/www.gaetanopaterno.it\/wp-content\/uploads\/2020\/03\/CreateAzureAppWebFig16.jpg\" alt=\"\" class=\"wp-image-286\" srcset=\"https:\/\/www.gaetanopaterno.it\/wp-content\/uploads\/2020\/03\/CreateAzureAppWebFig16.jpg 349w, https:\/\/www.gaetanopaterno.it\/wp-content\/uploads\/2020\/03\/CreateAzureAppWebFig16-300x218.jpg 300w\" sizes=\"(max-width: 349px) 100vw, 349px\" \/><\/figure><\/div>\n\n\n\n<ul class=\"wp-block-list\"><li>Cliccare con il pulsante destro del mouse sul nodo relativo al App Service e scegliere <strong>Riavvia<\/strong>.<\/li><\/ul>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"391\" height=\"210\" src=\"http:\/\/www.gaetanopaterno.it\/wp-content\/uploads\/2020\/03\/CreateAzureAppWebFig17.jpg\" alt=\"\" class=\"wp-image-287\" srcset=\"https:\/\/www.gaetanopaterno.it\/wp-content\/uploads\/2020\/03\/CreateAzureAppWebFig17.jpg 391w, https:\/\/www.gaetanopaterno.it\/wp-content\/uploads\/2020\/03\/CreateAzureAppWebFig17-300x161.jpg 300w\" sizes=\"(max-width: 391px) 100vw, 391px\" \/><\/figure><\/div>\n\n\n\n<ul class=\"wp-block-list\"><li>Cliccare con il pulsante destro del mouse sul nodo relativo al App Service e scegliere <strong>Esplora sito Web<\/strong>.<\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Creare una Web App con Azure Cloud Shell<\/h2>\n\n\n\n<p>Un altro modo per creare una Web App su Azure \u00e8 utilizzando Azure Cloud Shell. Azure Cloud Shell \u00e8 un ambiente di shell interattivo ospitato in Azure e usato tramite il browser. \u00c8 possibile usare Bash o PowerShell con Cloud Shell per usare i servizi di Azure.<br> &nbsp;<br> Per avviare Azure Cloud Shell abbiamo 3 opzioni:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Selezionare <strong>Prova<\/strong> nell&#8217;angolo superiore\ndestro di un blocco di codice scritto sull&#8217;interfaccia della riga di comando <strong>Azure\nCli<\/strong>.<\/li><li>Passare a <a href=\"https:\/\/shell.azure.com\/\">https:\/\/shell.azure.com<\/a>\no selezionare il pulsante <strong>Avvia Cloud Shell<\/strong> per aprire Cloud Shell nel\nbrowser.<\/li><li>Selezionare il pulsante <strong>Cloud Shell<\/strong> nella\nbarra dei menu nell&#8217;angolo in alto a destra del portale di Azure.<\/li><\/ul>\n\n\n\n<p>Avviato Cloud Shell, i passaggi da eseguire per la creazione\ndell\u2019App Web sono:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Creare un gruppo di risorse con il comando <a href=\"https:\/\/docs.microsoft.com\/it-it\/cli\/azure\/group?view=azure-cli-latest\">az\ngroup create<\/a>.<br>\n<br>\naz group create &#8211;name myResourceGroup &#8211;location &#8220;West Europe&#8221;<br>\n<br>\nL&#8217;esempio nell\u2019immagine precedente crea un gruppo di risorse denominato\nmyResourceGroup nella localit\u00e0 Europa occidentale. Per visualizzare tutte le\nlocalit\u00e0 supportate per il servizio app nel livello <strong>gratuito<\/strong>, eseguire\nil comando <a href=\"https:\/\/docs.microsoft.com\/it-it\/cli\/azure\/appservice?view=azure-cli-latest\">az\nappservice list-locations &#8211;sku FREE<\/a>.<br>\nIn genere, il gruppo di risorse e le risorse vengono create in un&#8217;area vicina\nalla localit\u00e0 dell&#8217;utente.<\/li><\/ul>\n\n\n\n<p>Al termine del comando, un output JSON\nvisualizza le propriet\u00e0 del gruppo di risorse.<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Creare un piano di servizio app di Azure con il comando <a href=\"https:\/\/docs.microsoft.com\/it-it\/cli\/azure\/appservice\/plan?view=azure-cli-latest\">az appservice plan create<\/a>.<br> <br> az appservice plan create &#8211;name myAppServicePlan &#8211;resource-group myResourceGroup &#8211;sku FREE<br><br> Al termine della creazione del piano di servizio app, l&#8217;interfaccia della riga di comando di Azure visualizza informazioni simili all&#8217;esempio seguente: <\/li><\/ul>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"602\" height=\"225\" src=\"http:\/\/www.gaetanopaterno.it\/wp-content\/uploads\/2020\/03\/CreateAzureAppWebFig18.jpg\" alt=\"\" class=\"wp-image-289\" srcset=\"https:\/\/www.gaetanopaterno.it\/wp-content\/uploads\/2020\/03\/CreateAzureAppWebFig18.jpg 602w, https:\/\/www.gaetanopaterno.it\/wp-content\/uploads\/2020\/03\/CreateAzureAppWebFig18-300x112.jpg 300w\" sizes=\"(max-width: 602px) 100vw, 602px\" \/><\/figure><\/div>\n\n\n\n<ul class=\"wp-block-list\"><li>Creare un&#8217;app Web nel piano di servizio\napp myAppServicePlan con il comando <a href=\"https:\/\/docs.microsoft.com\/it-it\/cli\/azure\/webapp?view=azure-cli-latest#az-webapp-create\">az\nwebapp create<\/a>.<br>\nNell&#8217;esempio seguente sostituire &lt;app_name&gt; con un nome app univoco\nglobale. I caratteri validi sono a-z, 0-9 e -. Il runtime \u00e8 impostato su\nPHP|7.0. Per visualizzare tutti i runtime supportati, eseguire <a href=\"https:\/\/docs.microsoft.com\/it-it\/cli\/azure\/webapp?view=azure-cli-latest#az-webapp-list-runtimes\">az\nwebapp list-runtimes<\/a>.<br>\n<br>\n# Bash<br>\naz webapp create &#8211;resource-group myResourceGroup &#8211;plan myAppServicePlan &#8211;name &lt;app_name&gt; &#8211;runtime &#8220;PHP|7.0&#8221; &#8211;deployment-local-git<br>\n<br>\n# PowerShell<br>\naz &#8211;% webapp create &#8211;resource-group myResourceGroup &#8211;plan myAppServicePlan &#8211;name &lt;app_name&gt; &#8211;runtime &#8220;PHP|7.0&#8221; &#8211;deployment-local-git<\/li><\/ul>\n\n\n\n<p><br>Dopo la creazione dell&#8217;app Web, l&#8217;interfaccia della riga di comando di Azure mostra un output simile all&#8217;esempio seguente:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"602\" height=\"189\" src=\"http:\/\/www.gaetanopaterno.it\/wp-content\/uploads\/2020\/03\/CreateAzureAppWebFig19.jpg\" alt=\"\" class=\"wp-image-290\" srcset=\"https:\/\/www.gaetanopaterno.it\/wp-content\/uploads\/2020\/03\/CreateAzureAppWebFig19.jpg 602w, https:\/\/www.gaetanopaterno.it\/wp-content\/uploads\/2020\/03\/CreateAzureAppWebFig19-300x94.jpg 300w\" sizes=\"(max-width: 602px) 100vw, 602px\" \/><\/figure>\n\n\n\n<p>\u00c8 stata creata una nuova app Web vuota. Per visualizzare nel\nbrowser l&#8217;App Web appena creata sostituire <em>&lt;app name&gt;<\/em> con il nome\napp univoco creato nel passaggio precedente.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Conclusioni<\/h2>\n\n\n\n<p>In questo articolo abbiamo visto come \u00e8 possibile creare, con diversi strumenti, una Web App che sia in grado di ospitare l\u2019applicazione web che stiamo sviluppando grazie alle tante caratteristiche.<\/p>\n\n\n\n<p>Nei prossimi articoli vedremo come \u00e8 possibile distribuire il codice dell\u2019applicazione web sviluppata tramite continuos deployment. <\/p>\n","protected":false},"excerpt":{"rendered":"<p>Introduzione La creazione di un sito web richiede un insieme di considerazioni riguardanti la &#8220;posizione&#8221; su cui andremo a pubblicarlo. Si parla di infrastruttura server, hardware appropriato, sistema operativo e un elenco di tecnologie per lo hosting. Possiamo operare in due modi: distribuirlo su un server &#8220;locale&#8221; oppure sfruttare i servizi di Microsoft Azure. Le possibilit\u00e0 Nel primo caso, vi \u00e8 da investire sulla parte hardware al fine di avere un server sempre efficiente, e quindi attivo, raggiungibile e dalle buone performance al variare del traffico. Senza tutti questi accorgimenti un sito web non potr\u00e0 mai essere pienamente fruibile dagli&hellip;<\/p>\n<p> <a class=\"more-link\" href=\"https:\/\/www.gaetanopaterno.it\/?p=267\">Leggi tutto<\/a><\/p>\n","protected":false},"author":1,"featured_media":293,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":{"0":"post-267","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-articolo"},"_links":{"self":[{"href":"https:\/\/www.gaetanopaterno.it\/index.php?rest_route=\/wp\/v2\/posts\/267","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.gaetanopaterno.it\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.gaetanopaterno.it\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.gaetanopaterno.it\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.gaetanopaterno.it\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=267"}],"version-history":[{"count":33,"href":"https:\/\/www.gaetanopaterno.it\/index.php?rest_route=\/wp\/v2\/posts\/267\/revisions"}],"predecessor-version":[{"id":448,"href":"https:\/\/www.gaetanopaterno.it\/index.php?rest_route=\/wp\/v2\/posts\/267\/revisions\/448"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.gaetanopaterno.it\/index.php?rest_route=\/wp\/v2\/media\/293"}],"wp:attachment":[{"href":"https:\/\/www.gaetanopaterno.it\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=267"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.gaetanopaterno.it\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=267"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.gaetanopaterno.it\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=267"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}