diff --git a/docs/introduction/technical-reqs.md b/docs/introduction/technical-reqs.md new file mode 100644 index 00000000..e2008819 --- /dev/null +++ b/docs/introduction/technical-reqs.md @@ -0,0 +1,136 @@ +# 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](/img/app-architecture-overview.png) + + +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 three pieces of server software: + +- Ceramic node +- PostgreSQL +- IPFS node + +Ceramic and IPFS 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) + +| Resource | Size | +| --- | --- | +| CPU | 2 CPU Cores | +| RAM | 4GB | +| Storage | 110GB | + + + +### Recommended + +As your project scales, you may need to expand your storage beyond 180GB. + +| Resource | Size | +| --- | --- | +| CPU | 4 CPU cores | +| RAM | 8 GB | +| Storage | 180GB | + + +### Advanced (heavy throughput) + +Advanced users may want to consider running the PostgreSQL database on a different server than the Ceramic node + IPFS node. If you choose to run them on different servers, a VPC can be used to establish the communication between them. + + + +
+
+
Ceramic node + IPFS 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
+ + diff --git a/sidebars.ts b/sidebars.ts index f2eba44f..33c9493c 100644 --- a/sidebars.ts +++ b/sidebars.ts @@ -30,6 +30,7 @@ const sidebars: SidebarsConfig = { { type: "doc", id: "introduction/did-overview", label: "Decentralized Identifiers" } ] }, + { type: "doc", id: "introduction/technical-reqs", label: "Technical Requirements" }, { type: "link", label: "Try it out!", href: "/docs/composedb/sandbox" }, { type: "doc", id: "introduction/ceramic-roadmap", label: "Roadmap" } ], diff --git a/static/img/app-architecture-overview.png b/static/img/app-architecture-overview.png new file mode 100644 index 00000000..ae3f4bad Binary files /dev/null and b/static/img/app-architecture-overview.png differ diff --git a/static/img/architecture-overview.png b/static/img/architecture-overview.png new file mode 100644 index 00000000..2577bdbc Binary files /dev/null and b/static/img/architecture-overview.png differ diff --git a/static/img/tech-architecture.png b/static/img/tech-architecture.png new file mode 100644 index 00000000..41f55d1f Binary files /dev/null and b/static/img/tech-architecture.png differ