{"id":1902,"date":"2019-12-03T11:04:36","date_gmt":"2019-12-03T10:04:36","guid":{"rendered":"https:\/\/www.codemotion.com\/magazine\/uncategorized\/a-first-web-app-on-microsoft-azure\/"},"modified":"2021-12-23T14:25:43","modified_gmt":"2021-12-23T13:25:43","slug":"a-first-web-app-on-microsoft-azure","status":"publish","type":"post","link":"https:\/\/www.codemotion.com\/magazine\/devops\/cloud\/a-first-web-app-on-microsoft-azure\/","title":{"rendered":"A first web app on Microsoft Azure"},"content":{"rendered":"<p>In this article you will learn <strong>how to create an ASP.NET core app<\/strong> and how to <strong>deploy that app on Microsoft Azure<\/strong>.<\/p>\n<h2 id=\"25kgd\"><strong>Required software<\/strong><\/h2>\n<p>Let&#8217;s begin with a few mandatory requirements for the development machine. First, we must <strong>install .NET Core. <\/strong>This is a cross-platform framework for developing various kinds of apps (i.e., web, desktop, console). The latest version is available for download at this <a href=\"https:\/\/dotnet.microsoft.com\/download\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">link<\/a>, and the installer will provide the current version of <strong>.NET SDK<\/strong> (including the .NET CLI), the .NET Core runtime, and ASP.NET Core runtime according to the <span id=\"urn:enhancement-18006d53\" class=\"textannotation disambiguated wl-thing\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/operating_system\">operating system<\/span> with which it is performed.<\/p>\n<p>The installation process is pretty straightforward. To check whether the installation has been properly completed, you can open a terminal and run the command:<\/p>\n<pre>dotnet<\/pre>\n<p>If everything is ok, you will get an output like this:<\/p>\n<figure class=\"image regular \"><picture><source srcset=\"https:\/\/images.storychief.com\/account_16344\/image1_9158f9fed2c9a9ec6064b58c44d51a34_800.png 1x\" media=\"(max-width: 768px)\" \/><source srcset=\"https:\/\/images.storychief.com\/account_16344\/image1_9158f9fed2c9a9ec6064b58c44d51a34_800.png 1x\" media=\"(min-width: 769px)\" \/><img decoding=\"async\" src=\"https:\/\/images.storychief.com\/account_16344\/image1_9158f9fed2c9a9ec6064b58c44d51a34_800.png\" alt=\"The .NET CLI\" \/><\/picture><figcaption>The .NET CLI<\/figcaption><\/figure>\n<p>Next, we need an <strong><span id=\"urn:enhancement-59f71312\" class=\"textannotation disambiguated wl-thing\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/integrated_development_environment\">IDE<\/span><\/strong>. Currently, <strong>Visual Studio Code<\/strong> is considered one of the best lightweight <span id=\"urn:enhancement-8eb6d9f0\" class=\"textannotation disambiguated wl-thing\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/integrated_development_environment\">IDE<\/span>&#8216;s out there, plus it has a public marketplace offering lots of extensions that help throughout the <span id=\"urn:enhancement-9e86be26\" class=\"textannotation disambiguated wl-thing\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/economic_development\">development<\/span> process. The installer is available <a href=\"https:\/\/code.visualstudio.com\/download\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">at this link<\/a>.<\/p>\n<p>Once started, on the left side you&#8217;ll see a few buttons, among which you&#8217;ll find &#8216;Extensions&#8217;. This button will open a section with a search feature to help you find the extensions you need on the marketplace. The extensions to install are:<\/p>\n<ul>\n<li>C#<\/li>\n<li>Azure Tools<\/li>\n<\/ul>\n<h2 id=\"80o0r\"><strong>Create an Azure Subscription<\/strong><\/h2>\n<p>Microsoft Azure is one of today&#8217;s leading Cloud providers, offering a wide range of services and allowing companies to take full advantage of the Cloud. An Azure Subscription is mandatory to start provisioning resources, such as an Azure Web App. Subscriptions are available at this <a href=\"https:\/\/azure.microsoft.com\/en-us\/free\/\">link<\/a> and <strong>start at no cost<\/strong>.<\/p>\n<h2 id=\"e1e7j\"><strong>Create the first application<\/strong><\/h2>\n<p>It&#8217;s time to create an ASP.NET Web app. Let&#8217;s open the terminal and type the following command:<\/p>\n<pre>dotnet new webapp -o myfirstapp<\/pre>\n<p>In the same terminal window, run this app for the first time, using the command:<\/p>\n<pre>dotnet watch run<\/pre>\n<p>Then open a browser and go to <em>https:\/\/localhost:5001<\/em>. The <em>watch<\/em> command keeps watching for file changes to refresh the page while running.<\/p>\n<figure class=\"image regular \"><picture><source srcset=\"https:\/\/images.storychief.com\/account_16344\/image2_b3368f5923c8426d5eab99f24b582ac4_800.png 1x\" media=\"(max-width: 768px)\" \/><source srcset=\"https:\/\/images.storychief.com\/account_16344\/image2_b3368f5923c8426d5eab99f24b582ac4_800.png 1x\" media=\"(min-width: 769px)\" \/><img decoding=\"async\" src=\"https:\/\/images.storychief.com\/account_16344\/image2_b3368f5923c8426d5eab99f24b582ac4_800.png\" alt=\"The first run\" \/><\/picture><figcaption>The first run<\/figcaption><\/figure>\n<p>Note that if any warning related to an invalid <span id=\"urn:enhancement-d0c2ad59\" class=\"textannotation disambiguated wl-thing\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/https\">HTTPs<\/span> certificate shows up, it is possible to remove it as explained <a href=\"https:\/\/www.hanselman.com\/blog\/DevelopingLocallyWithASPNETCoreUnderHTTPSSSLAndSelfSignedCerts.aspx\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">here<\/a>.<\/p>\n<p>Finally, the code generated from the CLI can be inspected using Visual Studio Code: moving into the app directory and typing the <em>code<\/em> command will open the <span id=\"urn:enhancement-daecd05f\" class=\"textannotation disambiguated wl-thing\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/integrated_development_environment\">IDE<\/span> in the app folder.<\/p>\n<figure class=\"image regular \"><picture><source srcset=\"https:\/\/images.storychief.com\/account_16344\/image3_5545a6d1ffc483cad1f9764f87f19c7a_800.png 1x\" media=\"(max-width: 768px)\" \/><source srcset=\"https:\/\/images.storychief.com\/account_16344\/image3_5545a6d1ffc483cad1f9764f87f19c7a_800.png 1x\" media=\"(min-width: 769px)\" \/><img decoding=\"async\" src=\"https:\/\/images.storychief.com\/account_16344\/image3_5545a6d1ffc483cad1f9764f87f19c7a_800.png\" alt=\"The source code explorer in Visual Studio Code\" \/><\/picture><figcaption>The source code explorer in Visual Studio Code<\/figcaption><\/figure>\n<h2 id=\"fnsdi\"><strong>Create the Azure WebApp<\/strong><\/h2>\n<p>To <strong>host our project on Microsoft Azure<\/strong>, we need a Web App instance. After logging in to the Azure portal, we should be able to create a new resource using the button &#8216;Create a resource&#8217; first, then search for &#8216;Web App&#8217; and click on the &#8216;Create&#8217; button.<\/p>\n<figure class=\"image regular \"><picture><source srcset=\"https:\/\/images.storychief.com\/account_16344\/image4_297508990303a5db3f8cc85dc5ad15b3_800.png 1x\" media=\"(max-width: 768px)\" \/><source srcset=\"https:\/\/images.storychief.com\/account_16344\/image4_297508990303a5db3f8cc85dc5ad15b3_800.png 1x\" media=\"(min-width: 769px)\" \/><img decoding=\"async\" src=\"https:\/\/images.storychief.com\/account_16344\/image4_297508990303a5db3f8cc85dc5ad15b3_800.png\" alt=\"The Web App wizard in Microsoft Azure\" \/><\/picture><figcaption>The Web App wizard in <span id=\"urn:enhancement-dba284b7\" class=\"textannotation disambiguated wl-thing\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/microsoft_azure\">Microsoft Azure<\/span><\/figcaption><\/figure>\n<p>This step starts a wizard to configure the following settings:<\/p>\n<ul>\n<li><strong>Subscription<\/strong>: a valid Azure subscription;<\/li>\n<li><strong>Resource group<\/strong>: creates a new resource group with an explicit name (i.e., &#8216;codemotion&#8217;). A resource group is just a container for cloud resources;<\/li>\n<li><strong>Name<\/strong>: the name of the web app instance (i.e., &#8216;cdmt-webapp&#8217;). It&#8217;s interesting to note that <span id=\"urn:enhancement-31badf7d\" class=\"textannotation disambiguated wl-thing\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/microsoft_azure\">Microsoft Azure<\/span> will assign a subdomain of &#8216;azurewebsites.net&#8217; to the app;<\/li>\n<li><strong>Publish<\/strong>: you have two options: &#8216;Code&#8217; and &#8216;<span id=\"urn:enhancement-520690a9\" class=\"textannotation disambiguated wl-thing\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/docker_software\">Docker<\/span> Container&#8217;. In this example, the first choice is more appropriate;<\/li>\n<li><strong>Runtime Stack<\/strong>: defines the technology stack used to develop the app (i.e., &#8216;.NET Core 3.0 (Current)&#8217;);<\/li>\n<li><strong><span id=\"urn:enhancement-8e3458b2\" class=\"textannotation disambiguated wl-thing\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/operating_system\">Operating System<\/span><\/strong>: sets the app hosting platform (i.e., <span id=\"urn:enhancement-2fbeb2d3\" class=\"textannotation disambiguated wl-thing\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/linux\">Linux<\/span>). Bear in mind that .NET Core is cross-platform;<\/li>\n<li><strong>Region<\/strong>: defines which datacenter is used to create the resource (i.e., West Europe). For performance reasons, the closer the better;<\/li>\n<li><strong>App Service Plan<\/strong>: This option is a critical one. It defines the number of resources that the app needs and the amount of money to spend on it. For this sample, we can select the &#8216;Create New&#8217; link and choose a free tier plan under the &#8216;Dev \/ Test&#8217; section.<\/li>\n<\/ul>\n<p>This section should look similar to the image below:<\/p>\n<figure class=\"image regular \"><picture><source srcset=\"https:\/\/images.storychief.com\/account_16344\/image5_ba720cbeb4e84f6535c5e2a2305f2992_800.png 1x\" media=\"(max-width: 768px)\" \/><source srcset=\"https:\/\/images.storychief.com\/account_16344\/image5_ba720cbeb4e84f6535c5e2a2305f2992_800.png 1x\" media=\"(min-width: 769px)\" \/><img decoding=\"async\" src=\"https:\/\/images.storychief.com\/account_16344\/image5_ba720cbeb4e84f6535c5e2a2305f2992_800.png\" alt=\"Azure Web App settings\" \/><\/picture><figcaption>Azure Web App settings<\/figcaption><\/figure>\n<p>In the next section, related to Monitoring, disable &#8216;Application Insight&#8217;, which is not needed for now. Finally, we can hit the &#8216;Review + Create&#8217; button and lastly, &#8216;Create&#8217; itself. Azure Web app creation starts, and a few minutes later, the deployment completes, so we are ready to deploy our web app.<\/p>\n<h2 id=\"cs1ul\"><strong>Deploy the app<\/strong><\/h2>\n<p>Let&#8217;s go back for a moment to Visual Studio Code. Before we installed the Azure Extension we had this menu:<\/p>\n<figure class=\"image regular \"><picture><source srcset=\"https:\/\/images.storychief.com\/account_16344\/image6_cc63ce6b32d73f769733c93d6851d837_800.png 1x\" media=\"(max-width: 768px)\" \/><source srcset=\"https:\/\/images.storychief.com\/account_16344\/image6_cc63ce6b32d73f769733c93d6851d837_800.png 1x\" media=\"(min-width: 769px)\" \/><img decoding=\"async\" src=\"https:\/\/images.storychief.com\/account_16344\/image6_cc63ce6b32d73f769733c93d6851d837_800.png\" alt=\"Azure Tools extension for Visual Studio Code\" \/><\/picture><figcaption>Azure Tools extension for Visual Studio Code<\/figcaption><\/figure>\n<p>From here, we can use the button &#8216;Sign in to Azure&#8217; to link our subscription, and the app just created will appear. Clicking on &#8216;Deploy to Web App&#8217; will starts the deploy wizard as in the following image:<\/p>\n<figure class=\"image regular \"><picture><source srcset=\"https:\/\/images.storychief.com\/account_16344\/image7_85e3e1f3a365efed57cf69dfb9290196_800.png 1x\" media=\"(max-width: 768px)\" \/><source srcset=\"https:\/\/images.storychief.com\/account_16344\/image7_85e3e1f3a365efed57cf69dfb9290196_800.png 1x\" media=\"(min-width: 769px)\" \/><img decoding=\"async\" src=\"https:\/\/images.storychief.com\/account_16344\/image7_85e3e1f3a365efed57cf69dfb9290196_800.png\" alt=\"Deploy a web app from Visual Studio Code\" \/><\/picture><figcaption>Deploy a web app from Visual Studio Code<\/figcaption><\/figure>\n<p>A popup will appear to let us select the folder our ASP.NET Core app is in.<\/p>\n<figure class=\"image regular \"><picture><source srcset=\"https:\/\/images.storychief.com\/account_16344\/image8_d65bc8662e12c27ba7428f6aed141c59_800.png 1x\" media=\"(max-width: 768px)\" \/><source srcset=\"https:\/\/images.storychief.com\/account_16344\/image8_d65bc8662e12c27ba7428f6aed141c59_800.png 1x\" media=\"(min-width: 769px)\" \/><img decoding=\"async\" src=\"https:\/\/images.storychief.com\/account_16344\/image8_d65bc8662e12c27ba7428f6aed141c59_800.png\" alt=\"Folder selection from Visual Studio Code\" \/><\/picture><figcaption>Folder selection from Visual Studio Code<\/figcaption><\/figure>\n<p>A request to add a configuration file will pop up; select &#8216;Add Config&#8217;, and then select the Azure Web App from the list that appears. After a few warnings, the deployment will start as shown in the following images:<\/p>\n<figure class=\"image regular \"><picture><source srcset=\"https:\/\/images.storychief.com\/account_16344\/image9_bfb63d18a71bd1788a5bf799f18c74f5_800.png 1x\" media=\"(max-width: 768px)\" \/><source srcset=\"https:\/\/images.storychief.com\/account_16344\/image9_bfb63d18a71bd1788a5bf799f18c74f5_800.png 1x\" media=\"(min-width: 769px)\" \/><img decoding=\"async\" src=\"https:\/\/images.storychief.com\/account_16344\/image9_bfb63d18a71bd1788a5bf799f18c74f5_800.png\" alt=\"Adding a deploy configuration\" \/><\/picture><figcaption>Adding a deploy configuration<\/figcaption><\/figure>\n<figure class=\"image regular \"><picture><source srcset=\"https:\/\/images.storychief.com\/account_16344\/image10_2f9608b99d88e702a656bb3db7ea451c_800.png 1x\" media=\"(max-width: 768px)\" \/><source srcset=\"https:\/\/images.storychief.com\/account_16344\/image10_2f9608b99d88e702a656bb3db7ea451c_800.png 1x\" media=\"(min-width: 769px)\" \/><img decoding=\"async\" src=\"https:\/\/images.storychief.com\/account_16344\/image10_2f9608b99d88e702a656bb3db7ea451c_800.png\" alt=\"et a binding between the Visual Studio Code workspace and the Azure Web App\" \/><\/picture><figcaption>Set a binding between the Visual Studio Code workspace and the Azure Web App<\/figcaption><\/figure>\n<figure class=\"image regular \"><picture><source srcset=\"https:\/\/images.storychief.com\/account_16344\/image11_6198da4e35f95ebe63b792ad93980b55_800.png 1x\" media=\"(max-width: 768px)\" \/><source srcset=\"https:\/\/images.storychief.com\/account_16344\/image11_6198da4e35f95ebe63b792ad93980b55_800.png 1x\" media=\"(min-width: 769px)\" \/><img decoding=\"async\" src=\"https:\/\/images.storychief.com\/account_16344\/image11_6198da4e35f95ebe63b792ad93980b55_800.png\" alt=\"Deployment completed\" \/><\/picture><figcaption>Deployment completed<\/figcaption><\/figure>\n<figure class=\"image regular \"><picture><source srcset=\"https:\/\/images.storychief.com\/account_16344\/image12_616dea3799b0d11cc91633fbe1010a94_800.png 1x\" media=\"(max-width: 768px)\" \/><source srcset=\"https:\/\/images.storychief.com\/account_16344\/image12_616dea3799b0d11cc91633fbe1010a94_800.png 1x\" media=\"(min-width: 769px)\" \/><img decoding=\"async\" src=\"https:\/\/images.storychief.com\/account_16344\/image12_616dea3799b0d11cc91633fbe1010a94_800.png\" alt=\"Open the deployed website\" \/><\/picture><figcaption>Open the deployed website<\/figcaption><\/figure>\n<p><!-- strchf script --><script>        if(window.strchfSettings === undefined) window.strchfSettings = {};    window.strchfSettings.stats = {url: \"https:\/\/codemotion.storychief.io\/a-first-web-app-on-microsoft-azure?id=1379028118&type=2\",title: \"A first web app on Microsoft Azure\",id: \"66543c6c-96d5-4792-a44b-49339654b7a1\"};            (function(d, s, id) {      var js, sjs = d.getElementsByTagName(s)[0];      if (d.getElementById(id)) {window.strchf.update(); return;}      js = d.createElement(s); js.id = id;      js.src = \"https:\/\/d37oebn0w9ir6a.cloudfront.net\/scripts\/v0\/strchf.js\";      js.async = true;      sjs.parentNode.insertBefore(js, sjs);    }(document, 'script', 'storychief-jssdk'))    <\/script><!-- End strchf script --><\/p>\n","protected":false},"excerpt":{"rendered":"<p>In this article you will learn how to create an ASP.NET core app and how to deploy it on an Azure.<\/p>\n","protected":false},"author":9,"featured_media":1903,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_editorskit_title_hidden":false,"_editorskit_reading_time":0,"_editorskit_is_block_options_detached":false,"_editorskit_block_options_position":"{}","_uag_custom_page_level_css":"","_genesis_hide_title":false,"_genesis_hide_breadcrumbs":false,"_genesis_hide_singular_image":false,"_genesis_hide_footer_widgets":false,"_genesis_custom_body_class":"","_genesis_custom_post_class":"","_genesis_layout":"","footnotes":""},"categories":[5244],"tags":[62],"collections":[],"class_list":{"0":"post-1902","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-cloud","8":"tag-dot-net","9":"entry"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.9 (Yoast SEO v26.9) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Microsoft Azure: how to create your first web app - Codemotion<\/title>\n<meta name=\"description\" content=\"Learn how to first create an ASP.NET core app, and then how to deploy it on Microsoft Azure.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.codemotion.com\/magazine\/devops\/cloud\/a-first-web-app-on-microsoft-azure\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"A first web app on Microsoft Azure\" \/>\n<meta property=\"og:description\" content=\"Learn how to first create an ASP.NET core app, and then how to deploy it on Microsoft Azure.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.codemotion.com\/magazine\/devops\/cloud\/a-first-web-app-on-microsoft-azure\/\" \/>\n<meta property=\"og:site_name\" content=\"Codemotion Magazine\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/Codemotion.Italy\/\" \/>\n<meta property=\"article:published_time\" content=\"2019-12-03T10:04:36+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-12-23T13:25:43+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/12\/cloud-computing-4246668_1920_0dab0fb89f1af3bff93bad79f7732ef6_2000.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1125\" \/>\n\t<meta property=\"og:image:height\" content=\"675\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Antonio Turibbio Liccardi\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@turibbio\" \/>\n<meta name=\"twitter:site\" content=\"@CodemotionIT\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Antonio Turibbio Liccardi\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/devops\/cloud\/a-first-web-app-on-microsoft-azure\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/devops\/cloud\/a-first-web-app-on-microsoft-azure\/\"},\"author\":{\"name\":\"Antonio Turibbio Liccardi\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/7e8f9aade09a4e3ba0ba01c0eaa1a0a0\"},\"headline\":\"A first web app on Microsoft Azure\",\"datePublished\":\"2019-12-03T10:04:36+00:00\",\"dateModified\":\"2021-12-23T13:25:43+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/devops\/cloud\/a-first-web-app-on-microsoft-azure\/\"},\"wordCount\":888,\"publisher\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/devops\/cloud\/a-first-web-app-on-microsoft-azure\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/12\/cloud-computing-4246668_1920_0dab0fb89f1af3bff93bad79f7732ef6_2000.jpg\",\"keywords\":[\"Dot NET\"],\"articleSection\":[\"Cloud\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/devops\/cloud\/a-first-web-app-on-microsoft-azure\/\",\"url\":\"https:\/\/www.codemotion.com\/magazine\/devops\/cloud\/a-first-web-app-on-microsoft-azure\/\",\"name\":\"Microsoft Azure: how to create your first web app - Codemotion\",\"isPartOf\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/devops\/cloud\/a-first-web-app-on-microsoft-azure\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/devops\/cloud\/a-first-web-app-on-microsoft-azure\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/12\/cloud-computing-4246668_1920_0dab0fb89f1af3bff93bad79f7732ef6_2000.jpg\",\"datePublished\":\"2019-12-03T10:04:36+00:00\",\"dateModified\":\"2021-12-23T13:25:43+00:00\",\"description\":\"Learn how to first create an ASP.NET core app, and then how to deploy it on Microsoft Azure.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/devops\/cloud\/a-first-web-app-on-microsoft-azure\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.codemotion.com\/magazine\/devops\/cloud\/a-first-web-app-on-microsoft-azure\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/devops\/cloud\/a-first-web-app-on-microsoft-azure\/#primaryimage\",\"url\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/12\/cloud-computing-4246668_1920_0dab0fb89f1af3bff93bad79f7732ef6_2000.jpg\",\"contentUrl\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/12\/cloud-computing-4246668_1920_0dab0fb89f1af3bff93bad79f7732ef6_2000.jpg\",\"width\":1125,\"height\":675,\"caption\":\"A first web app on Microsoft Azure\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/devops\/cloud\/a-first-web-app-on-microsoft-azure\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.codemotion.com\/magazine\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"DevOps\",\"item\":\"https:\/\/www.codemotion.com\/magazine\/devops\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Cloud\",\"item\":\"https:\/\/www.codemotion.com\/magazine\/devops\/cloud\/\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"A first web app on Microsoft Azure\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#website\",\"url\":\"https:\/\/www.codemotion.com\/magazine\/\",\"name\":\"Codemotion Magazine\",\"description\":\"We code the future. Together\",\"publisher\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.codemotion.com\/magazine\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#organization\",\"name\":\"Codemotion\",\"url\":\"https:\/\/www.codemotion.com\/magazine\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/11\/codemotionlogo.png\",\"contentUrl\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/11\/codemotionlogo.png\",\"width\":225,\"height\":225,\"caption\":\"Codemotion\"},\"image\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/Codemotion.Italy\/\",\"https:\/\/x.com\/CodemotionIT\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/7e8f9aade09a4e3ba0ba01c0eaa1a0a0\",\"name\":\"Antonio Turibbio Liccardi\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/71a132e506f96e21890c26c9f5a2c7c95e1650374779bf23a824e7adf5448868?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/71a132e506f96e21890c26c9f5a2c7c95e1650374779bf23a824e7adf5448868?s=96&d=mm&r=g\",\"caption\":\"Antonio Turibbio Liccardi\"},\"description\":\"I'm a book author and trainer working as Cloud Developer and DevOps Engineer at Blexin. I love sharing, so I co-founded \u201cDotNetCampania\u201d (an Italian .NET community), to help other developers to improve their knowledge about .NET Ecosystem and coding in general. I'm also a frequent speaker at conferences, and I've been awared by Microsoft as MVP for Visual Studio Developer Technologies since 2015.\",\"sameAs\":[\"https:\/\/x.com\/turibbio\"],\"url\":\"https:\/\/www.codemotion.com\/magazine\/author\/antonio-turibbio-liccardi\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Microsoft Azure: how to create your first web app - Codemotion","description":"Learn how to first create an ASP.NET core app, and then how to deploy it on Microsoft Azure.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.codemotion.com\/magazine\/devops\/cloud\/a-first-web-app-on-microsoft-azure\/","og_locale":"en_US","og_type":"article","og_title":"A first web app on Microsoft Azure","og_description":"Learn how to first create an ASP.NET core app, and then how to deploy it on Microsoft Azure.","og_url":"https:\/\/www.codemotion.com\/magazine\/devops\/cloud\/a-first-web-app-on-microsoft-azure\/","og_site_name":"Codemotion Magazine","article_publisher":"https:\/\/www.facebook.com\/Codemotion.Italy\/","article_published_time":"2019-12-03T10:04:36+00:00","article_modified_time":"2021-12-23T13:25:43+00:00","og_image":[{"width":1125,"height":675,"url":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/12\/cloud-computing-4246668_1920_0dab0fb89f1af3bff93bad79f7732ef6_2000.jpg","type":"image\/jpeg"}],"author":"Antonio Turibbio Liccardi","twitter_card":"summary_large_image","twitter_creator":"@turibbio","twitter_site":"@CodemotionIT","twitter_misc":{"Written by":"Antonio Turibbio Liccardi","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.codemotion.com\/magazine\/devops\/cloud\/a-first-web-app-on-microsoft-azure\/#article","isPartOf":{"@id":"https:\/\/www.codemotion.com\/magazine\/devops\/cloud\/a-first-web-app-on-microsoft-azure\/"},"author":{"name":"Antonio Turibbio Liccardi","@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/7e8f9aade09a4e3ba0ba01c0eaa1a0a0"},"headline":"A first web app on Microsoft Azure","datePublished":"2019-12-03T10:04:36+00:00","dateModified":"2021-12-23T13:25:43+00:00","mainEntityOfPage":{"@id":"https:\/\/www.codemotion.com\/magazine\/devops\/cloud\/a-first-web-app-on-microsoft-azure\/"},"wordCount":888,"publisher":{"@id":"https:\/\/www.codemotion.com\/magazine\/#organization"},"image":{"@id":"https:\/\/www.codemotion.com\/magazine\/devops\/cloud\/a-first-web-app-on-microsoft-azure\/#primaryimage"},"thumbnailUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/12\/cloud-computing-4246668_1920_0dab0fb89f1af3bff93bad79f7732ef6_2000.jpg","keywords":["Dot NET"],"articleSection":["Cloud"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.codemotion.com\/magazine\/devops\/cloud\/a-first-web-app-on-microsoft-azure\/","url":"https:\/\/www.codemotion.com\/magazine\/devops\/cloud\/a-first-web-app-on-microsoft-azure\/","name":"Microsoft Azure: how to create your first web app - Codemotion","isPartOf":{"@id":"https:\/\/www.codemotion.com\/magazine\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.codemotion.com\/magazine\/devops\/cloud\/a-first-web-app-on-microsoft-azure\/#primaryimage"},"image":{"@id":"https:\/\/www.codemotion.com\/magazine\/devops\/cloud\/a-first-web-app-on-microsoft-azure\/#primaryimage"},"thumbnailUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/12\/cloud-computing-4246668_1920_0dab0fb89f1af3bff93bad79f7732ef6_2000.jpg","datePublished":"2019-12-03T10:04:36+00:00","dateModified":"2021-12-23T13:25:43+00:00","description":"Learn how to first create an ASP.NET core app, and then how to deploy it on Microsoft Azure.","breadcrumb":{"@id":"https:\/\/www.codemotion.com\/magazine\/devops\/cloud\/a-first-web-app-on-microsoft-azure\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.codemotion.com\/magazine\/devops\/cloud\/a-first-web-app-on-microsoft-azure\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.codemotion.com\/magazine\/devops\/cloud\/a-first-web-app-on-microsoft-azure\/#primaryimage","url":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/12\/cloud-computing-4246668_1920_0dab0fb89f1af3bff93bad79f7732ef6_2000.jpg","contentUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/12\/cloud-computing-4246668_1920_0dab0fb89f1af3bff93bad79f7732ef6_2000.jpg","width":1125,"height":675,"caption":"A first web app on Microsoft Azure"},{"@type":"BreadcrumbList","@id":"https:\/\/www.codemotion.com\/magazine\/devops\/cloud\/a-first-web-app-on-microsoft-azure\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.codemotion.com\/magazine\/"},{"@type":"ListItem","position":2,"name":"DevOps","item":"https:\/\/www.codemotion.com\/magazine\/devops\/"},{"@type":"ListItem","position":3,"name":"Cloud","item":"https:\/\/www.codemotion.com\/magazine\/devops\/cloud\/"},{"@type":"ListItem","position":4,"name":"A first web app on Microsoft Azure"}]},{"@type":"WebSite","@id":"https:\/\/www.codemotion.com\/magazine\/#website","url":"https:\/\/www.codemotion.com\/magazine\/","name":"Codemotion Magazine","description":"We code the future. Together","publisher":{"@id":"https:\/\/www.codemotion.com\/magazine\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.codemotion.com\/magazine\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.codemotion.com\/magazine\/#organization","name":"Codemotion","url":"https:\/\/www.codemotion.com\/magazine\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/logo\/image\/","url":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/11\/codemotionlogo.png","contentUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/11\/codemotionlogo.png","width":225,"height":225,"caption":"Codemotion"},"image":{"@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/Codemotion.Italy\/","https:\/\/x.com\/CodemotionIT"]},{"@type":"Person","@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/7e8f9aade09a4e3ba0ba01c0eaa1a0a0","name":"Antonio Turibbio Liccardi","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/71a132e506f96e21890c26c9f5a2c7c95e1650374779bf23a824e7adf5448868?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/71a132e506f96e21890c26c9f5a2c7c95e1650374779bf23a824e7adf5448868?s=96&d=mm&r=g","caption":"Antonio Turibbio Liccardi"},"description":"I'm a book author and trainer working as Cloud Developer and DevOps Engineer at Blexin. I love sharing, so I co-founded \u201cDotNetCampania\u201d (an Italian .NET community), to help other developers to improve their knowledge about .NET Ecosystem and coding in general. I'm also a frequent speaker at conferences, and I've been awared by Microsoft as MVP for Visual Studio Developer Technologies since 2015.","sameAs":["https:\/\/x.com\/turibbio"],"url":"https:\/\/www.codemotion.com\/magazine\/author\/antonio-turibbio-liccardi\/"}]}},"featured_image_src":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/12\/cloud-computing-4246668_1920_0dab0fb89f1af3bff93bad79f7732ef6_2000-600x400.jpg","featured_image_src_square":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/12\/cloud-computing-4246668_1920_0dab0fb89f1af3bff93bad79f7732ef6_2000-600x600.jpg","author_info":{"display_name":"Antonio Turibbio Liccardi","author_link":"https:\/\/www.codemotion.com\/magazine\/author\/antonio-turibbio-liccardi\/"},"uagb_featured_image_src":{"full":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/12\/cloud-computing-4246668_1920_0dab0fb89f1af3bff93bad79f7732ef6_2000.jpg",1125,675,false],"thumbnail":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/12\/cloud-computing-4246668_1920_0dab0fb89f1af3bff93bad79f7732ef6_2000-150x150.jpg",150,150,true],"medium":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/12\/cloud-computing-4246668_1920_0dab0fb89f1af3bff93bad79f7732ef6_2000-300x180.jpg",300,180,true],"medium_large":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/12\/cloud-computing-4246668_1920_0dab0fb89f1af3bff93bad79f7732ef6_2000-768x461.jpg",768,461,true],"large":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/12\/cloud-computing-4246668_1920_0dab0fb89f1af3bff93bad79f7732ef6_2000-1024x614.jpg",1024,614,true],"1536x1536":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/12\/cloud-computing-4246668_1920_0dab0fb89f1af3bff93bad79f7732ef6_2000.jpg",1125,675,false],"2048x2048":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/12\/cloud-computing-4246668_1920_0dab0fb89f1af3bff93bad79f7732ef6_2000.jpg",1125,675,false],"small-home-featured":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/12\/cloud-computing-4246668_1920_0dab0fb89f1af3bff93bad79f7732ef6_2000.jpg",100,60,false],"sidebar-featured":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/12\/cloud-computing-4246668_1920_0dab0fb89f1af3bff93bad79f7732ef6_2000-180x128.jpg",180,128,true],"genesis-singular-images":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/12\/cloud-computing-4246668_1920_0dab0fb89f1af3bff93bad79f7732ef6_2000-896x504.jpg",896,504,true],"archive-featured":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/12\/cloud-computing-4246668_1920_0dab0fb89f1af3bff93bad79f7732ef6_2000-400x225.jpg",400,225,true],"gb-block-post-grid-landscape":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/12\/cloud-computing-4246668_1920_0dab0fb89f1af3bff93bad79f7732ef6_2000-600x400.jpg",600,400,true],"gb-block-post-grid-square":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/12\/cloud-computing-4246668_1920_0dab0fb89f1af3bff93bad79f7732ef6_2000-600x600.jpg",600,600,true]},"uagb_author_info":{"display_name":"Antonio Turibbio Liccardi","author_link":"https:\/\/www.codemotion.com\/magazine\/author\/antonio-turibbio-liccardi\/"},"uagb_comment_info":0,"uagb_excerpt":"In this article you will learn how to create an ASP.NET core app and how to deploy it on an Azure.","lang":"en","_links":{"self":[{"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/posts\/1902","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/users\/9"}],"replies":[{"embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/comments?post=1902"}],"version-history":[{"count":3,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/posts\/1902\/revisions"}],"predecessor-version":[{"id":12953,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/posts\/1902\/revisions\/12953"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/media\/1903"}],"wp:attachment":[{"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/media?parent=1902"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/categories?post=1902"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/tags?post=1902"},{"taxonomy":"collections","embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/collections?post=1902"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}