Three Pillars of Observability
Monitoring tells you when something is wrong. Observability tells you why. The three pillars — metrics (quantitative measurements aggregated over time), logs (discrete event records with contextual detail), and distributed traces (request paths across services with timing) — provide complementary views of system behavior. Metrics reveal trends and anomalies, logs provide detail for investigation, and traces show causation across services.
In a multi-tenant SaaS platform, each pillar must be tenant-aware. When a performance degradation occurs, the first question is always "which tenants are affected?" TaptiPM tags every metric, log entry, and trace span with the tenant ID, enabling instant scoping: "P95 latency for the /api/stories endpoint increased from 120ms to 450ms, but only for Tenant 47 — all other tenants are unaffected." This granularity transforms incident response from "something is slow" to "Tenant 47's 50,000-row sprint backlog is causing a slow query on the stories endpoint."
SLO Definition and Error Budgets
Service Level Objectives (SLOs) define the reliability target for each service. An SLO of 99.9% availability means the service can be unavailable for 43.8 minutes per month — this is the error budget. As long as the team stays within the error budget, they have freedom to deploy, experiment, and take risks. When the error budget is depleted, the team shifts to reliability work until the budget recovers. This framework aligns business expectations with engineering trade-offs.
TaptiPM defines SLOs at two levels: platform-wide SLOs (99.9% availability, P95 latency under 200ms for API responses, zero data loss) and per-tenant SLOs for enterprise clients (99.99% availability with financial SLA credits for violations). The SLO dashboard shows current attainment, error budget burn rate, and projected exhaustion date. When burn rate accelerates — typically after a deployment or during a traffic spike — the system alerts the on-call team before the SLO is breached, enabling proactive response.
Alerting Strategy and Fatigue Prevention
Alert fatigue is the number one cause of missed incidents. When engineers receive 50 alerts per day and 48 are false positives, they stop reading alerts — and the 2 real incidents get missed. Effective alerting follows three rules: alert on symptoms not causes (alert on "API error rate above 1%" not "database CPU above 80%" — high CPU might be fine if requests are completing successfully), use multi-signal alerts (require both error rate increase AND latency increase to fire, reducing false positives from noisy single signals), and escalate proportionally (page for SLO-threatening incidents, Slack notification for degradations, weekly report for trends).
TaptiPM's alerting engine integrates with monitoring data to generate context-rich alerts: "API error rate increased to 3.2% (SLO threshold: 1%) over the last 15 minutes. Affected endpoints: /api/sprints, /api/stories. Affected tenants: 12 of 847. Most recent deployment: v2.14.3 deployed 22 minutes ago. Suggested action: investigate deployment v2.14.3 or activate rollback." This contextual alerting reduces mean time to diagnosis from minutes to seconds.
Tenant-Aware Performance Monitoring
Multi-tenant platforms face a unique monitoring challenge: a performance issue that affects one tenant may be completely invisible in aggregate metrics. If 846 tenants experience 50ms latency but 1 tenant experiences 2,000ms, the average latency is 52ms — well within SLO. But that one tenant is having a terrible experience. Per-tenant performance monitoring catches these outliers by maintaining separate metric streams for each tenant.
TaptiPM monitors per-tenant request latency, error rates, and throughput. Tenants whose metrics deviate significantly from their own baseline (not the global baseline — a large tenant naturally has different patterns than a small one) trigger investigation alerts. The tenant health dashboard shows all tenants ranked by a composite health score, with detailed drill-down showing specific endpoints, time ranges, and error patterns. This tenant-aware monitoring ensures that enterprise clients with SLAs receive the reliability they are paying for.
- Tag every metric, log, and trace with tenant ID for instant incident scoping in multi-tenant systems
- SLOs with error budgets align business reliability expectations with engineering freedom to deploy
- Alert on symptoms (error rates) not causes (CPU usage) to reduce false positives
- Context-rich alerts with deployment correlation reduce mean time to diagnosis from minutes to seconds
- Per-tenant monitoring catches outlier experiences invisible in aggregate metrics