Services
A service is a unit that runs inside a project. A simple project has one; a larger project combines several.
The four types
| Type | What it does | Public address |
|---|---|---|
| Web application | Receives requests from the internet at the project's public address | Yes |
| Internal service | Answers only other services in the project | No |
| Continuous process | Runs continuously without receiving requests — consumes a queue, processes events | No |
| Scheduled task | Runs at set times and finishes on each run | No |
The type is not cosmetic: it decides whether the service receives traffic, whether it has an address, whether it is metered per request, and how the platform judges its health.
Web application
This is the most common type and the one the quickstart creates. The application must listen on 0.0.0.0, on the port given by the environment's PORT variable (default 8080). That is how the platform confirms it started: an instance is ready when it accepts connections on that port, and only then does it receive traffic. See How the application runs.
A project has one canonical address, served by the main web application. If there is more than one, the others get addresses of their own. Each service has one public address; changing it releases the previous one. See Project address.
Internal service
Identical to a web application, with one difference: it receives no traffic from the internet. It answers only other services in the same project. Use it when a component needs to be reachable over HTTP but must not be exposed.
Continuous process
Receives no requests. It starts, runs, and keeps running — consuming a queue, processing events, holding a connection. It has no address, so it does not appear in traffic metrics: what is measured is consumption.
Scheduled task
Runs at set times and finishes on each run. The console shows the schedule in plain language — "every day at 03:00" — and the technical expression stays in the details, labeled as such.
When a schedule cannot be described in plain language with confidence, the console says it could not describe it rather than guessing a time. A wrong time on a scheduled task makes someone plan maintenance right on top of a run.
Replicas and resources
Each service declares how much it reserves and how far it can grow:
- Reserved — what the service is guaranteed.
- Maximum — the ceiling it may reach.
- Current usage — the most recent sample measured, with its age.
Services that declare nothing use the platform default, and the console says explicitly when that is the case. See Resources and limits.
What the platform decides for you
Update strategy, health checking, restart policy, the process's user, network isolation, and quota are decided in one place, with the same standard for every project. This is not a temporary limitation: it is what lets the platform promise everyone the same behavior.
Next steps
Was this page helpful?
Report a problem on this pageDo not send passwords, keys, tokens, or customer data.