Fast and scalable ownCloud Infinite Scale
Everything Must Go
Prometheus to the Rescue
Prometheus itself is a well-established standard by now. By following the pull principle, other components must make their metric data available through a pre-defined API interface to be fetched by Prometheus. If you enable the Prometheus interface in oCIS, every oCIS instance will allow the Prometheus instances of a setup to fetch metric data from port 8001 through the oCIS debug endpoint.
Available metrics include a number of different values related to Go, different memory statistics, threads in use, and more of the like. Additionally, ownCloud recommends deploying Telegraf on oCIS servers for general-purpose system metrics, such as disk space in use, CPU usage, or other vital parameters. Combined with the Jaeger client, it even becomes possible to do in-depth performance debugging of individual oCIS components in case some parts of the environment do not live up to expectations.
Long story short, MAT functionality is now at the core of oCIS and much more easily available than it was in previous ownCloud versions. Admins should absolutely leverage that new functionality.
Tough Call and a Risk to Take
The technical aspects of oCIS that are visible are already nothing short of spectacular. The software is very easily installed, and its completely redesigned components are faster than its predecessor and offer much better scalability. The modular design with microservices and APIs, even for extensions, looks promising. The biggest risk for ownCloud appears to be that, while taking big technological steps, they might loose a significant part of their PHP-based community. Community management in terms of Go and Vue.js (and EOS) is surely a big task for the company now and in the years to come.
Infos
- Nextcloud: https://github.com/nextcloud
- oCIS: https://github.com/owncloud/ocis
- EOS: https://information-technology.web.cern.ch/services/eos-service
- XRootD: https://xrootd.slac.stanford.edu
- Reva storage engine: https://github.com/cs3org/reva
- ownCloud Web: https://owncloud.dev/clients/web/
- Traefik: https://doc.traefik.io/traefik/
- oCIS documentation: https://owncloud.dev/ocis/
- Example extension: https://owncloud.github.io/extensions/ocis_hello/
- Docker Hub: https://hub.docker.com/u/owncloud/
- ownCloud EOS docs: https://owncloud.dev/ocis/storage-backends/eos/
- oCIS data flow: https://owncloud.github.io/ocis/flow-docs/public-upload-flow/
Buy this article as PDF
(incl. VAT)