Professionelle Server-Virtualisierungslösungen, wie VMware ESXi, haben inzwischen bemerkenswerte Fähigkeiten. Komplexe Netzwerke nachzubilden, Einfrieren des Zustands eines Servers mittels eines Mausklicks, Migration im laufenden Betrieb und nahezu unbegrenzte Skalierbarkeit, sind einige davon. Kein Wunder, dass es in vielen Firmen längst an der Tagesordnung ist, Anwendungsserver virtuell zu betreiben.

Ein paar Details zur Virtualisierung

Unter Virtualisierung versteht man in diesem Zusammenhang die Nachbildung von Hardwareplattformen durch Software. Je nach Art der Virtualisierung, kann es sich auch um eine Abstraktion der physikalischen Hardware vor dem virtuellen System handeln. Die Software teilt dem Gastsystem reale Ressourcen zu. Die für die Abstraktionsebene zuständige Software wird Hypervisor genannt.

Man unterscheidet grob in zwei Varianten der Virtualisierung:

-Vollständige Virtualisierung: Hierbei wird die Hardware komplett durch Software nachgebildet. Vorteilhaft ist, dass beispielsweise auf einem X86-System abweichende Prozessorplattformen wie ARM verwendet werden können, etwa um Software zu testen. Nachteilig ist, dass diese Methode sehr langsam ist.

-Paravirtualisierung mit oder ohne Hardwareunterstützung: In der ersten Variante werden die Gastsysteme angepasst und verwenden, nach Zuteilung durch den Hypervisor, die physikalische Hardware des Hostrechners. Dies bringt Geschwindigkeitsvorteile. In der zweiten Variante müssen die Prozessoren für die Virtualisierung optimiert sein. Moderne Prozessoren haben diese Funktionalität in der Regel. Bei Intel heißt die Technik VT-X, bei AMD nennt sie sich AMD-V.

Zudem werden Hypervisoren in zwei Typen kategorisiert:

-Typ 1-Hypervisor: Diese laden ein rudimentäres Betriebssystem mit dem Hypervisor. Eine Bedienung ist über die Kommandozeile oder ein Webinterface von einem entfernten Rechner möglich.

-Typ 2-Hypervisor: Das Wirtssystem ist ein vollständiges Betriebssystem. Der Hypervisor wird von diesem geladen und kann wie eine Software bedient werden.

VMWare ESXi ist ein Typ-1-Hypervisor und verwendet Paravirtualisierung mit Hardwareunterstützung.

Einzelheiten zu VMWare ESXi

VWMware stellte den ESXi-Server erstmals 2001 vor. In der Anfangszeit bot der Virtualisierungsspezialist parallel den ESX-Server an, bei dem es sich um die umfassendere Lösung handelte. Die Weiterentwicklung von ESX wurde inzwischen eingestellt. VMWare ESXi ist Bestandteil der Virtualisierungsplattform vSphere. Weitere Bestandteile sind beispielsweise der vCenter Server zur Verwaltung von VMWare ESXi und das vCenter zur Automatisierung der Verwaltung von virtuellen Maschinen. ESXi verhält sich nach der Installation wie ein rudimentäres Linux-System. Auf einer textbasierten Eingabemaske lässt sich beispielsweise das Netzwerk konfigurieren.

Die eigentliche Administration erfolgt später von einem entfernten Rechner, mit der Software vSphere Client. Dort hat der Administrator die Möglichkeit, virtuelle Maschinen anzulegen und zu verwalten. Zudem ist es möglich, Netzwerke inklusive virtueller Komponenten, wie Switche und Router, einzurichten. Speicher kann auch extern eingebunden werden, etwa per iSCSI.

Für die virtuellen Maschinen können detaillierte Einstellung für die zur Verfügung stehende Hardware gemacht werden. Es ist möglich, Vorlagen für bestimmte virtuelle Maschinen anzulegen. Hieraus kann ein virtuelles System in sehr kurzer Zeit erstellt werden.

Die virtualisierten Systeme sind zudem einfach zu exportieren, etwa zur Sicherung oder zur Migration. Sinnvoll ist die Snapshot-Funktion, mit der Systeme eingefroren werden. So können Änderungen, beispielsweise zu Testzwecken, auf eine temporäre Festplatte (Delta) geschrieben werden. Später kann entschieden werden, ob zu einem Snapshot zurückgesprungen oder das Delta übernommen werden soll.

Hardware, etwa Lizenz-Dongles, dürfen sowohl am ESXi-Server zur Verfügung gestellt werden, als auch an durchgereichten USB-Schnittstellen aufrufender Rechner. Es werden verschiedene Ausführungen des aktuellen vSphere mit der Versionsnummer 6 angeboten. Einige hiervon sind:

-vSphere Hypervisor: Ist die kostenlose, im Funktionsumfang eingeschränkte, Version. Diese kann nur auf einem physikalischen Server mit einem Prozessorkern verwendet werden.

-vSphere Essentials: Ist die kleinste kostenpflichtige Variante. Sie darf auf drei physikalischen Servern betrieben werden. Zudem ist ein zentrales Management möglich.

-vSphere Standard: Sieht keine Beschränkungen bei der Anzahl von Servern vor. Die Anzahl der virtuellen Kerne pro Gast ist aus 128 begrenzt. Sie bietet zudem Features wie die Migration von Systemen im laufenden Betrieb.

-vSphere Platinum: Ist das Spitzenprodukt. Es beinhaltet unter anderem zusätzliche Sicherheitsmodule von Drittanbietern und Netzwerk-Monitoring.

Anwendungsgebiete und Vorteile von VMware ESXi

Gebräuchlich ist VMWare ESXi im Bereich der Server-Virtualisierung (vServer). Im Firmenumfeld werden so beispielsweise Server nach Anwendungszweck getrennt. Zudem können kurzfristig Spezialrechner, wie Workstations bereitgestellt werden.

Vorteilhaft ist die Skalierbarkeit. Hardwareressourcen sind kurzfristig an die Anforderungen anpassbar. Eine Ausfallsicherheit ist durch den Umstand gegeben, dass die Vorlagen eines Systems in sehr kurzer Zeit auf neue Hardware migriert werden können.

Wird VMware ESXi bei einem Hosting-Anbieter auf einem gemieteten Server betrieben, ist es sogar möglich, Kosten zu sparen. Man zahlt dort in der Regel nur die tatsächlich verwendeten Ressourcen.

Alternativen

Insbesondere zur Virtualisierung von Servern gibt es einige Alternativen zu VMWare ESXi. Microsoft bietet mit Hyper-V ein ähnliches System auf kommerzieller Basis an. Dieses gibt es als Typ-1-Hypervisor und, beispielsweise in Windows Server 2019 und Windows 10 Enterprise eingebunden, als Typ-2-Hypervisor.

Eine auf KVM/QEMU basierende Lösung ist der PROXMOX-Server. Hierbei handelt es sich um ein kostenloses Linux-Server-Betriebssystem. Im OpenSource-Bereich ist der von der Universität Cambridge entwickelte Hypervisor XEN eine weitere Alternative.

Bei SSL-Zertifikaten handelt es sich um kleine Datendateien. Sie dienen dazu, einen einzigartigen kryptografischen Schlüssel digital an eine Organisation und deren Details zu binden. Typischerweise installiert man ein SSL-Zertifikat auf einem Webserver. Hier dient es dazu, das Sicherheitsschloss sowie das https-Protokoll zu aktivieren und mit dessen Hilfe den Port 443 zur Kommunikation zu nutzen. Auf diese Weise ermöglicht das SSL-Zertifikat sichere Verbindungen von einem Webserver zu einem Browser, der typischerweise von Clients genutzt wird. Man verwendet ein SSL-Zertifikat unter anderem, um eine sichere Verschlüsselung bei Datenübertragungen, Kreditkartentransaktionen und Logins auf Websites zu erzielen. Auch auf vielen Social Media Seiten nutzt man SSL-Verschlüsselung, um sicheres Browsen zu ermöglichen.

SSL-Zertifikat als Garant für sichere Übertragung

Im Zusammenhang mit der sicheren Datenübertragung von und zu einer Website ist oft von einem Zertifikat die Rede. Doch worum handelt es sich dabei überhaupt und wie trägt ein SSL-Zertifikat dazu bei, dass verschlüsselte Senden und Empfangen von Daten im World Wide Web zu ermöglichen?

Was beinhaltet ein SSL-Zertifikat?

SSL-Zertifikate dienen dazu, einen Domainnamen bzw. einen Server- oder Hostnamen an eine Organisationsidentität zu binden. Dabei handelt es sich um den Unternehmensnamen und den Standort des Unternehmens. Um sichere Sitzungen mit gängigen Webbrowser zu ermöglichen, ist es notwendig, dass das betreffende Unternehmen bzw. die Organisation das SSL-Zertifikat auf seinem bzw. ihrem Webserver installiert. Sobald dies geschehen ist, haben Clients mittels eines Browsers die Möglichkeit, eine sichere Verbindung mit dem Webserver herzustellen. Dies ist möglich, weil das Zertifikat dem Server befiehlt, diese Verbindung zuzulassen. Ist die sichere Verbindung mit dem Webserver des Unternehmens erst einmal hergestellt, st der gesamte Datenverkehr zwischen Browser und Server sicher, das heißt verschlüsselt.

Woran kann man erkennen, dass eine Website ein SSL-Zertifikat besitzt?

Alle gängigen Webbrowser zeigen dem Nutzer in oder in der Nähe der Adresszeile an, ob die aktuelle Verbindung zu einem Webserver sicher ist. Einerseits weist bereits das „https“ in einer Webadresse darauf hin, dass es sich um eine Verbindung handelt, die durch ein SSL-Zertifikat gesichert ist. Darüber hinaus erscheint bei einer gesicherten Verbindung ein Schloss-Symbol in der Adresszeile. Sobald dieses Schloss geschlossen dargestellt wird, ist die Verbindung zum Server gesichert und alle Daten werden verschlüsselt übertragen.

