Vielen Dank für Ihre Newsletter-Anmeldung.
Zur Verifizierung Ihrer E-Mail-Adresse haben wir Ihnen eine E-Mail zugeschickt. Bitte klicken Sie auf den darin enthaltenen Link.
Falls Sie die Mail nicht innerhalb der nächten Minuten erhalten, prüfen Sie bitte auch Ihren Spam-Ordner.

Wenn Sie Anregungen oder Fragen an das Team der IT-Spezialisten der Biteno GmbH haben, so freuen wir uns auf Ihr Feedback:

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.

Genau wie die Farbe Grau ist auch ein Grey Hat Hacker zwischen den Farben Schwarz und Weiss angesiedelt, die im Wesentlichen für kriminelle Personen auf der einen und gesetzestreue Personen auf der anderen Seite stehen. Den Grey Hat Hacker macht seine moralische Zwiespältigkeit aus. Sie müssen entscheiden, wie Sie zu seinen Handlungen stehen.

Was ist eigentlich ein Hacker?

Umgangssprachlich versteht man darunter jemanden, der sich unbefugt Zugang zu Computersystemen verschafft und diesen Zugang für illegale Zwecke wie Diebstahl oder Sabotage ausnutzt.

Das entspricht jedoch nicht dem Selbstverständnis vieler, die sich selbst als Hacker sehen. Ihnen geht es darum, die Funktionsweise von Systemen genau zu verstehen und nicht nur die vorgesehenen Möglichkeiten zu erforschen. Das sind heute meistens Computer, in der Vergangenheit konnte es sich auch um Telefonsysteme handeln.

Manche sehen das Trojanische Pferd der Griechen als ein antikes Beispiel für das Hacken eines Systems, in diesem Fall der Verteidigung von Troja. Ironischerweise wird heute ein bestimmter Typ von Schadprogrammen mit dem Begriff des Trojaners bezeichnet. Dieses Wort bezieht sich darauf, dass der Trojaner im Computersystem auf ähnliche Weise Schaden anrichtet wie das historische Trojanische Pferd.

Auf der Grundlage des eigenen Verständnisses kann der Hacker ein System dazu bringen, sich nicht wie von den Konstrukteuren vorgesehen zu verhalten. In der Sichtweise der Besitzer ist das an sich natürlich unerwünscht, die moralische Sichtweise der Hacker ist aber differenzierter. Sie sind davon überzeugt, dass nur ein sorgfältiges Ausloten der Möglichkeiten eines Systems dieses wirklich sicher machen kann.

Das Aushebeln eines Antivirus-Programms könnte zum Einschleusen von Schadprogrammen oder Malware benutzt werden. Ein Hacker kann diesen Schutz aber unwirksam machen, um diese Möglichkeit nachzuweisen und eine bessere Absicherung durch das Schließen der entsprechenden Sicherheitslücke zu ermöglichen.

Was bedeutet die Farbe des Huts?

Die Symbolik der Hutfarbe wurde Western-Filmen entnommen. In diesen tragen traditionsgemäß die Verbrecher schwarze Hüte, die Vertreter von Recht und Ordnung sind an ihren weißen Hüten zu erkennen.

White Hat Hacker haben zwei Hauptziele. Sie möchten ein System zuerst verstehen und dann besser schützen und absichern. Sicherheitslücken werden von solchen Hackern nicht ausgenützt, sondern an den Administrator des Systems gemeldet, damit dieser sie schließen kann. Eine solche Suche nach Lücken wird von White Hats überhaupt erst auf Ersuchen des Besitzers durchgeführt. Wenn ein Angriff auf ein System mit dieser Erlaubnis unternommen wird, bezeichnet man ihn als Penetrationstest. Er soll die Schwachstellen identifizieren, die dann verstärkt werden.

Richten Sie hingegen an einen solchen White Hat Hacker die Bitte, die E-Mail Adresse einer Person zu knacken und deren Nachrichten zu lesen, wird er dieses Ansinnen empört zurückweisen. Eine solche Aktivität wird von White Hats abfällig als „Cracken“ bezeichnet.

Black Hat Hacker hingegen entsprechen in ihrem Verhalten weitgehend der umgangssprachlichen Bedeutung des Wortes. Sie sind bereit für jeden möglichen Zugriff auf fremde Systeme. Ihr einziger Grund für Zurückhaltung ist der, dass sie bei ihren ungesetzlichen Aktionen nicht erwischt werden wollen. Nachdem man heute im Internet mit etwas Sorgfalt weitgehend anonym agieren kann, stellt das allerdings für qualifizierte Black Hats keine große Einschränkung dar.

