matthias@nextcloud€¦ · matthias wobben [email protected] • working in berlin, germany...

37

Upload: others

Post on 05-Aug-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: matthias@nextcloud€¦ · Matthias Wobben matthias@nextcloud.com • working in Berlin, Germany • Senior Sales Engineer at Nextcloud Before: 3rd level IT Engineer and Administrator
Page 2: matthias@nextcloud€¦ · Matthias Wobben matthias@nextcloud.com • working in Berlin, Germany • Senior Sales Engineer at Nextcloud Before: 3rd level IT Engineer and Administrator

Matthias Wobben [email protected]

• working in Berlin, Germany

• Senior Sales Engineer at Nextcloud Before: 3rd level IT Engineer and Administrator at Systems Provider with focus on EFSS and collaboration portals

Page 3: matthias@nextcloud€¦ · Matthias Wobben matthias@nextcloud.com • working in Berlin, Germany • Senior Sales Engineer at Nextcloud Before: 3rd level IT Engineer and Administrator

An insiders look into scaling Nextcloud 3

I. Nextcloud in a nutshell II. Architecture III. Default Deployment IV. Example 1 | Education: Technical University Berlin V. Example 2 | Industry: Siemens VI. The idea behind Global Scale VII. Example 3 | Enterprise: Large-Scale Service provider

Agenda

Page 4: matthias@nextcloud€¦ · Matthias Wobben matthias@nextcloud.com • working in Berlin, Germany • Senior Sales Engineer at Nextcloud Before: 3rd level IT Engineer and Administrator

An insiders look into scaling Nextcloud 4

• secure, stable, flexible and scalable

• collaborative workspace and Enterprise File Sync and Share

• 100% open source

I. In a nutshell:

Page 5: matthias@nextcloud€¦ · Matthias Wobben matthias@nextcloud.com • working in Berlin, Germany • Senior Sales Engineer at Nextcloud Before: 3rd level IT Engineer and Administrator

An insiders look into scaling Nextcloud 5

II. Architecture

Page 6: matthias@nextcloud€¦ · Matthias Wobben matthias@nextcloud.com • working in Berlin, Germany • Senior Sales Engineer at Nextcloud Before: 3rd level IT Engineer and Administrator

An insiders look into scaling Nextcloud 6

II. Nextcloud

• server & app code

• PHP runtime

• web server

Page 7: matthias@nextcloud€¦ · Matthias Wobben matthias@nextcloud.com • working in Berlin, Germany • Senior Sales Engineer at Nextcloud Before: 3rd level IT Engineer and Administrator

An insiders look into scaling Nextcloud 7

II. Database

• MySQL/MariaDB or PostgreSQL

• stores everything except the binary files

• users, shares

• settings, …

Page 8: matthias@nextcloud€¦ · Matthias Wobben matthias@nextcloud.com • working in Berlin, Germany • Senior Sales Engineer at Nextcloud Before: 3rd level IT Engineer and Administrator

An insiders look into scaling Nextcloud 8

II. Files

• user uploaded files

• versions

• trash bin

• previews

• …

Page 9: matthias@nextcloud€¦ · Matthias Wobben matthias@nextcloud.com • working in Berlin, Germany • Senior Sales Engineer at Nextcloud Before: 3rd level IT Engineer and Administrator

An insiders look into scaling Nextcloud 9

II. Split it up

web server

database storage

Caching

Auth

Page 10: matthias@nextcloud€¦ · Matthias Wobben matthias@nextcloud.com • working in Berlin, Germany • Senior Sales Engineer at Nextcloud Before: 3rd level IT Engineer and Administrator

An insiders look into scaling Nextcloud 10

II. Capacity

storage cluster

load balanced web server

database cluster

up to 50.000 to 100.000 users

Auth

Caching

Page 11: matthias@nextcloud€¦ · Matthias Wobben matthias@nextcloud.com • working in Berlin, Germany • Senior Sales Engineer at Nextcloud Before: 3rd level IT Engineer and Administrator

An insiders look into scaling Nextcloud 11

III. Default Deployment

Page 12: matthias@nextcloud€¦ · Matthias Wobben matthias@nextcloud.com • working in Berlin, Germany • Senior Sales Engineer at Nextcloud Before: 3rd level IT Engineer and Administrator

An insiders look into scaling Nextcloud

• HAProxy • Virtual IP • Keepalived

12

III. Default Deployment

Page 13: matthias@nextcloud€¦ · Matthias Wobben matthias@nextcloud.com • working in Berlin, Germany • Senior Sales Engineer at Nextcloud Before: 3rd level IT Engineer and Administrator

