Would you like to have the easy of use of cloud storage and file syncing but without the trust issues or costs that come with using public cloud services? Do you like Dropbox but hesitate to use it? What you might be looking for is OwnCloud, the open source software you can run to host your own private cloud storage.
The development of ownCloud was started by Frank Karlitschek in 2010 and over the years it has evolved into the most popular open source cloud storage and file syncing software suite in the world. The code is licensed using AGPLv3 and the open source project is hosted at owncloud.org. Karlitschek also started the company OwnCloud Inc. which provides an Enterprise Edition that is useful for larger entities that run big OwnCloud installations with thousands of users.
The main component of OwnCloud is the server software written in modern PHP which uses a database (e.g. MariaDB) and files on the disk as backend. The server software provides both, a browser based UI and a webdav interface for syncing clients. There are syncing clients for Linux desktops, Windows, Mac OSX, Android and IOS, so with OwnCloud you can have your files synced across all your devices.
Open source and open standards
One of the really nice things about OwnCloud is that the architecture is built around open standards and you can connect to OwnCloud using any WebDAV capable software. It is likely that you can make your mobile phone sync contacts and calendar events using the iCard and iCal standards directly with an OwnCloud server without installing any new software. If you value your privacy a lot, then you could build a pretty good setup using an OwnCloud server and a Jolla, a phone which does not by default sync your data to any external server.
Open standards are also prominent when viewing the OwnCloud settings, that allow so many ways to integrate with various file storage backends and user authentication (SMB/CIFS, LDAP/AD etc).
Using WebDAV also has its drawbacks, like the need to transfer complete files instead of just the changed parts like other protocols like rsync do. This issue is very popular at the syncing client Github site and hopefully it will be addressed in some way eventually. There are also some other small annoyances, but on the other hand it has been amazing to see how much ownCloud has developed and gained popularity during the last 1-2 years. Today OwnCloud released the version 7 beta bringing once again a bunch of new features and usability refinements of the old features.
And when it comes to features, OwnCloud has an incredible amount of them. Besides the basic file uploading, downloading and sharing options there are loads of additional features that are not found in other similar software, such as the ability to create groups and define fine grained access rules and link settings to files shared from the owner to others. Users can also view old revisions of files and recover them in case of accidentally deleting some file. There is a good search feature that also looks inside the contents of the files. The search can be written of spoken thanks to voice detection.
In the web user interface you can also edit some files directly inline in the browser. In fact ownCloud is one of the biggest drivers in the development of WebODF, the browser based OpenDocument editor. If OwnCloud finds pictures among the files it hosts, it will automatically also show them in the gallery app.
Wait, there’s even more! Aside the file syncing and storage features, OwnCloud also hosts contacts and calendars. By activating the so called OwnCloud apps, users can enable even more features and applications that utilise the data stored in OwnCloud and that are used via the browser. There are multiple built-in apps ready and more apps can be installed from the app directory at apps.owncloud.com. Popular integrations are for example using the webmail app RoundCube inside ownCloud. Some companies have developed their own OwnCloud apps and built a complete intranet around ownCloud.
Benefits of private cloud: security and costs
Deploying OwnCloud or any other software to build your self-hosted private cloud solution requires of course a bigger initial investment compared to the public cloud offerings where everything is hosted for you and you only need to setup the client side. One might wonder what the benefits of a on-premises solution are?
The most prominent benefit is increased security and privacy. Since the revelations in 2013 it has been a well known fact that even respected western governments like the US force their own companies to give them full access to the data they host. Little has been published about the criminal acts that have been stopped by spying activities, so we can only conclude that this huge investment in online spying must be justified by economical gains in traditional industrial espionage. So it might be very relevant for a company to secure their data in a private cloud instead of a public cloud. On the other hand, most companies use Windows desktops to access all their data, so they will leak their data from the client side anyway. Also, most companies will not be able to hire the level of security experts big cloud companies provide, so their installations are probably not as well secured as bigger sites. On the other hand, bigger sites are targets for a lot of active intrusions all the time, while small private sites are less likely to be at least randomly targetted. Security is hard to do right, but at least it is good that an option like ownCloud is available.
Another but less prominent benefit is cost. Cloud storage seems to be easy and cheap, but it is actually still many times more expensive than what the underlying hardware and infrastructure is. As the hardware market is very competitive, anybody can buy many terabytes of cheap hard drives and set up an OwnCloud server big enough to host all the company data for the price of three months of rented 1 TB storage. Many companies also pay extra if they have a lot of traffic in their internet uplink. Hosting the terabyte scale storage on-premises will be a much cheaper solution, and accessing files from a locally hosted server will surely also be much faster than over a congested uplink.
How to get started using OwnCloud?
Anybody with access to a Linux server can simply head to owncloud.org, download it and start using it straight away. From a company perspective it might be good to be in contact with one of the official OwnCloud partners or some other Linux support company, like Seravo. OwnCloud is certainly worth keeping an eye on for any CTO who cares about the ability to control your own data.
Presentation in Finnish
The slides in Finnish presented at the Seravo Salad event on 2014-05-22 are also available: