exit lab

Backend Infrastructure

The pieces that sit around your application in production — what each one does, and why a backend developer should care.

Networking

Reverse Proxy

A server that sits in front of your application, receiving all client requests first and forwarding them to the appropriate backend.

Why it matters for backend

It's how Nginx terminates TLS, routes to multiple services, and shields your app from being directly exposed to the internet.

Networking

Load Balancer

Distributes incoming requests across multiple instances of your app so no single instance is overwhelmed.

Why it matters for backend

Once you run more than one instance of your API for reliability or scale, something has to decide which instance handles each request — that's the load balancer's job.

Configuration

Environment Variables

Key-value configuration injected into a running process from outside the codebase, rather than hardcoded.

Why it matters for backend

It's how the same build behaves correctly in dev, staging, and production without being recompiled per environment.

Security

SSL/TLS Certificate

A cryptographic credential that proves a server's identity and enables encrypted HTTPS connections.

Why it matters for backend

Without one, every request to your API — including login credentials — travels as plain, readable text over the network.

Networking

API Gateway

A single entry point that routes requests to different backend services, often also handling auth, rate limiting, and logging centrally.

Why it matters for backend

Once you have more than one backend service, a gateway avoids duplicating auth and rate-limiting logic in every single one.

Performance

Caching

Storing the result of an expensive operation so a repeat request can be served instantly instead of recomputing it.

Why it matters for backend

The fastest database query is the one you never have to run — caching is often the highest-leverage performance fix available.

Performance

Redis

An in-memory key-value store commonly used for caching, session storage, and simple queues.

Why it matters for backend

Redis can provide low-latency reads for suitable non-authoritative data, but actual latency depends on network, payload, command, topology, and load; measure the deployed path instead of promising a fixed number.

Performance

CDN

Content Delivery Network — a distributed set of servers that cache and serve static assets from a location physically close to the requesting user.

Why it matters for backend

Static assets (images, JS bundles) served from a CDN never have to touch your application server at all — it's traffic your backend doesn't need to handle.

Database

Connection Pool

A cache of reusable database connections, avoiding the cost of opening a brand new TCP connection to the database for every single query.

Why it matters for backend

Opening a raw connection per request is slow and exhausts the database's connection limit under load — Spring Boot's default (HikariCP) handles this, but the pool size still needs tuning to your actual traffic.

Observability

Health Checks

An endpoint (commonly /actuator/health in Spring Boot) that reports whether the app and its dependencies (database, cache) are actually working.

Why it matters for backend

Deployment platforms and load balancers use this to decide whether an instance should receive traffic — without one, a crashed instance can keep receiving requests it can never answer.

Observability

Application Logs

A structured, timestamped record of what your application did, at defined severity levels (DEBUG, INFO, WARN, ERROR).

Why it matters for backend

When something breaks in production and you can't attach a debugger, logs are the only evidence of what actually happened.

Observability

Monitoring

Continuously tracking a system's health and performance metrics over time, usually visualized on a dashboard.

Why it matters for backend

It's the difference between finding out about an incident from a dashboard versus finding out from an angry user.

Observability

Metrics

Numeric measurements over time — request latency, error rate, CPU usage, queue depth — that monitoring dashboards are built from.

Why it matters for backend

"The API feels slow" isn't actionable. p95 latency went from 80ms to 400ms after the last deploy is.

Observability

Alerts

Automated notifications triggered when a metric crosses a defined threshold — error rate above 5%, disk usage above 90%.

Why it matters for backend

Monitoring you have to remember to check is monitoring that fails silently at 3am. Alerts are what make observability actually proactive.