An insiders look into scaling Nextcloud

• Apache, mod_php/php-fpm • PHP 7.1 recommended

13

III. Default Deployment

Page 14: matthias@nextcloud€¦ · Matthias Wobben matthias@nextcloud.com • working in Berlin, Germany • Senior Sales Engineer at Nextcloud Before: 3rd level IT Engineer and Administrator

An insiders look into scaling Nextcloud 14

III. Default Deployment

Page 15: matthias@nextcloud€¦ · Matthias Wobben matthias@nextcloud.com • working in Berlin, Germany • Senior Sales Engineer at Nextcloud Before: 3rd level IT Engineer and Administrator

An insiders look into scaling Nextcloud 15

Authentication

NFS/object store

III. Default Deployment

Page 16: matthias@nextcloud€¦ · Matthias Wobben matthias@nextcloud.com • working in Berlin, Germany • Senior Sales Engineer at Nextcloud Before: 3rd level IT Engineer and Administrator

An insiders look into scaling Nextcloud

• cache • high level file locking • less DB load • different servers for locking/caching

16

III. Default Deployment

Page 17: matthias@nextcloud€¦ · Matthias Wobben matthias@nextcloud.com • working in Berlin, Germany • Senior Sales Engineer at Nextcloud Before: 3rd level IT Engineer and Administrator

An insiders look into scaling Nextcloud

• master - slave • MySQL Galera recommended

17

III. Default Deployment

Page 18: matthias@nextcloud€¦ · Matthias Wobben matthias@nextcloud.com • working in Berlin, Germany • Senior Sales Engineer at Nextcloud Before: 3rd level IT Engineer and Administrator

An insiders look into scaling Nextcloud

• MaxScale or HAProxy • writes to master, reads to slaves

18

III. Default Deployment

Page 19: matthias@nextcloud€¦ · Matthias Wobben matthias@nextcloud.com • working in Berlin, Germany • Senior Sales Engineer at Nextcloud Before: 3rd level IT Engineer and Administrator

An insiders look into scaling Nextcloud

2012 First Review of Cloud Storage / Sync-n-Share solutions

2017

migration of 22.000 users to Nextcloud.

80.000 of 100.000.000 files are changed/moved on a daily basis 70 TB Storage

2018/2019

Collaboration Features, more partners and universities

19

IV. Example 1: Technical University Berlin

Page 20: matthias@nextcloud€¦ · Matthias Wobben matthias@nextcloud.com • working in Berlin, Germany • Senior Sales Engineer at Nextcloud Before: 3rd level IT Engineer and Administrator

An insiders look into scaling Nextcloud 20

IV. Example 1: Technical University Berlin

Page 21: matthias@nextcloud€¦ · Matthias Wobben matthias@nextcloud.com • working in Berlin, Germany • Senior Sales Engineer at Nextcloud Before: 3rd level IT Engineer and Administrator

An insiders look into scaling Nextcloud 21

IV. Example 1: Technical University Berlin

Page 22: matthias@nextcloud€¦ · Matthias Wobben matthias@nextcloud.com • working in Berlin, Germany • Senior Sales Engineer at Nextcloud Before: 3rd level IT Engineer and Administrator

An insiders look into scaling Nextcloud 22

IV. Example 1: Technical University BerlinReal world test: DB cluster CPU load (2 weeks before/after migration)

ownCloud 9 Nextcloud 11

Page 23: matthias@nextcloud€¦ · Matthias Wobben matthias@nextcloud.com • working in Berlin, Germany • Senior Sales Engineer at Nextcloud Before: 3rd level IT Engineer and Administrator

An insiders look into scaling Nextcloud 23

IV. Example 1: Technical University Berlin

Performance improvements and features by Nextcloud:

• Response time improvements by 60% • Reduced DB cluster CPU load by 40-50% in real world test. • Multi bucket object store support • Big LDAP performance improvements. Up to 85% faster. • Significant performance improvements in external storage handling • 60% faster propfinds • 60% faster transfer of small files

Page 24: matthias@nextcloud€¦ · Matthias Wobben matthias@nextcloud.com • working in Berlin, Germany • Senior Sales Engineer at Nextcloud Before: 3rd level IT Engineer and Administrator

An insiders look into scaling Nextcloud 24

1. Exchange of large files between customer and support

2. Customer provides files -> technician notified by ticket system

3. Technician can provide data to the customer as well

V. Example 2: Services Integration

Page 25: matthias@nextcloud€¦ · Matthias Wobben matthias@nextcloud.com • working in Berlin, Germany • Senior Sales Engineer at Nextcloud Before: 3rd level IT Engineer and Administrator

