Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion docs/.vitepress/config.mts
Original file line number Diff line number Diff line change
Expand Up @@ -203,9 +203,10 @@ export default defineConfig({
]
},
{
text: 'Compute Resources',
text: 'Compute',
collapsed: false,
items: [
{text: 'Introduction', link: '/devhub/compute-resources/'},
{ text: 'Standard Instances', link: '/devhub/compute-resources/standard-instances/' },
{ text: 'GPU Instances', link: '/devhub/compute-resources/gpu-instances/' },
{
Expand Down
10 changes: 9 additions & 1 deletion docs/devhub/compute-resources/functions/getting-started.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,18 @@
# Getting started with functions

This tutorial will guide you through the steps of building a Python microVM to run on the aleph cloud network.
This tutorial will guide you through the steps of building a Python microVM to run on the Aleph Cloud network.
We will build a simple HTTP server and add features as we go.

> ℹ This tutorial uses the aleph cloud command line interface.

## Prerequisites

Before you begin this tutorial, ensure that you have the following:

* A computer with Python and the [aleph-client](https://github.com/aleph-im/aleph-client/) utility installed
* An Ethereum account with at least 2000 ALEPH token
* Working knowledge of Python

## Requirements

We expect you to know a little Python and have some experience with Python web frameworks such as
Expand Down
23 changes: 9 additions & 14 deletions docs/devhub/compute-resources/functions/index.md
Original file line number Diff line number Diff line change
@@ -1,17 +1,16 @@
# Computing on Aleph Cloud

Aleph Cloud offers a decentralized computing framework that allows users to run
applications on the network.
Aleph.cloud programs are applications running on the aleph.cloud network.
Each program defines the application to be executed, data to use, computing requirements
(number of CPUs, amount of RAM) and many more parameters.

Two execution models are available:
Functions follow a serverless approach to easily deploy and maintain applications. They
offer [Function-as-a-service](https://en.wikipedia.org/wiki/Function_as_a_service) functionality.

- [Functions](/devhub/compute-resources/functions/getting-started) follow a serverless
approach to easily deploy and maintain applications.
- [Instances](/devhub/compute-resources/standard-instances/) are designed to
provide a persistent environment for users to interact with directly.
Each function is instantiated as a __virtual machine__ running on a Compute Resource Node (CRN).
Virtual machines are emulated computer systems with dedicated resources that run isolated from each other.
Aleph.cloud Virtual Machines (VMs) are based on Linux.

In both cases, user workloads are executed inside virtual machines (VMs)
isolated from each other.

## Overview of VMs

Expand Down Expand Up @@ -105,7 +104,7 @@ cd ./src/
uvicorn main:app --reload
```

### Step 2: Run a program in a persistent manner
### Step 2: Run a program in persistent mode

To run the program in a persistent manner on the aleph.cloud network, use:

Expand All @@ -118,7 +117,3 @@ You can stop the execution of the program using:
```shell
aleph unpersist $MESSAGE_ID
```

### Find your program

TODO: Locate the CRN where your program is running.
44 changes: 44 additions & 0 deletions docs/devhub/compute-resources/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
# Computing on Aleph Cloud

Aleph Cloud offers a decentralized computing framework that allows users to run
applications on the network.

Two execution models are available:

- [Functions](/devhub/compute-resources/functions/) follow a serverless
approach to easily deploy and maintain applications. They offer [Function-as-a-service](https://en.wikipedia.org/wiki/Function_as_a_service) functionality
- [Instances](/devhub/compute-resources/standard-instances/) are designed to
provide a persistent environment for users to interact with directly. They offer full Virtual Machine running under qemu.

Functions can be executed in parallel on multiple Compute Resource Nodes while there will only one running instance on the network.

In both cases, user workloads are executed inside virtual machines (VMs)
isolated from each other.

## Overview of VMs

There are several types of VMs available on the network:

- [On-demand VM](#on-demand-execution)
- [Persistent VM](#persistent-execution)

An [On-demand VM](#on-demand-execution) is created on a [Compute Resource Node](/nodes/compute/introduction/)
(CRN) and is destroyed once the program has finished executing. This is great
for programs that are responding to user requests or API calls (using ASGI) and can shutdown
after processing the event. They are also cheaper to run as they only require
one tenth of the $ALEPH tokens to hold, compared to a [Persistent VM](#persistent-execution).

A [Persistent VM](#persistent-execution) can be used to run programs that cannot afford to stop or need
to handle incoming connections such as polling data from a websocket or AMQP API.

Instances are similar to Persistent VMs, but are specifically designed to run with
a SSH key supplied by the user. This allows the user to connect to the VM and
interact with it directly. They do not rely on code execution, but rather on
the user's ability to connect to the VM and run commands on it.
They cost as much as Persistent VMs.

# Instances

See [Instances](/compute-resources/standard-instances/index.md)

In additions you can request usage of a [GPU](/compute-resources/gpu-instances/index.md) or use [Confidential instances](/compute-resources/confidential-instances/01-confidential-instance-introduction.md)
19 changes: 13 additions & 6 deletions docs/devhub/compute-resources/standard-instances/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,21 +2,28 @@

This section outlines the process of starting a standard (CPU-only) instance on the Aleph Cloud network.


## via the Web

You can create, manage your instances viathe [Aleph Cloud Console](https://app.aleph.cloud).

## via the CLI

The [aleph-client](https://github.com/aleph-im/aleph-client/) command-line tool is required.<br>
See [CLI Reference](/devhub/sdks-and-tools/aleph-cli/) or use `--help` for a quick overview of a specific command.

## Setup

### Create a Standard Instance
### Create a Standard Instance via the CLI

To create a standard instance, use the CLI or the [Aleph Cloud Console](https://app.aleph.cloud).
Prerequisite: A ssh key so you can log onto into your VM, you can create one using the `ssh-keygen` command.
To create a standard instance, use:

```shell
aleph instance create
```
<br/><br/>

Your VM is now ready to use.
An instance will guide you and ask you question on how you want to configure your VM: base system, disk size, etc...

Once the process is complete, your VM should be ready to use in a few minutes.

### Retrieve VM Logs

Expand Down