Im Bereich der IT wird mit dem Begriff „Monitoring“ die kontinuierliche Überwachung oder Kontrolle von IT-Systemen auf ihre einwandfreie Funktionalität bezeichnet. Um Ergebnisse zu vergleichen oder auszuwerten muss Monitoring systematisch und regelmäßig durchgeführt werden. Im Rahmen moderner Informationssysteme gehören diese Prozesse zu den wichtigsten Aspekten von Netzwerk- und Systemadministratoren.

Allgemeine Informationen zum Monitoring

Für die reibungslose Funktionalität einer IT-Infrastruktur müssen IT-Administratoren sicherstellen, dass sich alle beteiligten Komponenten innerhalb ihrer normalen Parameter bewegen. Diese Parameter werden durch Monitoring ermittelt, also durch die regelmäßige und systematische Überwachung relevanter Indikatoren. Früher wurden oft nur die reinen Performance-Parameter erfasst, wie zum Beispiel:

–       die Auslastung der CPU bei einer Datenbanktransaktion

–       der Speicherverbrauch bei einer Client-Anfrage

–       die Zeit, die der Server braucht, um eine Anfrage zu beantworten

Heutzutage umfasst Monitoring jedoch sämtliche Bereiche der IT, wie beispielsweise:

–       Sicherheit

–       Nutzerverhalten

–       Verfügbarkeit

Ziele

Im obigen Absatz haben wir das Ziel aller Prozesse bereits mit der „reibungslosen Funktionalität“ definiert. Grundsätzlich handelt es sich dabei um die Ermittlung der Ursachen, die direkt oder indirekt dafür verantwortlich sind, System-Parameter außerhalb der erwünschten Grenzen zu erzeugen. Dabei wird Monitoring eingesetzt, um:

–       das Problem möglichst früh zu identifizieren, sodass es beseitigt werden kann, bevor größere Schäden entstehen können

–       die Ursache des Problems ausfindig zu machen und zu lokalisieren

–       durch das Beseitigen auftretender Probleme Früherkennungsmaßnahmen zu optimieren, sodass künftige Probleme besser erkannt und behoben werden können

Falls ein System innerhalb der normalen Parameter funktioniert, können Maßnahmen beispielsweise auch eingesetzt werden, um die zukünftige Nutzung zu planen. Hat eine Webapp beispielsweise über das vergangene Jahr hinweg nur 60 Prozent ihrer CPU genutzt, lässt sich etwa ein physikalischer Server mit weniger Leistung betreiben.

Methoden und Verfahren

In Bezug auf den Betrachtungszeitraum der im Rahmen des Monitorings erfassten Informationen können zwei Vorgehensweisen unterschieden werden, und zwar:

–       Das sogenannte „Historical Monitoring“, das primär bei der automatischen Erzeugung von Langzeitstatistiken zu IT-Diensten eingesetzt wird. Diese Art ermöglicht u. a. die Kapazitätsplanung anhand der Wachstumsraten innerhalb einer bestimmten Zeitperiode, Rechenauslegung oder die Planung des Budgets. Darüber hinaus sind derartige Datensätze oft gute Indikatoren für systematische Verfügbarkeitsprobleme und entsprechende Lösungen solcher Probleme. Bei dieser Vorgehensweise arbeitet der IT-Administrator proaktiv.

–       Das sogenannte „Real-Time Monitoring“ ist eher reaktiv ausgelegt. Durch die kontinuierliche und systematische Überwachung der Funktionalitäten sämtlicher Dienste sollen Ausfälle schnellstmöglich identifiziert werden und die IT-Verantwortlichen in Kenntnis gesetzt werden. Im Idealfall werden auftretende Probleme identifiziert, bevor der Nutzer etwas davon merkt.

Hohe Verfügbarkeit und niedrige Ausfallraten

Im Rahmen des aktiven Monitorings versuchen dedizierte Systeme das Problem vorübergehend zu beseitigen. Dabei wird jedoch nur die Symptomatik und nicht die eigentliche Ursache des Problems eliminiert. Darüber hinaus ist für viele auftretende Probleme eine solche Vorgehensweise gar nicht möglich, wie beispielsweise bei einem Serverausfall. Ein wesentlicher Nachteil des aktiven Monitorings ist, dass in der Regel ein privilegierter Zugriff auf Dienste und Systeme benötigt wird, was einen erhöhten Risikofaktor darstellt.