Welche Voraussetzungen müssen für den Erhalt eines SSL-Zertifikats erfüllt sein

Ehe ein SSL-Zertifikat an ein Unternehmen oder eine Organisation erteilt wird, muss diese verschiedene Stufen der Überprüfung bestehen. Abhängig vom Typ des beantragten Zertifikats kommen hierbei unterschiedliche Prüfverfahren zur Anwendung. Erst wenn alle Überprüfungen erfolgreich waren, wird das SSL-Zertifikat erteilt und kann anschließend von der Organisation auf dem eigenen Webserver installiert werden.

Welcher Grad der Verschlüsselung erfolgt mit einem SSL-Zertifikat?

SSL-Zertifikate sichern den Datenaustausch zwischen Server und Browser mithilfe unterschiedlich starker Verschlüsselungsalgorithmen. Die derzeit sicherste Art der Verschlüsselung wird mithilfe einer 2048-Bit Technologie erzielt.

Wo können die Details eingesehen werden?

Als Verbraucher kann man sich die Details zum SSL-Zertifikat einer Website anzeigen lassen, indem man auf das Sicherheitsschloss in der Adresszeile klickt und den Menüpunkt „Zertifikat anzeigen“ anklickt. Indem man sich den Zertifizierungspfad für ein SSL-Zertifikat anzeigen lässt, erhält man die Möglichkeit, sich über das verwendete Root-Zertifikat zu informieren.

Was ist ein Root-Zertifikat?

Bei einem Root-Zertifikat handelt es sich um das Zertifikat einer vertrauenswürdigen Zertifizierungsstelle, die berechtigt ist, mit seiner Hilfe SSL-Zertifikate für Organisationen zu generieren. Nur wenn das betreffende Root-Zertifikat auf dem Computer des jeweiligen Endbenutzers vorhanden ist, wird diesem Zertifikat vertraut. Ist dies nicht der Fall, gibt der Browser die Fehlermeldung für eine nicht vertrauenswürdige Website aus. Dies kann zu schnellem Vertrauensverlust, vor allem im E-Commerce-Bereich führen. Daher ist stets darauf zu achten, dass ein SSL-Zertifikat auf einem vertrauenswürdigen Root-Zertifikat beruht.

Das SSL-Zertifikat im Zusammenhang mit der Verwundbarkeit einer Website

 

Spricht man über die Verwundbarkeit / Vulnerability einer Website, so ist deren Anfälligkeit gegenüber Angriffen durch Hacker gemeint. Diese kann unter anderem dadurch entstehen, dass ein veraltetes SSL-Zertifikat bzw. eine ältere Version von SSL verwendet werden. Hierdurch kann es einem Angreifer gelingen, sensible Daten von der Website zu erhalten, die eigentlich verschlüsselt und sicher übertragen werden sollten. Aus diesem Grund ist es wichtig, stets die aktuellste Version von SSL sowie ein aktuelles SSL-Zertifikat zu verwenden.

SSL und die Cipher Suite

Ist von einem SSL-Zertifikat die Rede, wird dabei häufig der Begriff Cipher Suite verwendet. Hierbei handelt es sich um nicht anderes als den kompletten Satz an Algorithmen, die notwendig sind, um eine Netzwerkverbindung mittels SSL zu verschlüsseln. Unter anderem zählen hierzu die Algorithmen zum Schlüsselaustausch, für die Authentifizierung sowie für die Massenverschlüsselung. Somit dient die Cipher Suite dazu, wann mithilfe eines SSL-Zertifikats welche Ver- und Entschlüsselungsverfahren angewandt werden.

Bei einer CPU bzw. einem Prozessor handelt es sich um das „Gehirn“ oder „Herzstück“ elektronischer Geräte. Eine CPU stellt einen unverzichtbaren und einen der wichtigsten Bestandteile aller elektronischer Geräte dar, die eine gewisse Rechenleistung erbringen müssen. Prozessoren kommen beispielsweise neben Computern auch in Smartphones, Tablet-PCs oder digitalen Kameras zum Einsatz. Ein Prozessor ist in der Lage, Milliarden von Rechenoperationen pro Sekunde auszuführen und wird nach seiner Performance und Architektur in unterschiedliche Klassen eingeteilt. Die bekanntesten CPU-Produzenten im Computer-Bereich sind AMD und Intel.

Welche Aufgaben übt eine CPU aus?

Die CPU ist eine der ersten Befehlsempfänger in einem elektronischen Gerät. Sie registriert, welche Aufgaben vom Anwender angefordert werden und leitet diese dann an die entsprechende Stelle bzw. die zuständige Komponente weiter. Der Hauptprozessor als zentrale Steuereinheit liest beispielsweise aus dem RAM-Speicher (Arbeitsspeicher) Daten aus und analysiert kontinuierlich alle Ein- und Ausgaben von Peripheriegeräten wie Tastatur, Maus oder Monitor. Darüber hinaus können einer Central Processing Unit explizit bestimmte Aufgaben zugeteilt werden. So können beispielsweise in einem Computerspiel bestimmte Inhalte nach Bedarf eingeblendet werden, die vom Programm angefordert werden. Die CPU oder die GPU (Grafikkarte) ist für die automatische Umsetzung dieser Inhalte zuständig.

