Plattformunabhängigkeit bezieht sich auf Software, die auf einer Vielzahl von Hardwareplattformen oder Softwarearchitekturen ausgeführt werden kann, Sie wird als plattformunabhängig, plattformübergreifend, portabel oder auch als Cross-Plattform bezeichnet.

Plattformunabhängige Software kann in einer Vielzahl von Umgebungen ausgeführt werden, wodurch die Verwendung im gesamten Unternehmen vereinfacht wird. Sie erfordert weniger Aufwand und Planung als der Einsatz einer plattformabhängigen Software.

Die Bedeutung von Plattformunabhängigkeit ist, dass der von Java kompilierte Code (Bytecode) auf allen Betriebssystemen ausgeführt werden kann. Ein Programm ist in einer Sprache geschrieben, die für Menschen lesbar ist. Ein Compiler ist ein Programm, das den Quellcode eines anderen Programms aus einer Programmiersprache in ausführbaren Code übersetzt, wodurch die Software plattformunabhängig wird.

Warum ist es so gefragt?

Wenn Sie ein Softwareprodukt entwickeln und verkaufen, kann Ihnen die Unterstützung von Java für die Plattformunabhängigkeit dabei helfen, in mehr Märkten zu konkurrieren. Anstatt beispielsweise ein Produkt zu entwickeln, das nur unter Windows ausgeführt werden kann, können Sie ein Programm schreiben, das außer mit Windows ebenso mit OS / 2, Solaris und Linux funktioniert.

Das Bedürfnis nach Plattformunabhängigkeit entstand aufgrund der unterschiedlichen Betriebssysteme, die heutzutage genutzt werden. Wenn ein für Windows geschriebener Code unter Mac OS ausgeführt werden sollte, hatte das multiple Fehlermeldungen zur Folge und der Code musste entsprechend der jeweiligen Hardware- und Maschinenkonfiguration geändert werden. Die dadurch für Programmierer verursachten Probleme, machten die Code-Portabilität zum Gebot der Stunde, da der Gebrauch des Internets rasant zunahm.

Plattformunabhängige Sprachen

Java ist die bekannteste plattformunabhängige Sprache. Einige andere P.I. Sprachen sind Ruby, Lisp, Schema, Scala, Clojure, Python, Perl, PHP, C #. Außerdem können die Kriterien für die Entscheidung über die Plattformunabhängigkeit von Person zu Person variieren. Beispielsweise sind Sprachen wie C / C ++ auf Quellcodeebene plattformunabhängig, verlieren jedoch die Plattformunabhängigkeit, sobald der Code kompiliert wird, da nativer Code plattformspezifisch ist.

Java hingegen wird aufgrund seines Bytecodes als plattformunabhängig bezeichnet. Java-Code wird zuerst zu Bytecode kompiliert und in eine JAR-Datei gepackt. Diese Datei wird dann auf verschiedenen Plattformen identisch ausgeführt, z. B. auf verschiedenen Versionen von Windows und Linux. Dies ist in erster Linie der Grund für die Beliebtheit von Java, da es das Versprechen „Write Once Run Anywhere“ einhält.

Plattformunabhängigkeit und Virtualisierung / virtuelle Server

Die Distributed Management Task Force (DMTF) ist eine Organisation mit mehr als 4.000 aktiven Mitgliedern, 44 Ländern und fast 200 Organisationen. Es ist die Branchenorganisation, die die Entwicklung, Annahme und Förderung interoperabler Managementstandards und -initiativen leitet. Unter besonderer Berücksichtigung des Cloud Computing führte die DMTF das Open Virtualization Format (OVF) ein und unterstützte mehrere Initiativen für interoperable Cloud-Technologien, wie den Open Cloud Standards Incubator, die Cloud Management Working Group (CMWG) und die Cloud Audit Data Federation Working Gruppe (CADFWG).

Das Open Virtualization Format (OVF)  ist ein herstellerunabhängiges Format für Verpackungsstandards, das die Portabilität und Bereitstellung virtueller Appliances auf verschiedenen Virtualisierungsplattformen erleichtert. OVF kann von unabhängigen Softwareanbietern (ISVs) zum Packen und sicheren Verteilen von Anwendungen verwendet werden, und Systemabbilder können auf mehreren Plattformen importiert und bereitgestellt werden, wodurch eine plattformübergreifende Portabilität ermöglicht wird. Die Spezifikation ist das Ergebnis der Zusammenarbeit von Dell, HP, IBM, Microsoft, VMWare und XenSource bei der Definition eines plattformunabhängigen Virtualisierungsformats für das Packen von Software-Appliances. Ein erster Entwurf wurde der DMTF im Jahr 2008 vorgelegt. Derzeit hat die DMTF die Version 1.1.0 der Spezifikation veröffentlicht, die auch als ANSI-Standard INCITS 469-2010 (American National Standards Institute) ratifiziert wurde. Der Hauptzweck der Spezifikation besteht darin, ein plattformneutrales Format für die Verteilung von Softwarepaketen bereitzustellen.

