For 450 Servers that need monitoring i would not place all roles on 1 server altough it is possible. If that server breaks down you will be lost until you manage to restore it. Also it might be a bit much for one server to handle that load by it self.
I would recommend a 4 server setup. 1 MSSQL+Reporting+OpsMgrWeb, 1RMS, 2 MS+ACS.
I would setup MSSQL with reporting services to run the databases for OpsMgr, OpsMgr DW, and ACS. If you all ready have reporting services installed somewhere, dont install the opsMgr reporting on that server. It will change things making the normal reporting service useless for you and break old reports.
Distribute the RMS encrpytion key and import them on the MS servers so they can be promoted to RMS if the RMS dies. Run all agents to the MS servers with automatic failover.
Install the Audit Collection Service if needed on the MS servers.
Keep the Load of clients to a minimum on the RMS as it is the only thing that accesses the DB trough the Database Accesss Service(SDK)
Hope it helps.