An insiders look into scaling Nextcloud 25

V. Example 2: Services Integration

Page 26: matthias@nextcloud€¦ · Matthias Wobben matthias@nextcloud.com • working in Berlin, Germany • Senior Sales Engineer at Nextcloud Before: 3rd level IT Engineer and Administrator

An insiders look into scaling Nextcloud 26

VI. The idea behind Global Scale

Pitfalls of the default deployment

• Components and WAN uplink will become bottlenecks

• Database particularly hard to scale beyond a 4 node Galera Cluster -> number of users and files are limited

• Scaling the storage becomes very expensive when dealing with PB of data

Page 27: matthias@nextcloud€¦ · Matthias Wobben matthias@nextcloud.com • working in Berlin, Germany • Senior Sales Engineer at Nextcloud Before: 3rd level IT Engineer and Administrator

An insiders look into scaling Nextcloud 27

VI. The idea behind Global Scale

Page 28: matthias@nextcloud€¦ · Matthias Wobben matthias@nextcloud.com • working in Berlin, Germany • Senior Sales Engineer at Nextcloud Before: 3rd level IT Engineer and Administrator

An insiders look into scaling Nextcloud 28

VI. The idea behind Global Scale

• Scalability > 500k users • Global distribution • Cost efficiency

• Independent nodes • Federated sharing between nodes • Lookup Server • Global Site Selector • Balancer

• First release in Nextcloud 12 • Refined user distribution logic in 13 • In production since 6 month for 10M users

Page 29: matthias@nextcloud€¦ · Matthias Wobben matthias@nextcloud.com • working in Berlin, Germany • Senior Sales Engineer at Nextcloud Before: 3rd level IT Engineer and Administrator

An insiders look into scaling Nextcloud 29

VI. The idea behind Global Scale

Solution

• Many independent application servers

• No central DB, storage or caching instances

• Every Nextcloud node can use the default deployment

Page 30: matthias@nextcloud€¦ · Matthias Wobben matthias@nextcloud.com • working in Berlin, Germany • Senior Sales Engineer at Nextcloud Before: 3rd level IT Engineer and Administrator

An insiders look into scaling Nextcloud 30

VI. The idea behind Global Scale

Solution

• A Node can be hosted in different hosting centers

• No fast interconnect between the sites is necessary

• User is local to a node, user data exists only in this local node

• Sharing via federation

Page 31: matthias@nextcloud€¦ · Matthias Wobben matthias@nextcloud.com • working in Berlin, Germany • Senior Sales Engineer at Nextcloud Before: 3rd level IT Engineer and Administrator

An insiders look into scaling Nextcloud 31

VII. Example 3: Large-Scale Service provider

Request: • Cloud storage for millions of users • Multi-national distribution

Requirements: • Cost efficiency • Independent nodes • Single Interface

Page 32: matthias@nextcloud€¦ · Matthias Wobben matthias@nextcloud.com • working in Berlin, Germany • Senior Sales Engineer at Nextcloud Before: 3rd level IT Engineer and Administrator

An insiders look into scaling Nextcloud 32

VII. Example 3: Large-Scale Service provider

Page 33: matthias@nextcloud€¦ · Matthias Wobben matthias@nextcloud.com • working in Berlin, Germany • Senior Sales Engineer at Nextcloud Before: 3rd level IT Engineer and Administrator

An insiders look into scaling Nextcloud 33

VII. Example 3: Large-Scale Service provider

Page 34: matthias@nextcloud€¦ · Matthias Wobben matthias@nextcloud.com • working in Berlin, Germany • Senior Sales Engineer at Nextcloud Before: 3rd level IT Engineer and Administrator

Nextcloud supports you!

Scale with us

Contact us at

[email protected]

Page 35: matthias@nextcloud€¦ · Matthias Wobben matthias@nextcloud.com • working in Berlin, Germany • Senior Sales Engineer at Nextcloud Before: 3rd level IT Engineer and Administrator

Your Questions

Page 36: matthias@nextcloud€¦ · Matthias Wobben matthias@nextcloud.com • working in Berlin, Germany • Senior Sales Engineer at Nextcloud Before: 3rd level IT Engineer and Administrator

Thank you!

Page 37: matthias@nextcloud€¦ · Matthias Wobben matthias@nextcloud.com • working in Berlin, Germany • Senior Sales Engineer at Nextcloud Before: 3rd level IT Engineer and Administrator

Nextcloud supports you!

Scale with us

Contact us at

[email protected]