Plattformunabhängigkeit und Betriebssysteme

Ein Betriebssystem ist reine Software, während eine Plattform die Kombination zwischen dem Betriebssystem und der Art der Hardware ist, wie der CPU, auf der es ausgeführt wird. Java wurde so konzipiert, dass sie auf mehreren Hardwaretypen und Betriebssystemen ausgeführt werden kann. Durch die Plattformunabhängigkeit von Java, können Unternehmen mit mehreren Computertypen eine spezielle Anwendung einmal schreiben und von praktisch jedem verwenden lassen, anstatt mehrere Versionen desselben Programms schreiben, verteilen und warten zu müssen.

BYOD und Plattformunabhängigkeit

Mit BYOD können Unternehmen wie auch Lehrer allgemeine Funktionen, die in den meisten Mobilgeräten zu finden sind, nutzen. Es enthält u. a. Tools zur Datenorganisation und webbasierte Anwendungen. Kontinuierlich entstehen neue Funktionen und machen BYOD langfristig zu einem ausgesprochen nützlichen Produkt für die Technologieintegration. Mit der Konvergenz von weit verbreitetem Breitband und dem Wachstum von leistungsstarken, plattformunabhängigen webbasierten Werkzeugen, ist BYOD sowohl pädagogisch als auch unternehmensspezifisch wertvoll.

Im Büro und besonders auch im Homeoffice ist es leicht, mit Informationen regelrecht überschwemmt zu werden. Für effizientes Arbeiten müssen die notwendigen Daten zur Verfügung gestellt werden, aber ohne die Ablenkung mit überflüssigem Material. Wrike ist ein Werkzeug, mit dem effektive Abläufe im Team organisiert werden können.

Anforderungen an Projektarbeit heute

Auch wenn Ihre Mitarbeiter auswärts tätig sind, müssen alle mit den für ihren Projektbeitrag erforderlichen Informationen versorgt werden. Oft wird dieses Problem mit dem Versenden von E-Mails gelöst. Eine Verteilerliste für E-Mail ist aber nur eine grobe Steuerung des Informationsflusses. Viele Empfänger erhalten für sie unnötige und ablenkende Informationen. Welche Version eines Berichts die aktuelle ist bleibt oft unklar.

Arbeiten in verteilten Teams

Ob auf Geschäftsreise oder im Homeoffice, jeder Projektteilnehmer muss seinen Beitrag leisten können. Die technischen Verbindungsmittel dafür existieren, über die Schiene des Breitbandinternets können alle notwendigen Daten praktisch verzögerungsfrei übermittelt werden. Cloud Computing nutzt genau diese Übertragungen, um mit zentralen Servern Speicherplatz und Rechenleistung zur Verfügung zu stellen. Diese Dienste sind für alle Teammitglieder jederzeit abrufbar.

Es bleibt aber die Frage, wie diese Abläufe für Ihr Team organisiert werden. Alle Daten ständig an alle zu übertragen würde eine Überladung und Ablenkung bedeuten, die effektives Arbeiten nicht unterstützt und sogar behindern kann.

Der Begriff New Work

New Work bezeichnet die Idee und Umsetzung flexibler Arbeitsmodelle. Die heute zur Verfügung stehende Informationstechnologie ermöglicht einen neuen Arbeitsstil mit wesentlich mehr Wahlmöglichkeiten für jeden Ihrer Mitarbeiter, was den Arbeitsort und die Arbeitszeit betrifft. Wird dieses Modell erfolgreich umgesetzt, sind die positiven Folgen mehr Effizienz statt Leerlauf und damit auch höhere Motivation, die auch durch größere Erfolgserlebnisse gestützt wird. Damit New Work funktioniert, muss aber das Informationsmanagement richtig organisiert werden.

Wrike als Werkzeug

Die Entwickler von Wrike verfolgen das Ziel, mit diesem Tool Arbeitsgruppen effektiver und produktiver zu machen. Wrike bewerkstelligt das durch die Verwaltung, Steuerung und auch Automatisierung des Informationsflusses im Team.

Wrike wird für Projektmanagement von vielen angesehenen und erfolgreichen Firmen verwendet. Die Qualität von Wrike hat Citrix davon überzeugt, das Unternehmen Wrike zu übernehmen.

Wrike stellt einen Workspace bereit, der auf die besonderen Bedürfnisse eines Teams angepasst werden kann. Alle Teammitglieder können so auf einen gemeinsamen Terminkalender und individuell gestaltete Dashboards zugreifen.

Wrike dient auch als Ort der Speicherung der jeweils aktuellen Version von Berichten und Dokumenten, die dort für Teammitglieder abrufbar sind.

