you can have 1000 VNETs per subscription and 3000 subnets per VNET:
The range is defined when you create the Subnet, so you choose the size. The amount of VM's you can have is equal to the size of the subnet minus 5 (as Azure reserves certain addresses in each subnet).
You can use multiple VNET Peerings or Subnets along with Network Security Groups to isolate App Components from each other:
Finally, you can find best practice design advice here:
Hope this helps,
- If the reply was helpful please upvote and/or accept as answer as this helps others in the community with similar questions. Thanks!