|
| 1 | +--- |
| 2 | +title: The ArangoDB Platform |
| 3 | +menuTitle: Platform |
| 4 | +weight: 169 |
| 5 | +description: >- |
| 6 | + The ArangoDB Platform brings everything ArangoDB offers together to a single |
| 7 | + solution that you can deploy on-prem or use as a managed service |
| 8 | +--- |
| 9 | +{{< tip >}} |
| 10 | +The ArangoDB Platform & GenAI Suite is available as a pre-release. To get |
| 11 | +exclusive early access, [get in touch](https://arangodb.com/contact/) with |
| 12 | +the ArangoDB team. |
| 13 | +{{< /tip >}} |
| 14 | + |
| 15 | +The ArangoDB Platform is a technical infrastructure that acts as the umbrella |
| 16 | +for hosting the entire ArangoDB offering of products. The Platform makes it easy |
| 17 | +to deploy and operate the core ArangoDB database system along with any additional |
| 18 | +ArangoDB products for machine learning, data explorations, and more. You can |
| 19 | +run it on-premises or in the cloud yourself on top of Kubernetes to access all |
| 20 | +of the platform features. |
| 21 | + |
| 22 | +## Features of the ArangoDB Platform |
| 23 | + |
| 24 | +- **Core database system**: The ArangoDB graph database system for storing |
| 25 | + interconnected data.{{< comment >}} You can use the free Community Edition or the commercial |
| 26 | + Enterprise Edition.{{< /comment >}} |
| 27 | +- **Graph Visualizer**: A web-based tool for exploring your graph data with an |
| 28 | + intuitive interface and sophisticated querying capabilities. |
| 29 | +- **Graph Analytics**: A suite of graph algorithms including PageRank, |
| 30 | + community detection, and centrality measures with support for GPU |
| 31 | + acceleration thanks to Nvidia cuGraph. |
| 32 | +- **GenAI Suite**: A set of machine learning services, APIs, and |
| 33 | + user interfaces that are available as a package as well as individual products. |
| 34 | + - **GraphML**: A turnkey solution for graph machine learning for prediction |
| 35 | + use cases such as fraud detection, supply chain, healthcare, retail, and |
| 36 | + cyber security. |
| 37 | + - **GraphRAG**: Leverage ArangoDB's graph, document, key-value, |
| 38 | + full-text search, and vector search features to streamline knowledge |
| 39 | + extraction and retrieval. |
| 40 | + {{< comment >}}TODO: Not available in prerelease version |
| 41 | + - **Txt2AQL**: Unlock natural language querying with a service that converts |
| 42 | + user input into ArangoDB Query Language (AQL), powered by fine-tuned |
| 43 | + private or public LLMs. |
| 44 | + {{< /comment >}} |
| 45 | + - **GraphRAG Importer**: Extract entities and relationships from large |
| 46 | + text-based files, converting unstructured data into a knowledge graph |
| 47 | + stored in ArangoDB. |
| 48 | + - **GraphRAG Retriever**: Perform semantic similarity searches or aggregate |
| 49 | + insights from graph communities with global and local queries. |
| 50 | + - **MLflow integration**: Use the popular MLflow for machine learning |
| 51 | + practitioners as part of the ArangoDB Platform. |
| 52 | +- **Jupyter notebooks**: Run a Jupyter kernel in the platform for hosting |
| 53 | + interactive notebooks for experimentation and development of applications |
| 54 | + that use ArangoDB as their backend. |
| 55 | +{{< comment >}}TODO: Mostly unrelated to Platform, vector index in core, |
| 56 | +- **Vector embeddings**: You can train machine learning models for later use |
| 57 | + in vector search in conjunction with the core database system's `vector` |
| 58 | + index type. It allows you to find similar items in your dataset. |
| 59 | +{{< /comment >}} |
| 60 | + |
| 61 | +## Get started with the ArangoDB Platform |
| 62 | + |
| 63 | +### Use the ArangoDB Platform as a managed service |
| 64 | + |
| 65 | +The ArangoDB Platform is not available as a managed service yet, but it will |
| 66 | +become available for the [ArangoGraph Insights Platform](../arangograph/_index.md) |
| 67 | +in the future. Until then, you can request early access to the self-hosted |
| 68 | +ArangoDB Platform for testing. |
| 69 | + |
| 70 | +### Self-host the ArangoDB Platform |
| 71 | + |
| 72 | +You can set up and run the ArangoDB Platform on-premises or in the cloud and |
| 73 | +manage this deployment yourself. |
| 74 | + |
| 75 | +#### Requirements for self-hosting |
| 76 | + |
| 77 | +- **Early access to the ArangoDB Platform**: |
| 78 | + [Get in touch](https://arangodb.com/contact/) with the ArangoDB team to get |
| 79 | + exclusive early access to the pre-release of the ArangoDB Platform & GenAI Suite. |
| 80 | + |
| 81 | +- **Kubernetes**: Orchestrates the selected services that comprise the |
| 82 | + ArangoDB Platform, running them in containers for safety and scalability. |
| 83 | + |
| 84 | + Set up a [Kubernetes](https://kubernetes.io/) cluster if you don't have one |
| 85 | + available yet. |
| 86 | + |
| 87 | +- **kubectl**: A command line tool for communicating with a Kubernetes cluster's |
| 88 | + control plane. |
| 89 | + |
| 90 | + Install [kubectl](https://kubernetes.io/docs/tasks/tools/#kubectl) for applying |
| 91 | + specifications such as for creating the ArangoDB Core deployment, as well as |
| 92 | + for checking pods, logs, etc. |
| 93 | + |
| 94 | +- **Helm**: A package manager for Kubernetes. |
| 95 | + |
| 96 | + You need to have [helm](https://helm.sh/docs/intro/install/) installed in order |
| 97 | + to install the required certificate manager and the ArangoDB Kubernetes Operator |
| 98 | + as part of the Platform setup. |
| 99 | + |
| 100 | +- **Container registry**: A repository for storing and accessing container images. |
| 101 | + |
| 102 | + You need to have a container registry for installing the images of the Platform |
| 103 | + services. It can be a local registry. |
| 104 | + |
| 105 | +{{< comment >}} |
| 106 | +- **Licenses**: If you want to use any paid features, you need to purchase the |
| 107 | + respective packages. |
| 108 | +{{< /comment >}} |
| 109 | + |
| 110 | +#### Setup |
| 111 | + |
| 112 | +1. Obtain a zip package of the ArangoDB Platform for the offline installation. |
| 113 | + It includes helm charts, manifests, and blobs of the container image layers. |
| 114 | + You also receive a package configuration file from the ArangoDB team. |
| 115 | + |
| 116 | +2. Install the certificate manager. You can check <https://github.com/cert-manager/cert-manager> |
| 117 | + for the available releases. |
| 118 | + |
| 119 | + ```sh |
| 120 | + VERSION_CERT='1.18.2' # Use a newer version if available |
| 121 | + helm repo add jetstack https://charts.jetstack.io |
| 122 | + helm repo update |
| 123 | + |
| 124 | + helm upgrade --install cert-manager \ |
| 125 | + --namespace cert-manager --create-namespace \ |
| 126 | + --version "v${VERSION_CERT}" \ |
| 127 | + jetstack/cert-manager \ |
| 128 | + --set crds.enabled=true |
| 129 | + ``` |
| 130 | + |
| 131 | +3. Install the ArangoDB operator for Kubernetes `kube-arangodb` with helm, |
| 132 | + with options to enable webhooks, certificates, and the gateway feature. |
| 133 | + |
| 134 | + ```sh |
| 135 | + VERSION_OPERATOR='1.2.50' # Use a newer version if available |
| 136 | + |
| 137 | + helm upgrade --install operator \ |
| 138 | + --namespace arangodb --create-namespace \ |
| 139 | + "https://github.com/arangodb/kube-arangodb/releases/download/${VERSION_OPERATOR}/kube-arangodb-${VERSION_OPERATOR}.tgz" \ |
| 140 | + --set "webhooks.enabled=true" \ |
| 141 | + --set "certificate.enabled=true" \ |
| 142 | + --set "operator.args[0]=--deployment.feature.gateway=true" \ |
| 143 | + --set "operator.architectures={amd64}" # or {arm64} for ARM-based CPUs |
| 144 | + ``` |
| 145 | + |
| 146 | +4. Create an `ArangoDeployment` specification for the ArangoDB Core. See the |
| 147 | + [ArangoDeployment Custom Resource Overview](https://arangodb.github.io/kube-arangodb/docs/deployment-resource-reference.html) |
| 148 | + and the linked reference. |
| 149 | + |
| 150 | + You need to enable the gateway feature by setting `spec.gateway.enabled` and |
| 151 | + `spec.gateway.dynamic` to `true` in the specification: |
| 152 | + |
| 153 | + ```yaml |
| 154 | + apiVersion: "database.arangodb.com/v1" |
| 155 | + kind: "ArangoDeployment" |
| 156 | + metadata: |
| 157 | + name: "platform-example" |
| 158 | + spec: |
| 159 | + gateway: |
| 160 | + enabled: true |
| 161 | + dynamic: true |
| 162 | + # ... |
| 163 | + ``` |
| 164 | + |
| 165 | +5. Download the ArangoDB Platform CLI tool `arangodb_operator_platform` from |
| 166 | + <https://github.com/arangodb/kube-arangodb/releases>. |
| 167 | + It is available for Linux and macOS, for the x86-64 as well as 64-bit ARM |
| 168 | + architecture (e.g. `arangodb_operator_platform_linux_amd64`). |
| 169 | + |
| 170 | + It is recommended to rename the downloaded executable to |
| 171 | + `arangodb_operator_platform` and add it to the `PATH` environment variable |
| 172 | + to make it available as a command in the system. |
| 173 | + |
| 174 | + The Platform CLI tool simplifies the further setup and later management of |
| 175 | + the Platform's Kubernetes services. |
| 176 | + |
| 177 | +6. Import the zip package of the ArangoDB Platform into the container registry. |
| 178 | + Replace `platform.zip` with the file path of the offline installation package. |
| 179 | + Replace `gcr.io/my-reg` with the address of your registry. |
| 180 | + |
| 181 | + ```sh |
| 182 | + arangodb_operator_platform package import \ |
| 183 | + --registry-docker-credentials \ |
| 184 | + gcr.io/my-reg \ |
| 185 | + ./platform.zip \ |
| 186 | + platform.imported.yaml |
| 187 | + ``` |
| 188 | + |
| 189 | +7. Install the package using the package configuration you received from the |
| 190 | + ArangoDB team (`platform.yaml`) and the configuration generated by the |
| 191 | + previous command (`platform.imported.yaml`). These configurations are merged, |
| 192 | + allowing for targeted upgrades and user-defined overrides. |
| 193 | + |
| 194 | + The package installation creates and enables various services, including |
| 195 | + the unified web interface of the Platform. |
| 196 | + |
| 197 | + ```sh |
| 198 | + arangodb_operator_platform --context arangodb package install \ |
| 199 | + --platform.name platform-example \ |
| 200 | + ./platform.yaml \ |
| 201 | + ./platform.imported.yaml |
| 202 | + ``` |
| 203 | + |
| 204 | +## Interfaces |
| 205 | + |
| 206 | +The ArangoDB Platform uses a gateway to make all its services available via a |
| 207 | +single port at the external address of the deployment. For a local deployment, |
| 208 | +the base URL is `https://127.0.0.1:8529`. |
| 209 | + |
| 210 | +### Unified web interface |
| 211 | + |
| 212 | +You can access the ArangoDB Platform web interface with a browser by appending |
| 213 | +`/ui/` to the base URL, e.g. `https://127.0.0.1:8529/ui/`. |
| 214 | + |
| 215 | +### ArangoDB Core |
| 216 | + |
| 217 | +The HTTP API of the ArangoDB Core database system is available at the base URL. |
| 218 | +For example, the URL of the Cursor API for submitting AQL queries (against the `_system` database) is |
| 219 | +`https://127.0.0.1:8529/_db/_system/_api/cursor`. |
0 commit comments