Wrike ist so entwickelt, dass der Informationsfluss steuerbar ist. Jede Information erreicht nur diejenigen Projektteilnehmer, die sie auch für ihre Arbeit brauchen.

Business Intelligence mit Wrike Analyze

Wrike Analyze kann erweiterte Analysen erstellen, die im System selbst generiert werden. Da kein Exportieren der Daten in andere Programme erforderlich ist, können auch keine Probleme mit Kompatibilität der Datenformate entstehen. Wrike lässt so oft lästige Hindernisse erst gar nicht entstehen.

Mit dieser Funktionalität werden die Projektfortschritte für die Teammitglieder dargestellt und aufbereitet. Dashboards zeigen die Arbeitsschritte und auch Problemfelder. Das System macht es damit leicht, auf noch zu wenig entwickelte Projektteile zu reagieren, bevor Lücken zu einem Problem werden.

Visualisierung spielt in Wrike eine wesentliche Rolle, weil die Entwickler den Wert von Grafiken für eine schnelle und unmittelbare Übermittlung von Informationen erkannt haben. Neben Teammitgliedern profitieren besonders das Management und Investoren von dieser Art der Darstellung.

Integration von Apps bei Wrike

Für verschiedene Aufgaben bieten sich verschiedene Apps an. Mit dieser Vielfalt ergeben sich aber natürliche Probleme der Integration. Mit Wrike Integrate lässt sich dieses Problem elegant lösen.

Vorlagen als Tools bei Wrike

Diese bereits bestehenden Vorlagen sind für bestimmte Arten von Projekten erstellt worden. Für jedes Projekt ist das Ziel, mit einer Vorlage das Management und die Zusammenarbeit eines Teams im jeweiligen Geschäftsbereich zu unterstützen.

Wenn Sie spezielle Vorlagen benötigen und eine für Sie passende Vorlage noch nicht verfügbar ist, brauchen Sie nur eine Nachricht an Wrike zu senden. Innerhalb von 24 Stunden meldet sich ein Experte für Projektmanagement bei Ihnen, um die weiteren Schritte für eine Ihnen passende Vorlage einzuleiten.

Zu den verfügbaren Vorlagen gehören Organisationsformen für das Projektmanagement. Das  Projekt wird in einzeln umsetzbare Elemente aufgeteilt, die eine Deadline erhalten. Eine solche Vorlage stellt auch den Fortschritt am Projekt dar, der so ständig evident gehalten wird.

Vorlagen existieren auch für die Einführung von neuen Produkten. Etwas anders gelagert sind Arten von Projekten, die keinen definierten Abschluss besitzen und aus einer potentiell unbegrenzten Reihe von Elementen bestehen. Zu solchen Vorlagen gehören Abläufe für die Bearbeitung von Anfragen oder für ein Ticket-System, das den Informationsfluss für einen Kundendienst steuern kann.

Bei einem Hypervisor, der auch als Virtual Machine Monitor (VMM) bezeichnet wird, handelt es sich um eine leistungsstarke Software zur Virtualisierung von Computerressourcen. Der Hypervisor weist den verschiedenen virtuellen Maschinen Rechenressourcen wie Arbeitsspeicher, CPU oder Festplattenspeicher zu. Er ist außerdem für die Trennung der virtuellen Maschinen untereinander zuständig und erlaubt den parallelen Betrieb mehrerer verschiedener Betriebssysteme auf demselben Computer.

Allgemeine Informationen zum Hypervisor

Die Virtualisierung von Computerressourcen und Betriebssystemen hat ganz neue technische Möglichkeiten mit sich gebracht. Statt ein komplettes Computersystem inklusive Hardware und Software aufzubauen, können Sie sich durch den Einsatz moderner Virtualisierungslösungen, wie beispielsweise Hyper-V oder VMware schnell und unkompliziert eine virtuelle Version davon schaffen. Virtualisierung kommt beispielsweise in der modernen Softwareentwicklung zum Einsatz, um eine sichere Test- und Entwicklungsumgebung zu schaffen. Damit dies realisiert werden kann, muss eine virtuelle Maschine auf einem physischen System betrieben werden. Zwischen diesen beiden Schichten muss es eine Entität geben, die eine Vernetzung herstellt und für die Kommunikation zwischen diesen beiden Ebenen zuständig ist. Als Vermittler kommt an dieser Stelle eine abstrakte Schicht zum Einsatz – der sogenannte „Hypervisor“.

Was ist ein Hypervisor?

