aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Auvolat <alex@adnab.me>2024-03-14 15:43:59 +0100
committerAlex Auvolat <alex@adnab.me>2024-03-14 15:43:59 +0100
commit2da43a24722b62c8f8f480c757327c41e5fbd407 (patch)
tree792306ee3c44fcf8f7d47ce06550c8537fe34377
parent049dc482cfe364d70b26b27a5812ae5a7d410b8a (diff)
downloadgaragehq.deuxfleurs.fr-blog-survey.tar.gz
garagehq.deuxfleurs.fr-blog-survey.zip
first pass on survey results blog postblog-survey
-rw-r--r--content/blog/2024-03-survey/all-access-mode.pngbin0 -> 20335 bytes
-rw-r--r--content/blog/2024-03-survey/all-cluster-object-count.pngbin0 -> 22932 bytes
-rw-r--r--content/blog/2024-03-survey/all-cluster-size.pngbin0 -> 19255 bytes
-rw-r--r--content/blog/2024-03-survey/all-currently-admin.pngbin0 -> 32628 bytes
-rw-r--r--content/blog/2024-03-survey/all-data-kind.pngbin0 -> 32084 bytes
-rw-r--r--content/blog/2024-03-survey/all-how-known.pngbin0 -> 34146 bytes
-rw-r--r--content/blog/2024-03-survey/all-lose-data.pngbin0 -> 17018 bytes
-rw-r--r--content/blog/2024-03-survey/all-n-zones.pngbin0 -> 20735 bytes
-rw-r--r--content/blog/2024-03-survey/all-object-size.pngbin0 -> 16049 bytes
-rw-r--r--content/blog/2024-03-survey/all-satisfaction.pngbin0 -> 26246 bytes
-rw-r--r--content/blog/2024-03-survey/all-strong-points.pngbin0 -> 76717 bytes
-rw-r--r--content/blog/2024-03-survey/all-wanted-features.pngbin0 -> 87683 bytes
-rw-r--r--content/blog/2024-03-survey/big-currently-admin.pngbin0 -> 28459 bytes
-rw-r--r--content/blog/2024-03-survey/big-data-kind.pngbin0 -> 35952 bytes
-rw-r--r--content/blog/2024-03-survey/big-n-zones.pngbin0 -> 20716 bytes
-rw-r--r--content/blog/2024-03-survey/big-satisfaction.pngbin0 -> 28185 bytes
-rw-r--r--content/blog/2024-03-survey/big-wanted-features.pngbin0 -> 66811 bytes
-rw-r--r--content/blog/2024-03-survey/commercial-cluster-object-count.pngbin0 -> 23409 bytes
-rw-r--r--content/blog/2024-03-survey/commercial-cluster-size.pngbin0 -> 21543 bytes
-rw-r--r--content/blog/2024-03-survey/commercial-data-kind.pngbin0 -> 34973 bytes
-rw-r--r--content/blog/2024-03-survey/commercial-n-zones.pngbin0 -> 23703 bytes
-rw-r--r--content/blog/2024-03-survey/commercial-object-size.pngbin0 -> 16958 bytes
-rw-r--r--content/blog/2024-03-survey/commercial-satisfaction.pngbin0 -> 21237 bytes
-rw-r--r--content/blog/2024-03-survey/commercial-strong-points.pngbin0 -> 80292 bytes
-rw-r--r--content/blog/2024-03-survey/commercial-wanted-features.pngbin0 -> 88382 bytes
-rw-r--r--content/blog/2024-03-survey/flaws-wanted-features.pngbin0 -> 91033 bytes
-rw-r--r--content/blog/2024-03-survey/homelab-cluster-object-count.pngbin0 -> 25207 bytes
-rw-r--r--content/blog/2024-03-survey/homelab-cluster-size.pngbin0 -> 22337 bytes
-rw-r--r--content/blog/2024-03-survey/homelab-data-kind.pngbin0 -> 36407 bytes
-rw-r--r--content/blog/2024-03-survey/homelab-n-zones.pngbin0 -> 23471 bytes
-rw-r--r--content/blog/2024-03-survey/homelab-satisfaction.pngbin0 -> 29779 bytes
-rw-r--r--content/blog/2024-03-survey/homelab-strong-points.pngbin0 -> 81510 bytes
-rw-r--r--content/blog/2024-03-survey/homelab-wanted-features.pngbin0 -> 91709 bytes
-rw-r--r--content/blog/2024-03-survey/index.md261
-rw-r--r--content/blog/2024-03-survey/update.sh3
35 files changed, 264 insertions, 0 deletions
diff --git a/content/blog/2024-03-survey/all-access-mode.png b/content/blog/2024-03-survey/all-access-mode.png
new file mode 100644
index 0000000..591b51c
--- /dev/null
+++ b/content/blog/2024-03-survey/all-access-mode.png
Binary files differ
diff --git a/content/blog/2024-03-survey/all-cluster-object-count.png b/content/blog/2024-03-survey/all-cluster-object-count.png
new file mode 100644
index 0000000..8fb5cd0
--- /dev/null
+++ b/content/blog/2024-03-survey/all-cluster-object-count.png
Binary files differ
diff --git a/content/blog/2024-03-survey/all-cluster-size.png b/content/blog/2024-03-survey/all-cluster-size.png
new file mode 100644
index 0000000..62e74cd
--- /dev/null
+++ b/content/blog/2024-03-survey/all-cluster-size.png
Binary files differ
diff --git a/content/blog/2024-03-survey/all-currently-admin.png b/content/blog/2024-03-survey/all-currently-admin.png
new file mode 100644
index 0000000..f257682
--- /dev/null
+++ b/content/blog/2024-03-survey/all-currently-admin.png
Binary files differ
diff --git a/content/blog/2024-03-survey/all-data-kind.png b/content/blog/2024-03-survey/all-data-kind.png
new file mode 100644
index 0000000..431a68e
--- /dev/null
+++ b/content/blog/2024-03-survey/all-data-kind.png
Binary files differ
diff --git a/content/blog/2024-03-survey/all-how-known.png b/content/blog/2024-03-survey/all-how-known.png
new file mode 100644
index 0000000..03b6933
--- /dev/null
+++ b/content/blog/2024-03-survey/all-how-known.png
Binary files differ
diff --git a/content/blog/2024-03-survey/all-lose-data.png b/content/blog/2024-03-survey/all-lose-data.png
new file mode 100644
index 0000000..fd26e88
--- /dev/null
+++ b/content/blog/2024-03-survey/all-lose-data.png
Binary files differ
diff --git a/content/blog/2024-03-survey/all-n-zones.png b/content/blog/2024-03-survey/all-n-zones.png
new file mode 100644
index 0000000..8eed489
--- /dev/null
+++ b/content/blog/2024-03-survey/all-n-zones.png
Binary files differ
diff --git a/content/blog/2024-03-survey/all-object-size.png b/content/blog/2024-03-survey/all-object-size.png
new file mode 100644
index 0000000..8d8b507
--- /dev/null
+++ b/content/blog/2024-03-survey/all-object-size.png
Binary files differ
diff --git a/content/blog/2024-03-survey/all-satisfaction.png b/content/blog/2024-03-survey/all-satisfaction.png
new file mode 100644
index 0000000..bf89536
--- /dev/null
+++ b/content/blog/2024-03-survey/all-satisfaction.png
Binary files differ
diff --git a/content/blog/2024-03-survey/all-strong-points.png b/content/blog/2024-03-survey/all-strong-points.png
new file mode 100644
index 0000000..a27a8e8
--- /dev/null
+++ b/content/blog/2024-03-survey/all-strong-points.png
Binary files differ
diff --git a/content/blog/2024-03-survey/all-wanted-features.png b/content/blog/2024-03-survey/all-wanted-features.png
new file mode 100644
index 0000000..b1eae93
--- /dev/null
+++ b/content/blog/2024-03-survey/all-wanted-features.png
Binary files differ
diff --git a/content/blog/2024-03-survey/big-currently-admin.png b/content/blog/2024-03-survey/big-currently-admin.png
new file mode 100644
index 0000000..7bf76b1
--- /dev/null
+++ b/content/blog/2024-03-survey/big-currently-admin.png
Binary files differ
diff --git a/content/blog/2024-03-survey/big-data-kind.png b/content/blog/2024-03-survey/big-data-kind.png
new file mode 100644
index 0000000..deff774
--- /dev/null
+++ b/content/blog/2024-03-survey/big-data-kind.png
Binary files differ
diff --git a/content/blog/2024-03-survey/big-n-zones.png b/content/blog/2024-03-survey/big-n-zones.png
new file mode 100644
index 0000000..1682729
--- /dev/null
+++ b/content/blog/2024-03-survey/big-n-zones.png
Binary files differ
diff --git a/content/blog/2024-03-survey/big-satisfaction.png b/content/blog/2024-03-survey/big-satisfaction.png
new file mode 100644
index 0000000..ede73e1
--- /dev/null
+++ b/content/blog/2024-03-survey/big-satisfaction.png
Binary files differ
diff --git a/content/blog/2024-03-survey/big-wanted-features.png b/content/blog/2024-03-survey/big-wanted-features.png
new file mode 100644
index 0000000..7cecfa8
--- /dev/null
+++ b/content/blog/2024-03-survey/big-wanted-features.png
Binary files differ
diff --git a/content/blog/2024-03-survey/commercial-cluster-object-count.png b/content/blog/2024-03-survey/commercial-cluster-object-count.png
new file mode 100644
index 0000000..1ce4906
--- /dev/null
+++ b/content/blog/2024-03-survey/commercial-cluster-object-count.png
Binary files differ
diff --git a/content/blog/2024-03-survey/commercial-cluster-size.png b/content/blog/2024-03-survey/commercial-cluster-size.png
new file mode 100644
index 0000000..76111e6
--- /dev/null
+++ b/content/blog/2024-03-survey/commercial-cluster-size.png
Binary files differ
diff --git a/content/blog/2024-03-survey/commercial-data-kind.png b/content/blog/2024-03-survey/commercial-data-kind.png
new file mode 100644
index 0000000..2e2e73f
--- /dev/null
+++ b/content/blog/2024-03-survey/commercial-data-kind.png
Binary files differ
diff --git a/content/blog/2024-03-survey/commercial-n-zones.png b/content/blog/2024-03-survey/commercial-n-zones.png
new file mode 100644
index 0000000..34d8f9c
--- /dev/null
+++ b/content/blog/2024-03-survey/commercial-n-zones.png
Binary files differ
diff --git a/content/blog/2024-03-survey/commercial-object-size.png b/content/blog/2024-03-survey/commercial-object-size.png
new file mode 100644
index 0000000..5068b56
--- /dev/null
+++ b/content/blog/2024-03-survey/commercial-object-size.png
Binary files differ
diff --git a/content/blog/2024-03-survey/commercial-satisfaction.png b/content/blog/2024-03-survey/commercial-satisfaction.png
new file mode 100644
index 0000000..51d4cb0
--- /dev/null
+++ b/content/blog/2024-03-survey/commercial-satisfaction.png
Binary files differ
diff --git a/content/blog/2024-03-survey/commercial-strong-points.png b/content/blog/2024-03-survey/commercial-strong-points.png
new file mode 100644
index 0000000..ebd307b
--- /dev/null
+++ b/content/blog/2024-03-survey/commercial-strong-points.png
Binary files differ
diff --git a/content/blog/2024-03-survey/commercial-wanted-features.png b/content/blog/2024-03-survey/commercial-wanted-features.png
new file mode 100644
index 0000000..b29563e
--- /dev/null
+++ b/content/blog/2024-03-survey/commercial-wanted-features.png
Binary files differ
diff --git a/content/blog/2024-03-survey/flaws-wanted-features.png b/content/blog/2024-03-survey/flaws-wanted-features.png
new file mode 100644
index 0000000..99367d7
--- /dev/null
+++ b/content/blog/2024-03-survey/flaws-wanted-features.png
Binary files differ
diff --git a/content/blog/2024-03-survey/homelab-cluster-object-count.png b/content/blog/2024-03-survey/homelab-cluster-object-count.png
new file mode 100644
index 0000000..d8fec5d
--- /dev/null
+++ b/content/blog/2024-03-survey/homelab-cluster-object-count.png
Binary files differ
diff --git a/content/blog/2024-03-survey/homelab-cluster-size.png b/content/blog/2024-03-survey/homelab-cluster-size.png
new file mode 100644
index 0000000..11c4c75
--- /dev/null
+++ b/content/blog/2024-03-survey/homelab-cluster-size.png
Binary files differ
diff --git a/content/blog/2024-03-survey/homelab-data-kind.png b/content/blog/2024-03-survey/homelab-data-kind.png
new file mode 100644
index 0000000..087dad3
--- /dev/null
+++ b/content/blog/2024-03-survey/homelab-data-kind.png
Binary files differ
diff --git a/content/blog/2024-03-survey/homelab-n-zones.png b/content/blog/2024-03-survey/homelab-n-zones.png
new file mode 100644
index 0000000..b6a3315
--- /dev/null
+++ b/content/blog/2024-03-survey/homelab-n-zones.png
Binary files differ
diff --git a/content/blog/2024-03-survey/homelab-satisfaction.png b/content/blog/2024-03-survey/homelab-satisfaction.png
new file mode 100644
index 0000000..f47de52
--- /dev/null
+++ b/content/blog/2024-03-survey/homelab-satisfaction.png
Binary files differ
diff --git a/content/blog/2024-03-survey/homelab-strong-points.png b/content/blog/2024-03-survey/homelab-strong-points.png
new file mode 100644
index 0000000..a522e5e
--- /dev/null
+++ b/content/blog/2024-03-survey/homelab-strong-points.png
Binary files differ
diff --git a/content/blog/2024-03-survey/homelab-wanted-features.png b/content/blog/2024-03-survey/homelab-wanted-features.png
new file mode 100644
index 0000000..2b54b3b
--- /dev/null
+++ b/content/blog/2024-03-survey/homelab-wanted-features.png
Binary files differ
diff --git a/content/blog/2024-03-survey/index.md b/content/blog/2024-03-survey/index.md
new file mode 100644
index 0000000..20e0284
--- /dev/null
+++ b/content/blog/2024-03-survey/index.md
@@ -0,0 +1,261 @@
++++
+title="Results of the community survey"
+date=2024-03-12
++++
+
+*We ran a community survey to gather feedback from Garage users and potential
+users during a two-month period. One of the main objectives of
+this survey was to determine expectations from the community for Garage's
+upcoming v1.0 release and for future work. Read this article for a discussion
+of the results.*
+
+<!-- more -->
+
+---
+
+The survey collected 127 response during a time period of almost 2 months,
+from the 15th of January to the 12th of March.
+The first question we asked users were how they have heard of Garage:
+the majority answered that they have head of Garage through a link
+aggregator or social network such as Reddit or HN. A portion of
+users have heard of it from word of mouth, and a significant portion also
+answered "Other". Unfortunately we didn't ask respondents for details
+if they selected "Other", so I'm quite curious as to what this could be.
+Other choices have almost negligible number of responses.
+
+<center><img src="all-how-known.png" /></center>
+
+Half of the respondents indicated that they are currently running a Garage cluster
+for production data, of which a small fraction indicated running it in a commercial
+setting. Another third of respondents indicated that they are currently testing Garage
+or have tested it previously.
+
+<center><img src="all-currently-admin.png" /></center>
+
+## About currently running Garage installations
+
+We first asked users what kind of data they were storing in Garage.
+The first answer, selected by about half of the participants,
+is for storing back-ups, followed closely by personal files.
+Other answers follow with a rougly linearly decreasing pattern.
+
+<center><img src="all-data-kind.png" /></center>
+
+The majority of users are not running Garage in geodistributed mode,
+but many users are also running in 2, 3 or even 4 locations.
+
+<center><img src="all-n-zones.png" /></center>
+
+A large majority of users are only using Garage through the S3 API.
+The remaining users are mostly using a mix of S3 API and web API,
+with a small number of users (5) using Garage primarily as a web server.
+
+<center><img src="all-access-mode.png" /></center>
+
+Regarding the size of clusters, the majority of installed clusters are less
+than 1TB in size. The others are almost all between 1TB to 10TB. 8 users
+indicated that they are running clusters of more than 10TB. Two users that
+reported running clusters of more than 100TB, but they also indicated that they
+are not currently using Garage, so I think that's the size of the data they
+would like/need to store on Garage, but not the actual size of an
+installed cluster. The number of objects stored in clusters is quite evenly
+split between less than 10k, 10k to 100k, and more than 100k.
+
+<center><img src="all-cluster-size.png" /></center>
+<center><img src="all-cluster-object-count.png" /></center>
+
+For about half of respondents, this means storing mostly objects of around 100MB in size.
+For the others, it's mostly objects of around 10MB. This is very inexact since the
+proposed answers for cluster size and object count had such large ranges.
+
+<center><img src="all-object-size.png" /></center>
+
+## Satisfaction regarding Garage
+
+A majority of users reported a high degree of satisfaction with Garage.
+About a quarter said that Garage has some significant flaws. A small portion
+of respondents indicated that they cannot use Garage due to missing
+important features or critical bugs, but still took the time to answer
+the survey (thanks to them!).
+
+<center><img src="all-satisfaction.png" /></center>
+
+The top 3 strong points of Garage reported by its users are: good S3 compatibility
+(first place, with 2/3 of respondents agreeing), good performance on small / low-power
+machines, and easy setup. I'd say we are pretty much on target, as these are some of the
+main objectives of Garage.
+
+<center><img src="all-strong-points.png" /></center>
+
+As for most wanted features in Garage, there is a clear winner with a web interface
+for cluster administration, with over 40% of users mentioning it. The second most
+wanted feature is support for S3 versioning, with almost 30% of answers.
+
+<center><img src="all-wanted-features.png" /></center>
+
+The vast majority of users reported never losing data that they stored in Garage.
+Only one indicated that they lost data and it was Garage's fault: this was
+because they tried to move an LMDB database between machines with different
+architectures, but the LMDB on-disk format is architecture specific. We should
+probably be more clear about this in the documentation.
+
+<center><img src="all-lose-data.png" /></center>
+
+
+# Users in a "homelab/self-hosted setting"
+
+52 respondents indicated that they are using Garage for storing production
+data in a homelab or self-hosted setting. I'd say this is the most
+representative portion of Garage users, as it is its primary target.
+Let's look at the answers from these users only.
+
+## About the clusters
+
+Personal files now takes the first place of the kinds of data stored on these clusters,
+still closely followed by back-ups.
+
+<center><img src="homelab-data-kind.png" /></center>
+
+These users are mostly not using Garage in a geodistributed setting.
+The distribution of answers is very similar to the overall.
+
+<center><img src="homelab-n-zones.png" /></center>
+
+Most clusters of these users are less than 1TB and size,
+and the remaining are mostly in the 1TB - 10TB range.
+There are fewer clusters than average storing more than 100k objects in this population,
+but the distribution of object sizes (not shown) is very similar to the overall.
+
+<center><img src="homelab-cluster-size.png" /></center>
+<center><img src="homelab-cluster-object-count.png" /></center>
+
+## Satisfaction regarding Garage
+
+Homelab/self-hosting users reported a level of satisfaction a bit higher with Garage,
+with almost 3/4 very satisfied.
+
+<center><img src="homelab-satisfaction.png" /></center>
+
+The top 3 reasons for using Garage are the same, but good performance on small
+/ low-power machines is now taking the first place.
+
+<center><img src="homelab-strong-points.png" /></center>
+
+The top 2 wanted features are still the same, now with an equal number of votes.
+
+<center><img src="homelab-wanted-features.png" /></center>
+
+# Users in a "commercial setting"
+
+Fewer users indicated that they are running Garage in a commercial setting,
+as this concerned only 12 of the respondents to the survey.
+
+## About the clusters
+
+Half of users reported using Garage to store back-ups,
+and almost half reported storing observability data and web app / service data.
+One third selected static websites.
+
+<center><img src="commercial-data-kind.png" /></center>
+
+Users in a commercial setting are more consistent in their use of the
+geo-distribution features offered by Garage. Only one third of users are
+not running in geo-distributed mode. Another third is running Garage in 2 locations,
+and the last third is running in 3 or more locations, thus benefitting from
+the best resiliency properties that Garage can offer.
+
+<center><img src="commercial-n-zones.png" /></center>
+
+The majority of commercial deployments are storing between 1TB and 10TB of data.
+About a quarter are storing more than 1 million objects.
+
+<center><img src="commercial-cluster-size.png" /></center>
+<center><img src="commercial-cluster-object-count.png" /></center>
+
+It seems that the average object size is much smaller in this population:
+the majority of answers correspond to average object sizes of less than 10MB,
+and one foruth of answers corresponds to objects of around 1MB.
+
+<center><img src="commercial-object-size.png" /></center>
+
+
+## Satisfaction regarding Garage
+
+Three quarter of these users reported a high degree of satisfaction with Garage,
+about the same as for homelab users.
+
+<center><img src="commercial-satisfaction.png" /></center>
+
+The most liked qualities of Garage are a bit different. Fewer users reported
+satisfaction due to the easy setup of Garage, but more users indicated
+that the possibility of easily adding and removing nodes was important to them.
+Good tolerance to offline nodes and crashes, and good performance in the face
+of latency, which are the core properties that make Garage work well in
+geo-distributed settings, were selected by two thirds of users, most likely
+the same that said they are running in geo-distributed mode.
+
+<center><img src="commercial-strong-points.png" /></center>
+
+A web interface for cluster administration is still the most wanted feature, with 40%
+of votes. Then, one third voted for better monitoring and observability, and for
+per-bucket levels of consistency and numbers of replicas. Only 25% voted for S3
+versioning.
+
+<center><img src="commercial-wanted-features.png" /></center>
+
+# Users that have the biggest clusters
+
+7 users reported running clusters storing more than 10TB of data.
+About half of these users are using Garage for a homelab or self-hosted setup,
+and one is in a commercial setting.
+
+<center><img src="big-currently-admin.png" /></center>
+
+## About the clusters
+
+Almost all of these users are using Garage to store back-ups.
+Multimedia files are the second most selected option, which
+would explain why these clusters are so big.
+
+<center><img src="big-data-kind.png" /></center>
+
+These deployments are quite evenly split between not
+being geo-replicated and being geo-replicated in 2 or 3 locations.
+
+<center><img src="big-n-zones.png" /></center>
+
+## Satisfaction regarding garage
+
+A majority of users report a high degree of satisfaction with Garage,
+but many users also reported significant flaws.
+
+<center><img src="big-satisfaction.png" /></center>
+
+Unsurprisingly, when clusters start becoming big enough, the most requested
+improvement is better performance around the board.
+Per-bucket levels of consistency and number of replicas was also selected
+by almost half of users.
+
+<center><img src="big-wanted-features.png" /></center>
+
+# Users that reported that garage had some significant flaws
+
+Focusing on users that reported that Garage is usable for them but has "significant flaws",
+the two most requested features were a web administration interface and S3 versioning.
+Bucket-level ACLs (that would allow anonymous access directly from the S3 endpoint)
+and performance improvements came next.
+
+<center><img src="flaws-wanted-features.png" /></center>
+
+Concerning users that said that Garage has critical issues that is preventing
+them from using it, the "Other" option was the most selected answer for the
+requested features. Licensing issues allegedly preventing commercial use were
+cited by a few users (hint: it's actually a non-issue, and we will write about
+this at some point), but I think for most of these users, they have a specific
+use case in mind which is not targeted by Garage. For instance, several have
+indicated that they would need POSIX filesystem compatibility and/or the
+possibility to use Garage as a CSI driver in Kubernetes (unfortunately, this is
+mostly impossible to achieve with good performance in a geo-distributed
+environment, and the principles on which Garage is based explicitly prevents it
+from fulfilling this role).
+
diff --git a/content/blog/2024-03-survey/update.sh b/content/blog/2024-03-survey/update.sh
new file mode 100644
index 0000000..9e1a605
--- /dev/null
+++ b/content/blog/2024-03-survey/update.sh
@@ -0,0 +1,3 @@
+for f in *.png; do
+ cp -v /home/lx/Deuxfleurs/documents/survey/$f .
+done