Ellipsis Drive
  • πŸ‘‹Welcome to Ellipsis Drive!
  • Getting Started
    • ⚑Quick Start!
      • 1. Sign up for Ellipsis Drive
      • 2. Creating Vector Layers
      • 3. Creating Raster Layers
      • 4. Creating Point Cloud Layers
      • 5. Data sharing and user access
      • 6. Map building
    • 🏒Set up your organisation
    • πŸ‘₯User Types
      • πŸ”ŽData Scientists
      • πŸ–₯️Developers
      • 🌐GIS professionals
      • πŸ—ΊοΈNon-technical users
    • Capabilities table
    • πŸ“šGlossary
    • πŸ“„Metadata
  • Advanced Usage
  • 🌍Working With Vector Data
    • πŸ–ŒοΈVector styling methods
    • β˜‘οΈFilter vector data
    • πŸ”ŽInspect vector data
    • ✏️Edit vector data
  • 🌏Working With Raster Data
    • πŸ“ˆCreating time series with raster data
    • πŸ–ŒοΈRaster styling methods
    • πŸ”ŽAnalyse raster data
  • πŸš€Sharing & Collaboration
    • πŸ“‚Sharing Folders & Layers
    • πŸ’²Subscriptions on spatial data
    • πŸ“€Transferring spatial data
  • πŸ’‘Good to know
    • 🌍Adding third party layer
    • ⬇️Downloading data
    • ⏳Processing Units
    • 🌏How to change the host location
    • πŸ”Marketplace vs Reseller vs Ellipsis Drive
  • Integrate & automate
    • πŸ”—Integration options
      • πŸ’»Use Ellipsis Drive viewer as embedded window
      • Creating (signed) viewer url's
      • πŸ—ΊοΈDisplay Ellipsis Drive layers in your app
      • πŸ’ΎUse Ellipsis Drive layers in third party software
      • πŸ“‰Query layers from your app
      • πŸ“‚Use Ellipsis Drive to ingest client data
      • πŸ”—Connect Ellipsis Drive to your platform
      • πŸ“ŠPerform analytics on Ellipsis Drive layers
      • 🌐Publish your outputs as Ellipsis Drive layers
    • βš™οΈAPI v3
      • Account
        • Create new account
        • Get account details
        • Login to your account
        • Edit profile
        • Update username
        • Delete account
        • Get transactions
        • List root folders
        • Get user history
        • Change your subscription
        • Change your default storage location
        • Add billing information to your account
        • Security
          • Update email
          • Validate email
          • Update password
          • Reset password
          • Validate password
        • Access tokens
          • Create access token
          • Get your access tokens
          • Delete access token
        • External Layer
          • Add external layer
          • Delete external layer
          • Retrieve external layer
      • Users
        • Search users
        • Get user
        • Invite user
        • Contact user
      • Path
        • Get path
        • Search path
        • Move path
        • Rename path
        • Trash or recover a path
        • Hard delete path
        • Edit path public access
        • Edit path metadata
        • Favorite path
        • White list domains
        • Request access
        • Update hosting location
        • Export for download
          • Export layer or folder
          • Get exports
          • Download an export
        • Hashtags
          • Add hastag
          • Remove hashtag
          • Search for hashtag
        • Invites
          • Invite user to path
          • Revoke Invite
          • Accept invite
          • Get your invites
          • Get path invites
        • Path members
          • Get list of members
          • Remove member
          • Edit member
        • Path subscription plans
          • Add subscription plan
          • Get subscription plans
          • Delete Subscription
          • Subscribe to a path
        • Path Usage
          • Path active users
          • Path usage of user
          • Path aggregated processing units
        • Transfer ownership of path
          • Create transfer
          • Revoke transfer Invite
          • Get transfer invites
          • Accept/Reject transfer invite
      • Path/folder
        • Create new folder
        • List folder
        • Traverse folder
      • Path/vector
        • Create new vector layer
        • Timestamps
          • Add timestamp
          • Edit timestamp
          • Trash timestamp
          • Hard delete timestamp
          • Get timestamp bounds
          • Get feature changelog
          • Find features by ids
          • Search feature by extent
          • Search features by tiles
          • Get the compressed features list
          • List features
          • Location information
          • Vector Features
            • Add feature
            • Edit the features
            • Delete feature
            • Feature Versions
            • Feature Messages
              • Get messages on a feature
              • Get message image
              • Add message to a feature
              • Delete message
            • Feature Time Series
              • Get series
              • Get series info
              • Add series
              • Delete series
              • Series Changelog
          • Upload vector data
            • Upload vector file
            • Get uploads
            • Revert the upload
            • Delete failed upload
            • Download file
          • Export vector data
            • Export vector data
            • Get exports
            • Download an export
        • Styles
          • Add style
          • Edit Style
          • Delete Style
        • Vector Layer Properties
          • Add vector property
          • Delete vector property
          • Edit vector properties
        • Vector layer projections
          • Add a projection
          • Remove a projection
        • Edit filter
        • Edit saved data
      • Path/raster
        • Create new raster
        • Timestamps
          • Tile service
          • Stack rasters
          • Get raster
          • Analyse raster data
          • Location information
          • Add timestamp
          • Edit timestamp
          • Get timestamp bounds
          • Activate timestamp
          • Deactivate timestamp
          • Delete timestamp
          • Trash timestamp
          • Upload Raster
            • Upload raster file
            • Get uploads
            • Delete upload
            • Trash upload
            • Download file
          • Export raster data for download
            • Export raster data for download
            • Get exports
            • Download export
        • Styles
          • Add style
          • Edit style
          • Delete style
        • Edit Raster
        • Edit raster band
        • Raster layer projections
          • Add a projection
          • Remove a projection
      • Path/pointCloud
        • Create new point cloud
        • Timestamps
          • 3D tiles
          • Add timestamp
          • Edit timestamp
          • Get timestamp bounds
          • Activate timestamp
          • Deactivate timestamp
          • Delete timestamp
          • Trash timestamp
          • Point cloud uploads
            • Upload point cloud file
            • Get uploads
            • Delete upload
            • Trash upload
            • Download file
          • Export point cloud for download
            • Export point cloud data
            • Get exports
            • Download export
      • Path/file
        • Create new file
        • Download file
      • Path/bookmark
        • Create new bookmark
        • Fetch bookmark details
        • Update bookmark details
      • Path/setUpTasks
        • Add task
        • Get tasks
      • Path/process
        • Create new process
        • Update a process
        • Execute a process
        • Fetch your process jobs
        • Fetch proces jobs of a path
      • OGC Protocols
        • WMTS
        • OGC API - Features
        • TMS/XYZ
        • WMS
        • Processes API (INFORMATION FACTORY INSTANCE ONLY)
          • Landing
          • Conformance
          • Process list
          • Execute a process
          • Get job status
          • Get job results
        • WCS
        • STAC
          • Landing
          • Root Catalog
          • Folder Catalog
          • Layer Collection
          • Timestamp Item
          • Search
        • Terrain RGB
        • MVT
        • WFS
        • 3D tiles
      • Fast read
        • Vector data
        • Raster data
      • OAuth
        • Authorization
        • Authorization code variant
        • Refresh token variant
      • Ellipsis Drive Pricing
        • Public pricing
        • User pricing
      • Ellipsis Drive locations
        • Get locations
      • Top Up
    • πŸ”ŒPlugins & Packages
    • πŸ”Authentication Options
    • Backwards compatibility
      • Add vector style
      • Add raster style
  • Extra
    • πŸ›‘οΈCertification & Compliance
    • ❓Troubleshoot Issues
      • Failing to upload features with properties of type object or array
      • My raster data does not look good on low zoomlevel
      • Connecting webservice to QGIS and ArcGIS
      • Why don't all features show on every zoom level?
      • Failing to upload a .csv
      • Trouble with EPSG or CRS
      • Failing to upload a Shape file
      • Fix Visualisation Transparency
    • Creating a process
  • PRIVATE DEPLOYMENT
    • ℹ️Introduction
    • πŸ“ƒOverview
    • πŸ› οΈDeployment
      • πŸ”ŒIntegration with existing storage
      • πŸ’½Recommended hardware
      • πŸ“ˆManaging your instance
      • ♻️Backup and recovery
      • πŸ”Security and Compliance
      • ☁️Supported clouds
