Manual creation and configuration of resources should be avoided.
Ideally, all resource creation and configurations of those resources should be performed using an easily repeatable process and some type of scripting or IaC (infrastructure as code).
The same script/code would be used for each environment and the script would allow for minor configuration changes and throttling of each environment.
All Azure PaaS resource should be provisioned using CI+CD of IaC leveraging ARM (Azure Resource Manager) templates. The build and deployments of these ARM templates should be performed via Azure DevOps pipelines but could also be executed via PowerShell scripts.
All scripts and IaC related artifacts should be stored in repositories in Azure DevOps.
The Dev environment should be provisioned using IaC after the initial creation of the Azure DevOps code repository.
For more information about IaC, visit https://docs.microsoft.com/en-us/azure/devops/learn/what-is-infrastructure-as-code