Bei dem sogenannten „durchgängigen Monitoring“ wird hingegen das gesamte System inklusive aller relevanten Parameter und Dienste kontinuierlich überwacht. Dies benötigt jedoch eine hohe Disziplin aller IT-Mitarbeiter: Wenn beispielsweise ein neues Gerät oder ein neuer Server in das Netzwerk integriert wird, darf man nicht vergessen, diesen in das Monitoring einzubinden. Des Weiteren erzeugt diese Form des Monitorings eine gigantische Datenmenge, deren gezielte Analyse viel Zeit in Anspruch nehmen kann.

Unterschiedliche Anwendungen

Im Rahmen des sogenannten „End-to-End-Monitoring“ beschränkt sich die Messung auf die Funktionalität eines einzelnen Dienstes. Wenn beispielsweise ein Kunde in einem Webshop, wie Amazon, einkaufen möchte, dann wird die vollständige Transaktion eines Dienstes gemessen und ausgewertet. Bei dieser Vorgehensweise steht das sogenannte „Application Response Time Monitoring“ im Fokus. Damit lässt sich die exakte Antwortzeit einer Webanwendung ermitteln und ob diese in einer akzeptablen Zeit erfolgt.

Im Rahmen des externen wird ein dediziertes Gerät an das Netzwerk angeschlossen, während beim internen auf ein solches Gerät verzichtet wird. Weitere Bezeichnungen für diese Vorgehensweise sind aktives und passives Monitoring. Im Rahmen des aktiven Monitorings werden noch zusätzlich Pakete an das Netzwerk gesendet, während beim passiven lediglich „mitgehört“ wird.

Monitoring Tools

Die Prozesse finden in der IT in Form zahlreicher Tools Unterstützung. Es ist sind eine Vielzahl kommerzieller als auch Open Source-Produkt erhältlich, die jeweils auf unterschiedliche Einsatzszenarien in unterschiedlichen Umgebungen ausgerichtet sind. Nicht jedes Werkzeug eignet sich für jede Netzwerkinfrastruktur und jedes Verfahren gleichermaßen. Einige Tools verfügen über zahlreichen Funktionen und Features, während andere auf spezialisierte Aufgaben ausgerichtet sind. Bei der Auswahl eines solchen Werkzeugs sollten also die eigenen Anforderungen und Bedürfnisse beachtet werden. Welche Funktionen und Features benötigt werden, hängt von folgenden Faktoren ab:

–       Anforderungen der Netzwerkinfrastruktur

–       Benötigte Alarmmeldungen

–       Auf welche Art und Weise sollen Alarmmeldungen gesendet werden?

–       Welcher Monitoring-Typ ist erforderlich?

 

Wo Server betrieben werden, ist Virtualisierung heutzutage meist nicht weit. Hyper-V heißt die Lösung von Microsoft in diesem Bereich. Einzelne Server lassen sich darauf bequem erstellen und verwalten. Aber auch ganze Netzwerkstrukturen können virtualisiert werden. Skalierbarkeit und Ausfallsicherheit sind Hauptargumente für einen Betrieb virtueller Server. Zudem kann Hardware besser ausgelastet und Systemlast einfacher verteilt werden.

Allgemeines zu Hyper-V

Im Jahr 2008 stellte Microsoft seine Virtualisierungslösung mit dem Namen Hyper-V vor. Sie war erstmals in den Betriebssystemversionen Windows Server 2008 und Windows 8 enthalten. Ihre Vorgänger waren der Microsoft Virtual Server im Bereich der vServer und der Virtual PC für den Desktop-Bereich.

Wie aus dem Namen schon hervorgeht, ist Hyper-V ein sogenannter Hypervisor. Dieser stellt eine Abstraktionsschicht zwischen der realen Hardware und dem virtualisierten System, Gastsystem genannt, dar. Im Gegensatz zu vollständig virtualisierten Systemen, werden dem Gastsystem auch Ressourcen der physikalischen Hardware zur Verfügung gestellt. Dies aber nur unter Überwachung und Steuerung des Hypervisors. Diese Technik wird Paravirtualisierung genannt.