Eine virtuelle Maschine (VM) nutzt als Basis einen physischen Computer, wie beispielsweise einen Server oder Desktop-PC. Konkret bedeutet das, dass eine VM auf die physische Hardware angewiesen ist. Ein Hypervisor stellt eine Schicht zwischen der Hardware- und der Virtuellen-Ebene dar, die für die Verwaltung zuständig ist. Prinzipiell handelt es sich bei einem Hypervisor um eine Software, welche die Kontrolle und Verwaltung über die benötigten Ressourcen übernimmt. Die auch unter der Bezeichnung Virtual Machine Monitor (VMM) bekannte Software, weist im Rahmen eines Computersystems CPU- und Netzwerk-Ressourcen sowie Festplatten- und Arbeitsspeicher zu. Aus diesem Grund können auch mehrere unterschiedliche virtuelle Maschinen auf einem einzelnen Host-System effizient betrieben werden, da sich ein Hypervisor darum kümmert, dass es nicht Konflikten zwischen den einzelnen VMs kommt und dass die benötigten Kapazitäten zur Verfügung gestellt werden.

Eine virtuelle Maschine bekommt von den Organisationsschritten des Hypervisors in der Regel nichts mit. Der Virtual Machine Monitor abstrahiert die zur Verfügung gestellte Hardware auf solche Weise, dass die VM diese von einer dedizierten Hardware-Umgebung nicht unterschieden kann. Da sich bei virtuellen Maschinen die Anforderungen in Abhängigkeit von den laufenden Anwendungen ständig ändern, ist ein bedeutender Vorteil des Hypervisors, dass er Ressourcen dynamisch und in Echtzeit zur Verfügung stellt. Auch davon bekommt die virtuelle Maschine nichts mit. Sie hat nämlich keine Möglichkeit, das Vorhandensein anderer VMs auf derselben physischen Hardware zu erkennen. Durch die strikte Trennung zwischen den einzelnen virtuellen Maschinen, wird nicht nur für eine effiziente Verteilung der Ressourcen gesorgt, sondern es steigert auch die Sicherheit. Der Hypervision stellt sicher, dass eine VM nicht auf Dateien einer anderen VM zugreifen kann.

Die hohe Effizienz und Flexibilität von einem Hypervisor

Ein Hypervisor bildet nur eine abstrakte Schicht, die der virtuellen Maschine eine simulierte Hardware-Umgebung zur Verfügung stellt. Eine virtuelle Maschine, also das Gastsystem, ist nicht an einen bestimmten Hypervisor oder an ein bestimmtes Host-System gebunden. Damit bietet die Virtualisierung ein hohes Maß an Flexibilität und ist insbesondere für Anbieter von Cloud-Services sehr interessant. Cloud-Anbieter können die virtualisierten Umgebungen einfach auf andere physische Server verschieben, ohne dass die Programme, die auf den virtuellen Maschinen laufen, neu installiert oder konfiguriert werden müssen. Ein Hypervisor im Rahmen einer Virtualisierungssoftware, wie beispielsweise Hyper-V oder VMware, stellt dem Anwender außerdem eine Vielzahl unterschiedlicher Verwaltungsoptionen bereit. So können Anwender Gastsysteme schnell und einfach organisieren, einstellen und erstellen.

Verschiedene Typen im Überblick

Prinzipiell wird zwischen zwei verschiedenen Hypervisor-Arten unterschieden, und zwar Typ 1 und Typ 2. Der Typ 1 wird auch als Bare Metal Hypervisor bezeichnet. Diese Art des Virtual Machine Monitors funktioniert so, dass er direkt auf die physische Hardware aufgesetzt wird. Da ein solcher Hypervisor keine Verbindung zu dem Betriebssystem des Hosts hat, muss er alle benötigten Gerätetreiber selbst zur Verfügung stellen. Der Systemressourcenverbrauch ist bei dem Typ 1 relativ gering, da die Ressourcen nicht über das Betriebssystem des Hosts bereitgestellt werden. Diese Art des Virtual Machine Monitors ist in erster Linie an Anwender gerichtet, die damit einen dedizierten Server für Virtualisierung einrichten möchten. Für kleinere Projekte ist dieser Typ zu kompliziert und zu aufwendig.

Der Typ 2, der auch unter der Bezeichnung Hosted Hypervisor bekannt ist, ist hingegen auf ein bestehendes Betriebssystem angewiesen, das wiederum die physische Hardware als Basis nutzt. Ein Hypervisor des Typs 2 wird wie eine gewöhnliche Software auf den Computer installiert und verwaltet nach der erfolgreichen Installation alle Virtualisierungsprozesse. Die Gerätetreiber müssen hier nicht wie beim Typ 1 im Hypervisor selbst installiert sein, sondern dank der Einbindung in das bestehende Betriebssystem werden diese automatisch bereitgestellt. Dieser Komfort hat jedoch auch einige Nachteile, die sich in erster Linie auf eine schlechtere Performance auswirken. Ein beachtlicher Teil der Ressourcen wird nämlich bereits vom Betriebssystem des Hosts in Anspruch genommen, sodass für die virtuellen Maschinen weniger Ressourcen übrigbleiben. Dank der einfachen Installation sowie der schnellen und unkomplizierten Installation ist dieser Typ in erster Linie auf die Bedürfnisse kleinerer Projekte ausgelegt.