Black Hat Hacker verkaufen ihre Dienste an den Meistbietenden. Sie stehlen Daten und Geld, machen Systeme unbrauchbar oder setzen Erpressungstrojaner ein, um die Opfer für den Zugang zu ihren eigenen Daten bezahlen zu lassen.

Manche dieser Black Hat Hacker arbeiten auf eigene Rechnung. Enge Verbindungen gibt es aber auch zur organisierten Kriminalität und zu Nachrichtendiensten von Nationalstaaten.

Was ist also ein Grey Hat Hacker?

Ein Grey Hat Hacker ist bereit, bestimmte Gesetze zu brechen und beispielsweise Systeme ohne vorherige Erlaubnis des Besitzers anzugreifen. Im Gegensatz zum Black Hat wird ein Grey Hat Hacker aber die Daten nicht stehlen oder die Systeme sabotieren. Vielmehr geht es ihm um Anerkennung seiner technischen Leistungen oder um eine Belohnung des Besitzers für die Meldung einer Sicherheitslücke in seinen Systemen.

Die Suche von Anerkennung ohne das Anrichten eines Schadens werden viele noch moralisch vertretbar finden. Problematischer wird es, wenn der Grey Hat Hacker eine Sicherheitslücke veröffentlicht, ohne den Administratoren des Systems eine Gelegenheit zum Füllen der Lücke zu geben. In vielen Fällen kommt es erst dann dazu, wenn die Admins auf eine Warnung durch einen Grey Hat Hacker längere Zeit nicht reagieren und die Sicherheitslücke bestehen bleibt. Auch hier zeigt sich ein Graubereich in der Beurteilung eines Grey Hat Hacker. Wer ist in einer solchen Situation moralisch minderwertig unterwegs, der Grey Hat oder der nachlässige Systemadministrator?

Manche Hacker dieses Typs finden es auch akzeptabel, einem Unternehmen eine Lücke im System mitzuteilen und dafür eine Belohnung zu erwarten. Das bringt allerdings  mit sich, dass sich der Hacker ohne Kenntnis der Systemadministratoren in das System hackt. Viele White Hats sehen ein solches Vorgehen nahe an einer Schutzgelderpressung und lehnen es deshalb ab.

Containering und containerbasierte Virtualisierung waren in den letzten Jahren der „letzte Schrei“ in der Software-Entwicklung. Dabei handelt es sich um einen Ansatz der Virtualisierung, bei dem die gesamte Virtualisierungsebene als eine Anwendung innerhalb des Betriebssystems realisiert wird. Im Gegensatz zu der klassischen Virtualisierung wird hier auf den Einsatz eines sogenannten „Hypervisors“ verzichtet. Die containerisierten Anwendungen haben einen direkten Zugriff auf den Kernel des Host-Betriebssystems und kommen aufgrund ihrer hohen Flexibilität und Portabilität in erster Linie in modernen Cloud-Umgebungen zum Einsatz.

Containering im Detail

Seitdem die offene Software Docker im Jahr 2013 der breiten Öffentlichkeit vorgestellt wurde, zieht sie das Interesse von Entwicklern und IT-Architekten auf sich. Das innovative Projekt versprach damals die IT-Landschaft genauso zu revolutionieren, wie es die Virtualisierung einige Jahre zuvor gemacht hat. In den vergangenen Jahren hat sich die Containering-Technologie flächendeckend durchsetzen können. Dennoch bleiben jedoch viel Fragen unbeantwortet: Stellen sie die bessere Alternative zu den traditionellen Virtualisierungstechniken dar oder sind sie nur eine weitere Möglichkeit, um Anwendungen in der Cloud zu virtualisieren und bereitzustellen? Dass sich sowohl IBM, als auch Red Hat und Microsoft an der Weiterentwicklung von Docker aktiv beteiligen, lässt allerdings vermuten, dass es sich hierbei um eine zukunftssichere Technologie handelt.

Was ist also Containering und wo kommt es zum Einsatz? Containering ist in erster Linie dafür vorgesehen, um Software ohne größere Anpassungen auf unterschiedlichen Plattformen verlässlich laufen zu lassen. So kommt es beispielsweise immer wieder vor, dass Entwickler den geschriebenen Code von dem eigenen Computer in die Testumgebung schicken müssen. Von dort wird er nach erfolgreichen Tests in die Produktion verlagert.

