Select your language

× LET'S MEET IN PERSON!

After exhibiting at the event last year, RCA Systems will be again present at 19ENISE, the benchmark event in the cybersecurity sector in Spain.

Come and visit our stand to speak about cybersecurity in digital collaboration!

We wait for you at our stand on Tuesday 14th and Wednesday 15th October at Palacio de Congresos y Exposiciones in León.

System Architecture Consulting

Classical system architecture of Nextcloud is based on a standard LAMP-like stack. "Classical" because for some use cases we can make reference to Global Scale as target architecture, and there things are a little bit different.

Core components are storage, database, cache and web server. For scalability and high-availability purposes each component is independent and should be treated as such.

When we design a new system that should be able to withstand a given number of active users, we are faced with a number of tough decisions and each decision leads to a different path in the decision trees.

A few examples:

  • Should I design the system as stand-alone (all the services run there) or a distributed one? If deciding for the latter option, should it be since the beginning fully distributed (1 service per system)?
  • What capacity and hardware resources utilization should we expect from the database, based on a given usage scenario?
  • Which will be the main purpose of the service in the coming 12 months? Just files sync and share, or users, say will need groupware as well?
  • Should I opt for object storage or filesystem to host Nextcloud data directory that is its primary storage?
  • What are the implications of choosing an external SaaS storage provider in terms of security?
  • What is best web server all-in-all, Apache2, Nginx or others?
  • Do we need a clustered database?
  • Is my disaster recovery strategy robust?

All these questions and many more came up in past assignments we have been involved in.

We make our skills and experience available to clarify your questions and to make system design decisions available in the long run.