Powered by GitBook
On this page
  • What to do yourself?
  • FAQs

Was this helpful?

  1. PRIVATE DEPLOYMENT

Overview

PreviousIntroductionNextDeployment

Last updated 6 months ago

Was this helpful?

πŸ”° Introduction

Deploying a Private Instance of Ellipsis Drive (ED) allows you to run ED on your own (virtual) environment. You can launch ED as a completely stand-alone solution, or launch it on top of your existing file storage, whether that is S3, a classic file server or another form of cloud storage.

ED can be deployed in a geographically distributed cloud environment. That means that you can make your ED deployment perform even if users are distributed around the world.

πŸ” Security configuration

ED has various settings that can be configured to improve security. The following list gives a few examples of these possible settings:

List of things that can be configured

1️⃣ 2 factor authentication required to access an account - yes/no

2️⃣ Direct read access to passive (S3 / file server) storage allowed - yes/no

3️⃣ Public and Link Sharing options - enabled/disabled

4️⃣ Access through internet or intranet only

5️⃣ Possible for users to register their own account - yes/no/only for certain domains

6️⃣ Allow creation of permanent access tokens - yes/no

7️⃣ Maximum duration of validity of a token

File storage

ED works as a layer on top of classic file storage (that we call passive storage). This layer takes care of access management, search, interoperability and scalability.

It is important to note that content in passive storage is not altered. ED needs read and write access to this file storage, but will not alter the files itself in any way.

If you have processes that need direct read access to files in passive storage, that is no problem. This can for example be necessary if you need extremely high read speed for some algorithms and want to bypass the API. It can also be needed if you have legacy code that you do not wish to migrate.