Da der Code im Rahmen eines Containers verschickt wird, wird keine umfangreiche Konfiguration und Verwaltung seitens des Empfängers benötigt. Obwohl sich all dies praktisch anhört, gibt es auch einige Nachteile. Falls die Entwicklungs- und Betriebssystemumgebungen nicht identisch sein sollten, kann es zu Problemen kommen. Nutzt der Entwickler beispielsweise Python 3.0, die Produktion jedoch die Version 2.7, kann bei der Ausführung des Codes vieles schiefgehen. Zu ähnlichen Problemen kommt es, wenn beispielsweise zum Programmieren Red Hat Linux und in der Produktion Suse Linux zum Einsatz kommt.

Welche Vorteile bietet Containering?

Bei der traditionellen Virtualisierung setzt sich ein Software-Paket aus einer virtuellen Maschine (VM), einem Betriebssystem und Applikation zusammen. Ein dedizierter Server mit vier virtuellen Maschinen würde über einen Hypervisor vier separate Betriebssysteme bereitstellen müssen. Im Vergleich dazu muss auf einem Server mit vier containerisierten Anwendungen nur ein Betriebssystem bereitgestellt werde, das sich alle vier Container teilen.

Konkret bedeutet das, dass Container deutlich weniger Ressourcen verbrauchen als traditionelle virtuelle Maschinen. Aus diesem Grund lässt sich auf einem einzelnen Server eine größere Anzahl an Containern ausführen als auf einer virtuellen Maschine. Ein weiterer wesentlicher Vorteil von Containern ist, dass sie in der Lage sind, sehr schnell zu booten. Während virtuelle Server in vielen Fällen einige Minuten benötigen, um hochzufahren, stehen containerisierten Anwendungen fast sofort zur Verfügung.

Angesichts dieser enormen Vorteile, kommt selbstverständlich die Frage auf, warum Containering die traditionellen Virtualisierungstechniken nicht bereits komplett abgelöst hat. Der Hauptgrund hierfür ist die Sicherheit, da Container keine so hohe Sicherheit bieten wie traditionelle VMs. Eine potenzielle Sicherheitslücke im Betriebssystem kann Auswirkungen auf alle anderen Container haben, die auf demselben OS laufen. Container bieten nicht dasselbe Niveau an Isolation, wie man es von traditionellen Virtualisierungstechniken gewohnt ist.

Vielmehr eine Ergänzung als ein vollständiger Ersatz

Containering sollte man vielmehr als Ergänzung zu den traditionellen VMs betrachten als einen vollständigen Ersatz. So können beispielsweise Container in leichtgewichtigen virtuellen Maschinen ausgeführt werden, wodurch eine weitere Isolationsschicht eingeführt wird und so die Sicherheit maßgeblich erhöht wird. Darüber hinaus muss weiterhin alle Hardware (Server, Netzwerke, Storage) mittels Virtualisierung verwaltet werden, sodass Containering daran nichts ändert. Container lassen sich also gar nicht als ein vollwertiger Ersatz für VMs nutzen, denn sie bauen auf der Virtualisierung auf.

Darüber hinaus gibt es mittlerweile eine Vielzahl von Linux-Distributionen, die sich auf Containering spezialisiert haben. Hierzu gehören neben CoreOS und Snappy Ubuntu auch Red Hats Project Atomic sowie Photon von VMware. Auch Microsoft investiert viel in Containerisierungstechnologien, sodass Docker auf Windows-Server-Plattformen und im Rahmen der Azure-Cloud genutzt werden kann.

Docker und weitere containerbasierte Technologien

Docker ist das bekannteste Tool aus dem Segment der Containerisierungstechnologien, welches die Erstellung und den Betrieb von Containern ermöglicht. Beim Containering handelt es sich jedoch nicht um eine neue Technologie. Im Rahmen verschiedener Linux-Distributionen werden Container in Form von LXC bereits seit fast zwei Jahrzehnten genutzt. Darüber hinaus bieten Oracle, Sun sowie Solaris und FreeBSD ähnliche Tools für die Erstellung und den Betrieb von Containern.

Docker hat im Laufe der Jahre einige prominente Konkurrenz bekommen. Eine sehr gute Alternative ist das Command-Line-Tool „rkt“ von CoreOS. Der wesentliche Vorteil dieses Tools ist, dass es sowohl mit eigenen als auch mit Docker-Containern problemlos umgehen kann. Rkt wendet sich jedoch grundsätzlich an kleinere Unternehmen, während Docker in erster Linie für den Einsatz in großen Cloud-Umgebungen ausgerichtet ist.