Hyper-V gibt es als Typ-1- und Typ-2-Hypervisor. Die Ausführung vom Typ 1, die auch als Bare-Metal-Hypervisor bezeichnet wird, stellt nur ein abgespecktes Betriebssystem zur Verfügung. Hauptbestandteil ist der Hypervisor. Die Administration erfolgt über die Kommandozeile oder per Remoteverbindung mit der Software „Hyper-V-Manager“, die ab der Windows-Versionen „Professional“ Bestandteil des Betriebssystems ist. Sie muss lediglich in der Systemsteuerung aktiviert werden.

Die Ausführung des Typ-2-Hypervisors ist in den Server-Betriebssystemen von Windows und den Desktop-Varianten „Professional“ und „Enterprise“ enthalten. Sie lässt sich ebenfalls in der Systemsteuerung zu den Programmen hinzufügen. Die Bedienung erfolgt auch hier mit dem „Hyper-V-Manager“. Die Bedienung ähnelt der von im Desktop-Bereich bekannter Virtualisierungssoftware, etwa Virtual-Box oder VMWare-Player.

Funktionsweise und Vorteile

Durch die Virtualisierungssoftware werden virtuelle Hardwareplattformen erzeugt. Bei der Paravirtualisierung müssen die Gastsysteme kompatibel zur Plattform des Wirtsrechners (Host) sein. Die Erzeugung der virtuellen Maschinen kann auf herkömmliche Weise, mit einem Installationsmedium erfolgen. In der Regel werden aber Vorlagen verwendet, die in Minutenschnelle geladen sind und ein betriebsbereites Gastsystem bieten.

Die virtuellen Maschinen haben jeweils ihren eigenen, abgeschotteten Bereich. Die Hardware stellt der Hypervisor zur Verfügung. Entsprechend besteht dabei große Flexibilität. So kann Arbeitsspeicher einfach angepasst werden und dynamischer Speicherplatz zugeteilt werden. Auf diese Weise können Lastspitzen abgefangen und zu lastärmeren Zeiten die Leistung wieder verringert werden.

Eine weitere große Stärke spielt eine Virtualisierungslösung wie Hyper-V bei der Virtualisierung von Netzwerkstrukturen aus. Es können beliebig Switche und Router erzeugt und damit getrennte Netze oder Subnetze gebildet werden. Letztlich lassen sich ganze Rechenzentren auf diese Weise virtuell verwirklichen.

Der Aufwand für die Einrichtung und Wartung wird dabei minimiert. Anstatt Patchkabel zu stecken, müssen nur Einstellungen im Hyper-V-Manager vorgenommen werden.

Eine recht neue Technologie ist die der Container-Lösungen wie Docker. Diese werden seit der Hyper-V-Version 2016 ebenfalls unterstützt. Hierbei wird keine vollständige virtuelle Maschine erzeugt, sondern nur eine Laufzeitumgebung für einzelne Anwendungen. Diese verwendet Ressourcen zudem nur solange, wie sie auch in Benutzung ist. Die Last, die ein Betriebssystem im Leerlauf erzeugt, fällt bei Nutzung von Container-Anwendungen weg.

 

Bezüglich der Gastbetriebssysteme besteht eine große Auswahl. Virtualisiert werden können:

-Windows-Server-Betriebssysteme,

-Windows-Desktop-Betriebssysteme,

RedHat-Enterprise,

Debian-Linux,

Ubuntu-Linux,

SuSE-Linux,

FreeBSD.

Zu beachten ist, dass das Betreiben virtualisierter Systeme eine gültige Lizenz für das Gastsystem erfordert.

Lizenzen von Hyper-V

Hyper-V ist grundsätzlich kostenlos. Allerdings sind die Betriebssysteme, in denen der Hypervisor eingebettet ist, kostenpflichtig. Ebenso die darin betriebenen Server-Versionen von Windows. Auch für die Anbindung an Speicherlösungen, etwa der Windows-Datacenter-Editionen, fallen Kosten an. Insbesondere verteilte Speicherlösungen von Windows, wie etwa „Direkte Speicherplätze“ (Storage Spaces Direct, abgekürzt: S2D), verursachen nicht unerhebliche Lizenzkosten. Für den Testbetrieb stellt Microsoft zudem kostenlose Evaluierungsversionen von Hyper-V zur Verfügung.

