Company News

15. Sep 2020

Ready, steady, Go

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 PHP has limitations, especially in terms of achievable performance and scalability. In the meantime, Go is a new language that offers significant advantages for modern application development.

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

  1. 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.
     
  2. 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.
     
  3. 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.
     
  4. 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.
     
  5. 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 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 fewer server resources, thus reducing both hardware costs and energy consumption.

The new ownCloud generation, ownCloud Infinite Scale, goes 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.

About ownCloud

ownCloud GmbH develops and provides open-source software for digital collaboration, allowing teams to easily share and work on files seamlessly regardless of device or location. More than 100 million users worldwide already use ownCloud as an alternative to public clouds - and thereby opt for more digital sovereignty, security and data protection. To get the latest updates, please visit https://owncloud.com/newsroom/ or follow us on Twitter @ownCloud.

Media contacts

ownCloud GmbH
Franka Ellen Wittek
Head of Marketing
Rathsbergstraße 17
D-90411 Nuremberg
+49 911 14888690
few@owncloud.com
www.owncloud.com

PR-COM GmbH
Kathleen Hahn
Account Director
Sendlinger-Tor-Platz 6
D-80336 Munich
+49 89 599 97 763
kathleen.hahn@pr-com.de
www.pr-com.de

Felix Böhm, CTO at ownCloud (Source: ownCloud, September 2020)