Im IT-Bereich wird mit Skalierung bzw. Skalierbarkeit die Fähigkeit eines Systems oder einer Anlage beschrieben, sich den schrumpfenden oder auch den wachsenden Anforderungen in Bezug auf die Performance der Software- und Hardware-Ebene möglichst flexibel anpassen zu können. In der Praxis wird Skalierung jedoch auch oft mit Wachstum gleichgesetzt.

Skalierbarkeit im Detail

Im Bereich moderner Informationstechnologien gelten Prozesse als skalierbar, wenn sie parallel zu den vorgegebenen Aufgaben wachsen oder schrumpfen können. Ein IT-System oder eine Anlage, die im Rahmen einer Skalierung den neuen Anforderungen angepasst wurde, ist auch nach der Implementierung der neuen Maßnahmen voll funktionsfähig. Skalierung bedeutet jedoch nicht nur, dass die skalierte Anwendung oder das System funktionieren, sondern dass auch die daraus resultierenden Vorteile weiterhin nutzbar sind. So gilt beispielsweise zum Beispiel eine Datenbank als skalierbar, wenn sie von einem einzelnen Server auf ein verteiltes Server-Cluster übertragen werden kann.

Die Vorteile einer solche Skalierung spiegeln sich in erster Linie in kürzeren Antwortzeiten und einer effizienteren Verwaltung der MySQL-Datenbank. In der Praxis ist es oft so, dass sich eine Skalierbarkeit viel einfacher nach oben als nach unten realisieren lässt. Dies ist auf die Tatsache zurückzuführen, dass bei einer Herunterskalierung das System eine gute Performance in einer kleineren Umgebung bereitstellen muss, während bei einer Skalierung nach oben zusätzliche Ressourcen zur Verfügung gestellt werden. Die Leistung eines Systems lässt sich auf zwei verschiedene Arten steigern, und zwar vertikal und horizontal.

Vertikale Skalierung

Im Rahmen einer vertikalen Skalierbarkeit (Scale Up) werden Ressourcen innerhalb einer logischen Einheit zusammengefügt. Konkret bedeutet das, dass die Leistungssteigerung durch das Hinzufügen von Ressourcen innerhalb eines Systems realisiert wird. Prominente Beispiele für diese Art der Skalierbarkeit wären:

– das Vergrößern der vorhandenen Speicherplatzkapazität

– das Hinzufügen einer leistungsstärkeren CPU

– Aufrüstung von Arbeitsspeicher

– Einbau einer besseren GPU

Bei einer vertikalen Skalierung kann die vorhandene Software sehr einfach angepasst werden, in vielen Fällen ist sogar eine Anpassung überhaupt nicht nötig. In der Regel muss keine Zeile Code neugeschrieben werden, um einen Leistungszuwachs durch vertikales Skalieren zu erhalten. Die vertikale Skalierbarkeit stößt jedoch früher oder später an Grenzen des Möglichen, weil man beispielsweise bereits die schnellste Hardware nutzt und eine Aufrüstung demzufolge nicht möglich ist.

Horizontale Skalierung

Bei der horizontalen Skalierbarkeit (Scale Out) sind im Gegensatz zu der vertikalen Skalierbarkeit keine Grenzen in Bezug auf die Performance der Hardware gesetzt. Hier wird die Leistungssteigerung des Systems durch das Beifügen zusätzlicher Server bzw. Computer realisiert. Wie gut diese Art der Skalierung letztendlich funktioniert, hängt in erster Linie von der eingesetzten Software ab, denn nicht jede Anwendung lässt sich gleich gut parallelisieren. Konkret bedeutet das, dass eine horizontale Skalierung dann vorliegt, wenn weitere Server- oder Rechner-Knoten hinzukommen, damit der steigende Workload mit gleichbleibender Leistung verarbeitet werden kann.

In einem Cloudsystem verteilen sich dann die anstehenden Aufgaben auf mehrere Rechner-Instanzen. In der Praxis wird das dadurch gelöst, dass ein Server als Verteiler für die Workloads (Load Balancing) in dem jeweiligen Server-Cluster eingesetzt wird. Der Einsatz eines Load Balancers ist immer dann nötig, wenn viele einzelne Ressourcen als eine Einheit zusammen im Rahmen einer horizontalen Skalierung fungieren müssen. Aus diesem Grund ist der sogenannte „Skalierbarkeitsfaktor“, also das Verhältnis zwischen der gewonnenen Leistung und den eingesetzten Ressourcen, hier prinzipiell niedriger als bei vertikaler Skalierbarkeit. Hinzu kommt noch, dass die horizontale Skalierbarkeit in der Regel kostengünstiger als vergleichbare Skalierungsmaßnahmen ist. Hinsichtlich des Overheads sind vertikale Skalierungsmaßnehmen jedoch viel effizienter als es bei der horizontalen Skalierbarkeit der Falls ist.

