Many applications start their web server and database hosted on the same machine. It's simpler, cheaper and easier to manage. However, as our application grows , a setup like this can bring security issues and scalability problems. A common solution is to separate our database from the application: creating a dedicated database server and allowing applications to connect remotely. This setup is more secure, it can provide you a better analysis of the bottlenecks and definitely makes the scalability easier.