Pattern - Shared Server
Multiple programs can run on a single server (such as database, web, email), can be used to provide different services from a single system, or
Even if a single machine is used, it is still possible to use different hostnames for the different tiers of the application, so the machine references can be distributed in future.
Features
- Database, application server, mailhub, etc, are all installed on the same box.
Advantages
- Having all tiers on a single machine eliminates networking problems, make security/authentication easier.
- Keeps costs down.
- Underused servers can host multiple services.
- Resembles developer's systems; the code is more likely to work.
Disadvantages
- Significant risk that references to other parts of the application will use localhost references.
- Likelihood that the application contains implict assumptions that all operations are local, so latency and failure handling will not cope with remote deployment of parts of the system.
- No easy way to scale up/out
- The server is one big Single Point of Failure.
SmartFrog support
This is certainly something SmartFrog supports.