Platform

Solutions

Resources

Company

Login

Start for Free

For Flawless Real-Time Applications

Automated Deployments & Server Orchestration on the
World's Largest Public Edge Computing Infrastructure

Automated Deployments & Server Orchestration on the World's Largest Public Edge Computing Infrastructure

Automated Deployments & Server Orchestration on the World's Largest Public Edge Computing Infrastructure

Gaming

Gaming

Enterprise

Enterprise

Instant Response Time &
Global Deployments to All Locations in Seconds

Instant Response Time &
Global Deployments to All Locations in Seconds

Instant Response Time &
Global Deployments to All Locations in Seconds

+58%

+58%

Latency Reduction vs
Public Cloud

Latency Reduction vs
Public Cloud

550+

550+

Locations
Worldwide

Locations
Worldwide

Scaling &
Concurrent Users

~3s

Instance Deployment
to All Locations

0

Dev Ops Engineers to
Manage your Backend

99.99%

Availability

+58%

Latency Reduction vs
Public Cloud

550+

Locations
Worldwide

Scaling &
Concurrent Players

~3s

Instance Deployment
to All Locations

0

Dev Ops Engineers to Manage your Backend

99.99%

Availability

+58%

Latency Reduction vs
Public Cloud

550+

Locations
Worldwide

Scaling &
Concurrent Players

~3s

Game Servers Deployment
to All Locations

0

Dev Ops Engineers to Manage your Backend

99.99%

Availability

How We Make It Possible

How We Make It Possible

Edgegap

Leading Competitor

Edgegap

Leading Competitor

Edgegap

Leading Competitor

Instances Deployed on the World's Most Distributed Network
Reduce Latency by 58%

Edgegap caches instances in its distributed network of 550+ global locations across 17+ providers, 5x times more locations than its competitors.

On-demand & just-in-time, Edgegap's orchestration automatically deploys instances to the suitable server's location nearest to users to deliver a real-time response time for your application.

Trusted By

Partners

Automated Orchestration that Leverages the World's Most Distributed Edge Network

Automated Orchestration that Leverage the World's Most Distributed Edge Network

Automated Orchestration that Leverages the World's Most Distributed Edge Network

Fully Managed
Servers

Deploy Globally
in Seconds

Limitless
Scale

Edgegap manages the full lifecycle, including multi-cloud deployment, scaling as required, and closing sessions to make it easy for devs.

Sub-3 seconds, automated worldwide deployment of instances, from applications to game servers, on-demand - all regions, no ops required.

Designed to scale seamlessly, our orchestration handles any traffic volume through automation & rapid scaling of 17+ providers.

Always Online: 99.99% Availability

Always Online: 99.99% Availability

Always Online: 99.99% Availability

Eliminate risks related to launch planning & server provisioning with automated, on-demand, and instant rapid scaling across 17+ providers.

Eliminate risks related to launch planning & server provisioning with automated, on-demand, and instant rapid scaling across 17+ providers.

Comes with automated DDoS attack protection for complete security and peace of mind.

Comes with automated DDoS attack protection for complete security and peace of mind.

Uptime

(Last 90 days)

API

100.00%

Console

100.00%

Overall uptime

100.00%

Last 24 hours

100.00%

Last 7 days

100.00%

Last 30 days

100.00%

Last 90 days

Compatible &
Cross-Platform

Compatible &
Cross-Platform

Enable edge computing for any application running in a container.


Bring your container and let Edgegap manage its lifecycle.


Python

import os

import requests
from dotenv import load_dotenv
from flask import Flask, request, jsonify

load_dotenv()

# Getting our settings from env
ARBITRIUM_TOKEN = os.getenv("ARBITRIUM_TOKEN")
APPLICATION = os.getenv("APPLICATION")
VERSION = os.getenv("VERSION")

app = Flask(__name__)


