Azure Web Apps – Basic Operations Checklist

Here is a checklist that can be used to gauge your web app prior to launch it in production. It includes questions that developers or IT professionals or cloud solution architects ask customers when they seek guidance to avoid common pitfalls not obvious to new users. Use this checklist to confidently deploy and launch your web application on Azure App Service.

  • We use Role based access control (RBAC) to provide user-specific, rather than shared credentials for setting up, configuring infrastructure resources as well as deploying to Azure resources.
  • We have configured app service plans as per our application’s compute needs. We have by design chosen the most required components needed for the web app and understand the implications to using a stateless app such as Azure Storage , SQL Azure , Redis cache etc.
  • We understand the implication of data persistence, backup and recovery with Azure web apps.We regularly back up content on Azure storage, Web App, Database and any other key resources required by the application.
  • We use separate Azure storage for static content and use a persistent storage for session management
  • We regularly test our process of recovering the web app when they fail using Azure Traffic Manager and deploying the application in multiple regions to maintain fault tolerance and high availability.
  • We have deployed critical components of our applications across multiple regions, manage replicating data between regions, and have tested how failure within each application component distresses application up time.
  • We regularly test our process of agile development for code changes, review all components used by web app and follow a change management plan.
  • We use Azure resource manager to automate provisioning of azure resources.
  • We reuse connections (persistent connections) to other data sources like relational databases , redis cache , on-premise data sources etc and use retry logic to connect to these data sources to make the application resilient any  network or service related disruptions during any azure service upgrades.
  • We have procured and manage third party services from Azure Marketplace  such as Sendgrid (SMTP for email ) and ClearDB for MySQL.
  • We use either an A record or a CNAME record to setup a custom domain for a web app.
  • We conduct a security code review  during our application development life cycle and we follow the principles for Azure app service security .
  • We  removed all sensitive information such as passwords, security keys and data connection strings as environment variables (App Settings or Connection strings).
  • We have fully tested our Azure web application, functional and performance testing before going live.
  • We have purchased appropriate Azure support plan and understand the process to create and manage support tickets.
  • We understand how to build hybrid solution that integrate with your on premise data and secure it within a virtual network. [Options if using a Hybrid solution]
  • We have setup monitoring  alerts for our web apps and use Kudu Console for debugging.
  • We have enabled Autoheal rules for our web application to manage slow requests and HTTP server errors
  • We have used App service environment for  our web apps and use multiple app service plans with the App service environment [Optional if using App service environment]

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s