An organization, acme, holds projects. Project shop has its own private network with web (public, with an HTTPS address, sleeping when idle), db (private, reached as db:5432, always on) and a computer (a Linux machine with no address of its own). Project blog has another network: its services can't reach shop's. Alf places every service on servers it runs in regions, like Europe (Falkenstein, Nuremberg) and the US, or on private servers only the organization uses; a project's network reaches across the servers it runs on.
An organization is your workspace: its projects, servers, members, agents and settings. You can belong to several and switch between them at the top of the sidebar.
A project groups the services of one app. Its services share a private network: they reach each other by name, like db:5432 or cache:6379, even when they run on different servers. Services in other projects can't reach them.
Every public service's address contains the project's short name: {service}-{project}-{organization}.smartalfred.com. You can change these short names in the project's and organization's settings; the addresses move with them.
A service is one container image (or the image built from your code), the settings it runs with and its addresses. A service can be:
name:port inside the project. Use this for databases, caches and workers. Private services always run.Click a service on the canvas to open its page. Its parts are listed in the sidebar: Overview (how it's doing, with its charts), Deployments, Logs and Terminal, then its settings: General, Variables, Networking (addresses, domains, public ports), Scaling (where it runs, its size, sleep), Volumes and Schedules. The name of the project at the top of the sidebar takes you back to the canvas.
Above the cards, From the internet shows how each service is reached from outside the project, with a line down into it: its own address, the domains you gave it (and whether each is live yet), its public TCP and UDP ports and who may connect to them, and the ports a computer shares. A service that isn't there can only be reached from inside the project. Lines move while there's something awake to answer, and between services when one has been seen calling the other lately.
Every change to what runs (a new image, pushed code, changed variables) is a deployment. You can follow its build log, and roll back to an earlier one.
Servers are the machines your services run on. Alf runs them, in several regions: it places each service on one or more online servers, spreads them over regions when it can, and moves them if a server goes away (services with a volume stay where their data is). An organization can also have private servers that only it runs on. See Servers and regions.
A visitor's request reaches Alf's edge first, then the nearest server that runs the service, over a connection the server keeps open. If the service is asleep, the request waits while it starts, then gets its answer.