Hello, @Jesse Verdi ! I'll try to answer your questions as best I can.
Can I throw everything onto a single server?
To the best of my knowledge, this is more a question of best practices (which is to run as few instances as possible) vs whether or not it can be done. Having a single point of failure could be mitigated by splitting the load on less powerful and less expensive VMs (the Azure Pricing Calculator can help with planning).
If you already have everything on a single server and that how you would like to move forward, there are a couple callouts that I've found especially with SQL server:
- Best practices is to run as few instances per VM as possible (more complexity and risk, less efficient)
- Do not put all files in F:\SQLDATA
- Use separate drives for management of data and logs
- Monitor max memory and don't forget about OS when configuring the VM
- Blog by David Klee: Multiple SQL Server Instances on a VM
- Blog by Brent Ozar: Should I Install Multiple Instances of SQL Server?
- Performance tuning and maintenance adds challenges
- Install SQL server instances in order from oldest to newest
- Some components will be shared by all instances by default
- SQL Server SysPrep does not fully support multiple instances
What about ARM?
You'll want to use Azure Resource Manager as that is now the standard deployment model. ARM is used behind the scenes when you deploy resources with the Azure portal, Azure PowerShell, Azure CLI, Azure SDKs, and Azure Rest clients (even with free/trial subscriptions):
How do I migrate?
Migration is a very large subject so I'll include some documentation that should get you started:
That's a lot to cover but hopefully this has been helpful and has provided you with information that you need.
I hope this has been helpful! Your feedback is important so please take a moment to accept answers.
If you still have questions, please let us know what is needed in the comments so the question can be answered. Thank you for helping to improve Microsoft Q&A!