app service web apps demo script · web viewthese demos focus on the azure app service web app key...
TRANSCRIPT
App Service Demo
Demo OverviewThis document describes the Azure App Service demo that will be used in Ignite General Session with Scott Hanselman. These demos focus on the Azure App Service Web App key value props including Publishing, Deployment Slots, Cloud Explorer, Visual Studio integration, Azure SDK.
The key things viewers should take away from this section/demo will be:
A good understanding of how easy it is to use App Service How you can get started with this with existing projects in Visual Studio The power of the Visual Studio integration with Azure
Demo TimingDemo target time: 5 minutes
Task Section Time (minutes)
Elapsed Time (minutes)
Azure App Service in Visual Studio 5 min
Environment requirements Windows 10 Visual Studio 2015 Update 3 Azure SDK (Cloud Explorer) Microsoft .NET Core Tools
Pre-setup Demo Screen Steps Script
Page 1 of 19
Make sure Cloud Explorer is open on left hand side
Signed into your Azure Subscription
Open 01_Demos_ASPNETCore project
Go to Azure Portal homepage. Click “+New”
Create a new resource group “MyHealth-<username>”
Page 2 of 19
Go to Azure Portal homepage. Click “+New”, type “Web App” in search
Create a new Web App called “MyHealthWeb-<username>” inside the Resource group you created
Right click on the MyHealth.Web project in the Solution Explorer.
Select Publish
Page 3 of 19
Select “Microsoft Azure App Service”
Click “Next”
Ensure that you are signed into correct user name in top right for subscription you’ll be using
Then ensure you can see the Resource Group and Web App you created.
Page 4 of 19
Talk track + demo scriptDemo Screen Steps Script
Zoom into the Cloud explorer and show the “Web Apps” node and expand it to show the Web App
Right click on the Web App “MyHealthWeb-<username>”
Select “Open in Browser”
Azure SDK integrates directly into Visual Studio
Bring common day to day tasks directly into the IDE.
Don’t have to remember the URLs to each environment.
Page 5 of 19
<TODO: make some changes to the MyHealth.Web project> (ideas here…change CSS to point to some new banner images)
Right click on the Web App “MyHealthWeb-<username>”
Select “Open in Portal”
Page 6 of 19
Click on “Deployment Slots” in App Service blade
Click on “+ Add slot”
Use “staging” as name and change configuration source to “myhealthweb-<username>”
Click “OK”
The slot is in itself a regular Azure Web App
It will have its own app settings, connection string, any other configuration settings and even an SCM site.
In fact by default each Azure Web App has a single deployment slot called production which is the Azure Web App itself.
This is where staged deployment comes into play. Instead of deploying directly to our production website we create a deployment slot used for staging and we deploy our new bits there.
Then we "warm" our site (staging slot) Page 7 of 19
by making requests to it and we can start testing our new bits verifying everything works as expected. Once we're ready we hit the Azure Portal's Swap button (or PowerShell/xplat cli command) and the slots will be swapped.
Our customers will not hit the "cold start" delay and we have more confidence in our new bits.
If any errors are identified in production after a slot swap, roll the slots back to their pre-swap states by swapping the same two slots immediately.
Right click on the MyHealth.Web project in the Solution Explorer.
Select Publish
Page 8 of 19
Select “Microsoft Azure App Service”
Expand the “MyHealth” resource group
Expand the “MyHealthWeb-<username>” web app
Expand “Deployment Slots”
Select “staging” node
Click “OK”
Page 9 of 19
Click “Next”
Change Configuration from “Release” to “Debug”
Click “Publish”
You’ll need to change to Debug to be able to use the Remote Debugging features of App Service.
Page 10 of 19
Click “Testing in production” in App Service blade
Select the staging slot from drop down
Change the Traffic % to 25%
Another great feature for deployment slots is the traffic routing also known as testing in production.
This feature will allow you to route traffic that is coming to your Azure Web App between your deployment slots based on percentage of the traffic.
Click “Application Settings” in the App Service blade
Scroll down to “App Settings”
One important concept to understand about deployment slots is how the configuration works.
A deployment slot is a full Azure Web App and as one it has all the same configurations as any Azure Web App.
When you swap deployment slots there are some settings you actually need to keep with the slot and not swap them. A setting that is not swapped is referred to as a setting that is sticky to the slot.
App settings and connection strings are not sticky to the slot and will remain with the website when swapped but we can configure
Page 11 of 19
selected app settings and connection strings.
Slide the slider from 1 to 10 to show configuration
The true power of App Service is the auto scaling. You can set conditions when you wish the instances to grow such as CPU usage over a period of time.
Click on Scale up in App Service blade.
The App Service Plans give you the flexibility on how many instances you want maximum.
It also give you incrementally higher options for cores, memory and storage.
Page 12 of 19
Click on “Networking” in the “App Service” Blade
App Service can also connect securely to your on-premises back end systems via the Azure VNET or via Hybrid connection endpoints.
Page 13 of 19
Go back to Azure Portal
Click Swap in App Service | Deployment Slots blade
Page 14 of 19
Set Source as Staging and Destination as Production
Click “OK”
<1 min wait> don’t show end result.
Page 15 of 19
Click on “Performance Test” in App Service blade
Click “New”
Whilst we are waiting for that to swap, lest check out the Performance Tests.
Click on Test Type and show the option for “Visual Studio Web Test”
Click “Run Test”
Page 16 of 19
Click over the “Live HTTP Traffic” in App Service blade
Click on “Metrics per instance” in App Service blade
Click on tab next to “Overall”
Scroll down to show other charts
Click on the staging slot under “Sites in Service Plan”
Page 17 of 19
Page 18 of 19
Click on “Alerts” in the App Service blade
Click “+ Add alert”
Page 19 of 19