From 60d53460877cc944058c6d4c7c49bb4b3d91898a Mon Sep 17 00:00:00 2001 From: Luke Murphy Date: Mon, 1 Mar 2021 11:23:28 +0100 Subject: [PATCH] Added a piece on efficiency --- docs/deploy.md | 4 ++-- docs/faq.md | 4 ++++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/docs/deploy.md b/docs/deploy.md index 0938b3d1..76fac704 100644 --- a/docs/deploy.md +++ b/docs/deploy.md @@ -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 diff --git a/docs/faq.md b/docs/faq.md index 5fd09f95..a775f8c1 100644 --- a/docs/faq.md +++ b/docs/faq.md @@ -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.