Skalierungsmaßnehmen und das Schichtenmodell

Um ein IT-System möglichst skalierbar zu gestalten, hat es sich im Laufe der Jahre bewährt, sämtliche Skalierungsmaßnehmen als Schichtenmodell zu implementieren. Im Rahmen dieses Ansatzes werden die einzelnen Schichten logisch voneinander getrennt, sodass jede einzelne Schicht für sich selbst skaliert werden kann. Eine äußerst beliebte Architektur im Bereich der Webentwicklung ist die sogenannte „3-Schichten-Architektur“. Um dabei eine möglichst hohe Skalierbarkeit zu erzielen, muss die Architektur so umgesetzt sein, dass sich jede dieser drei Schichten möglichst flexibel und unkompliziert skalieren lässt. Eine 3-Schichten-Architektur setzt sich aus folgenden Komponenten zusammen:

– Präsentationsschicht: Diese Schicht wird auch als Front-End bezeichnet und ist für die Darstellung der Daten zuständig.

– Logikschicht: Diese Schicht vereint die gesamte Anwendungslogik.

– Datenbankschicht: Diese Schicht enthält die Datenbank, wie beispielsweise MySQL oder PostgreSQL, und ist für die Speicherung und die Bereitstellung von Daten zuständig.

Während sich die Präsentationsschicht relativ einfach horizontal skalieren lässt, ist im Rahmen der Logikschicht eine Anpassung des Codes nötig. Dabei sollte beachtet werden, dass eine möglichst große Menge der Code-Logik parallelisiert werden muss, um eine effiziente Skalierung zu erhalten. Am kompliziertesten ist die Skalierung der Datenbankschicht, weshalb diese Optimierungen komplexes Expertenwissen benötigen.

Wenn mindestens zwei Prozesse zum Schreiben oder Lesen auf die gleichen Daten zugreifen wollen, müssen diese Prozesse zur Fehlervermeidung einer Isolierung unterworfen werden. Das gilt insbesondere auch für Datenbanken, die zur korrekten Verwaltung größerer Datenmengen vorgesehen sind.

Was ist eine Datenbank?

Daten wurden ursprünglich in einzelnen Dateien auf Computern gespeichert. Mit immer umfangreicheren Datenmengen wurde der Aufwand zur direkten Verwaltung dieser Dateien zu groß. Änderungen an den Daten wurden fehleranfällig und es wurde immer schwieriger, auf die gerade benötigten Daten zuzugreifen.

Eine Datenbank dient der Verwaltung von auf einem Computer gespeicherten Daten. Im engeren Sinn bezeichnet das Wort die gespeicherten Daten selbst. Diese hängen logisch zusammen und sind für Änderung durch Schreibzugriffe auf der einen und Abfrage und Auswertung auf der anderen Seite vorgesehen.

Im weiteren Sinn gehört zu einer Datenbank auch das Datenbankmanagementsystem oder DBMS. Es organisiert die Art der Speicherung der Daten und und kontrolliert die schreibenden und lesenden Zugriffe.

Notwendige Eigenschaften von Datenbanken

Im Zentrum steht der Grundsatz, dass die Daten in einer Datenbank verfügbar, vollständig und korrekt sein müssen. Aus diesem Grund ist die Kontrolle aller Zugriffe durch das DBMS erforderlich.

Ein wesentlicher Teil dieses DBMS ist die Datenbankprogrammiersprache SQL, die in vielen Datenbanken zum Einsatz kommt. SQL dient der Definition von relationalen Datenbanken. Datenbanken dieses Typs stellen digital gespeicherte Tabellen dar, in denen die Daten strukturiert gespeichert sind. In SQL werden auch die Funktionen zum Bearbeiten und Auswerten der Daten bereitgestellt.

Ein Beispiel für eine solche relationale Datenbank ist eine Tabelle eines Unternehmens mit Kundennummern, den zugehörigen Namen und dem Datum der letzten Bestellung. Eine mögliche Anfrage an diese Datenbank stellt das Auslesen aller Kunden dar, die im letzten Monat mindestens eine Bestellung aufgegeben haben.

Wozu braucht es Isolation in der Verwaltung?

Eine Datenbank muss mit Zugriffen durch viele Nutzer zurechtkommen, die unabhängig voneinander auf die Daten zugreifen wollen. In der Organisation der Datenbank können Sie also nicht davon ausgehen, dass ein Schreibzugriff abgeschlossen ist, bevor ein anderer Nutzer einen Lesezugriff durchführt. Der Begriff der Isolation bezieht sich auf die Trennung der verschiedenen Zugriffe zur Vermeidung von falsch ausgelesenen Daten.