Anwendungsbereiche

Im Firmenbereich kann eine saubere Abschottung von Servern mit unterschiedlichen Aufgabenbereichen erzielt werden, ohne zusätzliche Hardware zu benötigen. Dies können beispielsweise ein Exchange-Server, der Domain-Controller, ein SQL-Server und der Fileserver sein. Weiterhin lassen sich ohne großen Aufwand Subnetze für verschiedene Arbeitsbereiche bilden. Eine physikalische Trennung der Netze ist damit nicht erforderlich. Auch im Bereich von Rechenzentren findet Software wie Hyper-V Anwendung. Mit dieser Technologie ist es Hosting-Anbietern beispielsweise möglich, Kunden kurzfristig virtuelle Server zur Verfügung zu stellen.

Alternativen

Bekanntester kommerzieller Mitbewerber ist der Anbieter VMWare. Dieser bietet mit dem ESXi-Server einen Bare-Metal-Hypervisor vergleichbarer Art. Einen Hypervisor des Typs 2 hat VMWare ebenfalls im Angebot, die VMWare Workstation.

Auch Open-Source-Lösungen sind verfügbar. Auf Basis des etablierten Linux-Hypervisors KVM/QEMU stellt der PROXMOX-Server einen Hypervisor des Typs 1 zur Verfügung.

Zudem steht unter Linux-Systemen der Hypervisor XEN kostenfrei zur Verfügung. Hierbei handelt es sich um ein Projekt der Universität Cambridge.

Bei den freien Versionen ist allerdings zu beachten, dass diese aufgrund ihrer Komplexität oftmals mit einem kostenpflichtigen Support Anwendung finden. So ist beispielsweise der Linux-Distributor RedHat in diesem Bereich tätig und bietet Support für den von ihm mitentwickelten Hypervisor KVM/QEMU.

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.

Als die beiden deutschen Softwareentwickler Martin und Dietmar Maurer im Frühjahr 2008 die Open SourceVirtualisierungssoftware Proxmox VE erstmals der breiten Öffentlichkeit vorstellten, hatte niemand wirklich damit gerechnet, dass sich die Virtualisierungsplattform in den nächsten 12 Jahren zu einer der meistgenutzten Virtualisierungslösungen im Linux-Segment entwickeln würde. Aktuellen Informationen zufolge werden weltweit mehr als 150.000 Server-Hosts in mehr als 150 Ländern mit Proxmox betrieben.

Allgemeine Informationen zu Proxmox

Ein Umstand, der zum Erfolg der Virtualisierungsplattform maßgeblich beigetragen hat, spiegelt sich in der Tatsache wider, dass Proxmox die Option bereitstellt, zwei unterschiedliche Virtualisierungslösungen gleichzeitig zu betreiben, und zwar:

–       virtuelle Linux Container (LXC)

–       kernelbasierte Virtual Machine (KVM)

Der virtuelle Linux Container ist eine performante und ressourcenschonende Container-Virtualisierung. Bei den KVMs handelt es sich um ein Kernel-Modul auf Linux-Basis, das direkt auf der Hardware als Hypervisor ausgeführt wird und bei der Virtualisierung von Hardware eingesetzt wird. Mit den KVMs lässt sich eine Vielzahl verschiedener Vserver (virtueller Server) erstellen, wobei alle aktuellen Betriebssysteme wie Windows, Linux und verschiedene BSD-Derivate unterstützt werden. Der Linux-Kernel wird im Rahmen der Virtualisierung selbst zum Hypervisor befördert, wodurch der Overhead auf einem Minimum gehalten wird. Die kernelbasierte Virtual Machine gehört außerdem zu einem der am besten gewarteten Open Source-Systeme im Linux-Bereich. Bugs und Probleme werden dank der gigantischen Open Source-Community schnell erkannt und behoben.

Einfache und schnelle Verwaltung von Proxmox

