Gravity (open-source toolkit)

Gravity is an open-source toolkit for packaging Kubernetes applications and running them in many locations at the same time, on any infrastructure, with minimal oversight. It was designed to run cloud-native applications in restricted, remote and regulated environments that application developers do not have access to. Even air-gapped deployments are supported. Gravity currently runs in production for financial institutions, government data centers, and private enterprise. It has been available as an open-source software since October 2018.
== Toolkit ==
The Gravity toolkit consists of three tools: a packaging tool, a hypervisor, and a privileged access manager.
# The Gravity packaging tool, called 'tele', works by reading Helm charts or Kubernetes resource files and producing a cluster image. A cluster image is a '.tar' archive that contains everything required to create a full Kubernetes cluster pre-loaded with applications.
# The Gravity hypervisor called 'gravity' takes the .tar file and creates a fully functional Kubernetes cluster. Every cluster then becomes an instance of a cluster image. 'gravity' later can be used to perform in-place cluster upgrades. 'gravity' can also be used to inject applications contained within a cluster image into an existing Kubernetes cluster.
# Gravity also comes packaged with Teleport, a privileged access management component that allows application developers to securely access all Kubernetes clusters created from a cluster image. In addition to providing access, Teleport maintains an audit log and enforces compliance for every cluster created from a Gravity cluster image.
== History ==
Gravity was built by Gravitational Inc, based in Oakland, CA. Initially, Gravity was a part of a proprietary system called Telekube for delivering SaaS applications into legacy on-premise environments.
Gravitational open-sourced Gravity in late 2018 and it is now available on Github. 
== Features ==
The Gravity platform includes the following features, as detailed on GitHub. 
==== Application Portability ====
Gravity allows application developers to package an entire production environment, i.e. an entire Kubernetes cluster into a single file for deploying into any infrastructure. All major cloud providers, private cloud environments based on VMWare or OpenStack, as well as bare metal Linux servers, are supported.
==== Autonomous Operations ====
Gravity borrows heavily from the desktop model of computing when operating systems and desktop applications are automatically downloaded and updated, without relying on DevOps teams to provide application management. Kubernetes clusters created with Gravity do not require manual management and can be treated as “multi-node appliances”. 
==== Simple Upgrades ====
Gravity was designed to run large number of Kubernetes clusters. To reduce operational overhead of upgrading many clusters, Gravity provides a fully automatic, in-place upgrade mechanism for Kubernetes and all of its dependencies.
==== Security and Compliance Enforcement ====
Every cluster created with Gravity provides all necessary controls to easily implement compliance standards such as FedRAMP, PCI and others.
==== Support for Preexisting Kubernetes Clusters ====
Gravity cluster images can be deployed into existing Kubernetes clusters, for deploying into an infrastructure which already has pre-installed Kubernetes. In such environments, Gravity is not used for Kubernetes upgrades, but only for downloading and upgrading applications.
==== Secure Remote Management ====
Every cluster created with Gravity comes with built-in privileged access management (PAM) solution called Teleport. This allows application developers to securely access clusters even if they are deployed onto an infrastructure they do not have access to.
==== Remote Troubleshooting ====
For highly restricted environments when external access is not allowed, Gravity allows on-site administrators to generate troubleshooting reports and deliver them to application developers.
== Notable Use Cases ==
Commercial users of Gravity and Gravitational products include Mulesoft, Fireeye, Splunk and others.
== References ==
Category:Packaging
Category:Gravity
Category:Virtualization software