English for Knative Developers

Learn the English vocabulary for Knative: services, revisions, scale-to-zero, and event-driven serving on Kubernetes.

Knative discussions add serverless vocabulary on top of Kubernetes concepts, so a developer comfortable with Deployments and Pods needs new terms — revision, scale-to-zero, cold start — to describe Knative’s specific behavior.

Key Vocabulary

Service (ksvc) — Knative’s top-level resource representing a deployable application, which automatically manages routing, scaling, and revision history without the operator writing separate Deployment and Service manifests. “You don’t need a raw Kubernetes Deployment here — define it as a Knative service and it handles the routing and scaling for you.”

Revision — an immutable snapshot of a service’s code and configuration at a point in time, created automatically on each deployment, that Knative can route traffic to independently. “Roll back by shifting traffic to the previous revision — you don’t need to redeploy anything, the old revision’s still there.”

Scale-to-zero — Knative’s ability to shut down all instances of a service when there’s no incoming traffic, then spin new ones up on demand when a request arrives. “This service scaled to zero overnight — that’s expected behavior, not an outage, since nothing was calling it.”

Cold start — the latency added to the first request after a service has scaled to zero, caused by the time needed to start a new instance before it can handle traffic. “That first request after idle time is always slower — that’s the cold start, not a regression in the code.”

Traffic splitting — Knative’s mechanism for directing a configurable percentage of requests to different revisions simultaneously, commonly used for canary releases. “Send five percent of traffic to the new revision using traffic splitting, and watch the error rate before shifting the rest over.”

Common Phrases

  • “Is this defined as a Knative service, or are we still managing raw Deployments for it?”
  • “Which revision is currently receiving traffic, and is the previous one still around to roll back to?”
  • “Is the latency here a cold start, or is something actually slow once the instance is warm?”
  • “Are we using traffic splitting for this rollout, or cutting over all at once?”
  • “Does this service need to scale to zero, or is the cold start unacceptable for its traffic pattern?”

Example Sentences

Debugging a latency spike: “That spike lines up with a scale-from-zero event — it’s a cold start, not a code regression, so check whether we should keep a minimum of one warm instance for this service.”

Explaining an architecture choice: “We’re using traffic splitting to send a small percentage to the new revision first, so if there’s a problem we only affected a fraction of requests before rolling back.”

Reviewing a pull request: “Set a minimum scale of one for this service — it’s latency-sensitive enough that cold starts from scale-to-zero would hurt the user experience.”

Professional Tips

  • Say cold start specifically when explaining first-request latency after idle time — it distinguishes an expected serverless characteristic from an actual performance bug.
  • Use revision rather than “version” or “deployment” when discussing rollback — it’s the precise Knative object that traffic actually routes to.
  • Reference traffic splitting by name when describing a canary rollout — it’s the concrete mechanism, more specific than saying “we’re doing a gradual rollout.”
  • Clarify whether a service scales to zero when discussing its latency profile — it’s the key variable that determines whether cold starts are a concern at all.

Practice Exercise

  1. Explain the difference between a Knative service and a revision.
  2. Describe what a cold start is and when it happens.
  3. Write a sentence explaining how traffic splitting is used during a canary rollout.