diff --git a/assets/nvidia.svg b/assets/nvidia.svg new file mode 100644 index 00000000..46687470 --- /dev/null +++ b/assets/nvidia.svg @@ -0,0 +1,3 @@ + + + diff --git a/components/plans-card.tsx b/components/plans-card.tsx index 12d6c7c6..c72f57af 100644 --- a/components/plans-card.tsx +++ b/components/plans-card.tsx @@ -1,23 +1,41 @@ import { FC } from "react"; +import Image from "next/image"; +import { IPlans } from "./plans"; +import NvidiaIcon from "../assets/nvidia.svg"; import styles from "../styles/plans.module.css"; -export interface IPlansCard { - title: string; - amount: string; - dailyAmount: string; - specs: number[]; +export interface IPlansCard extends IPlans { + isGPU: boolean; } -const PlansCard: FC = ({ title, amount, dailyAmount, specs }) => { +const PlansCard: FC = ({ + title, + amount, + dailyAmount, + hourlyAmount, + specs, + isGPU, +}) => { return (
-

{title}

+
+ {isGPU && ( + nvidia + )} +

{title}

+

- ${amount}{" "} - Avg monthly + ${hourlyAmount}{" "} + Avg hourly

-

${dailyAmount} avg daily cost

+

${amount} avg monthly cost

  • {"\u2022"} {specs[0]}Gi RAM diff --git a/components/plans.tsx b/components/plans.tsx index fa24d44e..3817073c 100644 --- a/components/plans.tsx +++ b/components/plans.tsx @@ -1,148 +1,226 @@ -import PlansCard, { IPlansCard } from "./plans-card"; +import PlansCard from "./plans-card"; import styles from "../styles/quick.module.css"; -const PLANS_LIST = [ +export interface IPlans { + title: string; + amount: string; + dailyAmount: string; + hourlyAmount: string; + specs: number[]; +} + +const CPU_PLANS_LIST = [ { title: "Ventus Nano", amount: "1.16", dailyAmount: "0.04", + hourlyAmount: "0.0016", specs: [0.5, 1], }, { title: "Ventus Micro", amount: "1.54", dailyAmount: "0.05", + hourlyAmount: "0.0020", specs: [1, 1], }, { title: "Ventus Small", amount: "2.29", dailyAmount: "0.08", + hourlyAmount: "0.0033", specs: [2, 1], }, { title: "Ventus Medium", amount: "4.58", dailyAmount: "0.15", + hourlyAmount: "0.0062", specs: [4, 2], }, { title: "Ventus 2x Medium", amount: "4.58", dailyAmount: "0.15", + hourlyAmount: "0.0062", specs: [4, 2], }, { title: "Ventus Large", amount: "7.60", dailyAmount: "0.25", + hourlyAmount: "0.0104", specs: [8, 2], }, { title: "Ventus 2x Large", amount: "9.16", dailyAmount: "0.31", + hourlyAmount: "0.0129", specs: [8, 4], }, { title: "Ventus X-Large", amount: "15.19", dailyAmount: "0.51", + hourlyAmount: "0.0212", specs: [16, 4], }, { title: "Glacies Nano", amount: "1.94", dailyAmount: "0.06", + hourlyAmount: "0.0025", specs: [0.5, 2], }, { title: "Glacies Micro", amount: "2.32", dailyAmount: "0.08", + hourlyAmount: "0.0033", specs: [1, 2], }, { title: "Glacies Small", amount: "3.07", dailyAmount: "0.10", + hourlyAmount: "0.0041", specs: [2, 2], }, { title: "Terra Nano", amount: "2.32", dailyAmount: "0.08", + hourlyAmount: "0.0033", specs: [1, 2], }, { title: "Terra Small", amount: "6.15", dailyAmount: "0.20", + hourlyAmount: "0.0083", specs: [4, 4], }, { title: "Terra Small 1Ti", amount: "6.15", dailyAmount: "0.20", + hourlyAmount: "0.0083", specs: [4, 4], }, { title: "Terra Medium", amount: "9.16", dailyAmount: "0.31", + hourlyAmount: "0.0129", specs: [8, 4], }, { title: "Terra Large", amount: "18.33", dailyAmount: "0.61", + hourlyAmount: "0.0254", specs: [16, 8], }, { title: "Terra Large 1Ti", amount: "18.33", dailyAmount: "0.61", + hourlyAmount: "0.0254", specs: [16, 8], }, { title: "Terra 2x Large", amount: "30.39", dailyAmount: "1.01", + hourlyAmount: "0.0420", specs: [32, 8], }, { title: "Terra 3x Large", amount: "31.95", dailyAmount: "1.07", + hourlyAmount: "0.0445", specs: [32, 10], }, { title: "Ignis Large", amount: "30.39", dailyAmount: "1.01", + hourlyAmount: "0.0420", specs: [32, 8], }, { title: "Ignis 2x Large", amount: "60.77", dailyAmount: "2.03", + hourlyAmount: "0.0845", specs: [64, 16], }, ]; -const Plans = () => { +const GPU_PLANS_LIST = [ + { + title: "Nvidia 3080", + amount: "305.53", + dailyAmount: "10.18", + hourlyAmount: "0.42", + specs: [16, 8], + }, + { + title: "Nvidia 3090", + amount: "374.61", + dailyAmount: "12.49", + hourlyAmount: "0.52", + specs: [16, 8], + }, + { + title: "Nvidia 1660", + amount: "274.13", + dailyAmount: "9.14", + hourlyAmount: "0.38", + specs: [16, 8], + }, + { + title: "Nvidia Tesla T4", + amount: "336.93", + dailyAmount: "11.23", + hourlyAmount: "0.46", + specs: [16, 8], + }, + { + title: "Nvidia A4000", + amount: "349.49", + dailyAmount: "11.65", + hourlyAmount: "0.48", + specs: [16, 8], + }, + { + title: "Nvidia A100", + amount: "548.25", + dailyAmount: "18.28", + hourlyAmount: "0.76", + specs: [32, 16], + }, +]; + +const Plans = ({ isGPU }) => { return (
    - {PLANS_LIST.map((item: IPlansCard, index) => ( - - ))} + {(isGPU ? GPU_PLANS_LIST : CPU_PLANS_LIST).map( + (item: IPlans, index) => ( + + ) + )}
    ); diff --git a/components/quick-start.tsx b/components/quick-start.tsx index 5c81f381..ec31278d 100644 --- a/components/quick-start.tsx +++ b/components/quick-start.tsx @@ -21,7 +21,7 @@ const QUICK_START_LIST = [ body: "Deploy static sites from your Git provider.", }, { - path: "/compute/cluster", + path: "/compute/cluster/compute", emoji: "✈️", title: "Compute", body: "Deploy compute instances with one click.", diff --git a/pages.config.ts b/pages.config.ts index 0eecf1a7..3018b340 100644 --- a/pages.config.ts +++ b/pages.config.ts @@ -37,7 +37,8 @@ export const Pages = [ ["Compression & Encryption", "/static/edge/compression"], ["Regions & Routing", "/static/edge/regions"], ["Static Site Usage", "/static/usage"], - ["Cluster", "/compute/cluster"], + ["Compute", "/compute/cluster/compute"], + ["Accelerate", "/compute/cluster/accelerate"], ["Logs & Activity", "/compute/instance/logs"], ["Instance Domains", "/compute/instance/domain"], ["Instance Settings", "/compute/instance/settings"], @@ -46,6 +47,8 @@ export const Pages = [ ["Spot", "/compute/type/spot"], ["On Demand", "/compute/type/on-demand"], ["Autoscale", "/compute/type/autoscale"], + ["Compute Plans", "/compute/plans/compute-plans"], + ["Accelerate Plans", "/compute/plans/accelerate-plans"], ["Upload", "/storage/upload"], ["Buckets", "/storage/buckets"], ["IPNS", "/storage/buckets/ipns"], diff --git a/pages/compute/cluster/_meta.json b/pages/compute/cluster/_meta.json new file mode 100644 index 00000000..e250f4bd --- /dev/null +++ b/pages/compute/cluster/_meta.json @@ -0,0 +1,4 @@ +{ + "compute": "Compute", + "accelerate": "Accelerate" +} diff --git a/pages/compute/cluster/accelerate.mdx b/pages/compute/cluster/accelerate.mdx new file mode 100644 index 00000000..3a025035 --- /dev/null +++ b/pages/compute/cluster/accelerate.mdx @@ -0,0 +1,143 @@ +import { Callout } from "nextra-theme-docs"; +import Navigation from "components/navigation"; + +# Accelerate + + + **NOTE:** Spheron Compute offers the flexibility to create custom + configurations for your instance. + + +## Deploy from Docker Hub + + + Before running the **docker build** command, run this command in your + terminal:
    `export DOCKER_DEFAULT_PLATFORM=linux/amd64`. +
    + +Spheron allows you to create a new cluster with a custom docker image. +To create a cluster: + +1. Click "New Cluster" on the top right corner. +2. Choose "Accelerate" to leverage GPU-powered computing for enhanced performance. +3. Select **Import from Docker Hub**. +4. Enter the names for your cluster and docker image. +5. Then, Add the tag and Click "Next." +6. Select your preferred **Region**, if any. If you do not add a region, the container will be deployed in **any** region. [Click here](/compute/cluster/accelerate/#region) to know more. +7. Spheron will automatically select the recommended plan for the specific template. If you intend to move forward with the recommended plan, Create new Port Policy Mapping and just Click "Deploy" to initiate deployment. +8. Select the instance plan that suits your needs. Our offerings include a range of GPU plans, though certain GPU plans may be out of stock and require [reaching out to our team](https://b4t4v7fj3cd.typeform.com/to/YsTtgJ6H) for access. +9. Configure Storage (SSD) plan for your instance. Use the "Add Persistent Storage" toggle to add persistent storage for your instance. +10. Create new Port Policy Mapping. Add the container port, and Select the exposed port you want to map it to. Click here to know more. +11. Add **Environment Variable**, if any. +12. Add **Secret Environment Variable** if the value is a secret key. It will not be saved in the database. [Click here](/compute/cluster/accelerate/#environment-variables) to know more. +13. You can add advanced configuration if required. [Click here](/compute/cluster/accelerate/#advanced-configuration) to know more. +14. You can add health checkup if required. [Click here](/compute/cluster/accelerate/#health-checkup) to know more. +15. Click "Deploy" to initiate deployment. + + + **NOTE:**
    1\. Spheron supports only public docker images at the moment.{" "} +
    2\. Learn how to dockerize your server and push the docker image to the + docker hub [here](https://docs.docker.com/get-started/02_our_app/). +
    + +### Region + +Region refers to specific geographic locations where a cloud service provider (CSP) has its data centers and computing resources. +By choosing a region closer to your users, you can improve performance and reduce latency. +Spheron Accelerate offers the following regions for you to choose from: + +- us-east +- any + +### Additional Configuration + +#### Port Mapping + +Port Mapping is used to direct incoming traffic from the outside world to a specific container port, which is then exposed as an external port. +For example, suppose you have a container running a web server that is listening on port 8080, but you want to expose it to the public internet on port 80. +By mapping port 80 to the container port 8080, incoming traffic on port 80 is automatically directed to the web server running inside the container on port 8080. +This way, users can access the web server by using its public IP address and the exposed port number. + +Port Mapping is required for deployment. To create a new port mapping: + +1. Add the container port, and Select the exposed port you want to map it to. +2. Click "+" beside **Port Policy Mapping** under **Additional Configuration**, to create more mappings. + +#### Environment Variables + +Spheron allows you to add environment variables while configuring your deployment. +They contain information such as directory paths or credentials. +To configure these variables: + +1. Click "+" beside **Environment Variable** under **Additional Configuration** to add a new environment variable. +2. Add key and value. + +#### Secret Environment Variables + +Spheron allows you to add secret environment variables while configuring your deployment. +These variables will not be saved in the database. +To configure these variables: + +1. Click "+" beside **Secret Environment Variable** under **Additional Configuration** to add a new secret environment variable. +2. Add key and value. + +#### Advance Configuration + +Advance Configurations gives you more flexibility and control over how your Docker container is launched and can help you customize its behavior to meet the specific needs of your application. +**Commands** and **Arguments** fields in the advanced configuration allow you to specify any additional commands or arguments that should be passed to the Docker container when it is launched. \ +To add Commands and Arguments: + +1. Click "Advance Configuration" under **Additional Configuration** if you want to add advanced configuration. +2. Click "New Command" to add a new command. +3. Click "New Argument" to add a new argument. + +#### Health Checkup + +Health Checkup is critical to monitor the reliability and performance of your instance. +It helps minimize downtime and provides a better user experience. +To configure Health Checkup: + +1. Click "Health Checkup" under **Additional Configuration**. +2. Add the desired health check path and health check port. + +## Deploy from Marketplace App + +Spheron allows you to deploy a compute instance pre-installed with various applications, all setup and ready to use on the Akash Network. +To deploy a marketplace app: + +1. Click "New Cluster" on the top right corner. +2. Choose "Accelerate" to leverage GPU-powered computing for enhanced performance. +3. Select **Start from Marketplace App**. +4. Pick your desired template from the marketplace. +5. Select your preferred **Region**, if any. If you do not add a region, the container will be deployed in **any** region. [Click here](/compute/cluster/accelerate/#region) to know more. +6. Spheron will automatically select the recommended plan for the specific template. If you intend to move forward with the recommended plan, just Click "Deploy" to initiate deployment. +7. Select the instance plan that suits your needs. Our offerings include a range of GPU plans, though certain GPU plans may be out of stock and require [reaching out to our team](https://b4t4v7fj3cd.typeform.com/to/YsTtgJ6H) for access. +8. Configure Storage (SSD) plan for your instance. Use the "Add Persistent Storage" toggle to add persistent storage for your instance. +9. You can add advanced configuration if required. [Click here](/compute/cluster/accelerate/#advance-configuration-1) to know more. +10. Click "Deploy" to initiate deployment. + +### Region + +This section is the same as the [region section](/compute/cluster/#region) mentioned above. + +### Advance Configuration + +Advance Configuration is applicable to certain apps only and not to all. +For these specific apps, it is essential to fill in all the necessary configurations. +That includes adding the **root username** and **root password** under their respective sections. + +## Verify Installation + +The app can be accessed only after the Compute Instance is provisioned. +Thus, you need to wait for the installation to complete before you can start using the app. +Most apps can be verified for successful installation using the instructions below, while others may require different procedures. + +- **Attempt to access the app** \ + An app has an estimated deployment time of about 1-2 minutes. + If you can successfully access it, the installation has been completed successfully. + You can connect to the app with a **reverse DNS link** provided if the app has an HTTP port. + If not, you can connect using the connection URL of the instance, which will also be provided after the instance is provisioned. +- **Check instance logs and events** \ + After successfully deploying an app, it will produce logs and events, which you can check for any issues or errors. + + diff --git a/pages/compute/cluster.mdx b/pages/compute/cluster/compute.mdx similarity index 96% rename from pages/compute/cluster.mdx rename to pages/compute/cluster/compute.mdx index 95950b92..4388a4b2 100644 --- a/pages/compute/cluster.mdx +++ b/pages/compute/cluster/compute.mdx @@ -1,13 +1,15 @@ import { Callout } from "nextra-theme-docs"; import Navigation from "components/navigation"; -# Cluster +# Compute **NOTE:** Spheron Compute offers the flexibility to create custom configurations for your instance. +Compute allows you to use CPU-based instances for running containers. + ## Deploy from Docker Hub @@ -19,7 +21,7 @@ Spheron allows you to create a new cluster with a custom docker image. To create a cluster: 1. Click "New Cluster" on the top right corner. -2. Choose "Compute" to use CPU-based instances for running containers, or "Accelerate" to leverage GPU-powered computing for enhanced performance. +2. Choose "Compute" to use CPU-based instances for running containers. 3. Choose your Compute Type option under **Compute Type**. 4. Select **Import from Docker Hub**. 5. Enter the names for your cluster and docker image. @@ -126,7 +128,7 @@ Spheron allows you to deploy a compute instance pre-installed with various appli To deploy a marketplace app: 1. Click "New Cluster" on the top right corner. -2. Choose "Compute" to use CPU-based instances for running containers, or "Accelerate" to leverage GPU-powered computing for enhanced performance. +2. Choose "Compute" to use CPU-based instances for running containers. 3. Choose your desired Compute Type option under **Compute Type**. 4. Select **Start from Marketplace App**. 5. Pick your desired template from the marketplace. @@ -134,7 +136,7 @@ To deploy a marketplace app: 7. Spheron will automatically select the recommended plan for the specific template. If you intend to move forward with the recommended plan, just Click "Deploy" to initiate deployment. 8. Select the instance plan that suits your needs. Use the "Create Custom Plan" toggle to create custom plans for your instance. 9. Configure Storage (SSD) plan for your instance. Use the "Add Persistent Storage" toggle to add persistent storage for your instance. -10. You can add advanced configuration if required. [Click here](/compute/cluster/#additional-configuration-1) to know more. +10. You can add advanced configuration if required. [Click here](/compute/cluster/#advance-configuration-1) to know more. 11. Click "Deploy" to initiate deployment. ### Region @@ -161,4 +163,4 @@ Most apps can be verified for successful installation using the instructions bel - **Check instance logs and events** \ After successfully deploying an app, it will produce logs and events, which you can check for any issues or errors. - + diff --git a/pages/compute/plans/_meta.json b/pages/compute/plans/_meta.json new file mode 100644 index 00000000..15c96592 --- /dev/null +++ b/pages/compute/plans/_meta.json @@ -0,0 +1,4 @@ +{ + "compute-plans": "Compute Plans", + "accelerate-plans": "Accelerate Plans" +} diff --git a/pages/compute/plans/accelerate-plans.mdx b/pages/compute/plans/accelerate-plans.mdx new file mode 100644 index 00000000..75778c51 --- /dev/null +++ b/pages/compute/plans/accelerate-plans.mdx @@ -0,0 +1,19 @@ +import { Callout } from "nextra-theme-docs"; +import Plans from "components/plans"; +import Navigation from "components/navigation"; + +# Accelerate Plans + +Spheron is committed to providing unparalleled computing solutions for all your needs. +We provide a range of GPU plans, though some of these plans may be out of stock and require [getting in touch with our team](https://b4t4v7fj3cd.typeform.com/to/YsTtgJ6H) to gain access. + +Here's a list of all the GPU plans that we offer on Spheron Accelerate: + + + **NOTE:** If you need access to a GPU that is currently out of stock, [please + reach out to our team](https://b4t4v7fj3cd.typeform.com/to/YsTtgJ6H). + + + + + diff --git a/pages/compute/plans.mdx b/pages/compute/plans/compute-plans.mdx similarity index 77% rename from pages/compute/plans.mdx rename to pages/compute/plans/compute-plans.mdx index 0beec57a..3fd98121 100644 --- a/pages/compute/plans.mdx +++ b/pages/compute/plans/compute-plans.mdx @@ -2,7 +2,7 @@ import { Callout } from "nextra-theme-docs"; import Plans from "components/plans"; import Navigation from "components/navigation"; -# Plans +# Compute Plans **NOTE:** Spheron Compute offers the flexibility to create custom @@ -10,11 +10,11 @@ import Navigation from "components/navigation"; Spheron is committed to providing unparalleled flexibility and customization options for your computing needs. -Our array of plans ensures that you can choose the perfect fit. +Our array of CPU plans ensures that you can choose the perfect fit. -Here's a list of all the plans that we offer on Spheron Compute: +Here's a list of all the CPU plans that we offer on Spheron Compute: - + ## Custom Plans @@ -24,4 +24,4 @@ You also have the option to craft custom plans by following the steps outlined b 2. Select your desired **CPU** and **RAM**. 3. Verify the Avg. cost per month and Click "Good to go." - + diff --git a/styles/plans.module.css b/styles/plans.module.css index 24c7cee8..e0ebc25d 100644 --- a/styles/plans.module.css +++ b/styles/plans.module.css @@ -11,7 +11,7 @@ min-height: 10em; min-height: fit-content; border-radius: 5px; - padding: 1em 1.6em; + padding: 1em 1.2em; margin-top: 12px; background: rgba(130, 130, 130, 0.05); border: 1px solid rgba(150, 150, 150, 0.2); @@ -25,10 +25,10 @@ .heading { font-size: 16px; - margin-bottom: 4px; } .amount { + margin-top: 4px; display: flex; align-items: center; } @@ -49,3 +49,12 @@ color: #777; margin-bottom: 10px; } + +.gpu { + display: flex; + align-items: center; +} + +.logo { + margin-right: 7px; +}