Die Central Processing Unit hat folgende Aufgaben:

–       Rechenoperationen: Der Hauptprozessor ist für einen Großteil der Aufgaben in einem elektronischen Gerät zuständig. Wann immer Rechenoperationen vom Anwender oder einer Anwendung angefordert werden, kommt der Prozessor zum Einsatz.

–       Bus-Systeme: Die Datenübertragung in Bus-Systemen wird von der CPU gesteuert. Der Prozessor erkennt und analysiert die nacheinander eintreffenden Bits und setzt sie als kohärente Teile zusammen, um sie dann weiterzuverarbeiten. Alle Datenübertragungen über den Netzwerkadapter oder USB werden beispielsweise intern über die Central Processing Unit realisiert.

–       Kontrolle: Der Hauptprozessor kontrolliert, ob die ihm zugeteilten Aufgaben rechtzeitig erfüllt werden können und schlägt ansonsten Alarm. Dabei gleicht die Central Processing Unit kontinuierlich die laufenden Vorgänge mit Zielstandards ab. Diese Verhaltensweise kann in folgenden Szenarien beobachtet werden: Der Prozessor kann beispielsweise bei einem aktiven Download den Download-Fortschritt anzeigen. Darüber hinaus gibt die CPU Fehlermeldungen aus, wenn zum Beispiel ein Befehl nicht ausgeführt werden konnte.

Woraus setzt sich eine CPU zusammen?

Ein Hauptprozessor setzt sich u. a. aus folgenden Hauptbestandteilen zusammen:

–       Steuereinheit (Control Unit): Die Steuereinheit nimmt Anweisungen aus dem Arbeitsspeicher entgegen, decodiert diese und führt sie der Reihe nach aus. Die Control Unit koordiniert außerdem die Arbeit der übrigen Komponenten der CPU.

–       Arithmetik-Logikeinheiten (Arithmetic Logic Unit): Diese Komponente ist für die Ausführung arithmetischer und logischer Operationen anhand der Anweisungen der Steuereinheit zuständig.

–       CPU-Register: Diese Komponenten stellen den internen Hochgeschwindigkeits-Speicher dar, der für die temporäre Speicherung der zu verarbeitenden Daten zuständig ist.

–       Busse: Hierbei handelt es sich Hochgeschwindigkeits-Datenleitungen, welche die Übertragung von Daten und Anweisungen zwischen den einzelnen CPU-Komponenten ermöglichen.

Wie diese Komponenten in den einzelnen Prozessorkernen implementiert sind, hängt in erster Linie von der Prozessorarchitektur ab.

Die Arbeitsweise eines Hauptprozessors

Eine Central Processing Unit arbeitet schrittweise in regelmäßigen Taktzyklen folgende Aufgaben ab:

–       Anweisungen einholen (FETCH): In dem ersten Schritt holt der Prozessor aus dem Arbeitsspeicher die Anweisungen ein. Jede Anweisung in einem Programm kann bis zu einigen Millionen von CPU-Befehlen enthalten, die im Arbeitsspeicher an einer bestimmten Speicheradresse aufbewahrt werden. Die Central Processing Unit ist mit einem Programmzähler ausgestattet, der die Position des Prozessors im Programm verfolgt, also die Speicheradresse des Befehls, auf den die Central Processing Unit gerade zugreift.

–       Anweisungen entschlüsseln (DECODE): Zum Zeitpunkt, wenn der Prozessor die Programmanweisungen einholt, sind diese in der sogenannten „Assemblersprache“ codiert. Ein sogenannter „Assembler“ übersetzt die Anweisungen in eigene Maschinensprache der Central Processing Unit.

–       Anweisungen ausführen (EXECUTE): In diesem Schritt werden Aufgaben, wie zum Beispiel mathematische Kalkulationen, Abarbeitung von Daten oder Entscheidungen über die Abarbeitung weiterer Teile des Programms realisiert. Hier werden mathematische Aufgaben von der Control Unit an die Arithmetic Logic Unit delegiert.

–       Resultate ausgeben (WRITEBACK): Der Prozessor schreibt die Resultate in den Speicher.

Unterschiedliche CPU-Architekturen im Überblick

Die Befehlssatzarchitektur (Instruction Set Architecture) wird von der CPU-Architektur und dem eingesetzten Softwarecode bestimmt. Die Instruction Set Architecture bildet eine Schnittstelle zwischen dem Prozessor und der Software und übt eine äußerst wichtige Rolle aus. Mit der Befehlssatzarchitektur werden u. a. die unterstützen Prozessor-Anweisungen, die nativen Datentypen, die Speicherarchitektur sowie die externen Ein- und Ausgaben explizit beschreiben. Zu den wichtigsten Typen von Befehlssatzarchitekturen gehören:

–       RISC (Reduced Instruction Set Computing): Hierbei handelt es sich um eine Computing-Architektur, die auf einem reduzierten Befehlssatz basiert.

