Define your Docker image, CPU, Memory, and Storage in a deploy.yaml file.
Set your price, receive bids from providers in seconds, and select the lowest price.
Deploy your application without having to set up, configure, or manage servers.
Scale your application from a single container to hundreds of deployments.
The Akash Marketplace is where users lease computing resources from Cloud providers before deploying a Docker container on the Akash Container Platform. Akash uses a blockchain to store records of requests, bids, leases, and settlement payments using the Akash Token (AKT). Akash's blockchain is a tendermint-based application based on the Cosmos SDK.
The Akash Container Platform is a deployment platform for hosting and managing containers where users can run any Cloud-Native application. Akash is built with a set of cloud management services including Kubernetes to orchestrate and manage containers.
The cost of hosting your application using Akash is about one-third the cost of Amazon AWS, Google Cloud Platform (GCP), and Microsoft Azure. You can check the prices live using the Akashlytics.com price comparison tool.
If you're new to Akash, start with the Getting Started guide and go from there. Akash's community has written several more advanced guides for learning about Akash: a node operator guide, a validator guide, a cloud provider guide, and several deployment guides for running various apps on Akash.
The decentralized cloud is a shift from computing resources being owned and operated by the three large Cloud companies (Amazon, Google, and Microsoft) to a decentralized network of Cloud providers running an open platform developed by the open source community creating competition in an open marketplace with more providers - and lower costs.
Like AirBNB for server hosting, Akash is a marketplace that gives you control over the price you pay and the amenities included (we call them attributes). Akash gives app developers a command line tool for leasing and deploying apps right from a terminal. Akash taps into the massive market of underutilized resources sitting idle in the estimated 8.4 million data centers globally. Any cloud-native and containerized applications running on centralized cloud can run faster and at lower cost on the Akash decentralized cloud.
Akash hosts containers where users can run any Cloud-Native application. There is no need to re-write the entire internet in a new proprietary language, and there is no vendor lock-in to prevent you from switching Cloud providers. The deployment file is transferred over a private peer-to-peer network isolated from the blockchain. Asset transfer occurs off-chain over mTLS to provide the security and performance required by a mission critical applications running on the Cloud.
A container is a standard unit of software that packages up code and all its dependencies so the application runs quickly and reliably from one computing environment to another. A container image is a lightweight, standalone, executable package of software that includes everything needed to run an application: code, runtime, system tools, system libraries and settings.
Container images become containers at runtime. Available for both Linux and Windows-based applications, containerized software will always run the same, regardless of the infrastructure. Containers isolate software from its environment and ensure that it works uniformly despite differences for instance between development and staging.
Customers / tenants define the deployment services, datacenters, requirements, and pricing parameters, in a "manifest" file (deploy.yml). The file is written in a declarative language called Software Definition Language (SDL). SDL is a human friendly data standard for declaring deployment attributes. The SDL file is a "form" to request resources from the Network. SDL is compatible with the YAML standard and similar to Docker Compose files.
Networking - allowing connectivity to and between workloads - can be configured via the Stack Definition Language (SDL) file for a deployment. By default, workloads in a deployment group are isolated - nothing else is allowed to connect to them. This restriction can be relaxed.
The Akash Marketplace revolves around Deployments, which fully describe the resources that a tenant is requesting from the network. Deployments contain Groups, which is a grouping of resources that are meant to be leased together from a single provider.
Deploying applications onto Akash involves two types of users:
The Tenant: the entity that deploys the application.
The Provider: the entity that hosts the application.
Akash uses a reverse auction . Tenants set the price and terms of their deployment, and the Cloud providers bid on the deployments.
In a very simple reverse auction:
A tenant creates orders.
Providers bid on orders.
Tenants choose winning bids and create leases.
A typical application deployment on Akash will follow this flow:
The tenant describes their desired deployment in [SDL], called a deployment.
The tenant submits that definition to the blockchain.
Their submission generates an order on the marketplace.
Providers that would like to fulfill that order bid on it.
The provider executes workloads as instructed by the manifest.
The workload is running - if it is a web application it can be visited
The provider or tenant eventually closes the lease, shutting down the workload.
With Akash, you decide who you want to trust.
It is important for the tenant to send their manifest to the correct provider, and for the provider to ensure only valid owners can access their deployments. This authentication is implemented with mTLS and involves each account creating a certificate prior to deploying a workload or starting a provider.
Default certificate lifespan is 365 days from the moment of issuance. This can be customized to be valid up to a certain date, or not valid until a certain date.
Akash has a feature designed to allow you to control your trust settings called Audited Attributes.
Akash's Stack Definition Language (SDL) allows you to define attributes such as the type of provider, region, CPU, Memory, Storage, and which auditors you want to trust. When you deploy on Akash, you can configure any attribute that restricts bids to only providers that meet your criteria.
Auditors on the Akash Network review cloud providers and digitally sign the provider on chain with their certificate. If you only accept bids from audited providers this means you are trusting the Auditor/Provider not just a Provider.
Follow the getting started guide, and you will see the instructions for audited attributes suggest using only servers signed by Akash Network. If you deploy today, you will see bids by Equinix servers that audited and signed by Akash Network. By doing this you are trusting Equinix’s Security Standards and Compliance and you are trusting Overclock Labs as the auditor to only sign servers that meet those standards.