# Architecture
Looking for the latest Prefect 2 release? Prefect 2 and Prefect Cloud 2 have been released for General Availability. See https://docs.prefect.io/ for details.
Prefect Server is composed of a few different services:
- UI: the user interface that provides a visual dashboard for mutating and querying metadata
- Apollo: the main endpoint for interacting with the server
- PostgreSQL: the database persistence layer where metadata is stored
- Hasura: the GraphQL API that layers on top of Postgres for querying metadata
- GraphQL: the server's business logic that exposes GraphQL mutations
- Towel: runs utilities that are responsible for server maintenance
- Scheduler: schedules and creates new flow runs
- Zombie Killer: marks task runs as failed if they fail to heartbeat
- Lazarus: reschedules flow runs that maintain an unusual state for a period of time
Users and Agents only need access to the Apollo endpoint, all other services may reside behind a firewall.