Speaker: Nazim Lala, Principal Software Engineer at Azure App Service
What is Azure App Service?
It has web, mobile, logic and API apps. Bundled together with one integrated offering. One low price. Delivers ease of use, having power and control, making sure that Microsoft gives you maximum productivity. 2 new features every month, use User Voice to request features and the most voted ones get built.
Stages of development
Create application in the Azure Portal
Either empty app or select from the huge gallery of templates with single click deploy.
Set up continuous deployment from GitHub
We have the environment where devs can write code and it gets instantly pushed to the cloud.
Scale out by CPU percentage to avoid downtime
e.g. while fixing bugs that use up a lot of the CPU.
Diagnostics and logging
Monitor a lot of things: CPU percentage, HTTP errors,… Dashboard view of what is happening to your application. Put alerts by setting up diagnostic logs and get notifications or download logs. Kudu: diagnostics on steroids with Environment information, Process Explorer (Performance Profiling, Properties of the process with possibility to download memory dump, Tools with Diagnostic Dump, Site Extensions).
Enforce more quality control
Customers are already using the application so you have to make sure that your application works. Set up a test environment. You can close your production environment with Deployment slots, e.g. staging environment for testing purposes. Staging slot is just another web app. Set up App Settings that your application can use, e.g. point database for you stating slot to a test db and not the production db. You can swap slots, e.g. check in and test in staging and when it looks good, you do a swap slot instantaneously and configuration will swap too so you want some settings to be sticky and some not. With swap slot the routing logic is changed. Sessions are not sticky but this can be configured. Your stage slot is publicly available but you can set up authentication and authorization, e.g. Azure Active Directory, Google, Facebook, Twitter, Microsoft account. But tests are not bulletproof, small percentage of traffic can go to staging for testing in production with Traffic Routing.
Set up a global presence
Application is set up in West Europe but more customers are coming to your application from US. These customers will hit latency issues. Traffic Manager does endpoint routing and you can add more sites for different regions, North Europe, USA. Set load balancing method to performance, round robin or failover.