Redis-Server für mehrere Nutzer bereitstellen

For topics beyond KeyHelp. / Für Themen jenseits von KeyHelp.
Post Reply
Blackmoon
Posts: 345
Joined: Sat 1. Dec 2018, 16:42

Redis-Server für mehrere Nutzer bereitstellen

Post by Blackmoon »

Hallo zusammen,
ich zerbreche mir seit einigen Tagen den Kopf bezüglich der Bereitstellung von Redis Server auf KeyHelp Servern. Und zwar primär bezüglich Skalierung des Speicherplatzes als auch Security. Was mit einer Instanz für einen Nutzer angefangen hat, nimmer langsam aber sicher über Hand. Mehr und mehr Nutzer möchten in absehbarer Zeit Redis für das jeweilige CMS nutzen.

Eine zentrale Instanz
Die Instanz kann mit einem Passwort gesichert werden. Das hat den Vorteil, dass erst einmal nur berechtige Nutzer auf die Instanz zugreifen können.

Mit Hilfe von ACLs (Nutzer + Passwort) kann granular auf Keys/Prefixes (z.B. wp2023_") Berechtigungen gesteuert werden. Zusätzlich ist es über rename-command verschiedene Redis Befehle umzubenennen oder sogar zu deaktivieren. Das Plugin für WordPress benötigt zur vollen Funktionsfähigkeit den Befehl FLUSHDB.

Mit Hilfe der 0-15 Database (für mich sind das eher Spaces) kann ich die Nutzer schön verteilen. Ist man konsequent, so ist der Redis Server nach 16 Nutzern eigentlich belegt. Entschließt man sich dazu, dass eine Database von mehreren Nutzern genutzt, wird spätestens bei einem FLUSHDB von Nutzer A, Nutzer B dankbar sein.

Unabhängig davon ist nicht steuerbar, welcher Nutzer wie viel RAM der Instanz nutzen darf. Sondern es gilt meinem Verständnis nach "Wer zuerst kommt, mahlt zuerst.". Das wird früher oder später vermutlich ebenfalls Unmut auf sich ziehen.

Eine Instanz für jeden Nutzer
Die Instanz kann mit einem Passwort gesichert werden. Das hat den Vorteil, dass erst einmal nur berechtige Nutzer auf die Instanz zugreifen können.

Hat der Nutzer mehrere CMS im selben oder verschiedenen Benutzerkonten, kann er diese bequem über die Database verteilen, wie der Bedarf eben ist. Somit ist der Kreativität keine Grenzen gesetzt.

Durch die dedizierte Instanz ist eine Umbenennung oder Deaktivierung von Befehlen (bis auf evtl. SHUTDOWN) nicht mehr erforderlich. Aus Sicht des Nutzers sind somit fast keine Grenzen bezüglich der Konfiguration von Benutzern, ACLS, etc. gegeben. Er hat seine Freiheiten.

Des Weiteren ist sichergestellt, dass der Nutzer ausschließlich den verfügbaren RAM belegt und somit keine Auswirkungen auf andere Nutzer hat. Es gibt keine Überschneidungen mehr.

Fazit
Beide Varianten haben Ihre Vor- und Nachteile bezüglich der Einrichtung, Konfiguration, Wartung Sicherheit für unsere Administratoren. Damit verbunden natürlich auch jeweils die Einschränkung bzw. Verantwortung für die Nutzer.

Fragen
  • Gibt es hier jemand der eine der beiden Varianten bereits nutzt und kann praktische Erfahrungen darlegen?
  • Gibt es evtl. noch eine weitere Variante, an die ich bisher nicht gedacht habe?
  • Gibt es seitens KeyHelp Bestrebungen, dass absehbarer Seit standardmäßig Redis Server bereitgestellt wird? Dann könnte ich mir evtl. das Hirnschmalz, Nerven und Zeit sparen. ;-)

Grüße
Post Reply