What is a Backend Group, and how is it different from a Backend Service?
Short answer
A Backend Group gathers more than one server providing the same service into a single record. Settings such as Health Check, SSL Service, SNAT and Maintenance Mode are defined once at group level and applied as they are to every server in the group; Weight, Connection Limit and Cookie Content, on the other hand, are entered separately per server. A Backend Service defines a single server. Both are used as the target of a vService and are monitored from their own Dashboard screen.
How Does It Work?
- Common settings at group level: Health check, SSL service, SNAT, Proxy, Route table, Backup service and Maintenance mode are defined once in the group; they are automatically applied to all servers in the group. A new server added to the group inherits these settings on its own.
- Individual settings at server level: The address and port, Weight, Connection limit and Cookie content value of each server are entered separately. This way, servers with different capacities are used in the same group.
- Health check: The Health Checks profile selected in the group is run separately for each server in the group; all servers are checked with the same profile (the same check type, Period, Timeout and thresholds), but the result of each server is its own. A failed server alone is taken out of traffic, and the group continues to serve with the remaining healthy servers.
- Group status: The Health indicator of the group is calculated from the results of the servers: if all servers are in the same status, that status is shown (e.g. OK, Error); if the statuses differ from each other, Partially healthy is shown.
Comparison
| Backend Service | Backend Group | |
|---|---|---|
| Number of servers | A single server | More than one server |
| Address | A single IP:port | A separate IP:port per server |
| Common settings | None; each record carries its own setting | Shared at group level |
| Weight / Connection limit | A single value | A separate value per server |
| Health check | Its own profile, its own result | A single profile; each server is checked separately, and the group result is calculated collectively (including Partially healthy) |
| Number of records | Each server is a separate record | All servers in a single record |
| Monitoring | Backend Service Dashboard | Backend Group Dashboard; in addition, a breakdown per server |
| When? | When there is a single server, or when the server requires completely different settings | When there is more than one server providing the same service, or when servers are added/removed often |
Backend Group Monitoring Screen
In the Left Monitor Panel, when the group is clicked in the Backend Service Groups tab, the Dashboard screen of the group opens:
| View tab | What it shows |
|---|---|
| Overview | The total of the traffic the group members receive from all the vServices in which the group is used (HTTP Requests, Response Time, Bandwidth, Current Sessions, Queue Depth, Connect Time, Connections, HTTP Response Codes) |
| Health Check | The health check status history and check response time of each group member |
| Per Backend Service | The breakdown of the same metrics into separate series for each group member; which server slowed down or produced errors is seen here |
| Per vService | The breakdown of the same metrics into separate series for each vService in which the group is used |
Backend Group in TR7
- Adding: It is added with the Load Balancer → Backend Groups → Add steps. Each server in the group is entered as a row in the Backends table in the form.
- Usage: Like a Backend Service, the group is added to the Default Backend Services or Conditional Backend Services list of the vService.
- List view: When the Show Backend Services switch is turned on in the Backend Groups list, the servers of each group appear in separate rows with their own Health status, Weight and address.
- Recommendation: Even if there is only one server now, if servers will be added in the future, creating a group from the start reduces the next addition to just entering an IP:port.
Common Misconceptions
- "A Backend Group gathers existing Backend Services together." The group does not contain Backend Service records; the servers are entered separately into the group's own Backends table. The two are independent objects.
- "The health check of the group checks the group as a single whole." The profile is selected once in the group, but each server is checked separately; only the failed server is taken out of traffic, and the remaining healthy servers share the traffic.
- "If I make the group a backup (Backup service), traffic is distributed across the backup servers." A backup group takes effect only when all main targets are unavailable, and at that moment only the first available backup server receives traffic.
- "I can also put different services in the same group." A group is for servers that provide the same service and can share the same settings; different services such as web and API servers are kept in separate groups.
How it is done in the documentation