@app.route('/servers', methods=['POST'])
def start_server():
    # How you access the user's IP is unimportant for us, but you will need it to create a deployment.
    # Here the user sent its IP in the request to get the TODO application, along with its username. 
    # We will inject it into the environment variables of our deployment.
    data = request.get_json()
    ip = data.get("ip")
    username = data.get("username")

    headers = {
        "Content-Type": "application/json",
        "Authorization": ARBITRIUM_TOKEN
    }

    # Building request body from the API specifications (/v1/deploy)
    deployment_request = {
        # These are mandatory to create a deployment
        "app_name": APPLICATION,
        "version_name": VERSION,
        "ip_list": [
            ip
        ],
        # These are not mandatory, but recommended
        "env_vars": [
            {
                "key": "message",
                "value": f"Welcome {username} to your personal TODO application!"
            }
        ],
        # Arbitrium will make a POST request to this URL once the deployment container is accessible.
        "webhook_url": "https://your-api.com/webhooks"
    }

    # Sending the request to Arbitrium to create a deployment
    response = requests.post("https://api.edgegap.com/v1/deploy", json=deployment_request, headers=headers)
    
    # Getting the Request ID from our request
    request_id = response.json().get("request_id")

    # Sending the Request ID to our client. Not mandatory, but it can be helpful to retrieve the deployment.
    return jsonify({"request_id": request_id}), 200


@app.route('/webhooks', methods=['POST'])
def webhook_route():
    # Accessing the data we need to forward to our client.
    data = request.get_json()
    request_id = data.get("request_id")
    
    # This is the URL that our client needs to connect to access the TODO application online.
    # Port 3000 is the one we set in our Dockerfile and our version
    connection_url = data.get("ports", {}).get("3000", {}).get("link")

    connection_data = {
        "request_id": request_id,
        "connection_url": connection_url
    }

    # Notifying our client of the connection informations
    requests.post("https://your-route-to-notify-user-client.com", json=connection_data)

    return 204


if __name__ == '__main__':
    app.run()

Python

import os

import requests
from dotenv import load_dotenv
from flask import Flask, request, jsonify

load_dotenv()

# Getting our settings from env
ARBITRIUM_TOKEN = os.getenv("ARBITRIUM_TOKEN")
APPLICATION = os.getenv("APPLICATION")
VERSION = os.getenv("VERSION")

app = Flask(__name__)


@app.route('/servers', methods=['POST'])
def start_server():
    # How you access the user's IP is unimportant for us, but you will need it to create a deployment.
    # Here the user sent its IP in the request to get the TODO application, along with its username. 
    # We will inject it into the environment variables of our deployment.
    data = request.get_json()
    ip = data.get("ip")
    username = data.get("username")

    headers = {
        "Content-Type": "application/json",
        "Authorization": ARBITRIUM_TOKEN
    }

    # Building request body from the API specifications (/v1/deploy)
    deployment_request = {
        # These are mandatory to create a deployment
        "app_name": APPLICATION,
        "version_name": VERSION,
        "ip_list": [
            ip
        ],
        # These are not mandatory, but recommended
        "env_vars": [
            {
                "key": "message",
                "value": f"Welcome {username} to your personal TODO application!"
            }
        ],
        # Arbitrium will make a POST request to this URL once the deployment container is accessible.
        "webhook_url": "https://your-api.com/webhooks"
    }

    # Sending the request to Arbitrium to create a deployment
    response = requests.post("https://api.edgegap.com/v1/deploy", json=deployment_request, headers=headers)
    
    # Getting the Request ID from our request
    request_id = response.json().get("request_id")

    # Sending the Request ID to our client. Not mandatory, but it can be helpful to retrieve the deployment.
    return jsonify({"request_id": request_id}), 200


@app.route('/webhooks', methods=['POST'])
def webhook_route():
    # Accessing the data we need to forward to our client.
    data = request.get_json()
    request_id = data.get("request_id")
    
    # This is the URL that our client needs to connect to access the TODO application online.
    # Port 3000 is the one we set in our Dockerfile and our version
    connection_url = data.get("ports", {}).get("3000", {}).get("link")

    connection_data = {
        "request_id": request_id,
        "connection_url": connection_url
    }

    # Notifying our client of the connection informations
    requests.post("https://your-route-to-notify-user-client.com", json=connection_data)

    return 204


if __name__ == '__main__':
    app.run()

Low Code

Seamless integration in just a matter of minutes!

You won't have to struggle with library integrations or learn a whole new product. All it takes is a simple RESTful API call!

Compatible &
Cross-Platform

Enable edge computing for any application running in a container.


Bring your container and let Edgegap manage its lifecycle.