A few weeks ago, I have moved to a new company as Linux system administrator, they are going to start a project of moving production servers infrastructure from a data center to Amazon AWS.
They are following the concept of "our traffic drive our system design"; which means as well as the server is not overloaded we can use it to provide multiple services, also even if one service like RabbitMQ is not overloaded it can be used by two different applications as well as this will not cause any conflict. Well, this architect worked fine for the last four years serving million of users a day, and they are going to use it in the new infrastructure.
I believe in "our system design should drive our traffic"; which means a group of servers should be designed to serve only one application even if it's not overloaded, and one database should serve only one application, that will help in debugging any future issue, haveing separate logs of each application and clean architect. But they believe this will cost more money and need more maintenance with no added value.
So, should our traffic drive our system design or our system design drive our traffic?
Clarifying that will help me follow the correct path, either follow their way or finding good reasons for them to follow mine.