Added a piece on efficiency

This commit is contained in:
Luke Murphy 2021-03-01 11:23:28 +01:00
parent cf8e6cda92
commit 60d5346087
No known key found for this signature in database
GPG Key ID: 5E2EF5A63E3718CC
2 changed files with 6 additions and 2 deletions

View File

@ -9,7 +9,7 @@ In order to deploy an application you need two things:
## Create your server
Whether you are self-hosting or using a corporate cloud, Co-op Cloud has itself near zero system requirements. You only need to worry about the system resource usage of your apps and the overhead of running containers with the docker runtime (often negligible). We will deploy a new Nextcloud instance in this guide, so you will only need 1GB of RAM according to [their documentation](https://docs.nextcloud.com/server/latest/admin_manual/installation/system_requirements.html).
Co-op Cloud has itself near zero system requirements. You only need to worry about the system resource usage of your apps and the overhead of running containers with the docker runtime (often negligible. If you want to know more, see [this FAQ entry](/faq/#isnt-running-everything-in-container-really-inefficient)). We will deploy a new Nextcloud instance in this guide, so you will only need 1GB of RAM according to [their documentation](https://docs.nextcloud.com/server/latest/admin_manual/installation/system_requirements.html).
## Wire up your DNS
@ -18,7 +18,7 @@ Typically, you'll need two A records, one to point to the VPS itself and another
@ 1800 IN A 116.203.211.204
*. 1800 IN A 116.203.211.204
Where `116.203.211.204` can be replaced as the IP address of your server.
Where `116.203.211.204` can be replaced with the IP address of your server.
## Install server prerequisites

View File

@ -145,3 +145,7 @@ While many have noted that "swarm is dead" it is in fact [not dead](https://www.
## What licensing model do you use?
The Co-op Cloud is and will always be available under [copyleft licenses](https://en.wikipedia.org/wiki/Copyleft).
## Isn't running everything in container inefficient?
It is true that if you install 3 applications and each one requires a MySQL database, then you will have 3 installations of MySQL on your system, running in containers. Systems like [YunoHost](/faq/#yunohost) mutualise every part of the system for maximum resource efficiency - if there is a MySQL instance available on the system, then just make a new database there and share the MySQL instance instead of creating more. However, as we see it, this creates a tight coupling between applications on the database level - running a migration on one application where you need to turn the database off takes down the other applications. It's a balance, of course. In this project, we think that running multiple databases and maintaining more strict application isolation is worth the hit in resource efficiency. It is easier to maintain and migrate going forward in relation to other applications and problems with apps typically have a smaller problem space - you know another app is not interfering with it because there is no interdependency. It can also pay off when dealing with GDPR related issues and the need to have more stricter data layer separation.