Outsystems Deployment Architecture

Hi 

I am architecting an Outsystem's deployment. The environment is on AWS. For the production and UAT environment, there will be a Front-End Server / Deployment Controller each and I plan to use AWS RDS (MSSQL) for the DB. 

For the DB, I was told that I would need to provision a DB for Log, Session, Runtime and Meta data. Does it means I need to deploy 4 separate AWS RDS instances or it is just a matter of reusing the same instance? 

For Life Time, how many DBs would I need? The thinking right now is to deploy LifeTime on the Management VPC and have that peered with the rest of the other VPCs housing the various environments.

Solution

Hi Nolan,


In OutSystems 11, you need to provision three databases (Platform, Logging, Session) for each environment.

It's up to you if you use the same instance, however, since OutSystems applications are highly database dependent I would be careful with that. You should make sure to monitor the performance of the SQL Instance in case you're sharing the same for different environments. Good practice would be to have a SQL instance per environment.


LifeTime should also need three databases (Platform, Logging, Session). LifeTime is an OutSystems application that lives in its own environment. LifeTime needs access to all environments. 

Solution

Thank you. For the metadata and runtime, would it be part of the Platform DB on RDS? I need to balance between cost and performance. Multiple RDS instance services will not come cheap. 

You are correct. Metadata and runtime run over the same Database (Platform). 

Thanks!