Many Bitnami applications are available as both Single-tier and Multi-tier packages. While our single-tier offerings meet the needs of the majority of users just getting started in test or development environments or looking for small-scale deployments, we are seeing increasing interest in multi-tier application packages to distribute workloads across servers for improved scalability, availability and overall performance. This document is designed to help users determine which will best fit their needs.
Differences between Single-Tier and Multi-Tier solutions
Single-Tier architecture implies putting all of the required components for a software application (both the backend and the frontend) on just one server. This is a good way to test your application in development environments as well as an ideal solution for small sites with low traffic demand which require effective resource utilization. It is handy to manage and maintain and, of course, a Single-Tier deployment is cost-effective.
But having all the resources on the same machine can create an availability and security risk. If the server is down, the application will be down and it won't communicate with the database. If the server is externally attacked, you are at greater risk of data loss if you don't have a replica of your database.
The typical architecture of a Bitnami Single-Tier Solution looks like this:
Multi-Tier architecture solves all these problems by splitting data access across more than one server. Having all the resources spread into different servers provides a boost your deployment performance. In addition to this, having different layers for different resources implies adding an extra security layer by separating the data from code. In those applications that include replication, the database can be replicated across more than one server which prevents the loss of data in case of cluster failure.
This architecture model also provides high scalability, and failover: you can add as many nodes as you need to increase the capacity of your cluster. This way, the workload is also decentralized which ensures that when a node is down, the rest of the deployment is working.
All Bitnami Multi-Tier stacks are production configured following the industry standards: you can move your deployments from development to production in an easy and a reliable way. Multi-Tier solutions are a perfect choice to ensure high availability and performance in medium/large size production environments.
Bitnami Multi-Tier solutions features and benefits
- Extended workloads into different servers which provides better performance of the deployments.
- Ability to add capacity by increasing the number of nodes in the cluster.
High Availability / Failover
- Fault-tolerance: if a node is down the cluster can continue working.
- Replica set is configured by default in those solutions where the replication is a must.
- Improved security and access control by separating data from code.
- Configured to work on a Virtual Private Cloud (VPC).
- Authentication configured for external access in most of the solutions.
Other production configuration features
- Log rotation and system monitoring for servers.
- Kernel settings and the right disk type for optimal performance are configured by default.
Types of Bitnami Multi-Tier Solutions
Bitnami offers the following types of Multi-Tier topologies to better address the users' needs:
Multi-Tier web applications
The default configuration separates the database (backend) from the application (frontend) in different servers. You can see this application setting in stacks such as Bitnami WordPress Multi-Tier:
Bitnami Jenkins Cluster is also a case of this kind of applications. In this case, the frontend is also separated of the backend and in addition, you can build multiple virtual machines to allow the Jenkins master distributes workloads:
The default configuration varies depending on the solution you choose. Bitnami follows the best practices established by each application developers. For example, you can find the typical cluster with replica nodes in Bitnami Cassandra or Bitnami MongoDB with Replication as you can see below:
Another available option is the one configured in Bitnami Redis HA where the cluster is comprised of, at least, three nodes: a master node and two slave nodes.
A similar case is Bitnami Kafka Cluster whose configuration consists of a three-node configuration that permits to select a leader inside of the cluster. This topology involves more than one server and infrastructure resource:
Where can I learn more about Bitnami Multi-Tier Solutions?
If you want further information on how to install and use the Bitnami Multi-Tier Solutions, check the Bitnami documentation for the following platforms:
To solve any issue you have using the Bitnami Multi-Tier Solutions find online Support in the Bitnami Community Forums.