LXC und KVM decken unterschiedliche Einsatzbereiche ab. So virtualisiert KVM beispielsweise im Gegensatz zu LXC mit virtuellen Maschinen und nicht auf Betriebssystem-Ebene. Aus diesem Grund ist LXC viel flexibler und bietet die Möglichkeit, Applikationen und Nutzer Stacks in kürzester Zeit in Betreib zu nehmen sowie einzelne Prozesse und gesamte Prozessgruppen voneinander zu isolieren. Auf diese Weise lassen sich mehrere Linux-Systeme parallel auf einem Host-Betriebssystem betreiben, die voneinander getrennt und abgeschottet sind. Dadurch lässt die Hardware des Hostsystems wesentlich besser auslasten. Ähnlich wie die Konkurrenzprodukte Docker, VMware und Hyper-V ist LXC gleichermaßen gut bei der Virtualisierung einzelner Anwendungen einsetzbar.

Proxmox bot bis zu der Version 3.4 ausschließlich Unterstützung für OpenVZ als Container-Technologie. LXC kam erst mit der Version 4.0 hinzu. Gründe hierfür waren u. a. die bessere Unterstützung für Storage-Devices und ein optimiertes Storage-System für Linux-Container. So können Anwender zum Beispiel mit LXC ZFS Sub-Volumes nutzen, was sich mit OpenVZ nicht realisieren lässt. Hinzu kommt noch die Tatsache, dass die Netzwerk-Konfiguration bei Linux-Containern viel flexibler ist.

Ein dedizierter Server für das Management der Cluster, Virtual Machines oder der Container ist nicht notwendig. Jeder Proxmox-Host ist mit einem eigenen Webinterface ausgestattet, mit dem sich der gesamte Cluster von jedem Knoten aus schnell und unkompliziert verwalten lässt. Durch den Einsatz eines verteilten Dateisystems (Proxmox Cluster File System), können die Konfigurationsdateien auf alle Nodes (Hosts) im Cluster automatisch verteilt werden. Auf diese Weise wird für konsistente Verwaltungsinformationen auf mehreren Tausenden virtueller Maschinen gesorgt.

Virtualisierungsplattform für Linux-Enthusiasten

Promox bietet neben dem intuitiven Web-Interface auch eine API für Administratoren und Entwickler, sodass wiederkehrende Tasks ohne großen Aufwand per Skript automatisiert werden können. Clients stehen für folgende Programmier- bzw. Skriptsprachen zur Verfügung:

–       Python

–       Java

–       JavaScript (NodeJS)

–       PHP

–       Perl

Da sich die Virtualisierungsplattform mit den entsprechenden Programmier-Kenntnissen individuell an die eigenen Bedürfnisse der Nutzer anpassen lässt, wird ein äußerst flexibles Agieren ermöglicht.

Proxmox VE nutzt als Basis die Linux-Distribution Debian, sodass Anwender auf alle Funktionalitäten des Betriebssystems zugreifen können. Nutzer können grundsätzlich auch alle Pakete, die für das beliebte Debian entwickelt wurden, unter Proxmox installieren. Die Virtualisierungsplattform ist somit optimal an die Anforderungen von Administratoren zugeschnitten, die bereits über Linux-Erfahrungen verfügen. Proxmox ermöglicht ein ebenso interaktives Arbeiten wie mit Debian. Dank der riesigen Community steht außerdem viel Know-how zur Verfügung, sodass für viele Probleme, mit denen Anwender konfrontiert werden können, bereits eine Lösung existiert.

Hohe Verfügbarkeit von Proxmox

Da Debian als extrem sicher und stabil gilt, trägt es in wesentlichem Maße zu der Zuverlässigkeit der Virtualisierungssoftware bei. Die Proxmox Server Solutions GmbH ist der Verwalter des Projekts und ist direkt dafür zuständig, die Virtualisierungsplattform regelmäßig zu aktualisieren und sie dabei auch an neue Debian-Versionen anzupassen. Die Virtualisierungsplattform kann ebenfalls mit einer hohen Verfügbarkeit punkten. Der Proxmox VE HA Manager ist dafür zuständig, alle Knoten im Cluster kontinuierlich zu überwachen. Sobald einer dieser Knoten ausfällt, wird der Proxmox VE HA Manager aktiviert. Diese Funktionalität ist bereits bei der Standardinstallation von Proxmox VE bereits vorinstalliert, weswegen Anwender die Funktion lediglich an die eigenen Anforderungen und Bedürfnissen anpassen müssen.

Vielseitige Speichertypen für Proxmox

