Azure app service is a popular HTTP-based service for hosting web application, REST APIs and mobile backends. It supports all major language like .NET, Java, .NET Core, Python, Node.js, Ruby, or PHP. The app service can run on both Windows and Linux environments, adding the power of Azure such as load balancing, security, autoscaling, ad automated management. One can also benefit the DevOps capabilities form azure like GitHub, Docker Hub, and continuous integrated / deployments. As well know, with app service you pay only for what you use, understanding the proven architecture for the same will be really helpful.
Following is the proven practice for a web application for Azure SQL Database and Azure App Service.
Understanding The Proven Approach For Azure Web Application Architecture
Source (https://docs.microsoft.com/en-us/azure/architecture/reference-architectures/app-service-web-app/images/basic-web-app.png)
Following are the components in the above architecture,

Recommendations

App Service Plan
You can use Premium or Standard tiers, as both of them support auto-scale, scale-out and secure sockets layers. Both the tiers support instances sizes that differ by the number of memories and cores. Even after you create a plan you can change the tier or the instances sizes.
Charges apply even if the app is stopped for the instances on the App Service plan. To avoid this, make sure you delete the plans that you are not using.
SQL Database
Consider using the V12 version of the SQL database. SQL database supports Premium, Standard, and Basic with multiple performance levels within each tier.
Region
You must consider having the App service plan and the SQL database in the same region to minimize the network latency. The best practice is to choose the closest one.
Note
The above reference was not focused on application development and not on any particular application framework. The main objective was to understand how various Azure services fit together.