–       CISC (Complex Instructions Set Computing): Hierbei handelt es sich um eine Computing-Architektur, die auf einem komplexen Befehlssatz basiert.

–       Sparse-Matrix: Hierbei handelt es sich um einen neuartigen Befehlssatz für hochskalierbare CPU-Arrays, die in erster Linie in performanten Server-Systemen eingesetzt werden.

Die CISC-Architekturen zeichnen sich durch eine hohe Anzahl an spezialisierten Anweisungen aus, die möglichst viele Einsatzbereiche abdecken, während RISC-Architekturen einen anderen Ansatz verfolgen. Sie fokussieren sich auf Anweisungen, die besonders häufig aufgerufen werden und beschränken diese auf eine maximale Größe von 4 Bytes.

Die Abkürzung Vserver steht für „virtuelle Server“. Durch den Einsatz einer Software für Virtualisierung kann ein Hardwaresystem in einige einzelne, voll funktionsfähige Server aufgeteilt werden. Durch die Virtualisierung, wie sie zum Beispiel Proxmox ermöglicht, lässt sich der Zugriff zwischen den einzelnen Systemen unterbinden bzw. steuern. Darüber hinaus kann ein virtueller Server mittels verschiedener Distributionen, wie zum Beispiel CentOS, Ubuntu oder Debian, betrieben werden.

Das allgemeine Leistungsspektrum von Vservern

Wenn Sie sich zum Beispiel einen Vserver über das Internet mieten möchten, dann bedeutet das nicht gleichzeitig, dass einen Server erhalten, der ausschließlich für Sie arbeitet. Ein virtueller Server ist im Grunde genommen eine „kleiner Teil“ eines noch weitaus größeren Servers, welche etwa in einem Rechenzentrum aufgestellt ist. Auf einem solchen physisch vorhandenen Server werden eine Vielzahl unterschiedlicher Nutzer verwaltet, die wie Sie ebenfalls eine virtuelle Maschine für ihre Zwecke angemietet haben.

In der Regel werden sowohl die Leistung als auch die Größe vom Anbieter/Hoster festgelegt. Die Netzanbindung unterliegt größtenteils etwaigen Vorgaben des Dienstleisters. Sie können sich jedoch darauf verlassen, dass Vserver mit überaus schnellen Anbindungen an ein Netzwerk bzw. an das Internet ausgestattet sind.

Häufig müssen Sie sich allerdings um die Installation des Vserers selbst kümmern und regelmäßige Backups erstellen, damit Sie keinen Datenverlust hinnehmen müssen, wenn der Server ausfällt. Derart aufwendige Aufgaben entfallen bei einem sogenannten Managed Server, welcher Serviceleistungen, wie zum Beispiel Backup-Systeme, eine regelmäßige Wartung ihres Internetauftritt oder auch unendlichen Speicherplatz, beinhaltet.

Wenn die Leistungsfähigkeit eines gesamten Servers aufgrund der hohen Last der angemeldeten Nutzer nicht mehr ausreicht, kann der Host den Vserver auf eine Maschine umziehen, welche zu diesem Zeitpunkt noch über freie Kapazitäten verfügt. Von diesem Umzug bemerken Sie im Regelfall so gut wie nichts und können wie gewohnt Ihrer Arbeit nachgehen.

Basis für viele Programme

Vserver zeichnen sich vor allem durch die Tatsache aus, dass sie eine augenscheinlich unendliche Menge an verschiedenen Programmen unterstützen und Nutzern zielgerichtet zur Verfügung stellen können. Dabei kann es sich um eine simple Seite im Internet, einen Mehrspieler-Server für PC- und Konsolen-Spiele oder komplexe Datenbanken handeln.

Die durchweg individuelle Skalierbarkeit bietet Nutzern zahlreiche Entscheidungsmöglichkeiten und steigert auf diese Weise die Flexibilität bei der täglichen Arbeit. Insbesondere Menschen jüngerer Generationen stehen dieser modernen Technologie überaus offen gegenüber. Firmen erkennen die Technik zunehmend häufiger als zielführend, wenn es um das Erreichen wichtiger unternehmerischer Ziele geht. Zudem schätzen Firmen jedweder Größe den Komfort durch die bereitgestellten dynamischen Server sowie die damit einhergehende Skalierbarkeit.

Die Virtualisierung im Detail

Wie Sie bereits erfahren haben, kümmert sich in der Regel ein Hoster bzw. ein Rechenzentrum um die Virtualisierung von physisch vorhandenen Computern bzw. Servern. Handelt es sich also um einen virtuellen Server/Vserver, handelt es sich im Grunde genommen um einen Computer, welche virtuell in viele einzelne Computer einschließlich alle dazugehörigen Ressourcen aufgeteilt wurde. Ein einzelner dieser kleineren Rechner bezeichnen IT-Experten als sogenannten Container.