Proxmox VE ist extrem flexibel in Bezug auf den Speicher. Die Virtualisierungsplattform ist mit verschiedenen lokalen Speicher- und Netzwerkspeicher-Modulen versehen, was ebenfalls Debian zu verdanken ist. Alle Speichertypen, die von der Linux-Distribution unterstützt werden, können im Rahmen von Proxmox genutzt werden. Hierzu gehören:

–       Ceph

–       NFS

–       ISCSI

–       FibreChannnel

–       ZFS

Mithilfe der Shared Storage-Funktionalität lassen sich Abbilder der Vserver im lokalen Netzwerk ablegen. Die Virtualisierungsplattform ist außerdem mit einer Funktion zur Live-Migration versehen, sodass sich die erstellten Vserver ohne Ausfallzeit migrieren lassen.

Die ursprüngliche Open-Source-Software SugarCRM setzt sich aus mehreren Komponenten für verschiedene Aufgabenbereiche zusammen: Market, Sell und Serve. Sie können je nach Unternehmensanforderungen unabhängig voneinander genutzt werden, ergänzen sich aber untereinander im Rahmen einer Komplettlösung, umgesetzt in einer Enterprise- und einer Professional-Edition. Die Bezeichnung CRM ist ein wenig irreführend, denn Sugar beherrscht als webbasierte Lösung wesentlich mehr als das reinen Kundenbeziehungsmanagement.

Software mit flexibler Datenbankunterstützung

Bis 2017 und Version 6 war SugarCRM PHP-basierte Open-Source-Software frei erhältlich und konfigurierbar. In der Datenbankunterstützung hatten Sie die Wahl zwischen MySQL, Microsoft SQL Server, Oracle und IBM Db2. Die damit verbundene Flexibilität hinsichtlich Anpassungen an spezifische Bedürfnisse des Unternehmens ist seit der kommerziellen Version 7 nicht mehr in dem bisherigen Umfang gegeben. So ist zum Beispiel die Einbindung einer Oracle-Datenbank nur noch in der Enterprise-Version möglich und die Weiterentwicklung im Open-Source-Bereich für spezifische Lösungen ist nicht gestattet.

Dennoch erweist sich SugarCRM mit der Cloud der Amazon-Webservices (AWS) sowie den integrierten Schnittstellen REST und SOAP als leistungsstarke Komplettlösung. Sugar Enterprise und Professional können außerdem auch auf eigener Hardware gehostet werden.

Lizenzen und Erweiterungen bei SugarCRM

Das Lizenzmodell und die Gebühren unterscheiden sich mit den Sugar-Komponenten. Für Market ist die Anzahl der Datensätze ausschlaggebend, für Sell und Serve die Anzahl der Nutzer. Zusätzlich können Sie auf Sugar Exchange und -Forge Module und Erweiterungen erwerben. Obgleich die Flexibilität gegenüber den quelloffenen Versionen eingeschränkt ist, sind mit Erweiterungen, der Cloud und den verfügbaren Schnittstellen branchenspezifische Lösungen möglich.

Effektive Prozesssteuerung und -optimierung bei SugarCRM

In seinen Komponenten vereint SugarCRM die Kundenverwaltung, Warenwirtschaft und Finanzbuchhaltung, kurz CRM, ERP und FiBu, so dass Marketing, Vertrieb und Service Hand in Hand arbeiten können, relevante Daten miteinander verknüpft und Finanzen korrekt in die Buchhaltung übernommen werden.

Mit Sugar Marketing entwickeln und optimieren Sie Kampagnen zur Conversion- und Umsatzsteigerung. Automatisierungen und Reportings steigern die Effektivität. Eine Besonderheit ist die Abstimmung auf die Zwecke kleiner bis mittelständischer Unternehmen. In Kombination mit Daten und Erkenntnissen des Vertriebs sowie unter Berücksichtigung des User-Experience stimmen Sie die Maßnahmen auf die gewünschte Zielgruppe ab und erstellen fortlaufend verbesserte Marketingkomponenten zur Kundengewinnung, Kundenbindung und Umsatzsteigerung. SEM-, SEO- und Social-Media-Tools runden die Marketingkomponenten ab.

