For the application architecture of the Infinite Scale platform, ownCloud started from scratch and modernized it from the ground up. Instead of the rather “comfortable” PHP, the programming language was changed to Go. Go is not only very popular with cloud enthusiasts, but also promises a significant increase in performance and scalability. Another technical innovation is the omission of a central (relational) database.
Another major change is the development model behind Infinite Scale. It is REST-based and allows easy access to the data of different Azure cloud services based on the user’s identity. ownCloud now focuses more on collaboration and cooperation. It even has two different dimensions: one organizational and one technical.
But this is only the tip of the iceberg.
Starting from the LAMP-based product, there are 20 documented architectural decisions that were and are groundbreaking for the development of Infinite Scale . The result is a product with a three-tier architecture based on microservices.
ownCloud Infinite Scale Components: An Overview
First, there is the client, present in different incarnations. The ownCloud Infinite Scale server part consists of two main components: users and data management. Infinite Scale uses Open ID Connect (OIDC, see ix.de/zsub) to authenticate the user. This allows the software to use all Identity Providers (IDP) that are compatible with this protocol.
In the cloud environment, this approach is now the de facto standard. In the simplest case, an LDAP server can step in here. The ownCloud developers have succeeded in switching from LAMP to microservice architecture . This also applies to the use of already established software. Strictly speaking, this is an Identity Management System (IDM). The LDAP server does not have to be installed specifically for ownCloud Infinite Scale.
For the very first steps, ownCloud Infinite Scale comes with a small IDP that is based on the Libre graph. A realistic deployment, in which users from several companies work together, should definitely use OIDC. When it comes to data management, there are first the data carriers themselves. These can be local disks on a computer, but network-based storage such as Amazon S3 or NFSv4 is also possible. It is accessed via drivers.
Internally, Infinite Scale manages the memory in so-called Spaces. The Space Registry is the gateway to the lower layers of the ownCloud Infinite Scale storage stack. It manages the user’s namespace, that is, what data can they read and/or write? The actual access then takes place via the registered Spaces and drivers.
The software ends up on the system as a binary file and, when fully expanded, starts well over 20 services. They belong to three groups: user management, ownCloud Infinite Scale components and the Reva unit originating from CERN. As a reminder, a gateway serves as an interface between the two External communication divides ownCloud relies on a three-layer microservice architecture for ownCloud Infinite Scale. Without further support from ownCloud, the installation and operation of ownCloud Infinite Scale are virtually free of charge.
ownCloud Infinite Scale is a cloud-native, multi-purpose data platform with a strong focus on performance, scalability, security and governance. Learn more about Infinite Scale and how it can boost productivity, enable efficient collaboration and reduce costs in your enterprise.