Wesentlich ist hier, dass ein Zugriff aus mehreren Teilen bestehen kann und ein anderer Zugriff zwischen diesen Teilen Fehler verursachen könnte. Diese zwei Teile sind beispielsweise das Prüfen des Vorhandenseins eines Datensatzes und das Einfügen, wenn dieser Datensatz noch nicht vorhanden ist. Nimmt ein anderer Benutzer denselben Zugriff vor, können zwei statt einem eingefügten Datensatz die Folge sein. Dieser Fehler ist ein Beispiel für den vierten Typ in der folgenden Liste.

Mögliche Probleme durch fehlende Isolation

Die vier typischen Fehler werden auch im Deutschen mit einem englischen Begriff bezeichnet.

  1. Dirty Read

Ein Zugriff auf die Datenbank hat Daten noch nicht vollständig verändert, ein lesender Zugriff liest diese noch unkorrekten Daten.

  1. Lost Updates

Zwei Zugriffe werden zum Zweck der Änderung von Daten durchgeführt, nur ein Zugriff wird tatsächlich verarbeitet.

  1. Non-repeatable Read

Ein Lesezugriff ist nicht wiederholbar, das heißt, wiederholte Lesezugriffe liefern verschiedene Ergebnisse.

  1. Phantom Read

Ein Zugriff verändert Daten. Durch diesen Zugriff treffen Suchkriterien während eines anderen Zugriffs auf verschiedene Daten zu.

Lösungen dieser Probleme durch Isolation

Die Datenbankprogrammiersprache SQL sieht vier verschiedene Ebenen für unterschiedlich starke Isolation vor, die wiederum englische Bezeichnungen führen.

– Read uncommitted

In der Definition von SQL sind auf dieser Ebene keine Maßnahmen für Isolation vorgesehen. Alle vier Probleme können daher auftreten. Die meisten DBMS setzen mehr Isolation als vom Standard gefordert um, sodass auf dieser Ebene wenigstens keine Lost updates möglich sind.

– Read committed

Werden Daten verändert, erfolgt auf dieser Ebene eine Sperre für die gesamte Transaktion. Non-repeatable reads und Phantom reads sind immer noch möglich, weil die Lesesperren nur kurzfristig gesetzt werden.

– Repeated Read

Auf dieser Ebene wird die ganze Transaktion sowohl bei Schreib- als auch bei Leseoperationen gesperrt. Damit sind als einziger Fehler noch Phantom reads möglich.

– Serializable

Der Begriff bedeutet, dass alle Transaktionen in beliebiger Reihenfolge ausgeführt der seriellen Ausführung entsprechen und das gleiche Ergebnis liefern. Es kann allerdings sein, dass eine Transaktion abgebrochen werden muss, wenn diese Bedingung nicht eingehalten werden kann. Der entsprechende Nutzer muss dann seine Anfrage an die Datenbank nochmals wiederholen.

Warum wird nicht immer die maximale Isolation angewendet?

Der Grund dafür liegt darin, dass diese Isolationsmaßnahmen mit einigem Aufwand verbunden sind. Die notwendigen Sperren vermindern die Reaktionsfähigkeit der Datenbank. Die Entwickler überlegen sich also, welche Ebene der Isolation für eine bestimmte Anwendung notwendig und ausreichend ist.

Sie sollten darauf achten, dass diese Anforderungen während der Verwendung einer bestimmten Datenbank Änderungen unterworfen sein können. Werden neue Funktionen zum DBMS hinzugefügt oder ändert sich die Art der Verwendung der Datenbank, können Anpassungen des Isolationsgrads erforderlich werden.

Bei Intrinsic Security handelt es sich um einen neu entwickelten, hoch effektiven Ansatz für den Schutz von Unternehmen durch VMware. Die IT-Sicherheit und auch die Eigensicherung werden auf ein neues Niveau gehoben. Das sehr durchdachte Konzept sorgt für einen effizient-optimierten Schutz.

Was ist Intrinsic Security?

Es handelt sich bei „Intrinsic Security“ um kein Produkt, Bundle oder Tool. Intrinsic Security ist vielmehr ein von VMware Global Inc neu entwickelter Ansatz für den Schutz von Unternehmen. Es handelt sich im Grunde um eine Strategie, bei der die Infrastruktur und ihre Kontrollpunkte in Echtzeit genutzt werden können. Auf diese Weise ist es möglich, sämtliche Geräte, Clouds und Anwendungen zu schützen. Dieser Ansatz kann die interne IT-Sicherheit auf ein neues Level heben.

Durch eine optimierte Zusammenarbeit können Sie IT- und Sicherheits-Teams dabei unterstützen, Risiken zu minimieren und Gefahren rechtzeitig zu eliminieren.

Warum ist dieser neue Ansatz sinnvoll?

