# The shape of the platform

Eugo has four nested concepts. Most confusion about the platform comes from collapsing two of them
together, so the containment comes first.

## The nesting

```
Organization                  ← owns workspaces, holds the plan, is the billing boundary
└── Workspace                 ← isolated environment: storage, libraries, resource allocation
    ├── Interactive session   ← a running EugoIDE in your browser (where you write code)
    └── Cluster               ← head node + compute nodes (where code runs at scale)
```

Reading it outside-in: an **organization** owns one or more **workspaces**. Inside a workspace you
open an **interactive session** to write code, and launch a **cluster** to run it.

## What each one is for

**Organization.** The account. It owns workspaces, holds the [pricing plan](/glossary/pricing-plan) whose limits everything
inside inherits, and is where members and their roles live. It is the unit of billing.

**Workspace.** An isolated compute environment. It has its own [persistent storage](/glossary/persistent-storage), its own installed
libraries, and its own resource allocation. Teams typically get one workspace per team, per project,
or per environment. The boundary matters because storage and limits follow it.

**Interactive session.** A running EugoIDE instance. Ephemeral in the sense that you start and stop
it, but attached to workspace storage, so your files persist beyond it. Holds resources while open.

**Cluster.** Machines launched on demand to run distributed work. A head node schedules; [compute nodes](/glossary/compute-node)
execute. Exists only between launch and shutdown, and bills for that whole interval.

## The distinction that matters most

**A session is not a cluster.**

A session is one machine running your notebook. A cluster is many machines running your tasks. You
write code in the session; the session dispatches work to the cluster.

You can have a session with no cluster. That is just a notebook, and perfectly normal. You would not
have a cluster with no session, because there would be nothing driving it.

Conflating the two produces the most common beginner question: "I started a session, why isn't my
code parallel?" A session is one machine. Parallelism needs a cluster, plus code that dispatches
work to it.

## Two things bill separately

Both a session and a cluster consume resources for as long as they exist:

- An open session with nobody typing in it still bills.
- An idle cluster after its job finished bills exactly like a busy one.

The second is the larger number and the one [organizations](/glossary/organization) most often leak money on.

## What comes next

[Interactive sessions vs. clusters](./02-sessions-and-clusters.mdx) takes the two halves of that
picture apart: where you write code, where it runs, and how work travels between them.

Terms like *task*, *future*, *actor*, and *worker* appear unprefixed from here on. Each has a
[glossary](/glossary) entry with its own page, so look one up the moment it stops being obvious
rather than reading a list of definitions up front.

---

Source: https://university.eugo.io/lesson/eugo-101/platform-tour