Durch den Einsatz dieses Konzepts ist es möglich, dass die Ressourcen aufgespalten werden können und vollkommen dynamisch zu jeder Zeit an die Nutzer verteilt werden können. Besteht bei einem Kunden demnach ein größerer Bedarf, kann ihm der Hoster mehr Kapazität dauerhaft oder für einen begrenzten Zeitraum zuweisen.

Auf einem Vserver lässt sich darüber hinaus ein Betriebssystem installieren, welches im Anschluss einen „vollständigen“ Computer abbildet. Üblicherweise kommt auf einem Vserver das Betriebssystem Linux ohne eine grafische Oberfläche zum Einsatz. Mit Hilfe einer sogenannten SSH-Verbindung kann der Vserver verwaltet werden.

Der Verbindungsaufbau zu einem Vserver

Der SSH-Verbindungsaufbau unter Linux ähnelt dem Terminal- bzw. CMD-Programm der Betriebssysteme Unix und Windows. Sobald ein Administrator die IP-Adresse der virtuellen Maschine sowie die zwingend notwendigen Zugangsdaten (Benutzer und Passwort) eingibt, kann er eine Verbindung zum Server aufbauen und diesen Remote (aus der Ferne) verwalten. Er kann ein Programm durch die entsprechenden Befehle in der Kommandozeile installieren oder Update einspielen. Dieses Vorgehen ist vor allem für einen Administrator überaus komfortabel und zeitsparend. Server mit einer grafischen Oberfläche benötigen weitaus mehr Ressourcen, sodass auf einem Vserver kaum andere Betriebssysteme anzutreffen sind.

Für wen sich Vserver eignen

Vserver sind mittlerweile wahre Alleskönner und sind in nahezu allen Bereichen einsetzbar. Sollten Sie darüber nachdenken, Ihren bereits vorhandenen Webspace abschaffen zu wollen und nach geeigneteren Technologien suchen, dürften Sie für einen oder mehrere Vserver in Frage kommen. Sofern Sie auf die Möglichkeit eines Manged Server verzichten möchten, sollten Sie in diesem Zusammenhang beachten, dass die erstmalige Konfiguration allerdings wesentlich aufwendiger und zeitintensiver ist.

Einsteiger können bei einem Hoster meist eine Basiskonfiguration für den virtuellen Server erwerben und sich mit der Materie vertraut machen. Wenn Sie im Lauf der Zeit feststellen, dass Ihnen die zur Verfügung gestellten Ressourcen nicht mehr ausreichen, können Sie Ihren Vserver jederzeit erweitern lassen. Für die Konfiguration des Servers sollte jedoch Fachwissen beim Nutzer vorhanden.

Bei Microsoft SQL (MS-SQL) handelt es sich um ein relationales Datenbankmanagementsystem, welches von dem US-Konzern in den 90er-Jahren veröffentlicht wurde. SQL ist speziell für Anwendungen konzipiert, die in Unternehmen eingesetzt werden. Das Datenbankmanagementsystem orientiert sich an standardisierten SQL-Versionen und wird von Microsoft durch zusätzliche moderne Features ergänzt.

Die Geschichte von MS-SQL

Seinen Ursprung hat MS-SQL Ende der 80er-Jahre. SQL basiert auf einem von der Firma Sybase entwickelten Code. Im Rahmen einer Zusammenarbeit zwischen den Firmen Microsoft, Sybase und Ashton-Tate wurde die erste Version des Datenbankmanagementsystems für das Betriebssystem OS/2 veröffentlicht. Im Jahr 1992 erschient für OS/2 bereits die SQL-Version 4.2. Version 4.21 kam im Jahr 1993 auf den Markt und war erstmals mit Microsofts Windows NT kompatibel. Kurz darauf endete die Kooperation zwischen Microsoft und Sybase. Mittlerweile bieten beide Unternehmen eigene SQL-Server-Versionen an: Sybase unter der Bezeichnung Adaptive Server Enterprise (ASE) und Microsoft unter dem Namen Microsoft SQL Server.

Wozu wird MS-SQL benötigt?

Wenn ein Unternehmen zum Beispiel ein CRM– oder ERP-System im Einsatz hat, dann benötigt die Software eine Datenbankstruktur, um Daten jedweder Art speichern zu können. Nach wie vor ist es gängig, dass vor allem Puristen den Betrieb von Datenbank-Servern nach wie vor gerne auf physischer Hardware bewerkstelligen. Mittlerweile lassen allerdings ein Großteil aller Datenbank-Server auf virtuellen Servern problemlos betreiben.

Grundsätzlich lässt MS-SQL dadurch beschreiben, dass die sogenannte Abfragesprache einen standardisierten Zugriff auf Datenbanken gewährleistet. Sowohl MS-SQL als auch MySQL können auf fast alle Datenbanksysteme angewendet werden. Mit Hilfe von MS-SQL können Administratoren oder Datenbank-Entwickler Tabellen erstellen oder abfragen ersten. Die SQL-Befehle „Select“ sowie „Create“ sind in diesem Zusammenhang wohl die am meisten genutzt Abfrage-Befehle.

