Next Level: gridSQL & gridStore
Mit PaaS bei Tech4Hosting bringen wir unsere Infrastructure-as-a-Service Leistungen auf ein neues Level. Die Platform-as-a-Service Dienste von Tech4Hosting sind unterteilt in gridSQL und gridStore. Mit gridSQL kannst du klassische Datenbanken wie MySQL, MariaDB oder PostgreSQL starten, während du mit gridStore datenstrukturorientierte Services wie Redis oder Memcached starten kannst. Unsere PaaS-Angebote ermöglichen es dir dein Development zu beschleunigen, bieten einfache Skalierbarkeit und somit mehr Flexibilität. Du musst dir keinerlei Gedanken mehr um serverseitige Themen machen, going Live ist mit nur wenigen Klicks in deinem Tech4Hosting Panel erledigt. Um die zuverlässige und sichere Konfiguration sowie Wartung deiner Datenbank kümmern wir uns.
In diesem Getting Started erkläre ich dir alles rund gridSQL und gridStore. Zusammen mit dir bilde ich zwei Use-Cases „Hello, gridSQL!“ und “Hello, gridStore!” für eine MySQL und redis Instanz. Die Schritt-für-Schritt Beispiele umfassen alle wichtigen Information rund um die Erstellung eines Services innerhalb deines Tech4Hosting Panels und zeigen dir, wie du dich mit den jeweiligen PaaS-Diensten verbindest.
In Zukunft werden wir weitere Services und innovative Features für dich bereitstellen. Bei Fragen, Anregungen oder Wünschen haben wir bei Tech4Hosting immer ein offenes Ohr für dich: Schreib einfach eine E-Mail an [email protected].
Wie verbinde ich zu einem PaaS-Dienst?
Alle Tech4Hosting PaaS-Dienste sind über IPv6 und den entsprechenden Port zu erreichen. Nach der Erstellung von einem PaaS-Dienst, in deinem Tech4Hosting Panel, wird automatische eine neue Security Zone generiert. Um dich mit einem Paas-Dienst zu verbinden, musst du einen Server innerhalb deines Dashboards mit der neuen Security Zone verbinden. Deine PaaS-Dienste sind nur von Servern, die sich in der gleichen Security Zone wie dein PaaS-Dienst befinden, erreichbar.
Was ist eine PaaS Security Zone?
Security Zones sind normale Netzwerke, du findest sie auf deinem Dashboard im Tech4Hosting Panel. Eine Security Zone wird bei der Erstellung von einem PaaS-Dienst generiert. Die Tech4Hosting PaaS-Dienste befinden sich aus Sicherheitsgründen in einer anderen Network Zone und sind deswegen nicht mit dem Internet – Public Network verbunden.
Hello, gridStore! – redis
In dem nachfolgenden Anwendungsbeispiel erstellen wir eine redis Platform-as-a-Service Instanz auf Tech4Hosting. redis ist eine Open-Source In-Memory-Datenbank zum speichern von Key/Value Datenstrukturen und gehört zum Bereich der NoSQL Datenbanken. Bekannt ist redis für seine Flexibilität und extreme Schnelligkeit. Zu den häufigsten Anwendungsfällen von redis gehört Session caching und Full Page cache (FPC).
Schritt 1: gridStore im Panel aufrufen
Gehe auf das seitliche Menü innerhalb deines gridcale Panels, um gridStore aufzurufen. Über einen Klick auf „Menü anpassen“ kannst du gridStore sichtbar machen. Optional kannst du den Link zu gridStore, mit einem Klick auf die Checkbox, fest in dein Menü aufnehmen.
Schritt 2: Platform-as-a-Service erstellen
Nachdem du in den Bereich gridStore gewechselt bist, wählst du nun “gridStore Service erstellen” aus. In dem sich darauf öffnenden Menü kannst du deinen gridStore Service definieren:
Unter Typ wählst du redis aus, bestimmst welche Leistungsklasse du für die redis Datenbank bereitstellen willst und vergibst einen Namen.
Nach wenigen Sekunden Provisioning Zeit erscheint der aktive gridStore Service im PaaS Menü.
Die Tech4Hosting PaaS-Dienste sind IPv6 only. IPv6-Adresse, Port, sowie alle Detailinformationen zu deinem spezifischen gridSQL oder gridStore Service sind über einen Klick, auf die Service Kachel, aufrufbar. Verbindungsinformationen für deinen Service lassen sich hier ganz bequem in verschiedenen Ausführungen (Connection string, Connection parameters, Flags) kopieren.
Mit der Erstellung eines PaaS-Dienst wird darüber hinaus automatische eine Security-Zone angelegt. Die neue Security-Zone taucht in deinem Tech4Hosting Panel unter Netzwerke auf.
Die Tech4Hosting PaaS-Dienste sind nicht mit dem Public-Network verbunden. Um deine PaaS Instanz aufzurufen, musst du einen Server zu der neu generierten Zone hinzufügen.
Dafür wechselst du auf deinem Dashboard in die Detailansicht von dem Server, den du mit dem PaaS-Dienst verbinden willst. Über das + bei Verbundene Netzwerke fügst du die neue Security-Zone hinzu (beachte das es nur im ausgeschalteten Zustand möglich ist ein neues Netzwerk hinzuzufügen).
Schritt 3: Mit redis verbinden
Du verbindest dich in der Regel über redis-cli mit deinem redis Platform Service. redis-cli ist das Command-Line-Interface von redis, es erlaubt dir über dein Terminal Befehle direkt an den redis Server zu senden und dessen Antworten zu empfangen.
Das redis-cli lässt sich auf zwei verschiedene Arten ansteuern, im Interactive-Mode und über angehängte Argumente. Im weiteren Verlauf interagieren wir mit der Redis-Instanz im Interactive-Mode. Dieser bietet eine gute User-Experience und deckt alle basic Aufgaben ab.
Wenn du dich mit dem redis-cli vertraut gemacht hast, lassen sich damit auch weitaus anspruchsvollere Aufgaben durchführen. Hier empfiehlt sich ein Blick in die redis Dokumentation zu werfen.
redis-tools installieren
Das redis Command-Line-Interface ist Teil des Paketes redis-tools. Nutze den nachfolgenden Befehl für eine Installation von redis-tools unter Ubuntu / Debian.
Ubuntu/Debian:
apt-get install redis-tools
Verbindung aufbauen
Führe folgenden Befehl aus um dich via redis-cli mit deinem redis-PaaS zu verbinden:
redis-cli -h [Deine-IPv6-Adresse]
Den Port brauchen wir für das Verbinden nicht weiter zu spezifizieren, da die Connection über den Default-Port läuft.
Verbindung testen
Nach dem Verbinden kannst du deine Connection mit ein paar simplen redis Befehlen testen:
[fcfc::1:30e8:60ff:fe66:----]:6379> set hello "PaaS bei Tech4Hosting"
OK
[fcfc::1:30e8:60ff:fe66:----]:6379> get hello
"PaaS bei Tech4Hosting"
[fcfc::1:30e8:60ff:fe66:----]:6379>
Weiterführende Informationen und Befehle zur Bedienung von redis-cli findest du unter diesem Link: redis-cli, the Redis command line interface.
Hello, gridSQL! – MySQL
In meinem zweiten Anwendungsbeispiel erstelle ich mit dir einen gridSQL Service. Die beiden ersten Schritte „gridStore im Tech4Hosting Panel aufrufen“ und „Platform-as-a-Service erstellen“ entsprechen Schritt 1 und 2 aus meinem redis Use Case weiter oben (anstelle von gridStore muss hier lediglich gridSQL ausgewählt werden).
Zugangsdaten für den gridSQL Service
Bei der Erstellung eines MySQL oder PostgreSQL Service werden automatisch Zugangsdaten (Benutzername und Initialpasswort) generiert. Diese findest du in der Detailansicht des jeweiligen Service im gridSQL Panel Bereich, hier kannst du deine Anmeldeinformationen in verschiedenen Varianten in deine Zwischenablage kopieren (als Connection string, Flags, PDO, usw.)
Wir empfehlen ausdrücklich das generierte Passwort sofort nach der Installation zu ändern!
Mit MySQL verbinden
Um dich mit dem MySQL-Service zu verbinden, benötigst du den mysql-client oder alternativ mariadb-client.
Unter Ubuntu/Debian installierst du mysql-client mit:
apt-get install mysql-client
Nach der Installation des Clients kannst du dich über die IPv6 Adresse sowie Port und die generierten Zugangsdaten mit deinem dem Service verbinden. Denke daran, dass sich der Server, von dem du dich zu deinem Service verbindest, in der gleichen Security Zone wie der PaaS Service selbst befinden muss.
Die Syntax zum Verbinden zu MySQL sieht wie folgt aus:
mysql --host=[Deine-IPv6-Adress] --user=[Dein-generierter-Username] --password=[Dein-generiertes-Passwort]
Nach erfolgreicher Anmeldung siehst du auf deinem Server Terminal einen mysql Prompt.
An dieser Stelle kannst du deine Datenbank mit einem simplem SHOW DATABASES; Befehl testen und weitere Operationen durchführen. Ausführlichere Informationen zur Bedienung findest du in der MySQL Dokumentation.
mysql> SHOW DATABASES;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.00 sec)
mysql>