ED is compatible with other processes reading the files. But ED is not compatible with other processes having writing access to the storage. You will need to add files via the ED API. Otherwise glitches in the system can occur.

πŸ’  Components

ED consists of 11 containerised components, that are each launched on a (virtual) server running linux Ubuntu 16 or higher. Each component runs in its own docker (virtual) environment.

πŸ“Ά Scaling

The components marked with '(pool)' can have multiple instances running. Instances can be added or removed from the system when scaling up or down.

Ellipsis Drive is fully compatible with Kubernetes. This means you can use Kubernetes to dynamically scale your instance.

The API and cache database can be placed in any geographic location. They do not need to be near the main location.

An ED consultant will be dedicated to your launch (this service is included in the license fee), so these steps will not have to be taken by the client.

What to do yourself?

In case of a self hosted instance, the Ellipsis Drive software takes care of all internal features. However, some general cloud infrastructure features are inherited from the cloud you are in. You will need to configure these features within your cloud. These include:

  • Backups. You are recommended to backup your passive storage component as well as the active raster and vector components. Since the active components can be restored from the passive storage, the passive storage backup is the only true requirement.

  • Cloud armour. To protect yourself against DDOS attacks, we recommend to use some form of cloud armour from your cloud provider.

  • Load balancing. If your Ellipsis Drive instance is multi region, you will need a load balancer from you cloud provider in order to redirect users to the location nearest to them.

  • Auto scaling. If you wish to add additional nodes dynamically based on usage, you will need to create scripts for this. Ellipsis Drive will switch resources - that are already allocated to it - on and off based on need, but it will not create new resources.

FAQs

List of components

1️⃣ Container with source code: to launch and run the API. (pool)

2️⃣ Cache database: A container with a database that caches relevant information to ensure scalability with a lot of usage (across geographical regions). This component is not required and can be skipped if the system is running on a single geographical location and the expected load is modest. (pool)

3️⃣ Central metadata database: A container with the central database with metadata and some logic to communicate with cache databases. (unique)

4️⃣ Temporary file storage: Container functioning to receive up- and downloads before passing them on to their permanent location. (unique)

5️⃣ Active vector data storage: Container with log(n) efficient, scalable and flexible vector reading capabilities (pool)

6️⃣ Active raster data storage: Container with scalable and flexible raster storage capabilities. (pool)

7️⃣ Background processes: This container contains some logic that runs in low frequency on the background. (pool)

8️⃣ Main cluster node: This container contains logic that distributes tasks over the cluster (unique)

9️⃣ Raster activation node: This container is assigned tasks by the main cluster nodes and activates raster layers on request. (pool)

πŸ”Ÿ Vector activation node: This container is assigned tasks by the main cluster nodes and activates vector layers on request. (pool)

  • S3 storage or file server: This container does not host any ED specific logic and can be any system of storage that a client wishes to have their ED running on. (Pool)

  • The ED UI/app can be hosted on any location of convenience. Either on the API, or if preferred on some other location of your choosing.

List of requirements and recommendations

βœ”οΈ Each component requires an environment running ubuntu 18 or higher.

βœ”οΈ A component needs at least 16GB RAM, 32GB hard disk and 8 CPU’s

βœ”οΈ We recommend to run components on their own (virtual server) for optimal performance, but this is not required and can also be done in a later stage.

βœ”οΈ When launching with more than one API component in the pool a load balancer is required.

βœ”οΈ The main database and the temporary file receiver must be hosted on the same physical location. (geographically close)

βœ”οΈ Communication directly (bypassing ED) with the passive S3 bucket is allowed in read only mode. When you write to the S3 bucket as well, there is no way to guarantee the working of ED. We highly recommend not to do this and to disable this functionality. Files should always be added to your S3 bucket via ED.

Launch

List of steps to launch per component

πŸ”˜ Download the ED docker image

πŸ”˜ Run the docker image

πŸ”˜ Edit the configuration file (inside the docker image) to match your needs and connect your file storage

πŸ”˜ Run the setup file (inside the docker image)

The component will now be launched on the server.

It is important to launch the central database and file system components first, as they are prerequisites for a few other components.

What do I do if I have no file storage of my own?

This is no problem. There is an additional ED component for the file storage if you do not have a system of your own in place.

Are there any features in the multi tenant Instant SaaS ED version that will not be available in a Private Instance?

No, your Private ED Instance will be a copy of the multi tenant SaaS. However, you can configure it with alternative security settings (see the list above). Changing these settings can mean that some functionality may disappear. For example, if you do not wish to facilitate link sharing due to security concerns, some link sharing functionality will not be available.

Will the ED UI be included in my private instance?

Yes, the UI of the app is included and can be styled to match your brand.

πŸ“ƒ
πŸ‘ˆ
πŸ‘ˆ
πŸš€
πŸ‘ˆ
πŸ€”
πŸ€”
πŸ€”
πŸ‘ˆ
πŸ’½