Vor diesem Hintergrund ist es nützlich zu wissen, dass die Abkürzung „SQL“ für Structured Query Language, übersetzt „strukturierte Abfrage-Sprache“, steht. MS-SQL ist eine Abfragesprache für relationale Datenbanken, um etwa Tabellen zu definieren und Daten zu bearbeiten oder abzufragen. Häufige genutzte Daten von Unternehmen sind hierbei unter anderem Material- und Kundendaten, Rechnungen sowie Unterlagen für erhaltene Aufträge.

Redundanzen verhindern

MS-SQL ist für relationale Datenbanken entwickelt. Die dort hinterlegten Informationen sind üblicherweise auf viele verschiedene Tabellen verteilt. Dass Felder bzw. Informationen „doppelt“ vorkommen, ist nicht vorgesehen, wenn die Idee des relationalen Datenbankmodells eingehalten werden soll. Um Redundanzen (Doppelte Einträge) zu vermeiden, müssen alle notwendigen Informationen auf mehrere Tabellen verteilt und durch einen Schlüssel miteinander verknüpft werden. Diese essentiell wichtige Schlüssel wird auch als primärer Schlüssel bezeichnet und bildet das Fundament für eine relationale Datenbank auf Basis von MS-SQL.

MS-SQL geht mit der Zeit

MS-SQL hat eine lange Entstehungsgeschichte und konnte sich über alle die Jahre hinweg gegenüber etwaige Konkurrenzprodukte stets behaupten. Dafür sind vor allem permanente Weiterentwicklungen verantwortlich, welche sich dem jeweils aktuellen Stand der Technik angepasst haben und für den Einsatz im Unternehmen einen Mehrwert mit sich gebracht haben.

Aktuelle MS-SQL-Versionen sind überaus leistungsfähig und lassen sich problemlos im Big-Data-Umfeld sowie für komplexe Cloud-Lösungen einsetzen. Darüber hinaus ist die Realisierung von Datenbankmanagementsystemen für geschäftskritische sowie intelligente Anwendungen oder für hochskalierbare Hybrid-Datenbankplattformen im Bereich des Möglichen. Zum derzeitigen Leistungsspektrum von MS-SQL gehören unter anderem erweiterte Sicherheitsfeatures, In-Memory-Funktionen sowie Analysemöglichkeiten für große Datenbestände.

Auf der Basis von MS-SQL sind mittlerweile Apps verfügbar, welche Onlinetransaktionsverarbeitung (OLTP) mit einer sehr guten Skalierbarkeit und einer hohen Verfügbarkeit bereitstellen können. Umfassende Analysefunktionen stehen durch „R“, eine spezielle Statistiksprache, für SQL-Datenbanken zur Verfügung. Durch den Einsatz von „R“ ist selbst das Verschieben von Daten vollkommen überflüssig geworden. MS-SQL findet somit in Private Clouds, Public Clouds (zum Beispiel Microsoft Azure) oder in einem Rechenzentrum nach wie vor nützliche Verwendungen für die unterschiedlichsten Bereiche.

Überall dort, wo große Datenmengen in Netzwerken verarbeitet werden, ist eine leistungsfähige Datenbank notwendig. Sind eine Mehrbenutzerfähigkeit und hohe Performanz gefragt, wird diese oft durch SQL-Server realisiert. Hierbei handelt es sich um Software, die einen Dienst zur Speicherung, Bearbeitung und Abfrage von Datensätzen unterschiedlicher Art bietet.

Ein paar Details zu SQL-Servern

Allen SQL-Servern ist gemein, dass sie relationale Datenbanksysteme verwenden. Die zu speichernden Inhalte werden in zweckgebundene Tabellen abgelegt. Ziel ist, dass möglichst wenige Daten redundant gespeichert sind. Vielmehr werden diese mit Ordnungskriterien versehen und miteinander verknüpft, also in Relation gesetzt.

Dies bietet Vorteile bei der Verarbeitungsgeschwindigkeit und hält die Datenbank schlank. In einer Kundendatenbank könnten die Kontaktdaten beispielsweise in einer Tabelle verwaltet werden. Die Bestellungen hingegen würden in einer separaten Tabelle verwaltet und nur mit der Kennziffer des Kunden versehen. In gleicher Weise könnte es eine Tabelle für Rechnungen und Mahnungen geben. Für neue Einträge müssten nur die notwendigen Werte in der entsprechenden Tabelle erstellt werden.

Alle SQL-Server können mittels der namensgebenden Structured Query Language (SQL) angesprochen werden. Mittels der entsprechenden Syntax können Datensätze erstellt, verändert, gelöscht und abgefragt werden.

Ein einfacher Befehl zum Speichern eines Datensatzes lautet:

INSERT INTO Adressen (kundennr, nachname, vorname, strasse, plz, stadt) VALUES (1, „Mustermann“, „Max“, „Hauptstraße 1“ „12345“, „Musterstadt“).

Dieser speichert die Werte aus der zweiten Klammer in die Spalten der Tabelle „Adressen“. Die Namen der Spalten ergeben sich aus der ersten Klammer.

