SaaS SaaS Architecture and Infrastructure 2 — Questions and Answers
Question 1: What is a SLA (Service Level Agreement) uptime of 99.9% equivalent to in downtime per year?
- About 8.7 hours per year (Correct answer)
- About 1 hour per year
- About 24 hours per year
- About 43 minutes per year
Correct answer: About 8.7 hours per year
99.9% uptime ('three nines') allows approximately 8.76 hours of downtime per year; many enterprise SaaS products target 99.99% ('four nines'), which allows only ~52 minutes per year.
Question 2: What is blue-green deployment in SaaS engineering?
- A branching strategy for managing feature development in Git
- Running two identical production environments where traffic is switched instantly to the new version, enabling zero-downtime deployments (Correct answer)
- A color-coded monitoring dashboard for production health
- A testing strategy that compares performance between two database configurations
Correct answer: Running two identical production environments where traffic is switched instantly to the new version, enabling zero-downtime deployments
Blue-green deployment maintains two identical environments; the new version is deployed to the inactive environment and traffic is switched instantly, enabling instant rollback if issues arise.
Question 3: What is infrastructure as code (IaC) and how does it benefit SaaS operations?
- Writing documentation that describes how infrastructure is manually configured
- Defining and provisioning infrastructure using code (Terraform, CloudFormation), enabling version control, reproducibility, and automation (Correct answer)
- Billing customers for infrastructure usage through a code-based API
- Embedding infrastructure cost calculations directly in application source code
Correct answer: Defining and provisioning infrastructure using code (Terraform, CloudFormation), enabling version control, reproducibility, and automation
IaC tools like Terraform allow SaaS teams to define infrastructure declaratively in code, enabling version-controlled, auditable, and reproducible environment provisioning.
Question 4: What is auto-scaling in cloud-based SaaS infrastructure?
- Automatically upgrading the software version when a new release is published
- Dynamically adding or removing compute resources based on real-time demand metrics (Correct answer)
- Automatically scaling the customer's data storage as their usage grows
- Scaling the SaaS pricing plan based on usage thresholds
Correct answer: Dynamically adding or removing compute resources based on real-time demand metrics
Auto-scaling monitors metrics like CPU usage or request rate and automatically adds or removes instances to maintain performance during traffic spikes while minimizing cost during lulls.
Question 5: What is a circuit breaker pattern in distributed SaaS systems?
- A security mechanism that disconnects compromised services from the network
- A resilience pattern that detects when a downstream service is failing and stops sending requests to it, allowing it to recover (Correct answer)
- An electrical safety feature in data center UPS systems
- A load balancing strategy that distributes traffic across healthy service instances
Correct answer: A resilience pattern that detects when a downstream service is failing and stops sending requests to it, allowing it to recover
The circuit breaker pattern prevents cascading failures by detecting repeated errors from a downstream service and temporarily stopping requests to it, returning fast-fail responses while it recovers.
Question 6: What is database connection pooling and why is it important for SaaS applications?
- Backing up database data to multiple geographic locations simultaneously
- Reusing a pool of pre-established database connections instead of opening a new connection per request, reducing latency and resource consumption (Correct answer)
- Splitting a single database across multiple physical servers
- Encrypting all database connections with rotating certificates
Correct answer: Reusing a pool of pre-established database connections instead of opening a new connection per request, reducing latency and resource consumption
Connection pooling maintains a set of reusable database connections so each API request doesn't pay the overhead of establishing a new connection, dramatically improving throughput under load.
What is a SLA (Service Level Agreement) uptime of 99.9% equivalent to in downtime per year?