Skip to main content

Technical requirements to run Ceramic

To understand the expected costs to integrate Ceramic into your architecture, it is helpful to first understand where Ceramic lives in the application architecture stack.

Ceramic is a decentralized data storage network made up of different components, and can replace or augment existing storage solutions.

Architecture

To make it easier to grasp, you can think about implementing Ceramic just like you might think about implementing a traditional SQL or PostgreSQL database.

When integrating with Ceramic, you will be running a few different services and components, each serving a specific purpose for running your application:

  • js-ceramic - provides the HTTP API access for connected clients to read the streams stored on the Ceramic network
  • ceramic-one - responsible for storing the actual data and coordinate with network participants.
  • PostgreSQL - used for indexing data
  • Ethereum RPC node API access - required to validate Ceramic Anchor Service (CAS) anchors.
  • Ceramic Anchor Service (CAS) access - Anchors Ceramic protocol proofs to the blockchain. This service is currently funded by 3box Labs, however, eventually, this function will be provided by node operators and with some expected cost.

Ceramic nodes are simply pieces of software than run on a server. PostgreSQL is a type of traditional database.

Hardware requirements

For most projects, all three components of Ceramic can be run on the same server. Thus the main consideration impacting costs are the hardware requirements of your server.

Depending on the expected throughput of your project, the suggested hardware requirements will differ. Below, you can find the estimated hardware requirements based on a different levels of expected throughput.

Minimum (light throughput)

ResourceSize
CPU2 CPU Cores
RAM4GB
Storage110GB

As your project scales, you may need to expand your storage beyond 180GB.

ResourceSize
CPU4 CPU cores
RAM8 GB
Storage180GB

Advanced (heavy throughput)

Advanced users may want to consider running the PostgreSQL database on a different server than the Ceramic node. If you choose to run them on different servers, a VPC can be used to establish the communication between them.

Ceramic node
ResourceSize
CPU2 4CPU Cores
RAM8 GB
Storage180GB
PostgreSQL DB
ResourceSize
CPU1 2CPU Cores
RAM4 GB
Storage110GB

Hosting solutions and costs

One of the key factors impacting costs is how you choose to host your Ceramic node. A few options are shown below. Monthly server costs are estimated based on the hardware requirements above.

Locally hostedCloud hostedManaged node service
- No new incremental costs- $25 - $250 per node per month- $50 - $500 per node per month
- Not recommended for production environments- Dependent on cloud provider (e.g., AWS vs GCP vs Azure)- Managed backups
- Infrastructure professionals who manage their own servers should have lower costs than using a cloud provider- Application developers who prefer to use third party managed node services can offload node management responsibilities to dedicated professionals