Im Fokus von Sugar Sell, welches Platz eins der Business Choice Awards von PCMag belegt, stehen die User- und Customer-Experience. Das Kundenverhalten wird analysiert und der Vertrieb erhält relevante Informationen, wann immer er sie benötigt. Daten aus verschiedenen Quellen werden nebst Interaktionen gesammelt, analysiert und für eine übersichtliche Customer-Journey aufbereitet. Durch die zentrale Speicherung in SugarCRM stehen sämtliche Informationen auch für andere Unternehmensabteilungen zur Verfügung, um in ausschlaggebenden Bereichen Zugriff auf wichtige Daten zu gewährleisten.

Sugar Serve stellt die Historien und gewonnene Erkenntnisse zum Aufbau langfristiger Kundenbeziehungen sowie zur schnellen und kompetenten Unterstützung zur Verfügung. Mit dieser Komponente individualisieren Sie Ihre Serviceleistungen ohne Umwege, reagieren umgehend und lösungsorientiert auf Anfragen – im Sinne der Kundenzufriedenheit. Eine Service-Konsole unterstützt die Mitarbeiter bei der Einhaltung des Service-Level-Agreement (SLA), zugleich gestatten Analysen die Leistungsoptimierung, abgestimmt auf die unternehmensinternen Prozesse. Ergänzend steht mit dem Self-Service-Portal eine Wissensdatenbank für häufige Probleme und Fragen zur Verfügung: Kunden erhalten hier wichtige Anfragen ohne weiteren Zeitaufwand und Anfragen an den Service.

Transparente und prozessorientierte Preis-Leistungs-Gestaltung bei SugarCRM

Als Komplettlösung vereint Sugar CRM, ERP, Marketing und FiBu zentral und effizient. Die gestaffelten Lizenzmodelle gestatten eine exakte Kalkulation, der Support ist inklusive. Benötigen Sie zusätzliche Module, können Sie SugarCRM bedarfsgerecht erweitern. Die Software ist übergreifend für kleine und mittelständische Unternehmen konzipiert, erfüllt aber mit flexiblen Lösungen auch viele branchenspezifische Anforderungen.

Alternativen für den individuellen Bedarf und spezielle Branchenlösungen

Versteckte Kosten sind mit SugarCRM nicht zu erwarten. Den Lizenzgebühren der Software steht das Potenzial zu einer effektiven Prozessoptimierung auf mehreren Ebenen gegenüber, was langfristig zu Zeit- und Kosteneinsparungen führen kann. Möchten Sie sich zunächst von dem Leistungsumfang und der Eignung überzeugen, können Sie auf eine kostenlose Demoversion zugreifen.

Sind Sie vom Konzept des SugarCRM an sich überzeugt, wünschen aber eine Lösung mit offenem Quellcode, entsprechen möglicherweise Open-Source-Systeme wie Vtiger, SuiteCRM oder Odoo Ihren Vorstellungen.

Vtiger basiert auf dem Quellcode von SugarCRM 6.5.x in der Community-Edition, um als Abspaltung weiterhin eine Open-Source-Lösung zur Verfügung zu stellen. Neben dem CRM als Kundenbeziehungsmanagement an sich sind Module für den Vertrieb, den Service, das Marketing, die Warenwirtschaft sowie das Angebots- und Rechnungswesen integriert. Schnittstellen erlauben die nahtlose Integration, Add-ons und der offene Quellcode erweitern die Möglichkeiten. Ähnlich verhält es sich mit SuiteCRM, welches auf SugarCRM in der Version 6 basiert.

Eine weitere Alternative finden Sie in Odoo: Die Community-Version versteht sich als Open-Source-Variante, während die Enterprise-Version zusätzliche kommerzielle Komponenten erhält. Grundsätzlich integriert sind CRM, ERP, FiBu, Lagerverwaltung, Produktion, Projekt- und Dokumentenmanagement sowie E-Commerce-Module.

Die flexibleren Konfigurations-, Anpassungs- und Erweiterungsmöglichkeiten der Open-Source-Alternativen können sich für spezielle Branchenlösungen als vorteilhaft erweisen. Auch besonders Budget-orientierte Kleinunternehmen bevorzugen in der Einstiegsphase gelegentlich zunächst kostengünstige, bedarfsgerecht konfigurierbare Varianten. Mit steigender Komplexität und höheren allgemeinen Anforderungen in den einzelnen Teilbereichen ist ein späterer Umstieg auf SugarCRM jederzeit möglich.

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.