Die Digitalisierung schreitet immer weiter voran und Datenströme bestimmen zunehmend unseren Alltag. Um während der Pandemie die Geschäftskontinuität aufrecht erhalten zu können, müssen viele Unternehmen auf eine Cloud setzen. Immer mehr Menschen arbeiten (teilweise) von zu Hause aus, was durch die Anwendung VMware Horizon ermöglicht wird. Bei VMware Horizon handelt es sich um eine Implementierung, bei der die Funktionen eines Arbeitsrechners als „Remote Desktop“ über eine Netzwerkverbindung bereitgestellt wird. Diese Vorgänge erleichtern gerade in der Pandemie das Arbeitsleben, doch sie bergen auch große Risiken in Bezug auf die Eigensicherung. Insbesondere Public Clouds stellen oft ein immenses Risiko mit verminderten Eigensicherung dar. Die Firewall als Schutzmechanismus ist in diesen Fällen oft nicht mehr ausreichend.

Die IT-Sicherheit ist ein Bestandteil der Informationssicherheit (IS). Bei der IS steht der Schutz von Informationen und Daten mit Bezug zu personenbezogenen Daten – egal ob analog oder digital – im Vordergrund. Die IT-Sicherheit umfasst dabei die elektronischen Daten. Die zunehmenden Schwachstellen und die immer ausgefeilteren Hacker-Angriffe bzw. Cyberattacken ergeben eine sehr gefährliche Kombination für Unternehmen. Der Übergang zur Cloud muss also mit effizienten Sicherheitslösungen einhergehen. Diese Lösungen müssen sowohl leistungsstark und einfach bedienbar sein.

Welche Vorteile bietet der Intrinsic Securtiy Ansatz und inwiefern wird das Risiko verringert?

Vereinfacht gesagt zeichnet sich der Ansatz durch drei Merkmale aus:

– der Ansatz ist integriert und die Kontrollpunkte sind in der Infrastruktur eingebettet

– Teams und Tools arbeiten einheitlich zusammen, so dass Probleme schneller gelöst werden

– der Ansatz nutzt Kontrollpunkte, um die benötigten Informationen zu erhalten

Auf diese Weise können die IT-Sicherheit und auch die Eigensicherung effizienter gewährleistet werden, da das gesamte Sicherheitskonzept vereinfacht ist. Infolge der integrierten Sicherheit liegt eine verringerte Anzahl notwendiger Produkte bzw. Agents vor. Somit wird die Komplexität auf ein Minimum reduziert, aus diesem Grund sinkt das Risiko für fehlerhafte Konfigurationen oder auftretende Schwachstellen. Die Tools bzw. Teams für die IT Sicherheit sind einheitlich, was für eine bessere Transparenz sorgt. Infolge der eingerichteten Kontrollpunkte ist es prinzipiell einfacher, Bedrohungen zu erkennen und zu bekämpfen.

Bei welchen Problemstellungen gewährt Intrinsic Security Unterstützung?

Intrinsic Security sorgt für eine erhöhte IT-Sicherheit und Eigensicherung im Netzwerk, bei Arbeitsabläufen, an Endpunkten, in der Arbeitsumgebung und vor allem auch in der (Public) Cloud. Auf diese Weise können Unternehmen auch Anwendungen und Anwender vor möglichen Gefahren schützen.

Wer ist VMware Global Inc?

Bei der VMware Inc handelt es sich um ein börsennotiertes Unternehmen aus den USA. Der Hauptsitz liegt in Palo Alto, Kalifornien. In erster Linie liegt die Spezialisierung auf Technologie und Software-Lösungen in den Bereichen Security, Netzwerk und Cloud. VMware entwickelt auf Unternehmen zugeschnittene Softwares und treibt so die Digitalisierung maßgeblich mit voran.

Fazit

Die Digitalisierung ist mit zahlreichen Chancen verbunden. Da immer mehr Menschen (auch pandemiebedingt) von zu Hause aus arbeiten und auf Clouds zugreifen, in dies auch mit einem Risiko verbunden. Oftmals lassen sich die Gefahren in Bezug auf Hackerangriffe und Datendiebstahl kaum abschätzen. Ein Business Continuity Management zur Eigensicherung ist deswegen immens wichtig. Es handelt sich hierbei um Maßnahmen/Strategien, um ernsthafte Schäden oder gravierende Verluste zu vermeiden.

Bei Intrinsic Security handelt es sich um einen von VMware neu entwickelten Ansatz zum Schutz von Unternehmen. Die wichtigsten Stichpunkte, um diesen Ansatz zu beschreiben lauten integriert, einheitlich, kontextorientiert und Kontrollpunkte. Der in die Infrastruktur integrierte Schutz sorgt für ein immens verringertes Risiko in Bezug auf IT-Sicherheit und Eigensicherung. Das Konzept gewährleistet einen äußerst effizienten Schutz des digitalen Arbeitsplatzes. Aufgrund der Einheitlichkeit ist das Risiko für Fehlkonfiguration nur äußerst gering und Ihre Mitarbeiter können ergebnisorientiert arbeiten, ohne sich zusätzlich mit der Eigensicherung befassen zu müssen.