Die abgelegten Daten können unterschiedlicher Art sein. Wichtige Datentypen sind INTEGER (Ganzzahlen), FLOAT (Gleitkommazahl), CHAR (Zeichenketten), BOOLEAN (boolesche Wahrheitswerte) und BLOB (Binäre Werte, auch eingebettete Dateien wie Bilder sind möglich). Im Detail können die Datentypen bei unterschiedlichen Anbietern von SQL-Servern abweichen.

Die wichtigsten Anbieter von SQL-Servern

Es gibt mehrere Entwickler für SQL-Server. Darunter befinden sich kommerzielle aber auch kostenlose Anbieter. Die wichtigsten Anbieter sind die folgenden:

Oracle

Das älteste kommerzielle System ist der SQL-Server der Firma Oracle. Die erste Version erschien 1979. Bis zum heutigen Tag wird die Software weiterentwickelt. Je nach Art und Umfang des Einsatzes werden nicht unerhebliche Lizenzkosten fällig. Es handelt sich um einen der verbreitetsten SQL-Server, der Basis für viele kommerzielle Softwareprodukte ist.

Microsoft SQL-Server

Der SQL-Server von Microsoft ist das zweite kommerzielle System, welches zu den Marktführern zählt. Es wurde 1989 erstmals veröffentlicht und durch die Firma Sybase mitentwickelt. Anfangs gehörte es zum Betriebssystem OS/2 und wurde später für Windows NT portiert. Auch für den Einsatz dieses Systems sind Lizenzkosten zu entrichten. Bemerkenswert an Microsofts SQL-Server ist eine große Anzahl spezieller Datentypen. So sind zum Beispiel die Datentypen „smallmoney“ und „smalldatetime“ definiert.

MySQL / MariaDB

Das verbreitetste quelloffene Produkt ist der MySQL-Server. Dieser ist kostenlos für alle gängigen Betriebssysteme erhältlich. Zusätzlich wird ein kostenpflichtiges Enterprise-Paket angeboten, bei dem es zusätzlich Supportleistungen gibt. Erstmals vorgestellt wurde MySQL im Jahre 1995. Zunächst war die Firma „MySQL AB“ Entwickler. Das Unternehmen wurde später durch die Firma Sun aufgekauft. Inzwischen gehört MySQL zur Firma Oracle. MySQL hat eine hohe Verbreitung im Bereich von Webservern. Es ist in den Repositories der gängigen Linux-Distributionen enthalten. Daher können diese mit wenig Aufwand für den Einsatz eines MySQL-Servers eingesetzt werden.

Kurz nach der Übernahme von MySQL durch Oracle, spaltete sich im Jahr 2009 das Projekt MariaDB als Fork ab. Verantwortlich hierfür war Michael Widenius, der ehemalige Hauptentwickler von MySQL. Einige Linux-Distributionen setzen inzwischen als Standard auf MariaDB. Darunter Fedora, CentOS und openSUSE.

Weitere SQL-Varianten

PostgreSQL

Eine weitere quelloffene Alternative ist der PosgreSQL-Server. Dieser wurde 1996 veröffentlicht und wird von einer Entwicklergemeinschaft, der PostgreSQL Global Development Group, gepflegt. Eine Besonderheit ist, dass er eine objektrelationale Datenbank verwendet. Hierdurch können nicht nur Felder in Relation gesetzt werden, sondern Mengen von Datensätzen, die als Objekte zusammengefasst wurden. Deher kann unter PostgreSQL das Prinzip der Vererbung aus der objektorientierten Programmierung angewendet werden.

-SQL Anywhere

Das ebenfalls kommerzielle SQL Anywhere gehört zum in Deutschland ansässigen Unternehmen SAP. Dieses übernahm den ursprünglichen Entwickler Sybase im Jahr 2010 und entwickelt das Produkt weiter. Bemerkenswert ist, dass Sybase bereits für die Basis des Microsoft SQL-Server verantwortlich war.

Anwendungsgebiete für SQL-Server

Neben dem bereits erwähnten Einsatz im Bereich von Webanwendungen, nutzen häufig komplexe Anwendungen im Firmenumfeld SQL-Server. Ein Beispiel sind Softwareprodukte des Enterprise-Resource-Planning (ERP). Unter deren Entwicklern finden sich, nicht ganz zufällig, einige bereits aufgeführte Hersteller von SQL-Servern, wie Oracle, Microsoft und SAP.

Ebenso genutzt werden SQL-Server für Software auf dem Gebiet des Custom-Relationship-Managements (CRM). Hierbei geht es ebenfalls um die Erfassung und Verknüpfung vieler Datensätze, in diesem Fall zur Kundenpflege.

Aufgrund der besonderen Stellung eines SQL-Servers in Systemen, wird dieser häufig auf einem dedizierten Server betrieben. Hier kann Virtualisierung eine geeignete Lösung sein, da diese eine hohe Ausfallsicherheit und insbesondere Skalierbarkeit gewährleistet. Viele Hoster für virtuelle Server bieten kurzfristige Anpassbarkeit von Ressourcen. Hierdurch kann flexibel auf Belastungsspitzen reagiert werden.