Yes, it consists of: a modular server, a command-line interface to interact with it, and tools to optionally set up an autoscaling Baresoil cluster on a commercial cloud provider. Amazon AWS is officially supported, but Baresoil can be customized to support any cloud provider that provides a basic level of functionality.
Baresoil is free and open-source software under the Apache-2.0 License. It is suitable for commercial or noncommercial use and modification. The Apache-2.0 License is approved by the Open Source Initiative, and used by software like Hadoop and Android.
Yes, by the definition of a PaaS being a generic service for running backends for many applications.
No, by the definition of PaaS being a commercial, fully-managed service. You have to run Baresoil yourself on your own hardware, or use the included tools to set up an autoscaling cluster on a commercial cloud provider like AWS.
Yes, by the definition of serverless being a hosting service that does not require provisioning or setting up individual servers to deploy web-facing applications, i.e., you can use Baresoil to set up a serverless environment for your developers.
No, by the definition of serverless being a commercial, fully-managed service. You have to run Baresoil yourself on your own hardware, or use the included tools to set up an autoscaling cluster on a commercial cloud provider.
Yes, Baresoil can be run completely within your own hardware, or your own AWS account (for example). It can be customized to run in any environment that provides access to a transactional database (like Postgres) and a distributed blob store (like AWS S3 or MongoDB).
Yes, you can use the baresoil.cloud demo server to host your applications, which is currently free but has no service guarantees. Note that the cluster is also heavily resource limited to prevent spam and abuse. For production use, you are advised to use your own AWS account to run Baresoil.
No, Baresoil runs directly on physical or virtual servers.
Baresoil does not include any calls or data transmission to services outside your control. If you discover external calls (e.g., “phoning home”, unexplained outgoing connections), please open an urgent issue at Github. These guarantees extend to the server, CLI, and any officially supported provider plugins (e.g. the AWS provider). If you use an unofficial third-party provider, these guarantees may not hold.
Baresoil connects web clients (WebSocket and HTTP) to server programs that run in a (typically Linux) container and speak a JSON-based protocol over standard I/O streams. This format is supported by practically every modern language (officially supported: node.js, custom binaries).
Yes, on a supported cloud provider (currently: AWS). Baresoil integrates directly into the service’s native load balancer and compute autoscalers to set up a TLS-protected, top-level, public DNS name. All aspects of this integration can be customized, including integration with a custom domain name.
On your own hardware, you can either run Baresoil on a fixed number of servers, or integrate your own autoscaler.
Baresoil is much simpler than Kubernetes and Mesos, which (among other features) aim to optimize container placement across a fleet of servers. Baresoil integrates with native load balancers, distributing containers across machines according to the load balancer's policies. Baresoil is also more focused on HTTP and WebSocket clients, while Kubernetes and Mesos are more generic distributed container runtimes. By default, Baresoil uses Docker Engine as its local container runtime.
Send new questions to firstname.lastname@example.org, or .