Press release | Infinite Scale | Infinite Scale Press Release

Ready, steady, Go

PHP has long been the tool of choice for ownCloud. But the scripting language no longer meets ownCloud’s requirements for developing a modern content collaboration application. Time for a change and a switch to the programming language Go.
ownCloud chooses Go for its file platform Infinite Scale

Yes, PHP has become increasingly powerful over time thanks to numerous adaptations, such as object orientation, standardized access to databases, an integrated web server and improved memory management. PHP interpreters and compilers have further increased the speed of script execution.

But all these improvements cannot hide the fact that in the years since ownCloud was first developed, the requirements regarding performance and scalability have shifted. Meanwhile, Go emerged as a new language that offers significant advantages for modern application development in general and to suit the new ownCloud vision in particular.

Discover the Best Secure Business File Sharing Use Cases

ownCloud now uses Go for rewriting its eponymous file platform. Based on our experience with Go in developing ownCloud Infinite Scale, we can confidently share a list of its most important advantages:

Cross-platform
Go runs on all operating systems natively. Go’s tool set provides excellent utilities for cross-compiling, enabling the fast and immediate deployment of the application for many different platforms.

Speed
Go does not require a script interpreter or a virtual runtime environment. This makes Go as fast as the programming language C, which is normally used for particularly high-performance requirements.

Concurrency
Go offers the possibility to perform several computations in parallel. “This makes it easier for developers to parallelize resource-intensive operations and thus develop a high-performance application,” adds Felix Böhm, CTO at ownCloud.

Syntax
Go is very easy to learn and has many parallels with the widely used programming language C. Developers can easily get up to speed with Go or switch from their previous tool stack. “It is a lot of fun to program in Go,” emphasizes Alex Unger, Senior Software Developer at ownCloud.

Ecosystem
The language was developed by Google teams and first presented in 2009. It is an open-source project and benefits from community involvement. Many tools for cloud-native projects are written in Go, such as the container solutions Docker and Kubernetes. “Go makes ownCloud appealing to a worldwide developer community,” Felix Böhm concludes.

Go Gopher mascot

The Go Gopher is the official Go mascot designed by Renee French

Go has many other benefits, such as automatic memory management and a direct and flexible implementation of object orientation. Go applications are more performant and use significantly less server resources, thus reducing both hardware costs and energy consumption.

The new ownCloud generation, ownCloud Infinite Scale, will go one step further and stores the metadata of the files directly with the data on the storage and therefore no longer requires a database. Thus, ownCloud Infinite Scale is optimized for scale – as in the number of files, users and instances, but also as in file size.

“The developers at ownCloud are enthusiastic about the switch and are thrilled about the ongoing collaboration with the very professional Go community,” summarizes Felix Böhm.

ownCloud

September 15, 2020

Read now:

Understanding Web Applications in oCIS

Understanding Web Applications in oCIS

In today’s fast-paced digital world, web applications play a crucial role in enhancing user experience and functionality. Infinite Scale comes with a world-class web interface to manage file resources, but it can be extended by utilizing ownCloud Infinite Scale (oCIS) as a construction set for custom web apps.

read more
Full digital sovereignty has 3 levels

Full digital sovereignty has 3 levels

Digital sovereignty is becoming increasingly important for public authorities and companies – and they already have the option of using fully sovereign software stacks. Content collaboration specialist ownCloud explains what sets them apart.

read more