Big re-work of faq

This commit is contained in:
KawaiiPunk 2021-02-23 16:41:47 +00:00
parent 3e57ad7e26
commit 7b425f4e51
Signed by: kawaiipunk
GPG Key ID: EDE939629F5C1A6A
1 changed files with 123 additions and 110 deletions

View File

@ -2,21 +2,125 @@
title: Frequently asked questions
---
## What is the Cooperative Cloud?
## What is the Co-op Cloud?
The Cooperative Cloud is a project which aims to make self-hosting free
software applications simple! It's a project which fits in alongside others
like [Cloudron](https://www.cloudron.io/), [Yunohost](https://yunohost.org/)
and [Freedombone](https://freedombone.net/) and others but has its own specific
focus. The project is intended for existing small service providers and
cooperatives already involved in hosting work who are looking for alternatives.
Co-op Cloud aims to make hosting free software applications simple for small providers. It uses the latest container technologies and innovations and configurations are shared into [the commons](https://en.wikipedia.org/wiki/Commons) for the benefit of all.
TODO.
The project is intended for small service providers such as tech co-operatives who are looking to standardise around an open, transparent and scalable infrastructure.
## Who is behind the project?
The project was started by workers at [Autonomic](https://autonomic.zone/) which is a [workers co-operative](https://en.wikipedia.org/wiki/Worker_cooperative) providing technologies and infrastructure to empower users to make a positive impact on the world.
We use Co-op Cloud in production amongst other systems.
## Why Co-op Cloud?
#### 👍
- 👍 Thin "ease of use" layer on top of already standardised tooling
- 👍 Extremely modular
- 👍 Collective commons based configuration via public git repos
- 👍 Focussed on hosting providers
- 👍 Uses upstream packages
- 👍 Now and always free software
- 👍 Command line focussed
- 👍 Horizontal and vertical scaling
#### 👎
- 👎 Still a very young project
- 👎 Limited availability of well tested apps
- 👎 Requires command line knowledge to use
- 👎 Currently x86 only
## What about `$alternative`?
We have various technical critiques of other similar projects which are already
up-and-running in the ecosystem as they don't necessarily meet our needs as a small tech co-op. However, the Cooperative Cloud isn't meant to be a replacement for these others projects. Here is a short overview of the pros/cons we see and how that relates to our goals here.
### Cloudron
#### 👍
- 👍 Decent web interface for application, domain & user management.
- 👍 Large library of applications.
- 👍 Built-in SSO using LDAP, which is compatible with more applications and often has a better user interface than OAuth.
- 👍 Applications are actively maintained by the Cloudron team.
#### 👎
- 👎 Moving away from open source. The core is now proprietary software.
- 👎 Free tier has a single application limit.
- 👎 Based on Docker images, not stacks, so multi-process applications (e.g. parsoid visual editor for Mediawiki) are a non-starter.
- 👎 Difficult to extend applications.
- 👎 Only supported on Ubuntu LTS.
- 👎 Upstreams free software communities aren't involved in packaging.
- 👎 Limited to vertical scaling.
- 👎 Tension between needs of hosting provider and non-technical user.
- 👎 Bit of a [black box](https://en.wikipedia.org/wiki/Black_box).
### YunoHost
#### 👍
- 👍 Lovely web interface for application, domain & user management.
- 👍 Bigger library of applications.
- 👍 Awesome backup / deploy / restore continuous integration testing.
- 👍 Supports hosting applications in subdirectories as well as subdomains.
- 👍 Doesn't require a public-facing IP.
#### 👎
- 👎 Upstream free software communities aren't involved in packaging.
- 👎 Uninstalling applications leaves growing cruft.
- 👎 Limited to vertical scaling.
- 👎 Not intended for use by hosting providers.
### Ansible
#### 👍
- 👍 Includes server creation and bootstrapping.
#### 👎
- 👎 Upstream free software communities aren't publishing Ansible roles.
- 👎 Lots of manual work involved in things like application isolation, backups, updates.
### Kubernetes
#### 👍
- 👍 Helm charts are available for some key applications already.
- 👍 Scale all the things.
#### 👎
- 👎 Too big -- requires 3rd party tools to run a single-node instance.
- 👎 Not suitable for a small to mid size hosting provider.
### Docker-compose
#### 👎
- 👎 Manual work required for process monitoring.
- 👎 Secret storage not available yet.
- 👎 [Swarm is the new best practice](https://github.com/BretFisher/ama/issues/8#issuecomment-367575011).
### Doing it Manually (Old School)
#### 👍
- 👍 Simple - just follow upstream instructions to install and update.
#### 👎
- 👎 Loads of manual work required for application isolation and backups.
- 👎 Array of sysadmin skills required to install and maintain applications.
- 👎 Hard to share configurations into the commons.
- 👎 No idea who has done what change when.
## Which technologies are used?
The core technologies are free software and enjoy wide adoption across free
software developer communities.
The core technologies of co-op cloud are free software tools that enjoy wide adoption across developer and system administration communities.
- [Containers](#why-do-you-use-containers)
- [Docker compose](#why-do-you-use-docker-compose)
@ -24,21 +128,17 @@ software developer communities.
## Who packages your applications?
One of your main aims is to re-use existing work that free software communities
are already doing.
One of your main aims is to re-use existing good work that free software projects
have already done.
## Why do you use containers?
We use containers because so many free software communities choose to use them!
They are already writing and using Docker files and Docker-compose definitions
for their development and production environments. We can directly re-use this
good work for packaging and contribute back by helping maintain their
in-repository files. We meet them where they are at and we do not create a new
packaging format or duplicate effort. We tie our distribution directly into
existing developer Coop cloud is about re-using upstream free software project
container based workflows through well known CI/CD automation tools and issue
trackers. Coop cloud proposes the idea of more direct coordination between
distribution methods (app packagers) and production methods (developers).
We use containers because so many free software communities choose to use them.
The upstream projects are already writing and using Docker files and Docker-compose definitions
for their development and production environments. We can directly re-use their packaging and contribute back upstream by helping maintain their in-repository files. We meet them where the ecosystem is at and we do not create yet another new packaging format or duplicate effort.
Co-op cloud re-uses upstream free software project container based workflows through well known CI/CD automation tools and issue trackers. Coop cloud proposes the idea of more direct coordination between
distribution methods (app packagers) and production methods (developers and system administrators).
## Why do you use Docker compose?
@ -48,94 +148,7 @@ TODO.
TODO.
## Why start another project?
One of our core principles is to not re-invent the wheel. However, fitting
needs into existing projects doesn't always work out. Some of the developers on
this project were also once developers on the other existing projects.
TODO.
## What about `$alternative`?
We have our critiques of other similar projects which are already
up-and-running in the ecosystem. However, the Cooperative Cloud isn't meant to
be a replacement for these projects. Here is a short overview of the pros/cons
we see and how that relates to our goals here.
### Cloudron
#### 👍
- 👍 Lovely web interface for application, domain & user management
- 👍 Bigger library of applications
- 👍 Built-in SSO using LDAP, which is compatible with more applications and often has a better user interface than OAuth
- 👍 Most applications are actively maintained by the Cloudron team
#### 👎
- 👎 Moving away from open source. Free version has a 1-application limit
- 👎 Based on Docker images, not stacks, so multi-process applications (e.g. parsoid for Mediawiki) are a non-starter
- 👎 Difficult to extend applications
- 👎 Only supported on Ubuntu
- 👎 Upstreams free software communities aren't involved
### YunoHost
#### 👍
- 👍 Lovely web interface for application, domain & user management
- 👍 Bigger library of applications
- 👍 Awesome backup / deploy / restore continuous integration testing
- 👍 Supports hosting applications in subdirectories as well as subdomains
- 👍 Doesn't require a public-facing IP
#### 👎
- 👎 Upstreams free software communities aren't involved
- 👎 Often not idempotent: uninstalling applications leaves growing cruft
### Ansible
#### 👍
- 👍 Includes server creation and bootstrapping
#### 👎
- 👎 Upstream free software communities aren't publishing Ansible roles
- 👎 Lots of manual work involved in things like application isolation, backups, updates
### Kubernetes
#### 👍
- 👍 Helm charts are available for some key applications already
#### 👎
- 👎 Too big -- requires 3rd party tools to run a single-node instance
### Docker-compose
#### 👎
- 👎 Manual work required for process monitoring
- 👎 Secret storage not available yet
- 👎 [Swarm is the new best practice](https://github.com/BretFisher/ama/issues/8#issuecomment-367575011)
### Doing it Manually
#### 👍
- 👍 Simple - just follow upstream instructions to install and update
#### 👎
- 👎 Loads of manual work required for application isolation and backups
- 👎 Array of sysadmin skills required to install applications
- 👎 Hard to share configurations into the commons
# What licensing model does the project use?
The Cooperative Cloud will always be available under copyleft licenses.
The Cooperative Cloud is and will always be available under [copyleft licenses](https://en.wikipedia.org/wiki/Copyleft).